Fog Creek Software
Discussion Board




Functional Programmers

This is just a little straw poll to find how many people out there are using functional languages, as part of a job, or just as a hobby. How much impact, if any, have they had on you? What are your opinions? Beware programmers bearing "elegant solutions"...

Andrew Cherry
Monday, November 04, 2002

What is a functional language?

Nat Ersoz
Monday, November 04, 2002

This is in contrast to disfunctional programmers...

Simon P. Lucy
Monday, November 04, 2002

Here is one example: http://www.haskell.org  and an example of a company that is trying to make money using functional programming: http://www.galois.com

I don't use FP but have been trying to learn about it as I have time available.

mackinac
Monday, November 04, 2002

Try again:  http://www.haskell.org

mackinac
Monday, November 04, 2002

I've tinkered with Erlang & scheme.

I love scheme just becaues it forces me to think differently.  It was like the jump from procedural programming to OOP, only bigger.

...
Monday, November 04, 2002

I'm being forced into fp for a class at Iowa State. CS342 ( http://www.cs.iastate.edu/~cs342 ). Can't say I like scheme (or chez-scheme) but it is interesting once you "get" what's going on and how to accomplish things.

tim (who will need a job after may)
Monday, November 04, 2002

I took a class that was all in Scheme (a Lisp dialect) in college and found it to be quite eye-opening. The book we used was Abelson and Sussman's "Structure and Interpretation of Computer Programs"; I believe I read that the full text of this book is now available for free online, so you can check it out for yourself.

In the past couple of weeks I've been playing with Haskell, which is an interesting contrast to Scheme because it's strongly typed. Haskell really seems to force you to think through your problem and its decomposition clearly and to catch "stupid" mistakes. Of course I've only been using it for toy purposes so far and have no sense at this point of how useful it would be in a real-world application.

I encourage experimenting with functional languages just for the experience of wrapping your brain around something new and different.

John C.
Monday, November 04, 2002

I've been using REBOL (pronounced "reble") a lot lately for quick network/web-aware scripts and proof-of-concept demos. Before I stumbled onto REBOL, my normal approach was to use Perl, Python or Java.

REBOL is a lightweight functional-style language that fixes some of the stuff that is generally irritating about functional programming.

Some of REBOL's features:
* Built-in GUI (see REBOL/View)
* Code runs unmodified on 25+ platforms
* 13 networking protocols (http, ftp, smtp, pop, etc.) built seamlessly into the language
* Grammars-based parsing
* Tiny executable -- 400Kb (for GUI version)

See http://www.rebol.com for more info.

Mschmuele
Monday, November 04, 2002

Interesting topic/posts. Took a look at the Haskell site. Sounds something like working in one of the commercial high-level simulation languages via their gui. Specifically, I'm thinking of a simulation development system called "Arena", it was made by Systems Modeling, I believe out of PA. Under the hood, it was SIMAN. Don't know if they're still around or not.

anonQAguy
Monday, November 04, 2002

Personally i think computability at college should be taught with lambda calculus iso turing machines (no disrepect) But we all get exposed to the procedural approach anyway, so another approach would open the world of fp to more.

Karel
Tuesday, November 05, 2002

At Iowa State, computation is taught in 2 classes. Theory of computation (dfa's, nfa's, grammars, etc) and Programming Languages (342, scheme lambda calc, etc).

Tim
Tuesday, November 05, 2002

For those using .NET MS research has a version of ML at  http://www.cl.cam.ac.uk/Research/TSG/SMLNET/
I keep on meaning to have a proper look at it sometime.

Peter Ibbotson
Tuesday, November 05, 2002

I use Scheme and Python.  These are not purely functional languages, but they support the functional style.  It leads to very sensible, maintainable code.  And for the times you want to step out of the fucntional style, these languages let you be imperative (like the C languages).

Tj
Tuesday, November 05, 2002

I admire nobody mentioned XSL yet, although it's a very common (not-so) functional language. It still lacks functions as a first-level type, and doesn't have closures, but I still consider XSL a very nice funcional language, and one of the easiest languages to get things done - and fast.

Combining it with Xalan's Java extensions (you can load and use any Java object on your stylesheet), things get really easy to work on, and I can even generate more than one output with a single stylesheet :)

Carlos Villela
Wednesday, November 06, 2002

I learned Scheme from SICP, with the side effect of thinking differently about programming.

later, I played with SML for a while, it is cool, strong typed,
generic, functor, infinite stream and lots of "fun".

However, I have never done serious programming in fp, perhaps never will. But I definitely recommend learning fp, just like reading martin gardner's books.

Tao Xu
Thursday, November 07, 2002

*  Recent Topics

*  Fog Creek Home