typing again (was: FAQ terminology harmonisation)

Rick Pettit rpettit@REDACTED
Thu Apr 3 21:49:48 CEST 2003

On Thu, Apr 03, 2003 at 07:44:41PM +0100, C.Reinke wrote:
> static typing isn't at all bad, IMHO (I started functional
> programming in a dynamically and implicitly typed language, similar
> to Erlang in that respect, then moved to Haskell, a statically typed
> language where types are mostly implicit thanks to type inference;
> the problems involved in that process were not nearly as hard as
> expected and, while limitations remain, I do not encounter them as
> often as I feared; although I no longer enjoy those cases where I
> have to work at the bleeding edge of type system innovation..).
> And modern type systems do bring a whole lot of good things.
> I think Ulf brought the problem to a point in a recent c.l.f
> discussion: as long as you have to choose between advanced type
> systems and all the goodies Erlang provides, your choice will 
> depend on your applications. And for typical Erlang applications,
> Erlang goodies are so indispensible that the choice is easy.

I completely agree. Where we have used Erlang/OTP it was indeed indispensible.

> Of course, be prepared to be surprised - some day, Haskell or
> something like it will catch up, we all hope (for myself,
> distribution is the main missing bit in Concurrent Haskell, because
> adding that would need quite a few non-trivial additions - such as
> Dynamics, and possibly some design changes as well).

Have never looked at Haskell though I am told I need to check it out if
I want to grok FP.

> b) something I haven't read yet (still on my stack), but which seems 
>   directly relevant to the discussion:
>     S. J. Gay, V. Vasconcelos and A. Ravara. Session Types for
>     Inter-Process Communication.  Technical report TR-2003-133,
>     Department of Computing Science, University of Glasgow, March 2003.
>     http://www.dcs.gla.ac.uk/~simon/publications/TR-2003-133.pdf
>     [idea: just as you can type functions to describe their
>       call-return interface, say + :: Int -> Int -> Int, you can 
>       try to type processes to describe their communication interface, 
>       say plusServer :: ?Int?Int!Int.End for a server that receives 
>       two numbers, then returns their sum and terminates]

This one sounds like an interesting read...thanks!


More information about the erlang-questions mailing list