In a similar vein, I wonder about the Erlang hype - some things are really impractical to do in Erlang, for lack of syntactic sugar and the immutable memory constraint. People were always bickering about the constraints in Java (no multiple inheritance and stuff like that), so why choose another language with impractical constraints instead?
Tree = Branch Tree Tree | ILeaf Int | SLeaf String
then a list like [ILeaf 1, SLeaf "foo"]. Another way to go takes advantage of type erasure. Currently it's just a popular extension but it lets you have lists of stuff in the same type class.
A good example is "Show" you can have a list off stuff that knows how to turn itself into strings. always a handy thing.
Basically you get the big two, group things based on what they are, or group things based on what you can do to them.
Perhaps there is a big pile of random stuff you want to hang on to, but i'd bet 99.9% of the time you really want to collect the stuff into a coherent type.
Perl6, may it rest in peace, had that feature in its spec.
I'd love to just sudo apt-get install arc in this lifetime.
Should we arrange another Lightweight Languages day at MIT for this?
I attended Lightweight Languages once and it was awesome. Informal, a large variety of smart people, but each smart in their own way, that had a lot to genuinely learn from each other.
Sadly, conferences, even comparatively small and informal once, take some effort and some money to put together, and frankly it's not going to be me who is capable of coming up with either.
git clone git://ycombinator.com/arc.1.0.0I look forward to typing:
emerge -av arc git clone git://archub.com/arc.1.0.0 darcs get http://ycombinator.com/arcAt least, that's what the people who want to become lisp programmers want. It's probably not what the current lisp programmers want. Hey ho. Just don't make emacs the default development environment.
Pg has a lot of people fired up about using lisps, but right now it's a sport you can only participate in if you've got a certain -other- set of skills like vi and emacs and a decent knowledge of system administration. Preconditions like this limit the user community massively. Small communities find it difficult to get momentum.
I've forced myself to stick with emacs/slime because basically that's that there is. I'm getting comfortable, and starting to like it. But I think it's actually a kind of Helsinki syndrome...
I'd like to write the next Viaweb, and I'd like to write it in Lisp. But if the basic language is inviting, the rest of the environment is sorta hostile; a shangri-la in a swamp.
So the quality of the installer, the libraries distributed with it, the documentation, and the bundled editor will ultimately affect it's success.