User loginNavigation |
archivesÏ€: a pattern languageπ - not to be confused with the π-calculus - is a pattern-based language being developed by the Software Technology group at Technische Universität Darmstadt. Quoting from the project website:
The basic idea here seems similar to the OMeta language, previously mentioned on LtU here, but based on EBNF instead of Parsing Expression Grammars (PEGs). Pattern definitions in π have the form declare_pattern name ≔ syntax ⇒ type âžž meaning; Here's a trivial example of defining a pattern: declare_pattern integer_potentiation ≔ integer:i %W- "^" %W- integer:j ⇒ integer âžž { int result = i; for (int k = 1; k <= j-1; k++) result *= i; return result; }; The resulting pattern can then be used directly in expressions, such as More information about the language, as well as the implementation, can be found at http://www.pi-programming.org. There's an OOPSLA09 paper on π as well, but I haven't been able to find an open access version of it yet. [Update: the π team has made their OOPSLA article available here] By Allan McInnes at 2009-10-29 01:58 | DSL | Meta-Programming | 10 comments | other blogs | 15993 reads
Literate Programming: Retrospect and ProspectsLP has been mentioned a number of times on LtU but never featured as a topic of discussion in its own right. On the face of it, it seems like an eminently sensible way to program. Why hasn't it taken the whole world by storm? Knuth puts forward Jon Bentley's observation as one possible answer: "a small percentage of the world's population is good at programming, and a small percentage is good at writing; apparently [Knuth is] asking everybody to be in both subsets." To discuss this and other theories on their merits, a quick refresher on the basics of LP is in order. As usual, the relevant Wikipedia article is informative but bland. As Knuth pointed out, original sources are often best. Here are two good ones:
The second paper is the more interesting of the two. It contains a literate program by Knuth and a review of the same by McIlroy: Knuth has shown us here how to program intelligibly, but not wisely. I buy the discipline. I do not buy the result. He has fashioned a sort of industrial-strength Fabergé egg -- intricate, wonderfully worked, refined beyond all ordinary desires, a museum piece from the start. I, too, buy the discipline for programming in the small but can't really see how CWEB-like systems can be adapted to and adopted by multi-hacker teams working on very large code bases written in a mixture of different languages. Ramsey's Literate Programming on a Team Project enumerates some of the problems. Can LP be used for anything other than small-to-medium programs written by a single person in a single language? Tim Bray on Clojure and ErlangA short comparison (plus some links) of Erlang and Clojure solutions to the simple problem of running a counter in a separate thread. By Ehud Lamm at 2009-10-29 04:12 | Clojure | Parallel/Distributed | 10 comments | other blogs | 17761 reads
ECOOP 2009 Banquet speechWilliam Cook gave an interesting speech at ECOOP 2009. When discussing his career path, he touches on PLT research,
differences between academia and industry
and a few other PLT morsels that might interest LtUers. William Cook was the prinicpal lead for creating AppleScript. His HOPL paper was discussed on LtU before but I can't currently find the reference. |
Browse archivesActive forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 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