Achim Schneider wrote:
...is a paper about automatic specialisation of functions by unboxing
arguments, one could say. I'm only on page 6, but already survived the
first formalisms, which is bound to mean that the rest of the paper is
likewise accessible, as hinted on at ltu.

http://www.cs.nott.ac.uk/~gmh/wrapper.pdf

The transformation itself is mindbogglingly easy, which makes this a
good start: You only have to understand the formalisms, not so much what
the formalisms are representing. To quote spj: It usually turns out to
be more interesting and challenging than it seemed at first.

I'm tempted to write that this is a paper for everyone trying to figure
out what the heck Jonathan is talking about.


I like it! Of course the technique itself doesn't provide guidance on what type you want to transform a function to.

on page 6, stronger vs weaker seemed backwards to me... isn't (wrap ◦ unwrap = idA) a stronger condition than (wrap ◦ unwrap ◦ body = body), because it tells you more, and is true in fewer cases? (which is also why you want to assume (wrap ◦ unwrap = idA) when you can, because it's the most useful one for subsequent program transformation)


and then the inevitable minor copy-editing :-)

p. 22. intentional properties --> intensional (right?)

p. 27. typo 'unwarp' for 'unwrap'

BTW. GHC currently does allow e.g. (I# (1# +# 2#)), not just (case (1# +# 2#) of n# -> I# n#) -- the strictness implications seem pretty straightforwards (it's trivial to transform away).

p. 29. "in both these system" -> systems


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

Reply via email to