Alex Rivera | Logout

Uses for both static strong typed languages like Haskell and dynamic (strong) languages like Common LIsp

Asked 2009-01-28T03:17:29.317
9

I was working with a Lisp dialect but also learning some Haskell as well. They share some similarities but the main difference in Common Lisp seems to be that you don't have to define a type for each function, argument, etc. whereas in Haskell you do. Also, Haskell is mostly a compiled language. Run the compiler to generate the executable.

My question is this, are there different applications or uses where a language like Haskell may make more sense than a more dynamic language like Common Lisp. For example, it seems that Lisp could be used for more bottom programming, like in building websites or GUIs, where Haskell could be used where compile time checks are more needed like in building TCP/IP servers or code parsers.

Popular Lisp applications: Emacs

Popular Haskell applications: PUGS Darcs

Do you agree, and are there any studies on this?

Edit
Report

1 Answer

4

I come mostly from a Common Lisp perspective, and as far as I can see, Common Lisp is suited for any application.

Yes, the default is dynamic typing (i.e. type detection at runtime), but you can declare types anyway for optimization (as a side note for other readers: CL is strongly typed; don't confuse weak/strong with static/dynamic!).

I could imagine that Haskell could be a bit better suited as a replacement for Ada in the avionics sector, since it forces at least all type checks at compile time.

I do not see how CL should not be as useful as Haskell for TCP/IP servers or code parsers -- rather the opposite, but my contacts with Haskell have been brief so far.

answered 2009-01-28T04:33:08.727

Your Answer