caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Paul Snively <psnively@mac.com>
To: Jon Harrop <jon@ffconsultancy.com>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] (Mostly) Functional Design?
Date: Tue, 19 Jul 2005 17:29:57 -0700	[thread overview]
Message-ID: <FD0FA077-AADF-4C7B-B217-2B7C1E439122@mac.com> (raw)
In-Reply-To: <200507200058.41178.jon@ffconsultancy.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Jon!

On Jul 19, 2005, at 4:58 PM, Jon Harrop wrote:

> On Tuesday 19 July 2005 18:13, Paul Snively wrote:
>
>> 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,
>>
>
> You mean like this?
>
>   http://cis.k.hosei.ac.jp/~F-rep/
>
Precisely. Specifically, I'm attempting to essentially go straight  
from the admittedly incomplete VDM spec found in "Pasko A., Savchenko  
V., Adzhiev V. and Sourin A. "Multidimensional geometric modeling and  
visualization based on the function representation of objects",  
Technical Report 93-1-008, The University of Aizu, Japan, 1993," near  
the bottom of the "Publications" page, to working O'Caml code. Some  
aspects of VDM seem to translate essentially directly (e.g. they  
actually use "let ... = ... in ..."). Others seem to require just a  
little bit of thought, e.g. whether a "value" defined as a "Float*"  
actually needs to be a "float option" or whether it's just that VDM  
doesn't have a better way to express variants, and their tree  
structure can be described as a variant without using "option"  
anywhere. At the moment, I strongly suspect the latter.

> LablGL is excellent, BTW. You may find some of my work useful if  
> you're
> learning it:
>
>   http://www.ffconsultancy.com/products/ocaml_for_scientists/ 
> visualisation/
>   http://www.ffconsultancy.com/free/maze/
>   http://www.ffconsultancy.com/free/ray_tracer/
>   http://www.ffconsultancy.com/free/ray_tracer/comparison.html
>
Yes, I've seen bits of your work and greatly appreciate them! That  
reminds me that I need to buy your book. :-)

