Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Ability" doesn't imply "first-class support" or "good idea". In languages that aren't Lisp this usually ends up being done by passing a raw string to eval() which is extremely error prone. It's not something you do lightly.

Constructing macros in Lisp however /is/ something you do lightly. A typical lisp program might have a 20/80 division of macros/functions. You aren't going to see a sane program in other languages that do the same thing.



Io & Ioke are like Lisp here. You have full access to the parse tree and don't need to anything as crude as passing raw strings to eval().


> Constructing macros in Lisp however /is/ something you do lightly

For all the ease with which one can create macros in LISP, I haven't seen anything comparable to LINQ yet.

And while I've seen useful macros here and there, I haven't seen anything groundbreaking ... macros are mostly used when you need laziness.

Powerful? Yes. Easy to use? No.


If you haven't seen anything, did you actually look around?

Common SQL : http://www.lispworks.com/documentation/sql-tutorial/index.ht...

    (loop for columns being the records of
          [select [*] :from [SpeciesList]
                      :where aardvark]
          do (print columns))
Common SQL provides some kind of embedded SQL that gets expanded with read macros and macros to more low-level Lisp code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: