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!
-Rick
More information about the erlang-questions
mailing list