Re: Obfuscated Lisp contest anyone? (Seriously)

mikel evins <[email protected]> Sat, 15 Apr 2023 10:23:06 -0500
Newsgroups gmane.lisp.openmcl.devel
Message-ID <[email protected]>
I like to make code as clear and obvious as I can, to the extent of building scaffolding in the language to accomplish that purpose. Of course, I don't always get it right, and sometimes my attempts to make things clearer have the opposite effect.

Sometimes those failures are because what's clear to me isn't necessarily clear to a colleague. I had a colleague a few years ago who seemed to be constitutionally averse to lambdas, to the extent that I entirely failed to communicate that I had used them in a certain place because it seemed to me the most natural and obvious way to accomplish a thing. It seemed that he so strongly believed that lambda was a weird and alien artifact that it was simply unbelievable that it could have seemed natural and obvious to me. I must be lying. I must have some hidden motive.

Okay. Lesson learned. Things are not necessarily intrinsically natural and obvious to everyone. They may become that way in my mind through repeated use.

> On Apr 15, 2023, at 10:16 AM, Tim Bradshaw <[email protected]> wrote:
> 
> I always used to answer obvious homework questions on cll by turning all binding constructs into equivalent lambdas and then using the U combinator (which I did not know was U at the time as I'd rediscovered it myself) to express recursion as opaquely as possible.  Any iteration was obviously expressed as recursion.
> 
> This is much easier in Scheme, as all the funcalls get annoying in CL.  Creative use of call/cc is also a great advantage of course.
> 
> --tim