User loginNavigation |
archivesJMatch (abstract iterable pattern matching for Java) and the Polyglot Compiler FrameworkI just read the PADL'03 JMatch paper (PDF), and was so impressed that I immediately downloaded JMatch and am starting to play with it. Ehud Lamm provides a nice summary of JMatch in the LTU Classic Archives. Like him, I am surprised that JMatch didn't generate more discussion. So what do people think of JMatch today? Is there anything else like it? How does it compare to other pattern matching abstractions, e.g. F# Active Patterns? Incidentally, any thoughts on the Polyglot Compiler Framework (used by JMatch)? Is it the framework of choice for implementing Java language extensions? Saturday January 10th 2009, 2PM: FringeDC Programming Group Formal MeetingErlang Exposed! Chris Williams from NOVAlanguages (http://tinyurl.com/9o859p) will be giving an intro to Erlang and will describe what makes it so cool. You'll learn how the Erlang Concurrency Model allows for robust multiprocessor and distributed computing. As an opening presentation, Conrad Barski will present some new software written in Arc Lisp for automated cartoon cell colorization. Afterwards, we'll head over to a Mongolian Grill for some beer and conversation. The meeting is generously hosted by Clark & Parsia (http://tinyurl.com/6wmmbj) located at 926 N St NW REAR Studio #1 Washington DC and is near the Convention Center Metro Stop. (Map http://tinyurl.com/7mbc4o) Anyone is welcome to join our meetings! FringeDC is a programming group in Washington DC interested in Functional and Fringe programming languages (Lisp, Haskell, Erlang, etc) http://lisperati.com/fringedc.html By drcode at 2009-01-05 13:02 | LtU Forum | login or register to post comments | other blogs | 1067 reads
Reasonig 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. |
Browse archivesActive forum topics |