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

Lisp IDE Request

Name: Anonymous 2013-03-08 18:43

Is there a Lisp IDE, which would to use GUI editable blocks to visualize SEXPs?

I.e. pushing +/- would fold/unfold subtree, while insert/del would add/remove an element to underlying form, and pressing enter would edit it.

And cursor arrow would be bound not to chars, but to the SEXP elements themselves. Just imagine how many keystrokes it will save you!

I know there are Emacs hacks, but they are completely foreign and inconvenient, compared to real IDE.

Name: Anonymous 2013-03-10 10:43

>>44
That was as cryptic as it was smug. I barely understood it, knowing Clojure, Scheme and a fair bit of Haskell.

>>43
You could have just Googled it, and you probably already have, but here's the gist: rather than writing a complicated decision tree as a mess of ifs and switches, you state the expression for the value you want to test, and match it against a series of patterns.

Take this one for instance, in Clojure:

(let [x 1 y 2 z 4]
  (match [x y z]
     [1 2 b] [:a0 b]
     [a 2 4] [:a1 a]))


It's rather intuitive, you have these three variables in order, x y z. If the first and second elements match up to 1 and 2, you return a vector containing :a0 (a Clojure value, of "keyword" type) and the third. These are matched in order, so though the second pattern would also fit, it's ignored. I don't know of a language where it doesn't work like that.

Each language has its own pattern syntax for its different types, Haskell can destructure and look into its Data types, which is quite powerful. You should look into that language for that and many other reasons.

So that's it. Now you are enlightened.

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