From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 2E4FFBB88 for ; Tue, 19 Jul 2005 19:14:05 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j6JHE4gK013666 for ; Tue, 19 Jul 2005 19:14:04 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA17517 for ; Tue, 19 Jul 2005 19:14:04 +0200 (MET DST) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.71]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j6JHE3kx013663 for ; Tue, 19 Jul 2005 19:14:03 +0200 Received: from mac.com (smtpin02-en2 [10.13.10.147]) by smtpout.mac.com (Xserve/8.12.11/smtpout14/MantshX 4.0) with ESMTP id j6JHE29O008383; Tue, 19 Jul 2005 10:14:02 -0700 (PDT) Received: from [192.168.0.100] (dsl092-032-215.lax1.dsl.speakeasy.net [66.92.32.215]) (authenticated bits=0) by mac.com (Xserve/smtpin02/MantshX 4.0) with ESMTP id j6JHE0ip000988 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Tue, 19 Jul 2005 10:14:01 -0700 (PDT) In-Reply-To: References: <9cc3782b05071411004b27b6a4@mail.gmail.com> <42DB6161.4030507@cs.utah.edu> <006801c58ba4$0b7bfe60$322cf8c1@oemcomputer> <42DBCA16.3000002@barettadeit.com> <18c83100e1769d1005e6f423c6003566@wetware.com> <42DCC95F.6050303@cs.utah.edu> Mime-Version: 1.0 (Apple Message framework v733) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <69AEC165-A85D-4292-8B6A-32756AF1FD9C@mac.com> Cc: Ocaml Trade Content-Transfer-Encoding: 7bit From: Paul Snively Subject: Re: [Caml-list] (Mostly) Functional Design? Date: Tue, 19 Jul 2005 10:13:48 -0700 To: james woodyatt X-Pgp-Agent: GPGMail 1.1.1 (Tiger) X-Gpgmail-State: signed X-Mailer: Apple Mail (2.733) X-Miltered: at concorde with ID 42DD34DC.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 42DD34DB.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 hash:01 woodyatt:01 ocaml:01 o'caml:01 monadic:01 o'caml:01 monadic:01 foo:01 haskell:01 notation:01 functor:01 geometric:01 lablgl:01 woodyatt:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi James! On Jul 19, 2005, at 9:53 AM, james woodyatt wrote: > They're kinda hard to use in Ocaml, which my preferred functional > language, so I don't think it would be a good idea for me to try to > write such a thing. It would be nice if somebody did. > I dunno; from what I can see of the available O'Caml libraries, you've done quite a lot more work with monadic programming in O'Caml than anyone else. If you couldn't write a newbie introduction to the subject, I despair of anyone else doing it. Since O'Caml is also my preferred functional language, I find it frustrating to see grab-and-use implementations of things like monadic foo or the Zipper structure or Functional Reactive Programming... in Haskell, and not be able to find them for O'Caml. When some of the constructs are awkward, for heaven's sake, go ahead and use camlp4 to make some nice syntactic sugar, cf. the Haskell- like "do" notation that was released not too long ago. When there's more than one credible implementation of a subconcept that a module depends on, please implement the module as a functor. Obviously, this is basic stuff, and since I haven't yet released any O'Caml code of my own, I desperately need to take my own advice. :-) I guess I should mention that I am in the process of attempting to build an F-Rep-based geometric modeling kernel in O'Caml, with eventual visualization integration with lablGL. I think O'Caml is incredibly well-suited to this task, but as I'm still very much in the process of mastering O'Caml at the same time I'm trying to understand F-Rep systems, collaboration would be welcome. Ultimately the goal is to develop a 3D modeling system competitive and collaborative with the UnrealEd etc. tools included with the Unreal technology based games, but there are many subprojects that have to happen first, and a good F-Rep kernel seems like an excellent starting point. > > -- > j h woodyatt > markets are only free to the people who own them. > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > Best regards, Paul Snively -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iEYEARECAAYFAkLdNNYACgkQO3fYpochAqIqBQCgnpMXu3UWM60yGETKNkLMDkB9 WTMAoNfezxjWGtlrmCKg/aw2CqTRdDcX =TXib -----END PGP SIGNATURE-----