jducoeur: (Default)
[personal profile] jducoeur
The latest programming language to come to my attention is rather neat: in the pi language, the entire focus is on declaring patterns -- EBNF-style declarations of syntax, and their associated meanings. See the linked page for a little more info and some cool (if simple) examples of how easy it is to define new syntax in this language.

My initial reaction is that it's a bit scary, and almost certainly *much* too easy to completely hang yourself (I'd love to see what you could do with an obfuscated-code contest in this language), but also quite powerful for certain sorts of problems. Probably extremely well-suited to defining DSLs and the like, once it gets more mature...

(no subject)

Date: 2009-11-03 08:31 pm (UTC)
From: [identity profile] baron-steffan.livejournal.com
Interesting that they don't handle English all that well in their description, unless this is some dialect of programmer-ese of which I'm unaware.
π technically is a fully reflective dynamically both semantically and syntactically extensible programming language....
Interesting nest of adverbs there.
In addition to that, with π we provide a clean and easy mean for the design of new (experimental) languages
A mean? I don't think they intend to say that their language is average.

(no subject)

Date: 2009-11-04 01:10 am (UTC)
From: [identity profile] hudebnik.livejournal.com
Reminds me somewhat of Valentin Turchin's Refal language, which my father told me about when he was taking a course from Dr. Turchin twenty-mumble years ago. It was described at the time as "a language for writing languages".

If C is an implementation of the von Neumann architecture, and Lisp & Scheme are implementations of Alonzo Church's lambda-calculus, these languages can be thought of as implementations of Emil Post's production rules.

(no subject)

Date: 2009-11-04 01:55 am (UTC)
From: [identity profile] metahacker.livejournal.com
I have never heard that language mentioned by its actual name! It was always mentioned as "Re-fail", and I hadn't really encountered it before. The examples in wikipedia nail for me why the moniker: each of the examples defines something in terms of itself. Equality: defined as 'if equal, return true'; if: defined as 'if (condition) then do if, else do else'...I'm all for bootstrapping but...wha?

Profile

jducoeur: (Default)
jducoeur

June 2025

S M T W T F S
12 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags