On Jan 23, 2:24 pm, Xah Lee <x...@[EMAIL PROTECTED]
> wrote:
> Bruce C. Miller wrote:
>
> <<As a long-time functional programming adherent, I'm interested in the
> mathematical foundations of programming language theory.>>
>
> My advice is, forget all the type theory and lambda calculus, or so-
> called "mathematical foundation of programing languages". There is no
> such thing. (as in your try to graph a relation, or from the few
> replies, you probably already see this.)
>
> Studying such will gets you no where, and the more you study these,
> the more you gets inane and stupid in your thinking.
Can you elaborate on this?
> But, what to do if you are interesting in serious mathematics and
> computer language design?
>
> My recommendations is, to just study math. Namely, discrete
> mathematics, concrete mathematics, or finite mathematics, with brances
> including graph theory, set theory, category theory, algebra,
> mathematical logic and so on. While you study these subjects deeply,
> keep in mind that you should not do it while thinking towards computer
> language design what-so-ever.
>
> On the other hand, for your interest in computer language design,
> study how to write a compiler, algorithms, and spend a lot time to
> implement computer languages, and also spend perhaps equal amount of
> time to actually write large scale software. Of the language you use,
> haskell and other functional lang such as erlang, OCmal are good
> too... but depending your interest, you might also go into so-called
> computer algebra languages or theorem proving languages.
This pretty much goes against what I've heard so far from most
language theory types. I'd also say that the progress I've made so far
into PLT has in fact been a result of studying the underlying
mathematical concepts (mostly just lambda calculus so far). I'm not
saying this is the only way to approach the topic, but it seems to be
the "official" way.
As for the suggestions you listed, I've pretty much been doing exactly
that prior to my current approach (albiet more focused on SE). I've
had plenty of univeristy coursework in those topics and have been a
software developer on "large scale" systems for some time now. The
reason I'm studying this stuff on my own with a more fundamental
approach is precisely because having done all the things you listed
didn't really produce the results I'm after.


|