User loginNavigation |
archivesReasonig about combinators (a lambda-calculus puzzle on composing compositions)In Haskell, \f -> \g -> (((f.).).) g is equivalent to \x y z -> f (g x y z), and more generally, \f -> \g -> (((f.)... .) g with n compositions is equivalent to x1 ... xn -> f (g x1 ... xn) with n arguments. But what is \f -> \g -> (.(.(.f))) g? Can you generalize? What about arbitrary left and right compositions, like (.(.((.f).)))? Can a general description be given? I am interested in your strategies in tackling such questions. I find reasoning about combinators quickly overwhelming. Sure, I can mechanically reduce a lambda term to normal form, but it's usually not that insightful. Is the key once more abstraction, through understanding of combinators at a high operational level? Any pointers to resources for reasoning about combinators would be appreciated. Automatically Generating the Back End of a Compiler Using Declarative Machine DescriptionsAutomatically Generating the Back End of a Compiler Using Declarative Machine Descriptions[PDF] Although I have proven that the general problem is undecidable, I show how, for machines of practical interest, to generate the back end of a compiler. [ANN] Final Call for Speakers for Code Generation 2009The Code Generation 2009 Call for Speakers closes on Friday January 16th 2009. Accepted speakers have their conference fees waived. Session proposals are sought covering topics such as:
Visit the Code Generation 2009 web site for more information and to make a speaking submission. Code Generation 2009 is sponsored by SoftFluent, itemis & NT/e and supported by OMG, IASA & ACCU. By Mark Dalgarno at 2009-01-06 19:28 | LtU Forum | login or register to post comments | other blogs | 3806 reads
|
Browse archivesActive forum topics |
Recent comments
22 weeks 2 days ago
22 weeks 2 days ago
22 weeks 2 days ago
44 weeks 4 days ago
48 weeks 6 days ago
50 weeks 3 days ago
50 weeks 3 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago