Hacker News new | ask | show | jobs
by brudgers 4694 days ago
The standard Racket environment also includes an implementation of Datalog.

http://docs.racket-lang.org/datalog/

1 comments

Why, when I was surveying lisps to learn, was Racket an afterthought for me? I ultimately started learning Clojure, which is great, but has the benefit / curse of the JVM. As I play around in Racket (and look over at Typed Racket), I realize how nice a language it is.

The one thing I really miss from Clojure, however, is the destructuring bind. I'd love it if someone smarter than me could opine on how hard it would be to extend Racket with destructuring bind...

Racket is actually both a language and a distribution of a set of tools for building languages - e.g. the Racket distribution includes not only Racket and Datalog, but Algol-60 just to show off how flexible the tool set is.

One of the advantages and curses of the Racket community is that it comes out of academia rather than business like Clojure. The benefit is that it has good documentation and someone somewhere is writing or has written a thesis about just about anything based on Racket. The downside is that Racket is many things to many people and there is no canonical source like Rich Hickey or Linus.

I'm not smarter - Hell, I don't even know what a destructuring bind is. But [it is the internet after all] maybe you want

  (match...)
http://docs.racket-lang.org/reference/match.html?q=match&q=r...

Anyway, There's always IRC.

A good way to think of the difference between pattern matching and destructuring is that pattern matching is a conditional construct and destructuring isn’t.
Why is that a problem? No one ever learns just one Lisp. Must collect them all :-)