Example of functional relational programming in clojure

284 views
Skip to first unread message

Jack Norimi

unread,
Feb 3, 2009, 9:19:55 AM2/3/09
to Clojure
I found this document
http://www.scribd.com/doc/3566845/FRP-Presentation-Web
and this document
http://web.mac.com/ben_moseley/frp/paper-v1_01.pdf
and this phrase
> Rich recommended a paper, Out of the Tar Pit, for a discussion of functional and relational techniques to manage state.
from http://stuartsierra.com/2008/08/08/clojure-for-the-semantic-web

Can anybody provide an little example of *functional relational
programming* in clojure?

Thank you.

Jack Norimi

Rich Hickey

unread,
Feb 3, 2009, 9:50:57 AM2/3/09
to Clojure


On Feb 3, 9:19 am, Jack Norimi <clojuregr...@ululi.it> wrote:
> I found this documenthttp://www.scribd.com/doc/3566845/FRP-Presentation-Web
> and this documenthttp://web.mac.com/ben_moseley/frp/paper-v1_01.pdf
> and this phrase> Rich recommended a paper, Out of the Tar Pit, for a discussion of functional and relational techniques to manage state.
>
> fromhttp://stuartsierra.com/2008/08/08/clojure-for-the-semantic-web
>
> Can anybody provide an little example of *functional relational
> programming* in clojure?
>

Clojure is currently missing the 'relational' part of FRP, but I have
hopes for an embedded Datalog fulfilling that role.

Note also that Clojure has extensive support for managed state, and
doesn't espouse a pure approach to FRP.

A primary value of that paper, which I highly recommend, is the focus
on complexity, and the role of state in complexity.

Rich

jim

unread,
Feb 3, 2009, 10:03:52 AM2/3/09
to Clojure
I read that paper a couple of years ago and its what started me on the
path toward functional programming which brought me to Clojure. As
Rich said, it has some very important insights about complexity and
presents an interesting idea of how to manage it.

I took a crack at implementing it in SBCL but after I switched to
Clojure, I've found the need for something like it greatly reduced
because Rich has put such an emphasis on making concurrent programming
easy.

Jim
Reply all
Reply to author
Forward
0 new messages