Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] JoCaml Released.

12 views
Skip to first unread message

Luc Maranget

unread,
Jun 4, 2007, 4:58:52 AM6/4/07
to caml...@inria.fr

We are happy to annouce the release of JoCaml.

JoCaml is an extension of Objective Caml for concurrent
and distributed programming based upon the join calculus.
More details (including a tutorial) are available on
the jocaml web site:
<http://jocaml.inria.fr/>.


The new JoCaml (born again jocaml) is a total re-implementation of
the new defunct JoCaml by F. Le Fessant. With respect to this previous
version, changes are important.

* New syntax. Believe it or not, the new syntax is better.

* More convenient command set (bytecode compiler jocamlc,
toplevel jocaml, native code compiler jocamlopt).

* Disparition of mobility features. More reasearch is needed
for those, besides they break OCaml compatibility.

* Full compatibility with OCaml. For that reason, we adopt
OCaml releasing scheme: initial version of JoCaml is 3.10.0.

---
Louis Mandel & Luc Maranget (jocaml...@inria.fr).

_______________________________________________
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

Joel Reymont

unread,
Jun 4, 2007, 5:39:55 AM6/4/07
to Luc Maranget, caml...@inria.fr
Luc,

On Jun 4, 2007, at 9:57 AM, Luc Maranget wrote:

> * Full compatibility with OCaml. For that reason, we adopt
> OCaml releasing scheme: initial version of JoCaml is 3.10.0.

How often do you pull patches from the OCaml tree into the JoCaml tree?

How is this done?

Thanks, Joel

--
http://topdog.cc - EasyLanguage to C# translator
http://wagerlabs.com - Blog

Luc Maranget

unread,
Jun 4, 2007, 5:54:47 AM6/4/07
to Joel Reymont, Luc Maranget, caml...@inria.fr
> Luc,
>
> On Jun 4, 2007, at 9:57 AM, Luc Maranget wrote:
>
> > * Full compatibility with OCaml. For that reason, we adopt
> > OCaml releasing scheme: initial version of JoCaml is 3.10.0.
>
> How often do you pull patches from the OCaml tree into the JoCaml tree?

At every ocaml release.

>
> How is this done?
I wonder why you neeed such information, nevertheless here it is:

Basically, JoCaml is the 'jocamltrunk' branch in ocaml CVS,
it also has a 'module' name: jocsl.

Syncing jocaml with ocaml is a two step process:

Checkout jocaml:
cvs co -kk -r jocamltrunk jocsl

Perform changes from (ocaml) release1 to release2 in jocaml
cvs update -kk -j release1 -j release2

(There are a few details left, such as bootstrap)

>
> Thanks, Joel

-- Luc

Yaron Minsky

unread,
Jun 4, 2007, 8:15:15 AM6/4/07
to Luc Maranget, caml...@inria.fr
A couple of questions:

- Why is it that JoCaml is a full OCaml distribution as opposed to
just a set of libraries plus a syntax extension. Was there some particular
feature that required hacking the compiler directly, or was it just more
convenient to build it that way?
- What do you think the future of JoCaml is? Any thoughts on whether
it will be supported in the future, and in particular whether it will get
merged back into the OCaml mainline tree?


It's very encouraging to see the community doing so much work in this area.
The new JoCaml looks quite interesting.

y

skaller

unread,
Jun 4, 2007, 8:40:43 AM6/4/07
to Yaron Minsky, Luc Maranget, caml...@inria.fr
On Mon, 2007-06-04 at 08:13 -0400, Yaron Minsky wrote:
> A couple of questions:
> * Why is it that JoCaml is a full OCaml distribution as opposed

> to just a set of libraries plus a syntax extension.

JoCaml implements the join calculus, which subsumes lambda
calculus.. so you have asked the wrong question.

The real question is: why isn't Ocaml treated as a
subset of JoCaml? :)


--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

Jon Harrop

unread,
Jun 4, 2007, 8:46:12 AM6/4/07
to caml...@yquem.inria.fr
On Monday 04 June 2007 09:57:44 Luc Maranget wrote:
> The new JoCaml (born again jocaml) is a total re-implementation of
> the new defunct JoCaml by F. Le Fessant. With respect to this previous
> version, changes are important.

Is there a JoCaml mailing list? I don't want to spam the OCaml list with my
noob questions (writing a concurrent ray tracer). :-)

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists/?e

Luc Maranget

