Lambda the Ultimate

inactiveTopic Strong Typing, Dynamic Languages, What to do?
started 3/23/2002; 3:12:43 AM - last post 3/25/2002; 3:36:18 PM
Ehud Lamm - Strong Typing, Dynamic Languages, What to do?  blueArrow
3/23/2002; 3:12:43 AM (reads: 616, responses: 4)
Strong Typing, Dynamic Languages, What to do?
It has been a while since we had a nice dynamic typing debate. This thread over on the PLT mailing list is worth checking out.


Posted to general by Ehud Lamm on 3/23/02; 3:13:57 AM

andrew cooke - Re: Strong Typing, Dynamic Languages, What to do?  blueArrow
3/24/2002; 8:30:16 AM (reads: 634, responses: 1)
A few of points related to the comments on ML speed -

- SML doesn't (afaik) have continuations, although SMLNJ has them as a non-standard extension.

- I thought that SMLNJ was supposed to be getting faster (it's now based on the Flint intermediate language project; I don't know if that has eveolved from the original SMLNJ code, or whether it's new, but it's certainly still evolving). http://flint.cs.yale.edu/

- MLTon is a whole-program ML optimizer. I haven't used it yet, but if anyone is interested in fast ML code, it might be interesting. http://www.sourcelight.com/MLton/

- There was a comment in the mail at http://www.cs.utah.edu/plt/mailarch/plt-scheme-2002/msg00383.html which said:

"A bigger problem is handling some kinds of growth and extensibility, for which subtyping seems to be essential (though Greg Cooper at Brown is trying to convince me otherwise, and not failing so far). Merging object polymorphism with parametric polymorphism, doing this in the presence of type inference, and offering users principal types -- this is a huge big open problem."

I have had the same worries; ML advocates claim that HOF help, and it's certainly easier to use higher HOFs in ML than Lisp (imho). On the other hand, I thought OCaml did all this, if you want to go down the object/inheritance route (there are other possibilities too, of course - something like Haskell's classes, and PolyML does something, but I can't remember what).

Andrew

PS Email to the address I am registered with doesn't work; I'll re-register soon, but the registration page doesn't render properly on my machine at the moment (Linux/KDE...)

Ehud Lamm - Re: Strong Typing, Dynamic Languages, What to do?  blueArrow
3/24/2002; 12:07:23 PM (reads: 668, responses: 0)
Email to the address I am registered with doesn't work

Think of the address as a unique id. The email address uesed to register to the site can be bogus.

Noel Welsh - Re: Strong Typing, Dynamic Languages, What to do?  blueArrow
3/25/2002; 1:51:10 AM (reads: 614, responses: 0)
A few subjective comments on SML/NJ based on what I've read and browsing the source code. Firstly the benchmarks reported on Doug Bagley's shootout are way out of date. The latest version are faster (but SML/NJ is *really* hampered by not having a decent community - even downloading the latest version is a trial).

Reasons SML/NJ has been slow:

- They heap allocate everything including function frames. This slows them down a bit (except for when you use call/cc a lot).

- The backend (MLRISC) traded off speed for generality.

- They don't do optimisation like MLTon (I'm not sure they do any control flow analysis).

Reason SML/NJ is getting faster:

- MLRISC is getting better. They have some neat stuff to work around the chronic stupidity in the Intel x86 architecture.

- I suppose the FLINT optimisations do some good but they don't seem to have developed much yet.

Frank Atanassow - Re: Strong Typing, Dynamic Languages, What to do?  blueArrow
3/25/2002; 3:36:18 PM (reads: 613, responses: 0)
SML doesn't (afaik) have continuations, although SMLNJ has them as a non-standard extension.

To nitpick: Every language has continuations. What SML doesn't have, and SML/NJ does, is first-class continuations. Compare: "Every language has functions, but functional languages have first-class functions."