papasi: interestingly, this is *exactly* what i had. i guess i've ended up here because someone (wonder who) put un-character-coercable data into his files.

Riastradh

Python does, however, infer types at compile-time.

whaleofconfusion

well if you want call that inference you can, but it's not the same thing

jsnell

it would seem pretty petty to kick somebody for not knowing that Python is the name of a CL compiler

Riastradh

whaleofconfusion, also, Hindley-Milner does not infer the types of *values*. It infers the types of *expressions*.

jsnell

since you guys aren't actually telling him that, but just obliquely mocking him for not knowing

Riastradh

whaleofconfusion, what nyef is calling `type inference' is the inference of types, which Python -- the compiler from CMUCL, which was inherited by SBCL -- performs.

nyef

jsnell: This is partially residual annoyance from last night's argument.

whaleofconfusion

ok, fine. I thought you were talking about Python the programming language

nyef

And partially hope that a /kick might prove to be a sufficiently large cluebat.

Sukoshi

How is McClim GTK going though?(To change the subject very quickly.)

Riastradh

whaleofconfusion, you will often find that Lispers don't like being told that they are misusing terms whose interpretation in the absence of haughty type theorists makes perfect sense as they meant them.

whaleofconfusion

well I said hindley-milner when I brought up the topic. So what kind of type inference does the Python compiler do at compile time?

Riastradh

For example, type theorists will complain that Common Lisp does not have `types', because the type inference that you are talking about cannot statically assign unique types to expressions.Common Lisp programmers object that there is a perfectly reasonable definition of `type' in the world of Common Lisp, which is corroborated by plenty of other prior art and usage, which the type theorists will often insist on ignoring, because they are type theorists and consequently have every right to define `type' however they like.

Sukoshi

So then the concept of dynamic types doesen't exist in type theory?

Riastradh

There is a similar story for `type inference'. (Because of that, some Scheme programmers have preferred to call this kind of static analysis `type reconstruction' or `type analysis'.) The Python compiler has used the term `type inference' for twenty years, and everyone who works with Python, or who uses Python, knows what it means. Common Lisp programmers grow irate when outsiders waltz in and claim that their terminology is wro

pkhuong

Sukoshi: there are models of `dynamic types' in some static type systems.

Riastradh

Sukoshi, correct. Such information is known, according to type theorists, as tags.

Sukoshi

Riastradh: Ah.

kpreid__

Riastradh: truncated at "terminology is wro"

Riastradh

...ng.

nyef

kpreid__: You got the #\o on that? I see it truncated at "terminology is wr".

Riastradh

Now, it would be nice if the Common Lisp programmers didn't grow irate, and it would be nice if the type theorists didn't impose their own local terminology upon the locale of Common Lisp, or other similar domains. This being #lisp, however, it is easier to ask the outsider to adapt his terminology than to ask all members of #lisp to adapt their terminology.nyef, welcome to the wonders of the IRC protocol.