unread,
Jun 4, 2007, 8:48:49 AM6/4/07
to Yaron Minsky, Luc Maranget, caml...@inria.fr
> A couple of questions:
>
> - Why is it that JoCaml is a full OCaml distribution as opposed to
> just a set of libraries plus a syntax extension. Was there some
> particular
> feature that required hacking the compiler directly, or was it just more
> convenient to build it that way?

As far as I know, access to the guts of the compiler is required at
least for the following two features.

- Specific typing rules.

- Pattern matching compilation.
See the buffer example in the doc for instance
<http://jocaml.inria.fr/manual/concurrent.html#htoc20>

Besides, JoCaml is not a full OCaml distribution. JoCaml is a restricted
OCaml distribution. On the light side, JoCaml compilation is very fast;
on the dark side, some of OCaml tools are not available, (camlp4, ocamlbuild,
labltk..)



> - What do you think the future of JoCaml is? Any thoughts on whether
> it will be supported in the future, and in particular whether it will get
> merged back into the OCaml mainline tree?

I can only wish a bright future to JoCaml :)

Our team will support JoCaml.

Merging JoCaml into the OCaml mainline tree is another story. We have
no plans for that at the moment. Let us wait a bit for JoCaml success
to deprecate OCaml thread libraries.

-- Luc

Joel Reymont

unread,
Jun 4, 2007, 8:53:14 AM6/4/07
to Luc Maranget, Yaron Minsky, caml...@inria.fr

On Jun 4, 2007, at 1:47 PM, Luc Maranget wrote:

> on the dark side, some of OCaml tools are not available, (camlp4,
> ocamlbuild,
> labltk..)

Bummer! I want the first two.


--
http://topdog.cc - EasyLanguage to C# translator
http://wagerlabs.com - Blog

_______________________________________________

Luc Maranget

unread,
Jun 4, 2007, 9:00:59 AM6/4/07
to Jon Harrop, caml...@yquem.inria.fr
> On Monday 04 June 2007 09:57:44 Luc Maranget wrote:
> > The new JoCaml (born again jocaml) is a total re-implementation of
> > the new defunct JoCaml by F. Le Fessant. With respect to this previous
> > version, changes are important.
>
> Is there a JoCaml mailing list? I don't want to spam the OCaml list with my
> noob questions (writing a concurrent ray tracer). :-)
>
> --

There is a JoCaml mailing list
<http://yquem.inria.fr/cgi-bin/mailman/listinfo/jocaml-list>
(As for the OCaml list, only subscribers can post).

By the way we also have a web site <http://jocaml.inria.fr>
with such information and others.


--
Luc Maranget

Oliver Bandel

unread,
Jun 4, 2007, 9:59:02 AM6/4/07
to caml...@inria.fr, Luc Maranget, Yaron Minsky, skaller
On Mon, Jun 04, 2007 at 10:38:54PM +1000, skaller wrote:
> On Mon, 2007-06-04 at 08:13 -0400, Yaron Minsky wrote:
> > A couple of questions:
> > * Why is it that JoCaml is a full OCaml distribution as opposed
> > to just a set of libraries plus a syntax extension.
>
> JoCaml implements the join calculus, which subsumes lambda
> calculus.. so you have asked the wrong question.
[...]

Is the join calcuclus a monocontextural calculus (as I assume)?

How can the join calculus (and distributed processes) be expressed
using Gotthard Guenthers polycontextural logic?

Is there any research on this topic?

As far as I know only polycontextural logic can express
parallel, distributed systems (and selfreference) in a complete/total way.
So, when join calculus is monocontextural (which it is, if it uses
the math we all have learned) it will be a subsystem
of what can be expressed with polycontextural logic.

It would be fine to have some explanations here, on what
the join calculus is capable of.


Ciao,
Oliver

Luc Maranget

unread,
Jun 4, 2007, 11:21:08 AM6/4/07
to Oliver Bandel, Luc Maranget, caml...@inria.fr, skaller, Yaron Minsky

> Is the join calcuclus a monocontextural calculus (as I assume)?
>
> How can the join calculus (and distributed processes) be expressed
> using Gotthard Guenthers polycontextural logic?
>
> Is there any research on this topic?
>
> As far as I know only polycontextural logic can express
> parallel, distributed systems (and selfreference) in a complete/total way.
> So, when join calculus is monocontextural (which it is, if it uses
> the math we all have learned) it will be a subsystem
> of what can be expressed with polycontextural logic.

