Firstify
How to make things first-order.
Downloads
- Released version
- darcs get --partial http://www.cs.york.ac.uk/fp/darcs/firstify
- Losing Functions without Gaining Data - a new method for defunctionalisation - submitted to ICFP 2008 (abstract)(hide abstract)
We describe an automated transformation which takes a higherorder
program, and a produces an equivalent first-order program.
Unlike Reynolds style defunctionalisation, it does not introduce
any new data types, and the results are more amenable to subsequent
analysis operations. Our transformation is implemented, and
works on a Core language to which Haskell programs can be reduced.
Our method cannot always succeed in removing all functional
values, but in practice it is remarkably successful.
(bibtex)(hide bibtex)@unpublished{mitchell:firstify_2008_4_2
,title = "Losing Functions without Gaining Data - a new method for defunctionalisation"
,author = "Neil Mitchell and Colin Runciman"
,year = "2008"
,month = "April"
,day = "2"
,note = "Draft, submitted to ICFP 2008"
,url = "\verb'http://www-users.cs.york.ac.uk/~ndm/downloads/draft-firstify-02_apr_2008.pdf'"
}
- First Order Haskell - from BCTCS 2007 (bibtex)(hide bibtex)
@misc{mitchell:firstify_2007_4_6
,title = "First Order {Haskell}"
,author = "Neil Mitchell"
,year = "2007"
,month = "April"
,day = "6"
,note = "Presentation from BCTCS 2007"
,url = "\verb'http://www-users.cs.york.ac.uk/~ndm/downloads/slides-first_order_haskell-06_apr_2007.pdf'"
}
Tags: thesis