Kenny Tilton
smuglispweeny.blogspot.com · Personal blog · on HN since 2008
Kenny Tilton, a Common Lisp programmer and author of the Cells library, writes about Lisp, its culture, and programming.
What HN saysHN commenters recommend the blog for Lisp writing and quote its lines on Lisp's decline and its retort to complaints about parentheses.
29HN people shared it
15linked it in comments
24stories submitted
258story points
5 years agolast shared
2008people per year2026
Most-shared posts
- 1Ooh Ooh My Turn Why Lisp? (2008)9 people · 113 points · first shared 2008 · 157 comments on HN
- 2Tilton's Law - solve the first problem first3 people · 30 points · first shared 2008 · 2 comments on HN
- 3My Biggest Lisp Project2 people · 17 points · first shared 2008 · 2 comments on HN
- 4The King is Dead? Long live... Scala? Clojure?2 people · 10 points · first shared 2009 · 10 comments on HN
- 5AA, BB, CC, and DD2 people · 6 points · first shared 2008 · discussion on HN
- 6Parentheses? What parentheses?2 people · 2 points · first shared 2008 · discussion on HN
- 7Wow, even Lispers hate Lisp2 people · 1 points · first shared 2013 · 1 comments on HN
- 8The Making of Cells: A Case Study in Dumb Luck1 people · 38 points · first shared 2017 · 3 comments on HN
- 9All Your Parentheses Are Belong to Us1 people · 11 points · first shared 2008 · 12 comments on HN
- 10Tilton's Un-Law: Treasure the First Problem1 people · 7 points · first shared 2015 · discussion on HN
- 11The Worst Thing You Can Say About Software Is That It Works1 people · 4 points · first shared 2008 · discussion on HN
- 12It's the shoes, Jeff! It's the shoes!1 people · 4 points · first shared 2008 · 2 comments on HN
- 13The Road to qooxdoo1 people · 3 points · first shared 2008 · discussion on HN
- 14The Road to qooxdoo Part III: Why It Rocks1 people · 3 points · first shared 2009 · discussion on HN
- 15Smuglispweeny: COBOL has Macros?1 people · 3 points · first shared 2009 · 1 comments on HN
What HN people wrote when they linked it
kennytilton · 2018-05-21
Was McCarthy even thinking of macros when he locked onto code as data? Or was he thinking code generation in pursuit of AI?Asking, do not know. I know macros are a great example of code=data, but I once had a ball using the AllegroStore CLOS database and a homebrewed DB synch layer to handle remote distribution and update of forms and the code to validate them in a clinical drug trial management context, where forms and their validation code are forever changing. Basically, an intractable software maintenance problem just disappeared. That's always fun. http://smuglispweeny.blogspot.com/2008/03/my-biggest-lisp-project.html
shoover · 2016-06-02
+1. Kenny Tilton's blog is also great for that kind of thing.
"You know Lisp is the perfect language precisely because it lost its momentum (died) and lives on. Other languages need their Next Big Thing momentum."
http://smuglispweeny.blogspot.com/2013/08/wow-even-lispers-hate-lisp.h…
dpapathanasiou · 2008-04-03
The best retort to the parenthesis complaint is: "I like to ask people who complain about parentheses in Lisp if they are bothered by all the spaces between words in a newspaper." (http://smuglispweeny.blogspot.com/2008/02/what-hell-is-fortune-cookie-…
DonHopkins · 2020-05-01
Peter Norvig explained why he came to Python from Lisp in an HN posting a decade ago:
https://news.ycombinator.com/item?id=1803815
>norvig on Oct 18, 2010 | parent | favorite | on: Ask PG: Lisp vs Python (2010)
>Peter Norvig here. I came to Python not because I thought it was a better/acceptable/pragmatic Lisp, but because it was better pseudocode. Several students claimed that they had a hard time mapping from the pseudocode in my AI textbook to the Lisp code that Russell and I had online. So I looked for the language that was most like our pseudocode, and found that Python was the best match. Then I had to teach myself enough Python to implement the examples from the textbook. I found that Python was very nice for certain types of small problems, and had the libraries I needed to integrate with lots of other stuff, at Google and elsewhere on the net.
>I think Lisp still has an edge for larger projects and for applications where the speed of the compiled code is important. But Python has the edge (with a large number of students) when the main goal is communication, not programming per se.
>In terms of programming-in-the-large, at Google and elsewhere, I think that language choice is not as important as all the other choices: if you have the right overall architecture, the right team of programmers, the right development process that allows for rapid development with continuous improvement, then many languages will work for you; if you don't have those things you're in…
rauhl · 2018-05-21
This seems to be a good excuse to share this great story:
> At ILC 2002 former Lisp giant now Python advocate Peter Norvig was for some reason allowed to give the keynote address like Martin Luther leading Easter Sunday mass at the Vatican and pitching Protestantism because in his talk Peter bravely repeated his claim that Python is a Lisp.
> When he finished Peter took questions and to my surprise called first on the rumpled old guy who had wandered in just before the talk began and eased himself into a chair just across the aisle from me and a few rows up.
> This guy had wild white hair and a scraggly white beard and looked hopelessly lost as if he had gotten separated from the tour group and wandered in mostly to rest his feet and just a little to see what we were all up to. My first thought was that he would be terribly disappointed by our bizarre topic and my second thought was that he would be about the right age, Stanford is just down the road, I think he is still at Stanford — could it be?
> ‘Yes, John?’ Peter said.
> I won’t pretend to remember Lisp inventor John McCarthy's exact words which is odd because there were only about ten but he simply asked if Python could gracefully manipulate Python code as data.
> ‘No, John, it can’t,’ said Peter and nothing more, graciously assenting to the professor’s critique, and McCarthy said no more though Peter waited a moment to see if he would and in the silence a thousand words were said.
from…
PuercoPop · 2017-12-09
And when Norvig made that claim in from of McCarthy, McCarthy disagreed.
> Peter bravely repeated his claim that Python is a Lisp.
> Yes, John?" Peter said.
> I won't pretend to remember Lisp inventor John McCarthy's exact words which is odd because there were only about ten but he simply asked if Python could gracefully manipulate Python code as data.
> "No, John, it can't," said Peter and nothing more, graciously assenting to the professor's critique, and McCarthy said no more though Peter waited a moment to see if he would and in the silence a thousand words were said.
http://smuglispweeny.blogspot.pe/2008/02/ooh-ooh-my-turn-why-lisp.html
kennethtilton · 2013-11-05
Cells!: https://github.com/kennytilton/cells/wiki
rah-rah: http://smuglispweeny.blogspot.com/2008/02/cells-manifesto.html
The latest buzzword is Functional Reactive Programming. Well, latest three buzzwords.
bazzargh · 2012-08-20
He was a regular poster on comp.lang.lisp, and one of the contributors there described him thusly:
"Ken Tilton is an aquired taste - if you can ignore his inflammatory remarks his advice is usually good. When I first saw some (most!) of his posts I initially thought WTF! but think of him as someone with Tourettes Syndrome and just look at what he is saying not how he is saying it!"
There's a couple of fortune cookie files of quotes from him (collected by someone else, but you can find them on his blog), they do make for funny reading, but you can see how some of this would sting if the remarks were directed at you:
http://smuglispweeny.blogspot.co.uk/2010/08/fortune-cookie-file-number…
blasdel · 2010-09-25
It even has Macros: http://smuglispweeny.blogspot.com/2008/03/kenny-and-firing-squad-episo…
skorgu · 2009-09-08
I phrase this as "solve the first problem" whenever I explain my functionally identical method to others. Google tells me I have stolen Tilton's Law[1], the origin of which I will endeavor to remember in future.
[1] http://smuglispweeny.blogspot.com/2008/03/tiltons-law-solve-first-prob…
Edit: grammar.
geocar · 2021-06-15
> > I think there are a lot of people who believe they understand Python because it kindof looks like Java.
> Have you actually met anyone who's asserted that Python "kind of looks like Java"
That's unfair.
> let alone that its resemblance to Java makes it easier for them to understand?
Yes, but maybe not in the way you're expecting.
Guido himself remarked on many of their similarities back in 1997[1]; They definitely have a very similar execution model, the syntax can be directly translated almost like a cheat-sheet[2], and yeah, I think people can easily convince themselves into thinking the knowledge -- even superficial knowledge like the aesthetics of one language can help them "comprehend" the other. If you haven't observed this, I think you either haven't been programming that long or you're just trying to look at what I'm saying too narrowly in an effort to troll for a fight. And it's not just Python: Norvig even (reportedly) almost convinced himself (in this way) that Python is the same as Lisp[3], and that's just bananas!
Now, if you still don't know what I'm talking about, this next thing isn't going to make any sense at all either, but I'm hopeful you can try to understand after some reflection, and if not you, someone else who reads this with an open mind: If you are using one language to understand another, you're not actually understanding that language.
That has a very significant implication that turns out to make Array programming really hard for…
zeveb · 2018-03-14
Regarding that[0]:
At ILC 2002 former Lisp giant now Python advocate Peter Norvig was for some reason allowed to give the keynote address like Martin Luther leading Easter Sunday mass at the Vatican and pitching Protestantism because in his talk Peter bravely repeated his claim that Python is a Lisp.
When he finished Peter took questions and to my surprise called first on the rumpled old guy who had wandered in just before the talk began and eased himself into a chair just across the aisle from me and a few rows up.
This guy had wild white hair and a scraggly white beard and looked hopelessly lost as if he had gotten separated from the tour group and wandered in mostly to rest his feet and just a little to see what we were all up to. My first thought was that he would be terribly disappointed by our bizarre topic and my second thought was that he would be about the right age, Stanford is just down the road, I think he is still at Stanford -- could it be?
"Yes, John?" Peter said.
I won't pretend to remember Lisp inventor John McCarthy's exact words which is odd because there were only about ten but he simply asked if Python could gracefully manipulate Python code as data.
"No, John, it can't," said Peter and nothing more, graciously assenting to the professor's critique, and McCarthy said no more though Peter waited a moment to see if he would and in the silence a thousand words were said.
0: http://smuglispweeny.blogspot.com/2008/02/ooh-ooh-my-turn-why-lisp.htm…
pmoriarty · 2017-10-27
How often is camlp4/5 used among the typical OCaml programmer compared to how often macros are used among typical Lisp programmers?
How easy is camlp4/5 metaprogramming to read and write compared to Lisp macros?
This reminds me of Alan Perlis' admonition to "beware of the Turing tar-pit in which everything is possible but nothing of interest is easy."[1] and of a question John McCarthy asked Peter Norvig after the latter's talk about how Python was a Lisp:
"When he finished Peter took questions and to my surprise called first on the rumpled old guy who had wandered in just before the talk began and eased himself into a chair just across the aisle from me and a few rows up.
This guy had wild white hair and a scraggly white beard and looked hopelessly lost as if he had gotten separated from the tour group and wandered in mostly to rest his feet and just a little to see what we were all up to. My first thought was that he would be terribly disappointed by our bizarre topic and my second thought was that he would be about the right age, Stanford is just down the road, I think he is still at Stanford -- could it be?
"Yes, John?" Peter said.
I won't pretend to remember Lisp inventor John McCarthy's exact words which is odd because there were only about ten but he simply asked if
Python could gracefully manipulate Python code as data.
"No, John, it can't," said Peter and nothing more, graciously assenting to the professor's critique, and McCarthy said no more though Peter…
ced · 2010-10-18
That reminds me of a cool story, in Norvig's talk about Python...
When he finished Peter [Norvig] took questions and to my surprise called first on the rumpled old guy who had wandered in just before the talk began and eased himself into a chair just across the aisle from me and a few rows up.
This guy had wild white hair and a scraggly white beard and looked hopelessly lost as if he had gotten separated from the tour group and wandered in mostly to rest his feet and just a little to see what we were all up to. My first thought was that he would be terribly disappointed by our bizarre topic and my second thought was that he would be about the right age, Stanford is just down the road, I think he is still at Stanford -- could it be?
"Yes, John?" Peter said.
I won't pretend to remember Lisp inventor John McCarthy's exact words which is odd because there were only about ten but he simply asked if Python could gracefully manipulate Python code as data.
"No, John, it can't," said Peter and nothing more, graciously assenting to the professor's critique, and McCarthy said no more though Peter waited a moment to see if he would and in the silence a thousand words were said.
http://smuglispweeny.blogspot.com/2008/02/ooh-ooh-my-turn-why-lisp.htm…
mtrimpe · 2013-12-03
Core async is also an example of a very powerful macro that rewrites execution flow; but they do decidedly different things.
While Core Async is about powerful non-threaded coordination of processes, Javelin is about creating self-updating non-cyclical function graphs.
Basically it's about automatically keeping a derived a view from a small set of data up to date when the source data changes.
It's the exact same thing a spreadsheet does for numbers, but becomes much more interesting when the derived view is a DOM tree derived from database+view state.
FWIW; I was inspired by the the work of Kenny Tilton (a.k.a. Smuglispweeny) and his Cells library and manifesto [1]. His work seems to be falling in disarray, but there's still some stuff up on the wayback machine [2][3]
[1] http://smuglispweeny.blogspot.nl/2008/02/cells-manifesto.html
[2] https://web.archive.org/web/20080925125040/http://www.tilton-technolog…
[3] https://web.archive.org/web/20080925113544/http://bc.tech.coop/blog/03…