Live data from Hacker News

I’ve Consed Every Pair

medium.com

171–180 of 228 posts

Re: I’ve Consed Every Pair

#171

Earlier quoted context omitted.

Not OP, but Lisp isn’t really a functional language — it’s a usual language that also has some functional ideas inside. Mutation is common, don’t think Lisp will be a language like Haskell. For resources, I would recommend Practical Common Lisp[0] and PAIP[1]. For some modern development practices, the Common Lisp Cookbook[2] is great. [0]: http://www.gigamonkeys.com/book/ [1]: https://github.com/norvig/paip-lisp [2]…

> Lisp isn't really a functional language I guess I have even more to learn then :). Thank you for the links.

Common Lisp can be used as a functional language, or imperative, or extremely advanced OO (see CLOS).

There are lots of different Lisp's though. Clojure is the most popular one that runs on the JVM and idiomatic Clojure is generally pretty functional although it calls out to lots of Java which is OO.

Re: I’ve Consed Every Pair

#172

> I found it ironic that this programmer seemed not to realize that I had used Lisp as my primary language for 15 years of my career. Why is that ironic?

Imagine telling Brian Kernighan about a cool language you found called C, not realizing Brian wrote a lot of C.

Imagine telling Dave Thomas about a cool language you found called Ruby, not realizing Dave has written a lot of Ruby.

