One of my current projects is to master as functional and statically
typed programming language. Having discussed and debated it years ago
(partially on list here, too) the conclusion was reached that SML
would be a nicer place to start than Haskell or Clean. Fifteen years
after its release, there seems to be a lot of knowledge but not a ton
of resources exactly. There are a lot of dead links and books out of
print (working off the SML/NJ resource list). I'm wondering of ACM's
digital library is a good place to start.
Last week I worked through _ML for the Working Programmers_ which was
great but didn't get into the details in a way that I would have
expected (went from 10mph to 100mph instead). Up next is _The Little
MLer_ and Harpers _Programming in Standard ML_.
This list's members have a breadth and depth far beyond most, so I'm
wondering if I could get your help here and learn about your favorite
learning SML resources.
Best wishes,
--
Grant Rettke | ACM, AMA, COG, IEEE
gre...@acm.org | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson
____________________
Racket Users list:
http://lists.racket-lang.org/users
Jeff Ullman's book Elements of ML Programming got me started on both SML and functional languages in general. I still remember the feeling I had about halfway through the book: this is the way programming should be done. Harper's book Programming in Standard ML is equally good (Did he ever finish it?).For beginners, Ryan Stansifer's ML Primer and Ake Wikstrom's Functional Programming Using Standard ML are both quite basic. You can read Stansifer in an evening; there's not much there. Wikstrom is a good introduction to the language.For intermediate programmers, Programming with Standard ML by Colin Myers, Chris Clack and Ellen Poon is good. Rachel Harrison's book Abstract Data Types in Standard ML is poorly written, but some of the code is good.For advanced programmers, Larry Paulson's book ML for the Working Programmer is excellent, as you noted; I don't know what Matthias objects to. So is Chris Okasaki's book Purely Functional Data Structures. S. Sokolowski's book Applicative High Order Programming gives a very mathematical treatment.There's lots of conference proceedings if you go looking for them. And of course you will want to read both the Standard and the Commentary.
Sorry, I meant this for the list, not just Grant.After I wrote it, I looked again at my bookshelf and found Elements of Functional Programming by Chris Reade, which reminds me in a small way of SICP. It belongs in the intermediate/advanced category.On Thu, Jul 4, 2013 at 10:04 AM, Phil Bewig <pbe...@gmail.com> wrote:Jeff Ullman's book Elements of ML Programming got me started on both SML and functional languages in general. I still remember the feeling I had about halfway through the book: this is the way programming should be done.
For beginners, Ryan Stansifer's ML Primer and Ake Wikstrom's Functional Programming Using Standard ML are both quite basic. You can read Stansifer in an evening; there's not much there. Wikstrom is a good introduction to the language.
For intermediate programmers, Programming with Standard ML by Colin Myers, Chris Clack and Ellen Poon is good. Rachel Harrison's book Abstract Data Types in Standard ML is poorly written, but some of the code is good.For advanced programmers, Larry Paulson's book ML for the Working Programmer is excellent, as you noted; I don't know what Matthias objects to.
So is Chris Okasaki's book Purely Functional Data Structures.
While we're on the topic of exploring from Racket to alternative languages, what's the friendliest way to dip into Prolog coming from a Racket background?