Lab Lunch calendar

Recent Posts
Recent Comments
 URL on Two views of programming language design
 My Homepage on Leaving the Nest: variables with interleaving scopes
 Dan Ghica on Categorical semantics of digital circuits
 So what is a “pure programming language” anyway?  The Lab Lunch on Types: computation vs. interaction
 Dan Ghica on A short fable of software engineering vs. regular engineering
Archives
Categories
Meta
Blogroll
 Existential Type, Bob Harper’s blog
 Gagalium OCaml and Coq development team
 Mathematics and Computation, Andrej Bauer’s blog
 Semantic Domain, Neel Krishnaswami’s blog
Author Archives: Dan Ghica
Moving sites
From now on new posts will appear on my Blogger site: http://danghica.blogspot.co.uk/. This is for both technical (the comment system on this site, the occasional crashes) and personal (I may want to post personal or political opinions which need not … Continue reading
Posted in General
Leave a comment
Categorical semantics of digital circuits
Isn’t it funny that the world of programming languages is defined by syntax while the world of circuit design is defined by semantics? One can never be sure, but it seems to me that when people design software they imagine the … Continue reading
Posted in Geometry of Synthesis
1 Comment
Why is lambda calculus named after that specific Greek letter? Do not believe the rumours!
A common myth in theoretical computer science is that the ‘λ’ in λcalculus comes from some kind of typographical error, where the intended notation was a circumflex accent ŷ.M, which became a caret ^y.M then finally a lambda λy.M. At … Continue reading
Posted in General, programming languages, teaching
Leave a comment
So what is a “pure programming language” anyway?
This is one of those questions that is inflammatory enough to start a flame war, so it should make a good title for a blog post. But instead of feeding the flames I want to pour some water or whatever … Continue reading
Learn OCaml!
I have been teaching OCaml to first year undergraduate students for a few years now. Why not share it with the world? To access the course follow the link at the bottom of the page. Here is what you will … Continue reading
Posted in General
Leave a comment
Compilers as lazy denotational interpreters
This year I had the pleasure to teach, for the first time, a course on compilers. I have been doing research on compilers for a while now but I suppose I never really asked myself seriously “what is a compiler?”. … Continue reading
Posted in teaching
Leave a comment
A short fable of software engineering vs. regular engineering
An acquaintance recently took up an assembly line job with McLaren automotive — the people who make F1 and luxury sports cars. Before this gig, he used to work from his garage doing custom body and paint work, and developed … Continue reading
Posted in General
2 Comments
Computability: The Greatest Law of Physics
Wigner famously declared mathematics to be “unreasonable effective” in the natural sciences. It is indeed something magical about the fact that if we have a mathematical theory and some mathematically representable aspect of reality then we can carry out abstract, … Continue reading
Posted in armchair philosophy
1 Comment
A simple proof checker for teaching
For the last few years I have been teaching functional programming to first year students. One of the main benefits of using functional programming is that you can prove simple, but nontrivial, properties of simple programs, for example, that the … Continue reading
Posted in General
Leave a comment
What things compute?
I suppose we can agree that computers compute. We know that they do that because we make them do that. We have a program, on paper or in our head, and we have certain facilities to load that program into the … Continue reading
Posted in anticomputationalism
2 Comments