#lisp - Wed 18 Apr 2007 between 00:00 and 00:12

SukoshiAmericans don't colour :(
nyefOf -course- python does type inference. That was half the point of the project.
erikgzpapasi: thanks :)
whaleofconfusiontype inference requires static typing, which Python doesn't have
nyefNo it doesn't require static typing.
whaleofconfusionyou are using a different sense of "type inference" than usual
nyefNo, I'm not.
Xachor perhaps a different sense of python than everywhere except #lisp
whaleofconfusiontype inference deduces the types of values _at compile time_
RiastradhHindley-Milner type inference requires a static type system.
Python does not perform Hindley-Milner type inference.
nyefYou are -so- lucky that I don't have a +o right now.
erikgzpapasi: 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.
RiastradhPython does, however, infer types at compile-time.
whaleofconfusionwell if you want call that inference you can, but it's not the same thing
jsnellit would seem pretty petty to kick somebody for not knowing that Python is the name of a CL compiler
Riastradhwhaleofconfusion, also, Hindley-Milner does not infer the types of *values*. It infers the types of *expressions*.
jsnellsince you guys aren't actually telling him that, but just obliquely mocking him for not knowing
Riastradhwhaleofconfusion, what nyef is calling `type inference' is the inference of types, which Python -- the compiler from CMUCL, which was inherited by SBCL -- performs.
nyefjsnell: This is partially residual annoyance from last night's argument.
whaleofconfusionok, fine. I thought you were talking about Python the programming language
nyefAnd partially hope that a /kick might prove to be a sufficiently large cluebat.
SukoshiHow is McClim GTK going though?
(To change the subject very quickly.)
Riastradhwhaleofconfusion, 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.
whaleofconfusionwell I said hindley-milner when I brought up the topic. So what kind of type inference does the Python compiler do at compile time?
RiastradhFor 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.
SukoshiSo then the concept of dynamic types doesen't exist in type theory?
RiastradhThere 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
pkhuongSukoshi: there are models of `dynamic types' in some static type systems.
RiastradhSukoshi, correct. Such information is known, according to type theorists, as tags.
SukoshiRiastradh: Ah.
kpreid__Riastradh: truncated at "terminology is wro"
nyefkpreid__: You got the #\o on that? I see it truncated at "terminology is wr".
RiastradhNow, 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.
kpreid__nyef: welcome to IRC

Page: 2 9 16 23 30 37 44 51 58