PDA

View Full Version : Lisp or ML?



e^(i*pi)
February 13th, 2008, 04:24 AM
So I am looking to either learn ML or Lisp, and I'm hoping to get some recommendations from people who know a little about them. I have pretty solid imperative and object oriented programming skills, and I'm picking this up more as a hobby than as a primary language. I would hope though that whichever I learn has some potential to actually be used in my career. Any advice is appreciated.

lnostdal
February 13th, 2008, 04:48 AM
Any advice is appreciated.

try both .. examine both =)

i very much enjoy lisp, and i get to use it for "Real Stuff" once in a while .. lisp has support for many paradigms, including functional

.. as a bonus lisp is a programmable programming language - so one can easily add support for completely new paradigms .. it is in fact so easy to extend lisp in lisp that lispers often do this automatically without thinking about it

here's what others have to say about lisp coming from many different backgrounds (some are sure to have done ml and/or functional languages before): http://wiki.alu.org/The_Road_to_Lisp_Survey

nice tutorial style book:
http://www.gigamonkeys.com/book/

a reference for the common lisp standard:
http://www.lispworks.com/documentation/HyperSpec/Front/index.htm

the reference can be downloaded from this page:
http://www.lispworks.com/documentation/common-lisp.html

sbcl is a common lisp implementation that runs on ubuntu .. here is how i install sbcl on ubuntu:
http://common-lisp.net/~lnostdal/writings/sbcl.html
(written down in a hurry, so send me a message if you encounter problems!)

more advanced book about lisp macros:
http://www.paulgraham.com/onlisp.html

..i'll let someone else post links to ML-related stuff -- but again, i would recommend trying both

Lux Perpetua
February 13th, 2008, 08:32 AM
For what it's worth, ML has the most sophisticated type system I've seen so far in any programming language. If you want to see what a well designed strong static type system looks like, look at ML.

I don't know much about Lisp except generalities, but it's also at the top of my list of languages I want to learn.

pmasiar
February 13th, 2008, 03:23 PM
What is your goal after learning either language? What do you want to solve? What do you think will be the next step?

If you don't tell us more about you, every advice will be about our preferences, not what makes enese for you,

apetresc
February 13th, 2008, 03:28 PM
My recommendation would also have to be with Lisp. Actually, my real recommendation would be Scheme, which is a dialect of Lisp that is becoming more and more popular. The two are quite similar though.

As a bonus, if you choose Scheme, you get access to one of the best Computer Science texts in existance (http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs) . (Also note the link to the video lectures at the bottom, those are great too).

Welcome to the world of functional programming :D

e^(i*pi)
February 13th, 2008, 05:51 PM
Thanks everybody for your two cents. I think I'm going to go with ML since I already have a little head start on it from a CS class I took. In response to an earlier posters questions, my only real goal is to stretch my brain a little. I'm pretty comfortable in Java and Python and C, so I'm just looking for a different paradigm to stir things up in my head and keep my thinking from getting locked into a particular pattern. I don't really have high hopes of being able to put a functional language to use in the "real world", but I do believe that I'll be able to use the ideas generated from working in one to use. Also, I'm really into mathematics, and the the little bit of ML I've done feels very mathematical. Thanks again.