Imagine telling Douglas Crockford about a cool language you found called JavaScript, not realizing Douglas has written a lot of JavaScript (much of it full of bad ideas, but that's irrelevant in this case).

Imagine telling Harold Abelson about a cool language you found called Scheme, not realizing Harold has written a lot of Scheme.

Imagine telling Randal Schwartz about a cool language you found called Perl, not realizing Randal has written a lot of Perl.

Like all of the above, for the respective language (LISP in Peter's case, C in Brian's, and so on), Peter Norvig is a well known master who has written a seminal work about the language.

q.v. Paradigms of AI Programming: Case Studies in Common Lisp

He also wrote Teach Yourself Programming In Ten Years, which many people who know basically nothing about LISPs have encountered and consider important.

If I would have any objection to the brief story's use of the term "ironic", it would be about the fact that many LISPers might not be as enthused about Clojure, so it's possible Peter hasn't really looked into it. Your question implied that Clojure is just "Lisp", though, and if we're talking about "Lisp" in a generic sense (i.e. the LISP family), I think Peter Norvig is one of those luminaries that everyone who pays attention to the social context and most important written works about LISP would know. I don't even pay that much attention to those aspects of LISP knowledge, and I know about him in the context of LISP.

That's not to say everyone who has an interest in LISP should be thought deficient for not knowing about Peter. It's fine if you haven't stumbled across him before. Sometimes, people just miss things that, in retrospect, might seem like something they should have known.

That doesn't mean you have to even have an interest in LISP.

This should, however, hopefully, give you a sense of why Peter might think it was "ironic", even if "ironic" feels a bit questionable as the appropriate choice of term there. I'm sure to him it felt a little ironic, and that makes sense to me as an emotional response, at least.

Does that help?

(Imagine telling William Shakespeare about the Renaissance era techniques of being a playwright, or telling James Cooke Brown about a conlang called Lojban. Of course, I suppose James might be dismissive of Lojban, given he tried to control Loglan by proprietary means after creating it, thus prompting others to reimplement it as Lojban, undermining his efforts at such control.)

edit: Note that I'm not saying there's anything wrong with someone not realizing one is speaking with a Big Name in LISP when meeting Peter Norvig. I'm just saying that Peter is perhaps justified in finding it a little "ironic", and jumping to conclusions about why he would feel that way (if that's what you're doing) might not be fair.

I would probably feel awkward in Peter's position. I've been in a similar position before, including once being told about a cool article that I actually wrote as if it would change my life, and I never know what to do in a case like that. How do you point it out without possibly making someone feel offended? Humans get offended at the silliest things sometimes, and I occasionally find it quite difficult to predict.

Re: I’ve Consed Every Pair

#173
post #167

Earlier quoted context omitted.

If I may ask, what are the benefits of building this app in LispWorks instead of any other implementation (sbcl or else)?

I've never used LispWorks, but I think they have their own GUI, support, built-in logic programming (Prolog) for starters. They also have IDE like tools that are probably ready to go outside the box. Emacs with Slime isn't for everyone (I find it to be a big initial hurdle). Although I'm sure this guy is an Uber emacs expert. Perhaps we can summon u/lispm for an answer here. I think he possibly works for LispWorks an…

Having worked for a long time with emacs and slime, I'd have the opposite fear, to have to develop anything in lisp without them, like this is the case for LispWorks.

Re: I’ve Consed Every Pair

#175

Arc is underrated as an information management tool. There's something to be said for having a web framework that works out of the box. Rails is probably the only other framework that makes it as easy to "just make some forms that pass data around and run some code on that data." But not quite -- I haven't seen arc's closure-storing technique used in any other web framework. The main issue that arc solves is that it…

Do you have any links to resources or blog posts explaining how to do web dev in Arc? A cursory google search turns up ArcGIS stuff.

Re: I’ve Consed Every Pair

#176
post #167

Peter tech-reviewed the second edition of my Java AI book and made the comment that Java was half as good as Common Lisp for AI and that was probably good enough (we had both written Common Lisp books). He then went to Google and I had lunch with him; I was surprised that he was using Python. I like his poem in the article! A little off topic, but I retired (that is a bit of a joke) and at the age of 69, this year I…

If I may ask, what are the benefits of building this app in LispWorks instead of any other implementation (sbcl or else)?

Good question, since I also use SBCL and Clozure CL (and Armed Bear when I need Java interop).

LispWorks has a very nice portable UI library. That was the selling point for me.

Re: I’ve Consed Every Pair

#177

Peter tech-reviewed the second edition of my Java AI book and made the comment that Java was half as good as Common Lisp for AI and that was probably good enough (we had both written Common Lisp books). He then went to Google and I had lunch with him; I was surprised that he was using Python. I like his poem in the article! A little off topic, but I retired (that is a bit of a joke) and at the age of 69, this year I…

If I may ask, what references would you recommend to someone interested in something like Lisp, but who has never touched a functional language before?

I think Racket might be worth you spending one or two evening with, to see if you like it. It has an OK IDE, and a rich ecosystem.

Re: I’ve Consed Every Pair

#178
post #169

Earlier quoted context omitted.

If I may ask, what references would you recommend to someone interested in something like Lisp, but who has never touched a functional language before?

On Lisp is the best Lisp programming book I have ever read. Both PG’s lisp books are great and you can just read those and the CL hyperspec. On Lisp is out of print, but can be downloaded.

I would like to recommend that after reading PG's On Lisp, that you also consider Doug Hoyt's Let Over Lambda. Both are really great books for advanced study.

Re: I’ve Consed Every Pair

#179
post #173

Earlier quoted context omitted.

I've never used LispWorks, but I think they have their own GUI, support, built-in logic programming (Prolog) for starters. They also have IDE like tools that are probably ready to go outside the box. Emacs with Slime isn't for everyone (I find it to be a big initial hurdle). Although I'm sure this guy is an Uber emacs expert. Perhaps we can summon u/lispm for an answer here. I think he possibly works for LispWorks an…

Having worked for a long time with emacs and slime, I'd have the opposite fear, to have to develop anything in lisp without them, like this is the case for LispWorks.

> like this is the case for LispWorks.

I'm not sure I understand what you meant there, but you can use LispWorks with Emacs/Slime.

Re: I’ve Consed Every Pair

#180
post #167

Earlier quoted context omitted.

If I may ask, what are the benefits of building this app in LispWorks instead of any other implementation (sbcl or else)?

Good question, since I also use SBCL and Clozure CL (and Armed Bear when I need Java interop). LispWorks has a very nice portable UI library. That was the selling point for me.

Ah yes, makes sense, I thought it was (only) a web app so I was wondering what benefit LispWorks was bringing.

How do you like their IDE compared to emacs/slime?

Post reply on HN