Simplified CL

Discussion of Common Lisp
Post Reply
skypher
Posts: 34
Joined: Thu Jul 03, 2008 6:12 am

Simplified CL

Post by skypher » Mon Feb 16, 2009 1:39 am

A small pet idea of mine for lowering the entry barrier to CL:

Select a certain subset of the CL standard, throw in some utility libraries (alexandria, cl-ppcre, something for date manipulation come to mind), document it all in a structured manner and offer a downloadable core image.

What do you think? Would anyone be interested in collaboration?

dmitry_vk
Posts: 96
Joined: Sat Jun 28, 2008 8:01 am
Location: Russia, Kazan
Contact:

Re: Simplified CL

Post by dmitry_vk » Mon Feb 16, 2009 2:19 am

skypher wrote:A small pet idea of mine for lowering the entry barrier to CL:

Select a certain subset of the CL standard, throw in some utility libraries (alexandria, cl-ppcre, something for date manipulation come to mind), document it all in a structured manner and offer a downloadable core image.

What do you think? Would anyone be interested in collaboration?
I think that this would be quite useful. Having a structured documentation (I really like http://docs.python.org/library/index.html) really helps.
It would also be good to have a «meta-packages» of selected sets of existing libraries combined with good documentation. I do not think that a core image is really necessary.

Harleqin
Posts: 71
Joined: Wed Dec 17, 2008 5:18 am
Location: Bonn, Germany

Re: Simplified CL

Post by Harleqin » Mon Feb 16, 2009 5:39 am

skypher wrote:A small pet idea of mine for lowering the entry barrier to CL:
I think that the entry barrier is not the overwhelmingly large language standard, and even if it was, this would be better addressed by a tutorial that doesn't throw every detail at once at the learner.

I think that the problem is rather exemplified by the code in this question. People who come from imperative languages have to understand a completely different program flow from what they are used to. They will try to declare variables, but they do not understand how scope and extent work. They try to apply their sequential thinking, but the program flow goes orthogonal to how they expect it. The person who asked that question above claimed to have read the first 10 chapters of Practical Common Lisp, and yet he violated at least one principle from each of those chapters (disclaimer: I might be exaggerating here). I think that it's great that he posted this question, and that he will come over this barrier. The problem is recognizing where the barrier is, instead of just throwing Lisp away as "useless" because it doesn't work as you expected.

I think that I would design a tutorial in such a way that let*, do*, setf, and the extended loop are explained as late as possible. Even defvar and defparameter are not needed for the first steps. The very first step would have to be "forget everything that you believe to know about programming". The first looping construct would be recursion. Do anything to keep them from falling back into the BASIC mind.
"Just throw more hardware at it" is the root of all evil.
Svante

skypher
Posts: 34
Joined: Thu Jul 03, 2008 6:12 am

Re: Simplified CL

Post by skypher » Mon Feb 16, 2009 9:15 am

That's a very insightful POV, thanks. Perhaps rather another book is needed...

phil
Posts: 27
Joined: Wed Aug 13, 2008 1:23 pm
Contact:

Re: Simplified CL

Post by phil » Mon Feb 16, 2009 2:18 pm

skypher wrote:A small pet idea of mine for lowering the entry barrier to CL:

Select a certain subset of the CL standard, throw in some utility libraries (alexandria, cl-ppcre, something for date manipulation come to mind), document it all in a structured manner and offer a downloadable core image.

What do you think? Would anyone be interested in collaboration?
I guess the first task would be to draw up one list of the libraries you'd like to include and another list of the features you'd like to drop in your subset and see how many of the libraries would still work. I fear it could be an infuriating exercise!

Perhaps there are other approaches you could consider, like building a smaller Lisp atop CL?

qbg
Posts: 64
Joined: Mon Jun 30, 2008 1:05 pm
Location: Minnesota

Re: Simplified CL

Post by qbg » Mon Feb 16, 2009 7:43 pm

skypher wrote:A small pet idea of mine for lowering the entry barrier to CL:

Select a certain subset of the CL standard, throw in some utility libraries (alexandria, cl-ppcre, something for date manipulation come to mind), document it all in a structured manner and offer a downloadable core image.

What do you think? Would anyone be interested in collaboration?
Why a subset of CL? If it is solely for the purpose of having less functions to wade through, then why are you adding all of those functions in the libraries? :roll:

skypher
Posts: 34
Joined: Thu Jul 03, 2008 6:12 am

Re: Simplified CL

Post by skypher » Tue Feb 17, 2009 1:24 am

Yeah, I wasn't pretty clear about that.

The selection wouldn't limit what symbols are imported but rather what symbols are documented.

Post Reply