Hacker News new | past | comments | ask | show | jobs | submit | zachbeane's comments login

Common Lisp at its base is usually written in Common Lisp.


I'm sure you are aware there is ultimately a chicken and egg problem here. Even given the case you presented, it doesn't invalidate the point that if it can implement lisp it must be able to do everything lisp can do. In fact given lisp's simplicity, I'd be hard pressed to call a language that couldn't implement lisp "general purpose".


"You're a very clever man, Mr. James, and that's a very good question," replied the little old lady, "but I have an answer to it. And it's this: The first turtle stands on the back of a second, far larger, turtle, who stands directly under him."

"But what does this second turtle stand on?" persisted James patiently.

To this, the little old lady crowed triumphantly,

"It's no use, Mr. James—it's turtles all the way down."


> I'm sure you are aware there is ultimately a chicken and egg problem here.

You should learn more about compilers. There is a really cool idea waiting for you.


The class and instance evolution protocols for starters seem not all that easy.


Exactly. Under the sheets you need class wrappers at a minimum to support these things.


If you mean the C compiled code, that's what a typical sbcl binary is already. On my system it's around 2.5MB. The compiled CL code image (and its related data) is around 50MB. save-lisp-and-die sticks the image into the runtime binary.


Also, some context from comp.lang.lisp is available at https://www.xach.com/naggum/articles/3250122499743574%40nagg...


And to save everyone from having to read that:

| Can someone explain why the BOOLE function is a single function with sixteen ops rather than sixteen functions.

It's because there are only four possible inputs to a two-input boolean gate, and so there are only 2^4=16 possible boolean gates. Furthermore there is a straightforward representation of those gates as an ordered sequence of four bits that specify the output of the gate for each of the four possible combinations of inputs (though the CL standard does not actually require implementations to use this representation, and not all do).



It extends to Topsfield. At the intersection of Route 1 and Route 6 there's a model of Eris.


The Mark Zuckerberg profile is promoted heavily on "who to follow"-type interstitials. It also shows up when friends like or share things it posts. Blocking would be a simple way to avoid seeing those things, if it worked.


My video appeal is here: https://vimeo.com/194845103


I hope to improve the documentation and security of Quicklisp in the next few months. It will depend on funding.

The core of Quicklisp is in dist.lisp. Understanding the protocol of the generic functions at the start of that file will help clarify Quicklisp as a whole. Almost everything else Quicklisp does is in support of that protocol.


That's great to hear. On your donations page you have indicated that there will be a special fundraiser. If that's not the case still, I suggest you remove it as people could be waiting for it and not donating.


This is a not a good guide. Avoid Graham too.

PCL is much better. Keene too. Seek out Joe Marshall's Warp Speed intro too.


For anyone not able to quickly locate the above mentioned items:-

PCL: (Practical Common Lisp): http://www.gigamonkeys.com/book/ (chapters 16 & 17)

Keene: (Object-Oriented Programming in COMMON LISP: A Programmer's Guide to CLOS): http://www.amazon.com/Object-Oriented-Programming-COMMON-LIS...

Warp Speed intro: http://xach.com/lisp/jrm-clos-guide.html


Care to say why? I've coincidentally just been referring to this guide whilst I explore some CLOS. It seemed adequate to me. (Not saying gigamonkeys isn't great - it is just a bit more long winded..)


Is it far too short or plain off ? In a similar scope, it reminds me of https://learnxinyminutes.com/docs/common-lisp/

I can't find another one cute 'common lisp the right way' set of slides.


>> Avoid Graham too.

I found this: pg's Ansi Common Lisp while useful will teach you only those parts that pg believes are good in CL. OTOH, PCL teaches you the language almost completely, leaving aside the author's preferences if any.

This may also be one of the reasons why the avoid advice! But ACL is also useful. In fact I started off with ACL and having come from C++, Java suffering from OO overdose, completely skipped anything OO. Was a whiff of fresh air learning that way.

Only when I turned to PCL and had been treated of bad OO by the earlier exercise, did I realize that CLOS is not the typical OO. In fact at times i think it is just no OO, but cannot articulate why for now.

Pair up PCL with LOL (let over lambda) and it can be fun.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: