Talk:Typed lambda calculus

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

We should definitely discuss Barendregt's lambda cube, Girard's System F and Coquand's Calculus of Constructions, but I feel lazy today. David.Monniaux 14:52, 6 Apr 2004 (UTC)

Rewrite[edit]

I am sorry but the previous version of this article was, eh, not very good, and hence I have rewritten it. I am happy to discuss why I have binned various paragraphs, but I do believe that I know a few things about typed lambda calculi. If I have time I'd like to expand this a bit and add a few more related articles. --Thorsten 22:42, 29 May 2005 (UTC)[reply]

Yeah. I second that. I'm a Haskell programmer, and i did not understand a thing. This is a classic case of "you can only understand it, if you know it already", which makes the article completely useless. -- 88.77.152.84 (talk) 03:42, 12 August 2008 (UTC)[reply]

I agree. There are many problems here. While whoever wrote this clearly eats/breathes this stuff to some extent, there's little evidence that they have experience teaching it. I don't have such experience, but maybe someone who does can do better at this.

1. It's a wall of text with no examples. The only examples that appear are overly terse, embedded in the paragraph, and not terribly on point.

2. The very first sentence is misleading: "A typed lambda calculus is a typed formalism that uses the lambda-symbol (λ) to denote anonymous function abstraction." The same could be said for an untyped lambda calculus. Sure it's true, but it's about as useful as saying "A truck is a vehicle which has an engine".


3. It's probably not best to spend half of the first paragraph discussing Curry-Howard. While important, the depth of the correspondence merits a better treatment than this and category theory jargon like CCC's are not necessarily of interest to more casual readers who may not read past the first paragraph. If I didn't understand the stuff, I would have stopped reading and moved along right there.

4. The this paragraph has a couple of uses of passive voice. It also covers a ton of ground and silently invokes curry-howard to create a connection to formal logic. If someone doesn't know what curry-howard is (or even if they read a cursory explanation of it), then it won't be clear that that's what's going on. This connection should probably be set apart with other mentions of the category theory/logic connection.

5. Why are System T, F, L, LT mentioned together but F-Sub is different? In practice, they're all refinements of the tlc. They should be treated more or less the same. Also there's no wikilink for System F-sub (arguably one of the most interesting of the systems in the current pl climate). The lambda cube should probably be discussed seperately as well. While it's a neat idea, it's definitely not in the top 500 words one could write about the tlc.

6. The 5th paragraph is a poorly organized rattling off of jargon that harps on the logic implications.

7. The 6th paragraph in a single sentence attempts to address the practical uses for tlc. I'd say this is _way_ more important than anything in paragraph 5 and requires much more fleshing out. The only practical example given is in Eiffel which is pretty seriously arcane as far as languages go and not even terribly on point for the tlc. Where are examples of traditionally used mathematical notation for tlc expressions? You know, the thing that will help a student reading this page understand the symbols in his textbook? The only place such notation appears it's completely unprovoked and unexplained (when characterizing function types). —Preceding unsigned comment added by 68.175.42.98 (talk) 01:17, 15 October 2008 (UTC)[reply]

I agree. There are many problems here. While whoever wrote this clearly eats/breathes this stuff to some extent, there's little evidence that they have experience teaching it. I don't have such experience, but maybe someone who does can do better at this.

This is patronizing. I do teach this and related topics and my students usually like my teaching.

1. It's a wall of text with no examples. The only examples that appear are overly terse, embedded in the paragraph, and not terribly on point.

yes, it could be improved no doubt. However, don't forget that this is an article in an encylopedia not a textbook.

2. The very first sentence is misleading: "A typed lambda calculus is a typed formalism that uses the lambda-symbol (λ) to denote anonymous function abstraction." The same could be said for an untyped lambda calculus. Sure it's true, but it's about as useful as saying "A truck is a vehicle which has an engine".

no, it said typed.

