Dear,
I made a profile[1] of a test program:
Where can I find documentation for the meaning of everything mentioned
below? Or alternatively, can anyone explain them?
Where can I see the effect of using the -xt option in this profile?
Ron
[1]
/Main +RTS -p -s -xt -hc
1,372,408,024 bytes allocat
On 1/13/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
The shown GADT encoding seems to be of the kind that is convertible to
typeclasses in the straightforward way, see for example,
http://pobox.com/~oleg/ftp/Haskell/GADT-interpreter.hs
See also Conor McBride's "Faking It: Simulating
I knew there must be a way in GHC to do that second example!
As for the third example, it might be a slick way to do some
super-hyper-refactoring, but I admit I can't think of anything it
would be actually necessary for offhand.
--Grady
On 1/12/07, Cale Gibbard <[EMAIL PROTECTED]> wrote:
On 12
Hi, Oleg.
It is nice to see how the eval function is encoded with type classes. I
always wonder whether the HOAS example from Xi's POPL 03 paper can be
programmed this way. In particular, it appears to me that the Fix clause
requires non-inductive derivation of the form
instance Eval (f e) a => E
> I've done some more experiments. The following program defines simple
> arithmetic expression with indexed variables. I've written four
> different ways to evaluate them:
> - eval1 is simple monadic evaluator
> - eval2 is the obvious straight-forward implentation
> - compile1 is attempt to per
> I've run into strange effect that I can not explain. I have simple
> expression that can be written by two equivalent ways. However one way
> give much performance gain over another. Here is an example:
>
> -- apply function many times (tail-recursive)
> many n f x = if n == 0 then x else many (
On Sat, Jan 13, 2007 at 11:44:38AM +1000, Matthew Brecknell wrote:
> So my advice here would be: always try the optimiser before you worry
> too much about strange performance!
Thanks for help!
I've done some more experiments. The following program defines simple
arithmetic expression with indexe
Inspired by the recent post by Jim Apple, we demonstrate a datatype
`Terminates' that can hold only an assuredly terminating (strongly
normalizable) term in untyped lambda-calculus. Furthermore, the values
of the datatype `Terminates' contain all and only those untyped
lambda-calculus terms with t
On Sat, Jan 13, 2007 at 01:49:36PM +1000, Matthew Brecknell wrote:
> > Rather than having a separate thread computing the random numbers
> > using IO, why not just stick an StdGen in a TVar and write a function
> > like:
> >
> > type RandomVar = TVar StdGen
> >
> > rnd :: RandomVar -> STM a
> > r