Re: beginning with ML
- From: Jon Harrop <usenet@xxxxxxxxxxxxxx>
- Date: Tue, 06 Nov 2007 03:27:17 +0000
David B. Benson wrote:
On Nov 5, 6:56 am, "michele.simion...@xxxxxxxxx"
<michele.simion...@xxxxxxxxx> wrote:
Which implementation would you recommend for a beginner?
O'Caml is somewhat different and less clean language that Standard
ML...
OCaml is also a far more powerful language though. Here's a list of some
really useful features added by OCaml:
.. Pattern guards
.. Or-patterns
.. Lazy stream parsing
.. Macros
.. Polymorphic variants
.. OOP
.. Labelled and optional arguments
.. Private types
.. Ad-hoc polymorphic printing (printf)
.. Array literals
.. Can export infix operator definitions from modules
.. Capitalized type constructors
.. Module hierarchy can be reflected in source directory structure
.. Conventional unary minus
.. Extensive currying in the stdlib
.. Mutable record fields
.. Structural types
.. Recursive types
.. Higher-order functors
.. "open" allowed in signatures
.. Standard integrated build tool
.. Portability of a substantial subset to .NET thanks to F#
.. Lightweight and efficient FFI with auto codegen
.. Lots of documentation
.. More libraries than SML
.. Wider use in industry
.. API browser and IDEs with type throwback
.. High-performance interactive mode
.. Actively developed
.. Polymorphic structural equality, comparison and hashing
SML adds a few features not in OCaml:
.. Equality types
.. Single notion of equality
.. First-class type constructors
.. User defined precedence and associativity of new infix operators
.. Ad-hoc polymorphic arithmetic operations
.. Immutable strings
.. Anonymous record types
The only one I value is equality types but F# has an even better solution to
the same problem.
F# also has a wide variety of features not found in SML and does an
excellent job in carrying the enormous productivity boost of using a
language like OCaml to the .NET platform.
I'm only just learning Scala but my impression is that its design diverged
much too far from core ML and, consequently, it fails to capture the
productivity boost.
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?u
.
- Follow-Ups:
- Re: beginning with ML
- From: Jon Harrop
- Re: beginning with ML
- From: Lauri Alanko
- Re: beginning with ML
- From: Vesa Karvonen
- Re: beginning with ML
- From: rossberg
- Re: beginning with ML
- References:
- beginning with ML
- From: michele.simionato@xxxxxxxxx
- Re: beginning with ML
- From: Vesa Karvonen
- Re: beginning with ML
- From: michele.simionato@xxxxxxxxx
- Re: beginning with ML
- From: Vesa Karvonen
- Re: beginning with ML
- From: michele.simionato@xxxxxxxxx
- Re: beginning with ML
- From: David B. Benson
- beginning with ML
- Prev by Date: Re: beginning with ML
- Next by Date: Re: beginning with ML
- Previous by thread: Re: beginning with ML
- Next by thread: Re: beginning with ML
- Index(es):
Relevant Pages
|