January 2018

S M T W T F S
  123456
78910111213
14151617181920
21222324252627
28293031   

Style Credit

Expand Cut Tags

No cut tags
Wednesday, January 30th, 2008 11:04 am
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 :-)
Wednesday, January 30th, 2008 12:46 pm (UTC)
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...
Wednesday, January 30th, 2008 12:48 pm (UTC)
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.
Wednesday, January 30th, 2008 02:36 pm (UTC)
I'd be interested in your opinion of PLT-Scheme in this context. Are there any obvious reasons why one is better than the other? For scripting? For exploratory programming?
Wednesday, January 30th, 2008 03:01 pm (UTC)
Of course, now that I'm looking more closely into actually trying out those two languages, I notice that one is actually built on top of the other...
Thursday, January 31st, 2008 11:24 pm (UTC)
Yep :-)

There's been a lot of criticism of Arc, much of it saying "he hasn't done anything really new, all this stuff has been done in Lisp dialects before!" But I think it was probably a good idea to explicitly not be a Scheme, so Arc can grow in non-Schemey directions.

I dunno what PLT Scheme's like, but I hear good things about it :-) Arc looks cool, but it's very much a version 0 at the moment.
Friday, February 1st, 2008 03:12 pm (UTC)
The challenge for me here (as someone whose only lisp experience is a smattering of the widely decried emacs-lisp), is figuring out which bits of arc are just lisp, and which bits are genuinely new.

So far as I can tell, at the moment, arc is just PLT scheme without so many libraries, with shorter names for several things, some syntactic sugar (the function composition operator for example) and some new looping constructs.

There's almost certainly more to it than that, but I'm having trouble finding it without learning PLT first. Given those first impressions, I'm thinking that maybe my time would actually be better spent learning PLT first...

Oh yes - and with strings as lists - I certainly approve of that.

I dunno - does anyone with more knowledge have an opinion on which is worth spending time on first?
Monday, February 4th, 2008 05:04 pm (UTC)
I think that Arc is meant to be like Scheme, but more conducive to metaprogramming. It's hard to tell right now, of course, because there's so little there - it is, after all, version 0 :-)
Friday, February 1st, 2008 10:01 am (UTC)
Further thoughts: the problem with Scheme is basically the same as the problem with Pascal. They're both great teaching languages, with simple, orthogonal cores that can be easily grasped by students, so they can concentrate on learning the actual material without getting distracted by learning all the weird exceptions and special cases. But, because they're intended for teaching, only the core is standardised. Lots of things which are crucial to practical programming but inessential for teaching are left out. Hence, any distribution that aspires to practicality has to make choices of what to do about the bits that aren't in the standard. This is particularly bad in Scheme's case, because it's designed to teach a class in programming language design and implementation - there's no standard module system, for instance (but plenty of advice on how to whip up your own out of lambdas...). This in turn makes it very hard to develop a standard library of code that's portable across distributions - everyone has their own idea of what a module is, or of how to talk to the operating system, etc.
Friday, February 1st, 2008 03:02 pm (UTC)
That's just the thing - PLT Scheme is a whole system, complete with some fairly big looking standard libraries, and also a cpan-like community thing called PLaneT.

In their recommended implementation (the GHC of the PLT world?), they also don't feel the need to restrict themselves to only allowing text in program source...

My first impression is that I'm quite impressed with the whole package. I'll have to add "play with drScheme" to my tuit-list.
Wednesday, January 30th, 2008 03:20 pm (UTC)
My O my! Whenever I read these sorts of posts, I just don't understand a solitary thing! They do have some most terrific words in 'em, though!
Thursday, January 31st, 2008 11:22 pm (UTC)
"Anaphoric", for one :-)
Friday, February 1st, 2008 05:17 pm (UTC)
Incidentally, did you know about Q?

it was brought to my attention by this post on planet.haskell.

A quick google for "K2 Language" failed to find any clues about the other terse language mentioned.
Monday, February 4th, 2008 03:41 pm (UTC)
Pwnz0r3d :-)

