Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Colonel Taint
Mar 14, 2004


I'm going to ask here, because the LISP thread is archived -

I've been on a bit of a lisp kick lately trying to grasp what everyone who argues for lisp is raving about. I've been going through SICP and glancing through the freely available common lisp books and some articles online. What I don't understand is, it seems a big point a lot of people try do drive home is that one can 'extend the language' by basically writing functions. How is this any different from writing functions in, say, C? I could write a bunch of higher level functions that build on the standard C library, but I never would think of that as extending the language. I understand macros are a separate story, but am I missing something important here?

Adbot
ADBOT LOVES YOU

Colonel Taint
Mar 14, 2004


But... what's the different between 'extending the language' and building an API/library then? I've read McCarthy's paper and I realize the whole thing is built from a fairly basic foundation, which is cool in itself, but I keep getting hung up about that particular choice of words, especially when multiple authors use it to refer to defining functions. I can kind of seeing it make sense when talking about macros. Maybe I just haven't reached lisp nirvana yet.

Colonel Taint fucked around with this message at 23:01 on May 3, 2017

Colonel Taint
Mar 14, 2004


Hm, I think the idea is starting to set in. It's pretty cool to think of writing programs in that way. Like pure lisp basically - to use a loaded word - transcends other languages in its directness of interpretation. Like it's something of a polar opposite of - but at the same time analogous to - assembly language.

On a side note, going through SICP and doing all the little number theory exercises has been good fun. It's been pretty gentle so far so I'm hoping I can keep up with the rest as I go.

Colonel Taint
Mar 14, 2004


I've been going through SICP over the past month or two using DrRacket and it's pretty good. I'm currently up to section 2.2. Along with scheme R6RS, you can grab the sicp language pack - using this became especially useful when list structures were introduced.

Also I don't know what version of the text you're reading, but there's a pretty good HTML version available on github: https://sarabander.github.io/sicp/html/

e: Trees constructed from lists are the devil

Colonel Taint fucked around with this message at 19:50 on Jun 2, 2017

  • Locked thread