Version française
Home     About     Download     Resources     Contact us    
Browse thread
Experiences with learning OCaml?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: SooHyoung Oh <shoh@c...>
Subject: Re: [Caml-list] Experiences with learning OCaml?

I strongly agree with your opinion.
I'v been looking for an introductory book for Ocaml as the first programming
book,
but I couldn't find any good book.

In theses days, I tried to convert some part of HTPC (How to Design
Programs) to ocaml version
and I found the book is very cool as "an introductory programming book with
Ocaml".
It is commenting about types and type errors
and the statements and examples are already almost type safe.
So, I'm looking forward to "How to Design Programs using Ocaml" :).

Anyway, in my experience, the difficult parts to convert are
1. cond-expression -> should be rewritten using pattern-matching; need new
examples
2. symbol information -> decide which one is better? strings or varient
types?
3. structure -> each example using structure shoud be resolved:
    how to convert to tuples, records, or varient types case by case

What is needed for more advanced level
1. need a chapter explaining type system? -> currently, I don't think so.
2. need chpaters for module system and OOP? -> nothing or introductory level
only

Differences between Scheme (in HTPC) vs. Ocaml are
1. number : int, float
2. conditional expression: pattern matching expression
3. symbol: string, char, varient type
4. structure: tuples, records, varient types
5. structure definition + data definition: type definition

----- Original Message ----- 
From: "Michael Vanier" <mvanier@cs.caltech.edu>
To: <caml-list@inria.fr>
Sent: Friday, November 26, 2004 5:56 AM
Subject: Re: [Caml-list] Experiences with learning OCaml?


>
> I second this (not just because I teach a course based on Structure and
> Interpretation of Computer Programs (SICP) ;-)).  Also, you should know
> that the book is available for free on its web site:
> http://mitpress.mit.edu/sicp.  I learned most of what I know of functional
> programming from reading this book.  Another good book is How to Design
> Programs, which also uses scheme, and which also is available for free on
> its web site: http://www.htdp.org.  This latter book is extremely
> accessible even to non-programmers, although it's somewhat tedious at
> first for more experienced programmers.
>
> Ocaml is a fantastic second functional language after you've gotten the
> hang of the functional style, and you can learn it straight from the
> manuals.  And when you want to go further you should learn Haskell and be
> prepared for serious brain-expansion.
>
> The only problem is that once you've learned languages like scheme, ocaml
> and haskell (and I'll throw in common lisp for good measure), you'll find
> languages like C, C++, java etc. to be deadly dull and annoying (sort of
> like a racing car driver being forced to drive a tricycle).
>
> Mike
>
> > From: guttman@mitre.org (Joshua D. Guttman)
> > Date: 25 Nov 2004 15:39:50 -0500
> >
> > whenning@ucsd.edu writes:
> >
> > >
> > >   Although I've of course Googled around for potential books to
> > >   select, are there any ones particularly suited for someone in my
> > >   position?
> > >
> >
> > In my opinion, a splendid book that's full of insights into
> > computation and languages and how to solve problems is Abelson and
> > Sussman, Structure and Interpretation of Computer Programs (MIT
> > Press).
> >
> > It uses Scheme, which has the infamous parentheses, but really those
> > aren't as bad as you think.  In fact, they're a syntactically minimal
> > way of writing programs, which doesn't get in your way when thinking
> > about problems.  An outstanding Scheme implementation is PLT Scheme
> > from Felleisen and his colleagues, now at Northeastern.
> >
> > Having taken a tour through Abelson and Sussman, you're sure to feel
> > at home in OCaml or other functional languages, and probably look at
> > programming in any language with a clearer pair of eyes.
> >
> >         Joshua
> >
> > -- 
> > Joshua D. Guttman <guttman@mitre.org>
> > MITRE, Mail Stop S119 Office: +1 781 271 2654
> > 202 Burlington Rd. Fax: +1 781 271 8953
> > Bedford, MA 01730-1420 USA Cell: +1 781 526 5713
> >
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>