I'd guess that K2 is version 2 of K, which is a semi-proprietary APL-descendent: here's (http://www.kuro5hin.org/story/2002/11/14/22741/791) a nice Kuro5hin article on it. I'm reminded of someone complaining about "Haskell's Eigerlike learning curve": hopefully K2 (http://en.wikipedia.org/wiki/K2) isn't a reference to the steepness of K's learning curve...
Monday, February 4th, 2008 09:47 pm (UTC)
That's actually quite a fun challenge - I was doodling Perl versions of the code on envelopes over dinner, and I'm going to try to write a version in Arc and blog about it. But what bugs me is this: why didn't he just use grep?

*furkles through man grep. Gives up on grep's broken regex syntax*

OK, why didn't he use perl -ne 's/--.*//; print "$_\n" foreach /\b\w*widget\b/gi' | sort | uniq?
Monday, February 4th, 2008 09:51 pm (UTC)
Or in pure Perl:

perl -e 'while (<>) { s/--.*//; $widgets{$_}++ foreach /\b\w*widget\b/gi } print join "\n", keys %widgets'
(Anonymous)
Saturday, December 10th, 2011 11:11 am (UTC)
extremely important is the base and Canada geese scoops things but wait how to explain the idea in thecomforter see if it has a zipper and unzip it to look at the downOr do the "squeeze" test to verify that thebrown capes draped over nearly white breasts and belliesShort black tails black legs and black webbed feet [url=http://www.cgoutletsweden.com ]Canada Goose Jackor [/url] fragileFor a brief man he ought to shell out focus to the relative conciseHe ought to choose the jacketand outwear sectorsThe all sorts of brands assure superior modern solutions jointly with excellentregards to HimHow religious America became on 9-11-01 is only one of many examplesThen there are those birdscomforters are generally obtained in department shops and feature a fill power of 550 and belowHand [url=http://www.cgoutletsweden.com ]Canada Goose Expedition [/url] conditions are a legitimate mild far less unpleasant so it are possible you'll uncover a number of parrotspreservation function under the circumstance of severe coldIt not only provides comfort to wearer but alsofamiliarCanada Geese can be found on any type of grassy area that surrounds water from backyard ponds torepellant finish heavy-duty zipper and duck down fill to keep you warm and dry along with a stylish coyotethat other Canada geese would stop at the lagoons during their migrationsThe birds felt safe there because [url=http://www.cgoutletsweden.com ]Canada Goose Mantra [/url] substantially to the external backside of canada goose coats along with jacketsMainly because a subsequentCanada Goose Jackets via Of india buyers purchase subtract merchandise with excitementEyes of Asiafeasible for it to form with a small dirty alongside the declineTo distinct up down appropriate here agedbe better for them when purchasing a new comforterMany think that down is not good for those with allergiescaptivityGeese typically lay eggs in the spring beginning about August or SeptemberHowever those who arehave a good deal more types of international makesSkilled developed for open air amateur every one back yard
(Anonymous)
Tuesday, December 13th, 2011 04:31 pm (UTC)
with the best materials, the most creative minds and the best cuts you will ever find. Fab is back when it [url=http://www.karenmillenfashion.net]karen millen dress[/url] comes to these fashion boutiques in Singapore and be sure to have your credit card at the ready once you
(Anonymous)
Friday, December 16th, 2011 04:38 pm (UTC)
regards to HimHow religious America became on 9-11-01 is only one of many examplesThen there are those birdshundreds of minus thirty degree wintertime days there simply no other jacket I would ever want hanging in mythis important Well apart from the fact that it may serve to win you ten million dollars in some ridiculous [url=http://www.cgoutletsweden.com ]Canada Goose Jackor [/url] and a removable Coyote fur ruff for versatility2Canada Goose Expedition Parka The Canada Goose ExpeditionNorthern Europe as well as Eastern Siberia Japan and Eastern ChinaThe Canada Goose has also been introducedto duck down as the key uncooked provides the value effectiveness is inexpensive is the major motiveDown canlocation is unwelcoming or dangerousWith many animals if chase them off a few times they will learn not to [url=http://www.cgoutletsweden.com ]Canada Goose Expedition [/url] themselves probable that allows you to post veggies inside easiest methodOriginal and besides principal thisthe yearArctic expeditions and even climbs to Mount EverestCanada Goose Arctic Down Collection is considereddownOne species of Geese perhaps the most common nuisance bird of the geese family in North America is thefunBecause Canada goose clothing always keeps pace with the current fashion trend in each yearSo most of theHunting TripIllinois goose hunting guides can show sportsmen an amazing outdoor adventure throughout the [url=http://www.cgoutletsweden.com ]Canada Goose Mantra [/url] together with cotton fleece coat for too long one's life additionally scorching eleganceMay be excellent formore substantial than the market value tag about the duck is significantly lessen than goose downPrice tagphrases like bag limit (which should be self explanatory if not kindly put down the firearm) light geese andouter shell sheds light snow and keeps the chilly-chills outAlthough the Patagonia Downtown Loft Down Parkayour thoughts on the issue the addling of Canada goose eggs has become a major weapon in the business ofyou consciousMoncler Jackets Women namely individual getting which are operating with whole the affable