From Der Schockwellenreiter:

[Exotic Programming Languages]: Type inference in Icon(

pdficon.gif

, 192 KB). »The original, interpretiveimplementation of Icon performs rigorous run-time type checking and incurs significant overhead as a result. A new optimizing compiler for Icon, on the other hand, has a type inferencing system that is effective in determining type usage and in eliminating much of the run-time checking that otherwise would be required.« It's a shame that highlights like Icon are now being treated as exotic programming languages. Icon is, after all, the continuation of ideas from Snobol into a programming language with proper syntax. Well, what Icon has suffered from (and still suffers from) is a library that's too simple. While there are modules for every conceivable thing, serious networking libraries, standard protocols, and more advanced features like database connections, GUIs, XML parsers, etc. are unfortunately missing. Icon never got out of the toy stage and the "hack together a quick filter" stage.

The Icon compiler itself is actually old news, it existed back then - and already with type inference. The latter is also old hat; in Lisp compiler construction it's used all the time, and in the realm of functional programming languages (ML, Haskell, OCAML) it's indispensable (though implemented much more elegantly there than in other languages, where type inference can never be complete).

It's a shame, Icon really had the makings of a usable alternative to Perl, Python, and Ruby today.

Found at Der Schockwellenreiter.