Hi,

Am Mittwoch, den 29.08.2012, 17:16 +0100 schrieb Thomas Schilling:
> Syntactically, I'd prefer something that looks more like a function.
>  With a pragma it's difficult to see what expression it actually
> affects.  For example, we already have the special functions "lazy"
> and "inline". Since avoiding updates essentially turns lazy evaluation
> into call-by-name you could call it "cbn". Perhaps that suggests a
> different use case, though, so "nonstrict", "unshared", or "nonlazy"
> might be more self-explanatory.

thanks for the feedback. I only made it a pragma because it seemed to be
simpler at first, but now the branch also supports GHC.Prim.noupdate
(better name to be found before it reaches any official GHC branch, if
that ever happens).

> I'd also like to point out that avoiding updates can dramatically
> improve the kind of speedups my tracing JIT can achieve. In
> particular, on some benchmarks, it can optimise idiomatic Haskell code
> to the same level as stream fusion. I can simulate that by avoiding
> *all* updates (i.e., use call-by-name), but that would break some
> programs badly. (Technically, that's all legal, but I'm pretty sure it
> breaks any "tying-the-knot" tricks.)

If you can make use of my code in Lambdachine I’d be very happy to help
fixing bus and to hear about your results (but from a first glance it
seems that you are not using that part of GHC in your project, right?).

Greetings,
Joachim

-- 
Dipl.-Math. Dipl.-Inform. Joachim Breitner
Wissenschaftlicher Mitarbeiter
http://pp.info.uni-karlsruhe.de/~breitner

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to