I am afraid that I cannot answer your question. I mean I cannot,
as in << I can't swim >>.

>
> Ciao,
> Oliver

-- Luc

Oliver Bandel

unread,
Jun 6, 2007, 4:19:57 AM6/6/07
to caml...@inria.fr
On Mon, Jun 04, 2007 at 10:13:55AM -0400, Joshua D. Guttman wrote:
> Oliver Bandel <oli...@first.in-berlin.de> writes:
>
> >
> >
> > As far as I know only polycontextural logic can express
> > parallel, distributed systems (and selfreference) in a
> > complete/total way. So, when join calculus is
> > monocontextural (which it is, if it uses the math we all
> > have learned) it will be a subsystem of what can be
> > expressed with polycontextural logic.
> >
>
> Well, I googled and found the Wikipedia article on Gotthard
> Guenther, which talked about trans-Aristotelian logic and
> the law of the excluded middle (shades of Korzybski! Were
> they connected?).
>
> But there was no indication what
> monocontextural/polycontextural meant, or why only the
> latter expresses distribution *completely*.
>
> Could you give a brief summary, please?
[...]

I answered to your private maila ddress twice.
..well oooh, I didn't saw you also wrote to this list.


I will collect both mails and send it to the list today.

Oliver Bandel

unread,
Jun 6, 2007, 5:02:08 AM6/6/07
to caml...@inria.fr
On Wed, Jun 06, 2007 at 10:18:15AM +0200, Oliver Bandel wrote:
> On Mon, Jun 04, 2007 at 10:13:55AM -0400, Joshua D. Guttman wrote:
> > Oliver Bandel <oli...@first.in-berlin.de> writes:
> >
> > >
> > >
> > > As far as I know only polycontextural logic can express
> > > parallel, distributed systems (and selfreference) in a
> > > complete/total way. So, when join calculus is
> > > monocontextural (which it is, if it uses the math we all
> > > have learned) it will be a subsystem of what can be
> > > expressed with polycontextural logic.
> > >
> >
> > Well, I googled and found the Wikipedia article on Gotthard
> > Guenther, which talked about trans-Aristotelian logic and
> > the law of the excluded middle (shades of Korzybski! Were
> > they connected?).
> >
> > But there was no indication what
> > monocontextural/polycontextural meant, or why only the
> > latter expresses distribution *completely*.
> >
> > Could you give a brief summary, please?
> [...]
>
> I answered to your private maila ddress twice.
> ...well oooh, I didn't saw you also wrote to this list.

>
>
> I will collect both mails and send it to the list today.
>


..is it interests other people...

Oliver Bandel

unread,
Jun 6, 2007, 5:32:54 AM6/6/07
to caml...@inria.fr
On Wed, Jun 06, 2007 at 11:22:42AM +0200, Francisco Jos? Valverde Albacete wrote:
> Come on! This is an open forum to learn... You just don't put in an idea
> only *not to explain it*.

Well, why is the default of this list, that Replies go to private mail account?!
And I got only one person sending an interested reply....

>
> Please explain what your suggestion was.

OK.

I will try my best.... it follows today.

Jon Harrop

unread,
Jun 6, 2007, 5:48:34 AM6/6/07
to caml...@inria.fr
On Wednesday 06 June 2007 10:00:38 Oliver Bandel wrote:
> ...I will collect both mails and send it to the list today...

On Wednesday 06 June 2007 10:00:38 Oliver Bandel wrote:
> ...is it interests other people...

On Wednesday 06 June 2007 10:31:25 Oliver Bandel wrote:
> ...I will try my best.... it follows today...

The suspense is killing. ;-)

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists/?e

_______________________________________________

Oliver Bandel

unread,
Jun 6, 2007, 7:04:28 AM6/6/07
to caml...@inria.fr
On Wed, Jun 06, 2007 at 10:40:57AM +0100, Jon Harrop wrote:
> On Wednesday 06 June 2007 10:00:38 Oliver Bandel wrote:
> > ...I will collect both mails and send it to the list today...
>
> On Wednesday 06 June 2007 10:00:38 Oliver Bandel wrote:
> > ...is it interests other people...
>
> On Wednesday 06 June 2007 10:31:25 Oliver Bandel wrote:
> > ...I will try my best.... it follows today...
>
> The suspense is killing. ;-)


heheh :)

I'm not the only unpatient person, it seems ;-)


