I'm enjoying a functional language


 Languages used by prticipnts: 

Can do functional programming in C#.

Steve: Did Clojure for getting info from a wiki page into a database.  Surprised at how quickly it went.  Then parsed/cleaning up/decoded lots of raw data.  String processing.

Heroku supports Clojure.

Inline templating engine in clojure.

Strenuous computation over large data done in C# by a local functional programming guru. (who?)

Builder pattern to build UI in clojure.

Changing state. At root level & have a persistent data structure.  Change ref to point to new instance of the data structure.

"Nothing changes state" is a intellectual lie.  Because eventually something changes state or something points to new instance of data.

"I wouldn't write a CRUD app in functional language"  "Actually I'm about to do that."

Why haven't we come up with a simple "here's my objects, make a UI".

Function programming really good for mathematical stuff, like Project Euler.

is there functional programming for .NET/CLR?
- clojure on CLR.

Learning FP makes you see other code differently.

Austin Code Dojo is doing genetic algorithm in clojure.  See http://www.ai-junkie.com/ga/intro/gat1.html for problem definition.

FP is somewhat immature.  Can't go to bookstore and buy book for best book on how to do FP, how best to write programs.
Open Close problem
    (with-open db
      (println (db/rows)))

open-db closes after it goes out of scope, but db/rows is lazy, so it tries to read after the DB is closed.

    (with-open db
      (println
        (doAll (db/rows))))
 
Homoiconicity http://en.wikipedia.org/wiki/Homoiconicity "primary representation of programs is also a data structure in a primitive type of the language itself"
I'm enjoying a functional language. Anyone out there - Steve Suehs Functional Languages

Count: 
Can do functional programming in C#.

Steve: Did clojure for getting info from a wiki page into a database.  Suprised at how quickly it went.  Then parsed/cleaning up/decoded lots of raw data.  Sting processing.

Heroku supports clojure

Inline templating engine in clojure ...

Strenuous computation over large data done in C# by a local functional programming guru.

Builder pattern to build UI in clojure.

Changing state
* root level & have a persistent data structure.  Change ref to point to new instance of the data structure.

"nothing changes state" is a intellectual lie.  Cuz eventually something changes state or something points to new instance of data.

CRUD app in clojure.  "I wldnt write a CRUD app in functional language"  "Actually I'm about to do that."

Why havent we come up with a simple "here's my objects, make a UI".
- but generated UIs never look good.
- users don't care about the data
- but they do, cuz power users want excel dump
- is that a failing in our UI?
- why even provide a UI then.  Why don't we just5 provide them with an Excell dump?

Function programming really good for mathmatical stuff. for Project Euler (sp?), which is 

is there functional programming for .NET/CLR?
- clojure on CLR.
- It's very hard for anything not Microsoft to gain any traction.
- Microsoft dominates it./unipolar world.

Leraning FP makes you see other code differently.

Dojo is doing genetic algorithm in clojure.  See http://www.ai-junkie.com/ga/intro/gat1.html for problem definition.

FP is somewhat immature.  Can't go to bookstore ad buy book for best book on how to do FP.  How best to write programs

- different communities in FP are forming best practices.
- too acedemic
- lazy evaluation is pretty cross language
- Erlang has goo best practices?

Open Close problem

(with-open db
  (println (db/rows)))

open-db closes after it goes out of scope, but db/rows is lazy, so it tries to read after the DB is closed.

(with-open db
  (println
n    (doAll (db/rows))))

- Me: is that just a problem with with-op?  It almost sld lazy close.
- is this cross-language?
- How do we teach/discuss this cross-language?

Homoiconicity http://en.wikipedia.org/wiki/Homoiconicity C# has a part of it.  lambda's etc.