Email Subscription
Join 81 other subscribers-
Recent Posts
Archives
- March 2026
- September 2025
- May 2025
- February 2025
- July 2024
- June 2024
- April 2024
- March 2024
- February 2024
- April 2023
- March 2023
- February 2023
- December 2022
- November 2022
- July 2022
- June 2022
- May 2022
- March 2022
- February 2022
- January 2022
- December 2021
- August 2021
- July 2021
- June 2021
- May 2021
- March 2021
- February 2021
- January 2021
- September 2020
- August 2020
- July 2020
- June 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- October 2019
- June 2019
- April 2019
- March 2019
- October 2018
- September 2018
- November 2017
- June 2017
- May 2017
- April 2017
- March 2017
- March 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- July 2012
- April 2012
- March 2012
- December 2011
- May 2011
- April 2011
- March 2011
- February 2011
- July 2010
Meta
PYFL 2.0 MANUAL
Posted in Uncategorized
Leave a comment
In Memoriam: John W. Addison Jr, my Phd Advisor. [4200 views]
John Addison (1930–2025) died March 7, 2025, at the age of 95. He was my PhD advisor at UC Berkeley, and I count myself extraordinarily lucky to have worked under his guidance. My condolences go out to his family.
Continue readingA Functional Approach to Dictionaries
Dictionaries are extremely useful data objects. A dictionary is an associative store, basically a set of key-value pairs. A dictionary takes a key and returns the associated value.
Python has dictionaries and the Python engineers have put a lot of effort into making them efficient in both space and time. The PyFL interpreter makes extensive use of dictionaries and they are responsible for major improvements in performance. (PyFL is my experimental functional language.)
The obvious conclusion is that PyFL, too, should have dictionaries. A PyFL dictionary could simply be a Python dictionary wrapped in a functional interface.
Continue readingFunctional OO in PyFL [130 views]
For along time I thought about adding object-oriented features to PyFL but couldn’t figure out how. Classes and methods don’t seem to fit into the declarative model, where all objects are immutable. But then I stumbled on an answer almost by accident.
My lucky break came when I figured out how to add structs to PyFl.
Structs
Almost every other programming language has some form of struct. A struct is a record with named components. For example, in most languages you can declare something like
struct Person {
name: string
surname: string
dob: date
job: occupation
}
Continue reading PyFL and its While Clauses [150 views]
[This is another excerpt from the paper we were going to submit to ICFP 2025. Unfortunately it was immediately rejected because we included our names, contrary to the instructions that it is anonymous. Sigh]
PyFL is a pure and lazy functional language and yet has a limited, declarative form of iteration – a while loop construct (sounds impossible, but true). The while clause not only makes the coding easier, the iterative versions are often much more efficient.
Continue readingThe Yin and Yang of Programming [3000 views]
[This is from a paper we’re submitting to the International Conference on Functional Programming (ICFP 2025)][update: the paper was rejected because we included our names, violating anonymity]
Introduction
Recursion and iteration are the Yin and Yang of programming. Conventional languages support both, but tend to favor the Yang – iteration. Java and C, for example, have elaborate while and/or for statements but can’t easily return functions as results. Python is a bit better. The Yin, we might say, is strong in that one.
Continue readingThe Root of all Evil- more sayings [230 views]
“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” ~ Donald Knuth
“Both women and computer science are the losers when a geeky stereotype serves as an unnecessary gatekeeper to the profession.” ~ Cordelia Fine
“All problems in Computer Science can be solved by another level of indirection.” ~ Butler Lampson
Continue reading“Computers are Useless” and Other Sayings [480 views]
“Computers are useless. They can only give you answers.” ~ Pablo Picasso
“Science is to computer science as hydrodynamics is to plumbing.” ~ Stan Kelly-Bootle
Back then, the entire Internet consisted of two slow, boxcar-sized UNIVAC computers about 50 feet apart, connected by a wire. It would take one of these computers an entire day to send an email to the other one, which would immediately delete it, because it was a Viagra ad.
Dave Barry
Old Masters, New Technology
Ive been looking at paintings a lot lately, and started to wonder, what would the old masters like Rembrandt make of new technology: trains, cars, TV etc? In particular, what would they make of computers and smart phones. How would they portray them in their paintings?
Impossible to know, you say. Yes, but we can guess – thanks to AI!
Continue reading
Posted in Uncategorized
Tagged ai, ai-art, art, artificial-intelligence, generative-ai, painting, stable-diffusion
Leave a comment
The complete story of Gödel incompleteness. [4300 views]
The famous mathematician Kurt Gödel proved two “incompleteness” theorems. This is their story.

Posted in Uncategorized
1 Comment