OK, here it comes:

========================================================

Hello,

I mentioned that polycontextural logic seems to be the only
thingy that can describe / formalize parallelism and
self-reference (e.g. liar-paradoxon) and other interesting things
in a complete, non-contradictional, non-reductional way.

First the disclaimer: no, I'm not knowing this stuff as good as that
I might write papers about it. I've just looked inside a littlebid.


What does this term "polycontextural logics" mean?


It means that the logic can not only be used in one
logical context (true / false), but also can be used between
different contexts. Using logic in many context is nothing new.
But that *between* these contexts there can also be logical operators
be used, this is very uncommon / unusual.
This is a kind of enhancement of logics. People who are fluent
in using PCL would say, that it's the more general (generic?)
form of logics, because the logic we use, is a subsystem,
only be used in one context.


To decribe self-reference there were many attempts in logic.
One is George Spencer Brown's "calculus of indications".
Francisco Varela enhanced it to the "calculus of self-reference".
But both are monocontextural. For example, the "calculus of indications"
can't describe self-reference in a non-timely (non-toggling)
way betweeen true-false-true-false... (liar-paradoxon for example).

The problem is, that the subject (observer) does not only talk about
it's observations and does say something about them in the same
context; in the liar-paradoxon the subject (observer) talks about
itself, and this means a context-switch between the observer
saying something about his observations (the subject tells something
about the so called objective world).

To say it with Heinz von Foerster's words:

"Objectivity is a subject's delusion that
observing can be done without him."
(Heinz von Foerster)


This is not possible with clasical logic, because it is based on
a philosophy, that avoids self-reference. Hence the liar-paradoxon:
You can't describe something that is spread about more than one
logical context with a logic that is bound to one context!

It seems to be that there must be a contradiction in what the lying
subject tells us, and we go into a timely toggling function:

let toggle = function true -> false | false -> true


To have a time-independent description of the liar-problem
(no longer a paradox), there must be a way to explicitly
introduce the subject that says something into the logic.

The subject that says something about the so called objective
world (which it is part of!) must be included in the philosophic
base, so that it also can be included in a formal system.
If you do this, than there is a possibility to also describe
the liar-problem (liar-paradoxon in monocontextural explanation).

The way to do this, is not to insist on ONE logical place (contexture)
and to do a timely toggling, but to accept MORE THAN ONE logical place.
Include the subject in the logic, and the problem is gone!

This might seem frightening to the objectivity-based worldview
of today's science, because the last some-hundred years the
last exit to absolutism was to have the logic.

The sun is not the center of the world anymore, we also
had to see that ratio is not all (Freud often will be mentioned at this point),
computers are calculating much faster then we can,
and now the whole logic, the formal base of our ratio seems to be
the problem.


BTW: that the ratio is not all, was already told us by Shakyamuni Buddha.... :)
he also told us that subject and object can't be cutted apart ... or
in other words, that the ratio is, what makes the cut, splitting
the subject (which is part of the world) apart from the world
(which will be sawn as the opposite of the subject, and not it's
embedding environment),
or in George Spencer Brown's words: the ratio is, what "draw(s) a distinction"


Gotthard Guenther, who has created the polycontextural logics (PCL),
has started differently: he said: the subject is there at the same time
as the obecjtive world is here. He said, we do not have to start
with either the subject, and create the world from it, nor do we have
to start with the world and have to create the subject from it.

We have to start with both thingys at the same time: the subject as well as
what we call the world (as being apart from the world) are there
at the same time. We accept both right from the beginning on and then
we are not constricted to the one or the other thingy.

And that's the starting point of where the liar-paradox turns to
a liar-problem, turns to only a description of a subject saying something
about istelf. :)


The polycontextural logic is based on morphogramatics, kenogramatics, ...
which is a pre-linguistical approach.


Here are some links:

http://www.thinkartlab.com/pkl/
http://www.strukturbildung.de/DERRIDAS_MACHINES.pdf


But be aware, as you CAN'T derive that stuff from your science and logic
you are already have in use, learning this might be more difficult than
only switching from imperative programming to functional programming. ;-)

It's the other way around: the logic you use and even the numbers you use,
can be derived from PCL (or kenogrammatics / morphogrammatics / ...)
so that throwing away your many calculi would be a good idea. ;-)
At least throw them away for a certain period of time.


When you look ta the PKL-pages from thinkart-lab,
in the graphics/animation you can see the term "P-combinator".
Following the first link google shows, you can find this:

