pozorvlak: (Default)
pozorvlak ([personal profile] pozorvlak) wrote2008-01-30 11:04 am
Entry tags:

Arc's out!

http://arclanguage.org/

Well, that makes the "which language shall I learn next" question rather easier...

First impressions (based on reading the tutorial rather than playing with it): I like it. It embodies PG's philosophy that a language should get out of your way and let you shoot yourself in the foot because one day, you might need to do tarsal surgery and only have a pistol to hand. In many respects, it's the anti-Haskell: it encourages you to put off the decision of how to represent your data as long as possible. Here's a feature along those lines that I liked: indexes into data-structures are indistinguishable from function calls. So if I write
(foo 0)
you have no way of knowing if foo is a list, a string or a function. Evaluation is strict by default, which I think is a net loss (but you've got macros, so it's swings and roundabouts, I suppose). The anaphoric (pronoun-introducing) macros from On Lisp are included by default - I've found pronouns to be very useful in Perl, so this can only be a Good Thing. I was amused to see that most of the language is defined in Arc, and that PG seems to think that this is a bold and novel experiment :-)

[identity profile] necaris.livejournal.com 2008-01-30 12:46 pm (UTC)(link)
indexes into data structures are indistinguishable from function calls
Ooh! That sounds interesting! Possibly really confusing though?

From the website: Arc is designed above all for exploratory programming: the kind where you decide what to write by writing it
My favorite kind :-) Perhaps I should venture in there too...

[identity profile] pozorvlak.livejournal.com 2008-01-30 12:48 pm (UTC)(link)
Yeah :-) From a brief flick through, it seems to combine most of the good features of Common Lisp with the good features of Scheme. It's very much a work-in-progress, though - no Unicode support, for instance.