> I think you will find OCaml to be dangerously well suited to this  
> task. I've
> used OCaml for several somewhat-similar projects and find OCaml to be
> enormously more productive than C++ (my previous "favourite  
> language").
>
Yes, I'd actually begun the project as a C++ project, for no other  
reason than the hope of gaining more collaborators. That hasn't  
happened, and so I've bitten the bullet and started over, partially  
to become as fluent as possible in O'Caml, and partially because I  
already had had the sense that it was the right tool for the job,  
even if ultimately I take longer with it on this project (cf. "become  
as fluent as possible...")

> I am working full-time on our presentation software so I can't  
> afford any time
> to work on new stuff. However, there is probably some overlap and I am
> willing to open source some interesting and useful parts of our code.
>
That's a very kind and generous offer, especially when I consider  
what you've already made available and published. Thanks! By the way,  
how should an American best purchase your book?

>
>> 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.
>>
>
> That sounds like a great project. Best of luck with that. :-)
>
I meant "compatible" rather than "collaborative" above, although I  
must say that Tim Sweeney at Epic Games has already been both  
incredibly supportive, e.g. sending along the source code to the  
UnrealScript compiler to use as a reference point, and incredibly  
forthright, e.g. pointing out that the published Unreal Tournament  
headers weren't likely to result in a working editor, as they leave  
out far too much, and the CSG code was never built into the Mac  
codebase anyway (I'm typing this on my fantastic new PowerBook 15").

All the more reason, I think, to use this as an opportunity to learn  
O'Caml better: even if I never get a working modeler out of it, I  
will have achieved another goal. But I think my chances of at least  
getting a very nice F-Rep-based modeler going, even if it never reads/ 
writes Unreal archives, are vastly better in O'Caml than away from it.

> -- 
> Dr Jon D Harrop, Flying Frog Consultancy Ltd.
> Technical Presentation Software
> http://www.ffconsultancy.com/products/presenta
>
> _______________________________________________
> 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

Many thanks and best regards,
Paul Snively


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iEYEARECAAYFAkLdmw4ACgkQO3fYpochAqLfKQCfSEWaRAxnfV3W880ZD7i191YY
GXsAnA7rezWEZMtV1d3w8B9rXBSKruHD
=jgtU
-----END PGP SIGNATURE-----


  reply	other threads:[~2005-07-20  0:30 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 18:00 Kyle Consalus
2005-07-18  7:59 ` [Caml-list] " Robert Morelli
2005-07-18  9:22   ` Alex Baretta
     [not found]     ` <42DB78D3.7010401@andrej.com>
2005-07-18 10:01       ` Alex Baretta
2005-07-18 18:15     ` Robert Morelli
2005-07-18 18:45       ` Alex Baretta
2005-07-18 18:56       ` padiolea
2005-07-18 19:19         ` Jon Harrop
2005-07-18 19:38       ` Jon Harrop
2005-07-18 21:27       ` skaller
2005-07-18 21:55         ` Alwyn Goodloe
2005-07-18 22:16         ` Paul Snively
2005-07-19  0:45           ` Jonathan Bryant
2005-07-18 21:37       ` skaller
2005-07-18 22:00     ` Kenneth Oksanen
2005-07-18  9:29   ` Mark Meyers
2005-07-18  9:56   ` Large scale and FP (was: Re: [Caml-list] (Mostly) Functional Design?) David MENTRE
2005-07-18 18:11     ` Large scale and FP Robert Morelli
2005-07-18 14:08   ` [Caml-list] (Mostly) Functional Design? james woodyatt
2005-07-18 16:37     ` Alwyn Goodloe
2005-07-18 14:21   ` alphablock
2005-07-18 15:26     ` Alex Baretta
2005-07-18 15:38       ` alphablock
2005-07-18 17:17       ` Doug Kirk
2005-07-18 18:14         ` Alex Baretta
2005-07-19  7:42         ` james woodyatt
2005-07-19  9:35           ` Robert Morelli
2005-07-19 16:53             ` james woodyatt
2005-07-19 17:13               ` Paul Snively
2005-07-19 23:58                 ` Jon Harrop
2005-07-20  0:29                   ` Paul Snively [this message]
2005-07-18 18:23   ` padiolea
2005-07-18 19:45   ` Gerd Stolpmann
2005-07-18 22:16     ` skaller
2005-07-19  0:48   ` Chris Campbell
2005-07-19 20:14   ` Some Clarifications Robert Morelli
2005-07-20  6:18     ` [Caml-list] " Ville-Pertti Keinonen
2005-07-24  0:04       ` Robert Morelli
2005-07-24  2:30         ` Paul Snively
2005-07-24  7:37           ` Alex Baretta
2005-07-24  8:08           ` Robert Morelli
2005-07-24 12:23             ` David Teller
2005-07-24 18:29             ` skaller
2005-07-24 18:51             ` Paul Snively
2005-07-24 12:42         ` Gerd Stolpmann
2005-07-25  7:23         ` Ville-Pertti Keinonen
2005-07-20  7:34     ` David MENTRE
2005-07-27 15:37       ` Robert Morelli
2005-07-27 20:33         ` skaller
2005-07-27 23:48           ` Paul Snively
2005-07-20 16:28     ` Damien Doligez
2005-07-24 14:51       ` Robert Morelli
2005-07-24 16:11         ` David MENTRE
2005-07-25 12:21         ` Damien Doligez
2005-07-25 15:47           ` Richard Jones
2005-07-22  5:18   ` [Caml-list] (Mostly) Functional Design? Marius Nita

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=FD0FA077-AADF-4C7B-B217-2B7C1E439122@mac.com \
    --to=psnively@mac.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=jon@ffconsultancy.com \
    /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).