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

I tried:

    (print "Hello World")
The result I expected was:

    Hello World
The result I got was:

    "Hello World"
In the language we are using, the "Hello World" program is simply:

    Hello World
but, this is my anti-Lisp bias thing.


Lisp "printing" is used for two different purposes: 1) to display results for a human reader/viewer. and 2) to serialize Lisp forms for later READing.

Instead of print, try princ.

  [1]> (princ "hello world")
  hello world
  "hello world"
The first unquoted string is the rendered display of the PRINT function, a side-effect. The second quoted string is the result, print returns the string it printed as a result.

Try nesting them and see what happens: (princ (princ "hello world"))

You admit to having an anti-lisp bias without knowing anything about lisp. This whole "I hate it because I don't know it" thing is silly and unbecoming of good programmers.




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

Search: