freenode/#lisp - IRC Chatlog
Search
2:45:51
Colleen
Weather in Philadelphia: Clear at 6°C (feels like 4°C), 48% humidity, 2km/h wind, 1029hPa pressure.
2:53:44
Kevslinger
That is truly unbelievable. The humidity of Pennsylvania is one of my least favorite parts about it. Couldn't imagine even more water in the air
7:44:20
verisimilitude
So, what are you all working on lately; with regards to Lisp, I've been primarily concerned with my ACUTE-TERMINAL-CONTROL abstract terminal library.
10:35:32
light2yellow
I'm reading http://paulgraham.com/rootsoflisp.html and I cannot evaluate a lambda passed as an argument to another lambda on page 4: ((lambda (f) (f '(b c))) '(lambda (x) (cons 'a x))). it should yield (a b c) but instead slime 2.20 & sbcl 1.4.6 provide two "style-warning"s and abort with "function f is undefined". why so? I can do (lambda (x) (* x x) 5) normally, for example
10:38:55
phoe
light2yellow: Graham, in his paper, describes a so-called Lisp 1, where functions and variables share a single namespace.
10:39:25
phoe
In Common Lisp, the value of variable F and the function F are distinct; Common Lisp is a lisp-2.
10:39:42
MichaelRaskin
But Common Lisp is Lisp-2, so you need an explicit funcall to call a value as a function
10:41:34
MichaelRaskin
Right, Common Lisp _also_ wants you to wrap (function …) around the list to recognise that this actually describes a function
10:46:07
phoe
light2yellow: a good choice of article though, I used that one to implement a half-working minimal Lisp in Haskell.
10:50:53
light2yellow
phoe: I need to write something 10-page long about lisp (without further specification, literally), so I'm just trying to wrap my head around it first
10:53:26
phoe
light2yellow: good idea! You can also fire up some sort of Lisp IDE and fiddle around with it while reading some sort of very introductory book.
10:53:56
phoe
https://portacle.github.io/ and http://gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html are a good choice, except use Portacle and not Lisp-In-A-Box.
10:54:34
phoe
And once you're done with this chapter, go straight to http://gigamonkeys.com/book/practical-a-simple-database.html
11:06:00
phoe
if you already evaluate expressions in CL, it means you already have some sort of implementation installed.
11:06:23
light2yellow
phoe: thank you for the recommendations. I'm using spacemacs with slime as a repl, and scrolled through few chapters of that book (including the mentioned ones). however, it's more important to me to understand why lisp was/is an important idea, why and in what way it was/is revolutionary, what have its dialects brought etc., than to know how to do something in particular, so I'm reading more "analysis"
11:09:28
phoe
well, Lisp was revolutionary because it introduced concepts like IF/THEN/ELSE, first-class functions, recursion, GC, image-based programming, homoiconicity et cetera
11:09:51
phoe
most of which have now made their way into other languages, so that's a successful revolution.
11:10:47
jdz
light2yellow: I'd suggest this: http://www.restlessdevice.com/e02-lisp-learning-to-think-about-thinking/
11:11:15
jdz
light2yellow: And maybe also http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/ (just because the title seems relevant).
11:12:47
phoe
MichaelRaskin: AFAIR McCarthy implemented it first in Lisp and then it made its way into Fortran right afterwards
11:14:34
MichaelRaskin
For a safer bet one could talk about the full language being available at compile-time for code transformation
11:16:29
light2yellow
MichaelRaskin: I read it in one of the papers few days ago and can confirm if-then-else is first introduced in lisp