3. It's probably not best to spend half of the first paragraph discussing Curry-Howard. While important, the depth of the correspondence merits a better treatment than this and category theory jargon like CCC's are not necessarily of interest to more casual readers who may not read past the first paragraph. If I didn't understand the stuff, I would have stopped reading and moved along right there.

I don't agree. The first paragraph mentions the relation to functional programming and to logic. This is absolutely essential.

4. The this paragraph has a couple of uses of passive voice. It also covers a ton of ground and silently invokes curry-howard to create a connection to formal logic. If someone doesn't know what curry-howard is (or even if they read a cursory explanation of it), then it won't be clear that that's what's going on. This connection should probably be set apart with other mentions of the category theory/logic connection.

The first paragraph provides an overview with references.

5. Why are System T, F, L, LT mentioned together but F-Sub is different? In practice, they're all refinements of the tlc. They should be treated more or less the same. Also there's no wikilink for System F-sub (arguably one of the most interesting of the systems in the current pl climate). The lambda cube should probably be discussed seperately as well. While it's a neat idea, it's definitely not in the top 500 words one could write about the tlc.

I don't agree. Fsub introduces subtyping hence it is separated. I don't think a wikipedia article should necessarily focus on the latest trends.

6. The 5th paragraph is a poorly organized rattling off of jargon that harps on the logic implications.

I don't even understand what you want to say.

7. The 6th paragraph in a single sentence attempts to address the practical uses for tlc. I'd say this is _way_ more important than anything in paragraph 5 and requires much more fleshing out. The only practical example given is in Eiffel which is pretty seriously arcane as far as languages go and not even terribly on point for the tlc. Where are examples of traditionally used mathematical notation for tlc expressions? You know, the thing that will help a student reading this page understand the symbols in his textbook? The only place such notation appears it's completely unprovoked and unexplained (when characterizing function types).

I don't like this parapgraph and whoever inserted this Eiffell example.

I agree that the article could be improved. However, the suggestions you make would make it worse. I also do not appreicate this rather patronizing tone. I am teaching and I believe I am quite good at this. --Thorsten (talk) 21:12, 16 October 2008 (UTC)[reply]

Please remember that there are no angry mastodons, there are non-vandal IPs, and most of all, there is no ownership of articles. I don't know enough about the subject to make any useful contributions, but I've added the {{Sections}} template, because I think the most good can be done by fractioning coherent sections from this wall of text.

Proginoskes (talk) 20:57, 7 May 2009 (UTC)[reply]

Improve article[edit]

I notice that this article is marked as unclear and containing too much jargon. However, this seems a bit unspecific and as far as I can see most of the "jargon" refers to other pages where the appropriate terms are explained. Hence, some advice which parts of this article are offensive would be helpful.--Thorsten (talk) 21:49, 2 March 2008 (UTC)[reply]

Okay. I give you some unclear things:
- What does "typed" mean in that context? Remember: Always explain stuff on the very first use. Linking the words after it does not help. (Maybe, because those articles aren't better.)
- "the internal language of classes of categories" → Here it does not help to link to category theory. Am I supposed to learn the whole concept of category theory just to understand lambda calculus? Luckily trough Haskell, I know how lambda functions can be used there, so i get the basic idea a bit. But still this should not be required.
- "is the language of Cartesian closed categories" → How are CCCs a language? The page itself is another jargon gore fest, so it's no help.
- "Various typed lambda calculi have been studied:" → The text following this sentence can not be understood if it's unclear what "typed" means in this context an why now there are different types. (Are they examples? Why are they types? What makes something a type? ... and so on...)
And so on....
These examples are just of the fist paragraphs. After it it gets so bad that you can't read it anymore without knowing all that stuff already.
These things can not be expected to be known. Especially because in this gore fest it seems to be expected to be a mathematics professor specialized it that topic. ;)
I hope this clears things a bit. I'm adding the Confusing/Jargon boxes.
-- 88.77.152.84 (talk) 03:43, 12 August 2008 (UTC)[reply]


Merge with "simply typed lambda calculus"[edit]

Should this page be merged with simply typed lambda calculus?