* Interactive technical computing
@ 2007-03-08 1:13 Jon Harrop
2007-03-08 1:49 ` [Caml-list] " Jim Miller
` (3 more replies)
0 siblings, 4 replies; 23+ messages in thread
From: Jon Harrop @ 2007-03-08 1:13 UTC (permalink / raw)
To: caml-list
Being a user of both OCaml and Mathematica, playing with the new F# language
from Microsoft and watching tutorial videos about VPython:
http://showmedo.com/videos/series?name=pythonThompsonVPythonSeries
has given me a lot of inspiration about interactive technical computing
environments. This class of applications is hugely useful for working
scientists and engineers because it lets you slice and dice your data in
interesting ways whilst also giving you visual throwback and even letting you
do some fancy visualisations.
For example, I'm in the process of updating my ray tracer language comparison:
http://www.ffconsultancy.com/languages/ray_tracer/index.html
and I'm using a mix of OCaml (to fire off compilation and execution commands)
and Mathematica (to dissect the results, compute verbosity using regexps and
plot graphs):
http://www.ffconsultancy.com/tmp/mathematica.png
Mathematica's equivalent of the OCaml top-level is called a notebook. It
provides expression input and result output, just like OCaml, but integrates
graphics, adds typesetting and lots of mathematical functions. However, it is
widely used for more general purpose programming despite being very slow.
Using F# from Visual Studio 2005 provides some of this functionality. The
following screenshots illustrate 2D and 3D graphics spawned from an F#
interactive session using a little of my own code and DirectX/ComponentsXtra:
http://www.ffconsultancy.com/tmp/fs_xygraph.png
http://www.ffconsultancy.com/tmp/fs_3dplot.png
For all non-trivials examples in F# it is necessary to spawn a separate thread
to handle the GUI of the visualization, or the GUI will hang when the
top-level is doing an intensive computation.
I think F# has a great future because of its ability to spawn visualizations
from a running interactive session. Expensive commercial offerings like
Matlab and Mathematica are ok when you're doing something they have built-in
(e.g. a Fourier transform) but when you're problem is not trivially
decomposed into their built-in operators (e.g. a wavelet transform), F# and
OCaml are typically 2-5x faster, and when you must resort to more general
purpose programming F# and OCaml are often 100x faster.
However, there is a lot of work to be done in getting competitive charting and
visualization tools into F# and I'm thinking that OCaml could benefit from a
joint venture here. Low-level routines would target DirectX in F# and OpenGL
in OCaml but high-level routines could be language and platform agnostic,
handling a scene graph that is essentially a typed version of Mathematica's
to provide much faster graphics and even interactive visualisation
(Mathematica is software rendered and not interactive!).
This raises several questions:
. What OCaml programs currently allow OpenGL-based visualizations to be
spawned from the top-level?
. Has anyone tried to write an IDE that mixes OCaml code with graphics?
. Would anyone here be interested in a low-cost cross-platform technical
computing environment based upon the OCaml and F# languages?
Obviously I'm interested in this from a commercial perspective. That looks
easy for F# but not so easy for OCaml. Compiled OCaml+OpenGL code is not as
portable (between machines) as F#+DirectX. Also, I can sell F# DLLs and even
make the library available to other .NET languages (albeit with a
significantly less productive API).
Finally, I'd like to note that operator overloading is probably the single
biggest difference between my F# and OCaml code. The ability to apply + and -
to many types, particularly vectors and matrices, makes this kind of work so
much easier. Even if you have to add the odd type annotation. So I'd love to
see a compatible implementation of overloading introduced into OCaml.
I'd like to hear everyone's opinions on this as, it seems to me, we're sitting
on the foundations of a great technical computing system.
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 1:13 Interactive technical computing Jon Harrop
@ 2007-03-08 1:49 ` Jim Miller
2007-03-08 2:52 ` skaller
2007-03-08 2:12 ` Erik de Castro Lopo
` (2 subsequent siblings)
3 siblings, 1 reply; 23+ messages in thread
From: Jim Miller @ 2007-03-08 1:49 UTC (permalink / raw)
To: Jon Harrop; +Cc: caml-list
[-- Attachment #1: Type: text/plain, Size: 6002 bytes --]
I think that this would be a potentially fantastic application! As a
physicist I am frequently faced with the option of using an interactive tool
that supports graphics (PV-WAVE, IDL, R, and Matlab/Octave are very popular)
but is VERY slow or doing things in a fast but tedious language (C/C++ are
currently the rage with a few individuals that still do Fortran 9X).
Having an OCaml based language that combines a top level command line loop
that allows me to interactive explore data and develop scripts but that
allows me to compile those into something fast could be a very, very useful
tool. My particular domains are atmospheric photochemistry as well as
satellite mission planning and imagery exploitation. We tend to do a LOT
less with 3D visualizations and much more with traditional line, contour,
and scatter plots. We also do a lot of false color imagery.
The closest that I have come to this is a quick module that allows me to
spawn a gnuplot program and pass command strings, via a pipe. A few
functions to ensure that data is formatted properly and I have something
that's manageable.
I'd be interested in conspiring/planning on something in this space. It
would also be useful to see if there's a useful way to bridge this with R,
which is my current favorite language for doing statistical data analysis
and plot generation but it still suffers from the problems of speed.
On 3/7/07, Jon Harrop <jon@ffconsultancy.com> wrote:
>
>
> Being a user of both OCaml and Mathematica, playing with the new F#
> language
> from Microsoft and watching tutorial videos about VPython:
>
> http://showmedo.com/videos/series?name=pythonThompsonVPythonSeries
>
> has given me a lot of inspiration about interactive technical computing
> environments. This class of applications is hugely useful for working
> scientists and engineers because it lets you slice and dice your data in
> interesting ways whilst also giving you visual throwback and even letting
> you
> do some fancy visualisations.
>
> For example, I'm in the process of updating my ray tracer language
> comparison:
>
> http://www.ffconsultancy.com/languages/ray_tracer/index.html
>
> and I'm using a mix of OCaml (to fire off compilation and execution
> commands)
> and Mathematica (to dissect the results, compute verbosity using regexps
> and
> plot graphs):
>
> http://www.ffconsultancy.com/tmp/mathematica.png
>
> Mathematica's equivalent of the OCaml top-level is called a notebook. It
> provides expression input and result output, just like OCaml, but
> integrates
> graphics, adds typesetting and lots of mathematical functions. However, it
> is
> widely used for more general purpose programming despite being very slow.
>
> Using F# from Visual Studio 2005 provides some of this functionality. The
> following screenshots illustrate 2D and 3D graphics spawned from an F#
> interactive session using a little of my own code and
> DirectX/ComponentsXtra:
>
> http://www.ffconsultancy.com/tmp/fs_xygraph.png
> http://www.ffconsultancy.com/tmp/fs_3dplot.png
>
> For all non-trivials examples in F# it is necessary to spawn a separate
> thread
> to handle the GUI of the visualization, or the GUI will hang when the
> top-level is doing an intensive computation.
>
> I think F# has a great future because of its ability to spawn
> visualizations
> from a running interactive session. Expensive commercial offerings like
> Matlab and Mathematica are ok when you're doing something they have
> built-in
> (e.g. a Fourier transform) but when you're problem is not trivially
> decomposed into their built-in operators (e.g. a wavelet transform), F#
> and
> OCaml are typically 2-5x faster, and when you must resort to more general
> purpose programming F# and OCaml are often 100x faster.
>
> However, there is a lot of work to be done in getting competitive charting
> and
> visualization tools into F# and I'm thinking that OCaml could benefit from
> a
> joint venture here. Low-level routines would target DirectX in F# and
> OpenGL
> in OCaml but high-level routines could be language and platform agnostic,
> handling a scene graph that is essentially a typed version of
> Mathematica's
> to provide much faster graphics and even interactive visualisation
> (Mathematica is software rendered and not interactive!).
>
> This raises several questions:
>
> . What OCaml programs currently allow OpenGL-based visualizations to be
> spawned from the top-level?
>
> . Has anyone tried to write an IDE that mixes OCaml code with graphics?
>
> . Would anyone here be interested in a low-cost cross-platform technical
> computing environment based upon the OCaml and F# languages?
>
> Obviously I'm interested in this from a commercial perspective. That looks
> easy for F# but not so easy for OCaml. Compiled OCaml+OpenGL code is not
> as
> portable (between machines) as F#+DirectX. Also, I can sell F# DLLs and
> even
> make the library available to other .NET languages (albeit with a
> significantly less productive API).
>
> Finally, I'd like to note that operator overloading is probably the single
> biggest difference between my F# and OCaml code. The ability to apply +
> and -
> to many types, particularly vectors and matrices, makes this kind of work
> so
> much easier. Even if you have to add the odd type annotation. So I'd love
> to
> see a compatible implementation of overloading introduced into OCaml.
>
> I'd like to hear everyone's opinions on this as, it seems to me, we're
> sitting
> on the foundations of a great technical computing system.
>
> --
> Dr Jon D Harrop, Flying Frog Consultancy Ltd.
> OCaml for Scientists
> http://www.ffconsultancy.com/products/ocaml_for_scientists
>
> _______________________________________________
> 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
>
[-- Attachment #2: Type: text/html, Size: 7166 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 1:49 ` [Caml-list] " Jim Miller
@ 2007-03-08 2:52 ` skaller
2007-03-08 3:00 ` Jim Miller
0 siblings, 1 reply; 23+ messages in thread
From: skaller @ 2007-03-08 2:52 UTC (permalink / raw)
To: Jim Miller; +Cc: Jon Harrop, caml-list
On Wed, 2007-03-07 at 20:49 -0500, Jim Miller wrote:
> I think that this would be a potentially fantastic application!
The question is whether you would get a sufficient grant to
actually pay for it.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 2:52 ` skaller
@ 2007-03-08 3:00 ` Jim Miller
2007-03-08 3:10 ` skaller
0 siblings, 1 reply; 23+ messages in thread
From: Jim Miller @ 2007-03-08 3:00 UTC (permalink / raw)
To: skaller; +Cc: caml-list
[-- Attachment #1: Type: text/plain, Size: 1380 bytes --]
I have no doubt that nobody would give you a grant do to this. The
immediate question my sources would ask is "WHY?" when there are so many
other languages out there. The number of research scientists that I know of
that are asking for anything like this is exceedingly low.
On a side note, this is the most frustrating thing about the physics
community I work with. I'm involved at GMU in the COMPUTATIONAL physics
department. We are supposed to be applying cutting edge technology to
problems and yet the application of new languages gets VERY little traction
there. Every argument I've ever made to the faculty there about the ability
for an O'Caml type language to improve our productivity and confidence in
the answers it produces tends to fall on deaf ears.
Of course, I am just a student there, but I'm also an experienced (15 years)
professional programmer that might know a thing or two about programming ...
sigh.
Most research physicists that I work with (NRL in particular) are worse.
On 3/7/07, skaller <skaller@users.sourceforge.net> wrote:
>
> On Wed, 2007-03-07 at 20:49 -0500, Jim Miller wrote:
> > I think that this would be a potentially fantastic application!
>
> The question is whether you would get a sufficient grant to
> actually pay for it.
>
> --
> John Skaller <skaller at users dot sf dot net>
> Felix, successor to C++: http://felix.sf.net
>
[-- Attachment #2: Type: text/html, Size: 1791 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 3:00 ` Jim Miller
@ 2007-03-08 3:10 ` skaller
[not found] ` <beed19130703071919g1f537f59o93ce06871fba8f3a@mail.gmail.com>
0 siblings, 1 reply; 23+ messages in thread
From: skaller @ 2007-03-08 3:10 UTC (permalink / raw)
To: Jim Miller; +Cc: caml-list
On Wed, 2007-03-07 at 22:00 -0500, Jim Miller wrote:
> I have no doubt that nobody would give you a grant do to this.
That isn't the question. If Harrop developed it and sold it
for $US 5000.00 would your grant cover it?
Harrop can estimate the market by surveying researchers
and finding what their financial situations could support.
One grant isn't expected to cover the whole development!
BTW: I did some computational atmospheric photochemistry
in the 1970s, looking at ozone and effects of SSTs,
but mainly studying the socio-political role of
funding of those studies .. (most of the money came
from people with vested interests :)
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 1:13 Interactive technical computing Jon Harrop
2007-03-08 1:49 ` [Caml-list] " Jim Miller
@ 2007-03-08 2:12 ` Erik de Castro Lopo
2007-03-08 12:41 ` [Caml-list] F# Jon Harrop
2007-03-08 11:12 ` [Caml-list] Interactive technical computing Andrej Bauer
2007-03-08 11:59 ` Vu Ngoc San
3 siblings, 1 reply; 23+ messages in thread
From: Erik de Castro Lopo @ 2007-03-08 2:12 UTC (permalink / raw)
To: caml-list
Jon Harrop wrote:
> Finally, I'd like to note that operator overloading is probably the single
> biggest difference between my F# and OCaml code. The ability to apply + and -
> to many types, particularly vectors and matrices, makes this kind of work so
> much easier. Even if you have to add the odd type annotation. So I'd love to
> see a compatible implementation of overloading introduced into OCaml.
I'm mainly a Linux guy so the chances of me getting up close and personal
with F# are exactly zero :-). However, I am interested in hearing about
the differences between F# and Ocaml wrt operator overloading. Care to
clue me (and everyone else) in?
Cheers,
Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo
+-----------------------------------------------------------+
"Reality is just a crutch for people that can't handle CyberSpace!!"
- Hank Duderstadt
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] F#
2007-03-08 2:12 ` Erik de Castro Lopo
@ 2007-03-08 12:41 ` Jon Harrop
0 siblings, 0 replies; 23+ messages in thread
From: Jon Harrop @ 2007-03-08 12:41 UTC (permalink / raw)
To: caml-list
On Thursday 08 March 2007 02:12, Erik de Castro Lopo wrote:
> I'm mainly a Linux guy so the chances of me getting up close and personal
> with F# are exactly zero :-).
Actually the F# compiler and tools are freely available and run under Mono (on
Linux). I've had a little play with C# from Mono and was really impressed,
but I haven't tried F# from Mono yet.
> However, I am interested in hearing about
> the differences between F# and Ocaml wrt operator overloading. Care to
> clue me (and everyone else) in?
I can try. Basically, overloading is very popular in languages like C++ and
C#. Programmers even overload functions and constructors in those languages.
General overloading doesn't sit well with type inference because the code no
longer conveys a sufficient amount of type information to resolve the
overload and infer all of the types. So general overloading is bad for type
inferred languages like F# and .NET APIs that use overloading make for uglier
F# code that uses them.
However, operator overloading (i.e. overloading symbols) makes numerical code
so much easier to read that it is worth sacrificing some inference for it.
The arithmetic operators default to int:
> let add a b = a + b;;
val add : int -> int -> int
So you keep OCaml compatibility. But the operators can be applied to floats:
> 1.1 + 2.2;;
val it : float = 3.3
SML provides the same capability up to this point but F# allows the
overloading to be extended. It already works for vectors:
> let a = vector [1.; 2.; 3.] and b = vector [2.; 3.; 4.];;
val a : vector
val b : vector
> a + b;;
val it : vector = [3.; 5.; 7.]
and you can even extend it to work on your own types by augmenting the type
constructor with static member functions:
> type expr =
| Int of int
| Add of expr * expr
| Mul of expr * expr with
static member ( + ) (f, g) = Add(f, g)
static member ( * ) (f, g) = Mul(f, g)
end;;
Then you can even use + to add symbolic expressions:
> Int 3 + Int 4;;
val it : expr = Int 3 + Int 4
However, the operator must always be statically resolved, so the code is
always fast because it doesn't incur run-time dispatch.
That's the basic idea. There are some subtlties, like is the type of
+ 'a->'a->'a or 'a->'b->'c?
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 1:13 Interactive technical computing Jon Harrop
2007-03-08 1:49 ` [Caml-list] " Jim Miller
2007-03-08 2:12 ` Erik de Castro Lopo
@ 2007-03-08 11:12 ` Andrej Bauer
2007-03-08 11:59 ` Vu Ngoc San
3 siblings, 0 replies; 23+ messages in thread
From: Andrej Bauer @ 2007-03-08 11:12 UTC (permalink / raw)
To: caml-list; +Cc: Jon Harrop
Jon Harrop wrote:
> I'd like to hear everyone's opinions on this as, it seems to me, we're sitting
> on the foundations of a great technical computing system.
I would be very much interested in participating in an effort to develop
an interactive environment for ocaml that surpases the currect toplevel.
I have in mind a toplevel that can be used *easily* as part of an
application, has support for line-editing, fancy typesetting and
graphics display. Intelligent pretty-printing would probably be a
natural consequence of such desires (so that we graphics is just a fancy
pretty printer).
As far as symbolic computation and manipulation of mathematical
expressions is concerned: I am not sure that overloading operators and
doing other kinds of violence to ocaml is the right way to go. It might
be better to have instead a specific language for symbolic computation
_on top_ of ocaml. The symbolic computation language would swallow the
horrible and nasty notation that is used in mathematics, digest it, and
pass it on to ocaml.
Best regards,
Andrej
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 1:13 Interactive technical computing Jon Harrop
` (2 preceding siblings ...)
2007-03-08 11:12 ` [Caml-list] Interactive technical computing Andrej Bauer
@ 2007-03-08 11:59 ` Vu Ngoc San
2007-03-08 12:43 ` Jon Harrop
3 siblings, 1 reply; 23+ messages in thread
From: Vu Ngoc San @ 2007-03-08 11:59 UTC (permalink / raw)
Cc: caml-list
You probably know it already, but it is very easy to spawn opengl
graphics directly from the toplevel using sdl. Then if you use the
toplevel inside emacs, you get something very similar to the screenshots
you had.
And since you are into screenshots, here is one :-)
http://www-fourier.ujf-grenoble.fr/~svungoc/prog/oplot/toplevel_plot.png
San
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 11:59 ` Vu Ngoc San
@ 2007-03-08 12:43 ` Jon Harrop
2007-03-08 21:28 ` Vu Ngoc San
0 siblings, 1 reply; 23+ messages in thread
From: Jon Harrop @ 2007-03-08 12:43 UTC (permalink / raw)
To: caml-list
On Thursday 08 March 2007 11:59, Vu Ngoc San wrote:
> You probably know it already, but it is very easy to spawn opengl
> graphics directly from the toplevel using sdl. Then if you use the
> toplevel inside emacs, you get something very similar to the screenshots
> you had.
>
> And since you are into screenshots, here is one :-)
>
> http://www-fourier.ujf-grenoble.fr/~svungoc/prog/oplot/toplevel_plot.png
This is just the kind of thing that I'd like to hear about!
How exactly do you do that? Can you post a complete working example?
Looks great... :-)
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 12:43 ` Jon Harrop
@ 2007-03-08 21:28 ` Vu Ngoc San
2007-03-09 0:14 ` skaller
0 siblings, 1 reply; 23+ messages in thread
From: Vu Ngoc San @ 2007-03-08 21:28 UTC (permalink / raw)
To: Jon Harrop; +Cc: caml-list
Jon Harrop a écrit :
> How exactly do you do that? Can you post a complete working example?
>
> Looks great... :-)
>
Thanks :-)
The idea is that sdl (contrary to glut or lablgtk2), does not have a
"main loop": so you can write your own. This allows you to open an
opengl window from the toplevel, and when you quit your mainloop, you
get back nicely to the toplevel. You can even let the window open when
you are back to toplevel, but then the graphics are not updated anymore.
Nice enough: you can later update the sdl window (no need to close it
and open another one !).
If you really need interaction in the window and in the toplevel at the
same time, you can launch the sdl mainloop in a separate thread. It
really works. But I wouldn't try to open two sdl windows at the same
time (??).
I don't have the courage -- and time -- to give you a "working example"
(see below) but the initialisation is like this:
Sdl.init [ `VIDEO ];
Sdlvideo.set_video_mode !window_width !window_height [ `DOUBLEBUF ;
`OPENGL ; `RESIZABLE]);
Sdlwm.set_caption "Oplot - SDL Window" "";
Then you can issue any openGL command you wish. Even from the toplevel !
You can also use Sdlttf to handle any ttf font.
.....
Now, since you sort of asked for it, here it is:
I have written a small graphics library that does all of this. But this
is my first ocaml program, first use of openGL etc.. so I'm not
particularly proud of it. It is quite messy, and in a state of perpetual
development. You can find a (not so recent) version at
http://www-fourier.ujf-grenoble.fr/~svungoc/prog/oplot/index.html
This lib is actually useful (to me) because you can insert LaTeX
formulas and export directly to xfig (or postscript). It produces
postscript of better quality than maple :-)
There is a (very recent) GUI for this at
http://www-fourier.ujf-grenoble.fr/~svungoc/prog/goplot/index.html
which uses lablgtk2 and launches sdl in a separate thread... (yep. my
first use of GTK and of threads.. don't be too harsh if you read my
code... -:) ). However, and even though I'm not a programmer (I do this
for learning ocaml during my spare time), I'd be happy to have some
feedback. There is a package with precompiled binaries that works on at
least three linux machines :-)
San
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Caml-list] Interactive technical computing
2007-03-08 21:28 ` Vu Ngoc San
@ 2007-03-09 0:14 ` skaller
0 siblings, 0 replies; 23+ messages in thread
From: skaller @ 2007-03-09 0:14 UTC (permalink / raw)
To: Vu Ngoc San; +Cc: Jon Harrop, caml-list
On Thu, 2007-03-08 at 22:28 +0100, Vu Ngoc San wrote:
> If you really need interaction in the window and in the toplevel at the
> same time, you can launch the sdl mainloop in a separate thread. It
> really works.
No it doesn't. It works on Linux, but not on Windows.
Messages on Windows go to the thread that creates the
window, and fetches are done by default on the current
thread's message queue. X maintains a queue per
process, so it works on Linux (but be careful because
even re-entrant X isn't really re-entrant).
SDL has a serious design bug: it can't be used as a library,
it insists on providing the mainline (you can hack around
this though). On Linux, you don't have to do this because
the SDL mainline does nothing.
OpenGL has an even more serious design bug: contexts
are implicit. This is extremely bad design: it was
designed to work with serial code and optimise use
of a single video card.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2007-03-10 14:58 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-08 1:13 Interactive technical computing Jon Harrop
2007-03-08 1:49 ` [Caml-list] " Jim Miller
2007-03-08 2:52 ` skaller
2007-03-08 3:00 ` Jim Miller
2007-03-08 3:10 ` skaller
[not found] ` <beed19130703071919g1f537f59o93ce06871fba8f3a@mail.gmail.com>
2007-03-08 3:27 ` skaller
2007-03-08 3:36 ` Jim Miller
2007-03-08 21:16 ` Richard Jones
[not found] ` <45F10E90.5000707@laposte.net>
2007-03-09 7:43 ` Matthieu Dubuget
2007-03-10 14:58 ` Richard Jones
2007-03-08 12:22 ` Gerd Stolpmann
2007-03-08 14:24 ` Christophe TROESTLER
2007-03-08 19:34 ` Jon Harrop
2007-03-08 20:34 ` Christophe TROESTLER
2007-03-09 10:22 ` Jon Harrop
2007-03-09 10:45 ` Christophe TROESTLER
2007-03-08 2:12 ` Erik de Castro Lopo
2007-03-08 12:41 ` [Caml-list] F# Jon Harrop
2007-03-08 11:12 ` [Caml-list] Interactive technical computing Andrej Bauer
2007-03-08 11:59 ` Vu Ngoc San
2007-03-08 12:43 ` Jon Harrop
2007-03-08 21:28 ` Vu Ngoc San
2007-03-09 0:14 ` skaller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox