Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Racket or Clojure?

Name: Anonymous 2010-11-16 15:45

I'm going to invest a decent amount on time on further learning a Lisp dialect. I'm not learning it just to achieve Satori which I more or less already did, but I want an actual development platform to write my shit in, one that is library-rich, useful for a lot of things, multi-platform, and a state-of-the-art Lisp with support for functional programming, macros and decent programming. Furthermore, I wanted something clean, nice, modern, and a Lisp-1 above all else because of spiritual equilibrium and peace of mind. Considering these requirements, I'm left with Racket or Clojure (did I overlook anything else?). Now, /prog/, which should I invest time on?

Name: Anonymous 2010-11-17 7:44

>>19

Okay, so we have growable vectors (with 1/20th of Python's standard library though), streams and sequences look good enough (and yay, generators), for and company seem good enough (I knew about them), and there are real TCO and continuations. I somehow trust the Racket community a bit more, considering it's Scheme, it has the Sussman's seal of approval, it's backed by and used in Universities, and it's full of Satori, except that I don't think they'll manage to make Racket widespread and usable for bread-making (though I wish they did!).

BTW:

A growable vector (gvector) is a mutable sequence whose length can change over time. A gvector also acts as a dictionary (dict? from racket/dict), where the keys are zero-based indexes and the values are the elements of the gvector.

Sounds disturbingly similar to PHP. Just kidding.

The only point that makes sense is that you don't like Racket's syntax, but to me it is quite clean and easy to read compared to Clojure's ``explosion in an ASCII factory''.

I alt-tabbed to the Racket manual page I was reading, and saw this right in the middle of my screen:

((any/c) () #:rest list? . ->* . any/c)))

Also, I'd rather take a decent literal dictionary syntax like {:k v :k2 v2} over #hash((k . v) (k2 . v2)) .

I suppose I could write some reader macros. I also value generics and polymorphism, and need a powerful array and dictionary library that includes all sorts of operations from splicing multiple elements to scanr. I wonder how long it would take me to turn Racket into what I want over turning Clojure into what I want.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List