caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: james woodyatt <jhw@wetware.com>
To: bcpierce@cis.upenn.edu
Cc: Caml List <caml-list@inria.fr>
Subject: Re: [Caml-list] Functional Reactive Programming in OCaml?
Date: Mon, 29 Nov 2004 10:02:59 -0800	[thread overview]
Message-ID: <E77D9A9E-4230-11D9-AE25-000A958FF2FE@wetware.com> (raw)
In-Reply-To: <4854.1101689050@dsl-207-245-69-66.cust.oldcity.dca.net>

On 28 Nov 2004, at 16:44, Benjamin Pierce wrote:
>
> I'm sure that, like me, many of you have experienced language-envy 
> when you've seen the very cool libraries for Functional Reactive 
> Programming (Fran, Frob, Yampa, etc.) that have been implemented in 
> the Haskell world.
>
> Has anybody tried to do something similar in OCaml?  At first sight, 
> it does not seem trivial: the implementations of FRP that I've seen 
> make good use of many of Haskell's special features -- laziness, type 
> classes and qualified types, monads, etc...
>
> Thanks for any pointers,

Hello, Dr. Pierce.  Yes, I've tried this.  Reactive programming is a 
hobby of mine.  I haven't tried building a functional GUI toolkit, 
since I'm mostly interested in network application services.  But you 
might try checking out the Iom module in my OCaml Network Application 
Environment project on SourceForge.

	<http://sf.net/projects/ocnae/>

Basically, I ported Chapter 30 of Magnus Carlsson's and Thomas 
Hallgren's joint Ph.D. thesis to OCaml, then generalized it and rewrote 
it to take advantage of OCaml's mutable data structures inside the 
scheduler.

	<http://www.cs.chalmers.se/~hallgren/Thesis>

Be advised: the most current release of Cf_gadget has a serious stack 
leak in the scheduler, causing some trivial reactors explode on the 
stack.  A fix-- involving yet another complete rewrite of the 
scheduler-- is already in CVS, and a new release will be coming soon.


-- 
j h woodyatt <jhw@wetware.com>
markets are only free to the people who own them.


  reply	other threads:[~2004-11-29 18:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-29  0:44 Benjamin Pierce
2004-11-29 18:02 ` james woodyatt [this message]
2004-11-30  3:02 ` Benjamin Pierce
2004-11-30 17:33   ` [Caml-list] " Vincenzo Ciancia
2004-12-01 17:14     ` Florian Hars
2004-12-02  8:04       ` Vincenzo Ciancia
2004-11-30  6:36 [Caml-list] " Gregoire Hamon
2004-11-30 14:14 ` Benjamin Pierce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E77D9A9E-4230-11D9-AE25-000A958FF2FE@wetware.com \
    --to=jhw@wetware.com \
    --cc=bcpierce@cis.upenn.edu \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).