Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Oh, I have this bad habit of going down the rabbit hole of fundamentals if I feel I lack the basics of a concept. While I still haven't grasped the need for calculus in language design, I've come across pieces on how Lisp is based on lambda calculus vs Haskell based on typed lambda calculus. Also, that any problem that can be solved with turing machine, can be solved by lambda calculus as well. While not much about compilers, I guess it will solidify my understanding of language designs?

I'm not sure. I'll rather learn and hope the dots will connect later than ignore the subject altogether.



I guess... Well, maybe I'm misunderstanding what you're saying, but I just want to be clear that you know that the branch of math most people call "calculus" is almost completely unrelated to the branches of math called "lambda calculus", and "typed lambda calculus." The former, which this link is about, has very little to do with language design. In fact, there are all different kinds of math called "X calculus" and "calculus of Y", each of which has nothing to do with the other.

Just "calculus" is short for "differential and integral calculus," which is about the local behavior of functions and the measure of objects in continuous spaces. Many people study this in high school (and earlier), since it's the underlying mathematical technology for much of the physical sciences. "Lambda calculus" is a logical system for manipulating symbols representing functions, and is indeed equivalent to Turing's symbol-manipulation system. So they both have to do with functions, but that's about where the similarity ends!

I hope I'm not coming off as brusque or anything, I just don't want you to spend loads of time on something that isn't what you think it is! That said, lots of programmers are surprisingly weak in (differential/integral) calculus, and could use a good dose of it anyway :)


Just to clarify, you do realise that lambda calculus is an entirely different field to the calculus of mathematical analysis? They really have very little in common apart from the name.

Sorry if you already knew this, but it seemed like you were making a connection that wasn't there.


Let's clarify here: "Calculus"[0] and the lambda calculus have almost nothing to do with one another. They just share a word in their name, like the Department of Mathematics and the Fire Department. There are several different things called "the X calculus".

[0]:Could be called "numerical calculus" or "calculus of integration and differentiation", perhaps.


A while back I was trying to under why some things are called algebras and others calculus. The answer I got is that the term calculus is related to the introduction/reduction of variables or symbols, whereas an algebra is manipulation of existing symbols.


I always thought it related to continuous variables and the highly useful concept of the infinitesimal. But maybe that definition works as well.


I thought it was just yet another historical and linguistic oddity in English.


Calculus means "stone" in Latin. I suspect the relationship between stones and counting is why we use it so much (though I'm not an expert on how/why Romans used stones).


Good clarification, but I wouldn't say almost nothing. All are formal symbolic reasoning techniques.

For example, The predicate calculus is invaluable for writing correct programs with mind-bogglingly large input domains, such as the set of all C++ programs.


historically they were called the differential calculus and the integral calculus




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: