Everything we’ve learned about Lisp so far can be summarized by a single statement: Lisp is executable XML with a friendlier syntax.
— Slava Akhmechet
2010.04.19 Monday ACHK
Everything we’ve learned about Lisp so far can be summarized by a single statement: Lisp is executable XML with a friendlier syntax.
— Slava Akhmechet
2010.04.19 Monday ACHK
“Lisp is the red pill.”
— John Fraser, comp.lang.lisp
The first appearance of the concept of the “red pill” in the 1999 film The Matrix. A hacker named Morpheus offers a choice to the film’s protagonist, Neo, to take the blue pill, where “the story ends, you wake up in your bed and believe whatever you want to believe”, or to take the red pill, where “you stay in wonderland, and I show you how deep the rabbithole goes.”
The term redpill is a pop culture term that was popularised in science fiction culture via the 1999 film The Matrix. The movie relies on the premise that an artificial reality that is advanced enough will be indistinguishable from reality and that no test exists that can conclusively prove that reality is not a simulation. This ties in closely with the skeptical idea that the everyday world is illusory. In the movie, a Redpill is the term used to describe a human who has been freed from the Matrix, a fictional computer-generated world set in 1999. Bluepill refers to a human still connected to the Matrix.
— Wikipedia on Redpill
2010.04.17 Saturday ACHK
By policy, LISP has never really catered to mere mortals. And, of course, mere mortals have never really forgiven LISP for not catering to them.
* Larry Wall, “Programming is Hard, Let’s Go Scripting…”
2010.04.16 Friday ACHK
As for Arc, I think you actually get a
better language if you design for smart
programmers. Designed for smart
programmers: C, Smalltalk, Lisp. Designed
for “average” programmers: Cobol, Pascal,
Java. See a pattern here?
Paul Graham
Tuesday, December 18, 2001
2010.04.05 Monday ACHK
* Programming in Lisp is like playing with the primordial forces of the universe. It feels like lightning between your fingertips. No other language even feels close.
o Glenn Ehrlich
2010.04.04 Sunday ACHK
Lisp’s uniform, parenthesized syntax works especially well with macros. Languages of the Lisp family, such as Common Lisp and Scheme, have powerful macro systems because the syntax is simple enough to be parsed easily. Lisp macros transform the program structure itself, with the full language available to express such transformations. Common Lisp and Scheme differ in their macro systems: Scheme’s is based on pattern matching, while Common Lisp macros are functions that explicitly construct sections of the program.
Being able to choose the order of evaluation (see lazy evaluation and non-strict functions) enables the creation of new syntactic constructs (e.g. control structures) indistinguishable from those built into the language. For instance, in a Lisp dialect that has cond but lacks if, it is possible to define the latter in terms of the former using macros.
Macros also make it possible to define data languages that are immediately compiled into code, which means that constructs such as state machines can be implemented in a way that is both natural and efficient.
— Wikipedia on Macro (computer science)
2010.03.30 Tuesday ACHK
Racket is still a dialect of Lisp and a descendant of Scheme.
— Racket
2010.03.28 Sunday ACHK
Interactive means that programming is a dialog with Lisp. You enter an expression and Lisp computes the side effects (for example output) and the value.
So your programming session is like ‘talking’ with the Lisp system. You work with it until you get the right answers.
Alan Kay (of Smalltalk fame) calls the original definition of Lisp evaluation in Lisp the Maxwell’s equations of programming.
— Rainer Joswig
2010.03.26 Friday ACHK
Somewhere in the course of doing Viaweb, someone gave me a very useful piece of advice: users always want an upgrade path, even though as a rule they’ll never take it. Rtml was our upgrade path. If you wanted to, you could get absolute control over everything on your pages.
— Lisp in Web-Based Applications, Paul Graham
2010.03.21 Sunday ACHK
One way we used macros was to generate Html. There is a very natural fit between macros and Html, because Html is a prefix notation like Lisp, and Html is recursive like Lisp. So we had macro calls within macro calls, generating the most complicated Html, and it was all still very manageable.
— Lisp in Web-Based Applications, Paul Graham
2010.03.20 Saturday ACHK
Q: How can you tell when you’ve reached Lisp Enlightenment?
A: The parentheses disappear.
* Anonymous
2010.03.17 Wednesday ACHK
Category Theory | Lisp 3
Haskell is very obviously a language built by mathematical logicians for mathematical logicians. Category theory lurks behind it in the same way that the lambda calculus lurks behind LISP.
— Eric S. Raymond
2010.03.12 Friday ACHK
With Lisp (Scheme/Common Lisp), you can write programs to write programs.
With Category theory, you can unify the mathematics of General Relativity and the mathematics of Quantum Mechanics.
— Me@2010.03.09
2010.03.10 Wednesday (c) All rights reserved by ACHK
My current self-study programme includes
1. read almost everything written by Paul Graham
2. learn Lisp programming language (Common Lisp/Scheme) by reading Paul Graham’s textbooks
3. learn Category Theory so that I can read almost everything written by John Baez
Yester-night and tonight, I discovered that they are related:
“Lists, and recursive operations on them, are an excellent case in point. But the path connecting them to their mathematical underpinnings is a long and winding one, which lays in the realm of Category Theory.” — jao
I had never expected that. They are one thing.
Paul Graham –> Lisp –> Category Theory –> John Baez
I have been learning Lisp since 2000 (Machine Intelligence course), since 2006 (Structure and Interpretation of Classical Mechanics, Structure and Interpretation of Computer Programs), since 2010. I have been learning Category Theory since 2006-2008 (John Baez), since 2008 (Sets for Mathematics), since 2010. I had never expected that they are just two different languages of the same thing.
— Me@2010.03.04
2010.03.05 Friday (c) All rights reserved by ACHK
Lisp is a programmable programming language.
– John Foderaro, CACM, September 1991
2010.02.21 Sunday ACHK
In LISP and Scheme, when you do not use the assignment operator, there are no states to keep: there is no “time” concept.
— Me
2010.01.31 Sunday (c) All rights reserved by ACHK
4.3.2 Have a habit of doing good work in your current job, whether it is your favourite
In order to get your favourite job, you have to get used to doing good work in your current job. So, even if you choose to quit your current job later, you know that you are quitting not because you want to give up, but because you have a better job or a better chance.
.
.
2008.07.09 Wednesday
LISP writer Paul Graham has written an essay called “How to do what you love”, giving some practical advice.
There are three main points, for me, in the essay:
Have a habit of doing good work in your current job, whether it is your favourite.
Always produce in your favourite area, whether it is your current job.
.
Sometimes, I faced some boring work. When I wanted to get rid of it, I had a thought: “Someone has to do it anyway. If I do not do it, someone else will have to. That means I am wasting other people’s time. I will feel guilty about that.”
Now I do not think in that way. If I choose not to do a job, the number of people available for that job will decrease. That means the price to get a person to do the job will rise. Then the person who has chosen that job will get a higher salary. So, instead of wasting his time, I make him earn a higher salary.
If a job is so boring that it is virtually impossible to get any human being to do it, people will create a machine to get the job done.
.
.
2008.06.30 Monday