http://www.thinkartlab.com/pkl/tm/plisp/pr-java/

There is a PLisp (parallelized Lisp), which uses the
P-combinator.
They also refer back to Polycontextural logics.


One paper about the parallelizsation, and how to
describe it with PCL (german text), you can find here:
http://www.thinkartlab.com/pkl/lola/FIBONACCI.pdf

As far as I understand (which seems not to be far enough ;-))
the "dissemination" (truest parallelism one even can't imagine ;-))
is "more parallel than parallel".

(Let's call it "independent processes"?? But how can they be independent,
if all proceeds in this one world? Is this a contradiction of the PCL?
Or a limitation of my PCL-knowledge?)


There is also a german book "mg-book.pdf"
http://www.thinkartlab.com/pkl/media/mg-book.pdf
which explains the morphogrammatik and kenogrammatic and PCL.

(It's written in LaTeX, and called "book", but is only singlesided,
not layouted in book-format. But maybe not all people are
typographic fetishists like me and don't have a problem
with this ;-))

Gothard Guenther btw. has worked together with McCulloch at
the BCL (Biological Computr laboratory) (which was lead by Heinz von Foerster).

The paper "A heterarchy of values determeined by the topology of nervous nets"
by McCulloch has inspired Gotthard Gunther.
http://www.vordenker.de/ggphilosophy/mcculloch_heterarchy.pdf


To the BCL:
"A Brief History of the BCL
Heinz von Foerster and the Biological Computer Laboratory":

http://www.ece.uiuc.edu/about/history/bcl/mueller/index.htm

Hope this gives an impression of what I meant, when mentioning the PCL.
As I'm also new to this kind of thinking and didn't had a longer time
to jump inside, this only is a slight overview on an interesting theme.
I hope this can motivate more people to try to think in new ways.


Ciao,
Oliver


P.S.: Using the classical mathematics / logics for describing self-referential
processes, as the cyberneticians use it, there is the same problem with
the time-toggling in the liar-paradoxon: you have to use iterative
or endless recursive functions (hello lazy evaluation ;-)) but there
is no way to describe the things without such an infinite approach.
(See self-reference, chaos theory and so on: always infinite calculations.)

This again is the time-based approach. If we could (can we?) go and
spread the calculaions in space instead of reiterating / recursively
doing onedimenasional (monocontextural) calculations (because we
first take the hammer and making the world a flat plane), then many
problems might be solved easier and elegantly.
(If we will have the computers to calculate this, is a different question ;-)
The complexity might be the same; but it's spread over space not over time...
...possibly massive parallel computing (bio-computers?)might help a littlebid here))


For at least some of these problems the PCL (and kenogrammatics / morphpogrammatics)
might be fruitful.

In the german interview of Ruolf Kaehr

http://www.vordenker.de/ggphilosophy/kaehr_tdstruktur_maschine_kenogr.pdf

he said, that the numbers do not begin with 1 but with 4.
Don't take that literally, because the 4 is bound to the kenogramatics
and the multiplicity of formal systems, necessary to create things like numbers...


__END__

Oliver Bandel

unread,
Jun 6, 2007, 9:17:13 AM6/6/07
to caml...@inria.fr
Zitat von Oliver Bandel <oli...@first.in-berlin.de>:
[...]

> The sun is not the center of the world anymore, we also
[...]

I meant "the earth" ;-)

Ciao,
Oliver

Lukasz Stafiniak

unread,
Jun 6, 2007, 11:13:04 AM6/6/07
to Oliver Bandel, caml...@inria.fr
On 6/6/07, Oliver Bandel <oli...@first.in-berlin.de> wrote:
>
> I mentioned that polycontextural logic seems to be the only
> thingy that can describe / formalize parallelism and
> self-reference (e.g. liar-paradoxon) and other interesting things
> in a complete, non-contradictional, non-reductional way.
>
I'd let myself mention:
"Locus Solum: From the rules of logic to the logic of rules" by
Jean-Yves Girard, 2000.
http://lambda-the-ultimate.org/node/1994
and:
"Ludics nets, a game model of concurrent interaction" Claudia Faggian,
Francois Maurel
http://www.math.unipd.it/~claudia/pubs/lnets.pdf

Oliver Bandel

unread,
Jun 8, 2007, 10:27:40 AM6/8/07
to caml...@inria.fr
0 new messages