Dalila Bakir - Limav | 2 Oct 17:23 1997
Picon

Ocaml: module Map

Bonjour,

Du point de vue de la complexite, les acce's et les modifications sur
les "Maps" sont d'ordre log(n) si n est la taille d'une "Map". Quelle
serait la complexite de l'ope'ration "fold"?. Plus pre'cise'ment, si
j'utilise "fold" pour rechercher la valeur maximale de la cle', la
comple'xite' serait-elle la me^me?

Dalila.

Hendrik Tews | 1 Oct 12:02 1997
Picon

Re: type declaration in */mli & *.ml

Hi,

I am writing again about a topic we had on the list last year
(cf. http://pauillac.inria.fr/caml/caml-list/0676.html and
http://pauillac.inria.fr/caml/caml-list/0680.html).

As Xavier writes it is a pain that in some circumstances
(specifications of types and signatures) the same code has to be
written twice, first in the specification and then in the
implementation.

Is there any solution to this? 

Has anybody tried to include parts of an interface into an
implementation (for instance by means of a preprocessor)?

Greetings,

Hendrik

-------------------------------------------------------------
e-mail:   tews <at> tcs.inf.tu-dresden.de
www:      http://wwwtcs.inf.tu-dresden.de/~tews
-------------------------------------------------------------

Manuel Fahndrich | 3 Oct 18:34 1997
Picon

Re: type declaration in */mli & *.ml


Hendrik Tews <tews <at> tcs.inf.tu-dresden.de> wrote

[...]
>Has anybody tried to include parts of an interface into an
>implementation (for instance by means of a preprocessor)?

I've seen SML programs written using NoWeb, a variant of Knuth's
literate programming tool Web. The tool acts as a preprocessor and
makes it easy to write type declarations only once, and use them in
signatures and structures.

-Manuel

kahl | 4 Oct 17:14 1997
Picon

Re: type declaration in */mli & *.ml

Hendrik Tews writes:
 > I am writing again about a topic we had on the list last year
 > (cf. http://pauillac.inria.fr/caml/caml-list/0676.html and
 > http://pauillac.inria.fr/caml/caml-list/0680.html).

 > As Xavier writes it is a pain that in some circumstances
 > (specifications of types and signatures) the same code has to be
 > written twice, first in the specification and then in the
 > implementation.

 > Is there any solution to this? 

 > Has anybody tried to include parts of an interface into an
 > implementation (for instance by means of a preprocessor)?

I am using FunnelWeb (a language-independent literate programming system)
for almost everything, and it is a nice solution to this problem, too.

For my current project, I edit a single FunnelWeb file (currently >800k)
in the folding-mode of Emacs, and a single run of FunnelWeb
(8 seconds on a SparcStation 20) produces a Makefile, 48 OLabl modules
with interfaces, among these 4 lexers and 4 parsers, several special
auxiliary files, and a LaTeX file containing 400+ pages of documented code.

The documented code in the literate programming style can be very nice
and useful, but even if you do not want to go literate,
FunnelWeb is still a very useful preprocessor
(I must admit that I am sometimes lazy on documentation, too...)

FunnelWeb is available via:
(Continue reading)

Vincent Leleu | 6 Oct 16:36 1997
Picon
Picon

Neural nets in Caml


Hi All,

Has anyone implemented a neural network library in caml/ocaml ?

I am searching for a library which gives the user the ability to create
neuron objects, network objects, link them and perform simple propagation
task.

Thank you.

Vincent Leleu.

Computing Research Group
Anglia Polytechnic University
Phone +44 1245 493131 ext. 3416
E-mail vincent <at> parc.anglia.ac.uk

U-E59264-Osman Buyukisik | 6 Oct 13:51 1997
Picon

Re: type declaration in */mli & *.ml

Since I have seen a couple of litprog tools mentioned, I will add a
little to the discussion. There are a number of litprog tools
available for this purpose: nuweb/noweb/funnelweb/CLiP etc that I
would suggest looking at the litprog FAQ (at the usual places), and
then making your own decision. noweb/nuweb are easy to learn (a few
pages of docs). Others have more features/take more time to get
proficient at. There is a news group comp.programming.literate.
Osman

Andrew Conway | 6 Oct 20:26 1997
Picon

Re: Neural nets in Caml


In response to the request for neural network software in caml/ocaml:

I have some brief neural network routines in ocaml in my general
library which is available from:

   http://sequence-www.stanford.edu/~arc/publib.html

A trivial test function to show backpropagation on a neural network
with 2 input nodes, 2 nodes in a hidden layer, and one output node
(hence [|2;2;1|] argument to create) is:

let selftest () =
    let net = create [|2;2;1|] in
    let teachdataset = [|
        ([|1.0;1.0|],[|0.0|]);
        ([|1.0;0.0|],[|1.0|]);
        ([|0.0;1.0|],[|1.0|]);
        ([|0.0;0.0|],[|0.0|])
    |] in
    let testdataset = teachdataset in
    polyteachtest 5000 net teachdataset testdataset;
    net
;;

Warning: I don't actually use neural networks, so I haven't tested it all
that much. I had an application that I thought could use them, wrote
the library, and then abandoned it.

Warning: I think that generally neural networks are the wrong way to solve
(Continue reading)

Pierre Weis | 7 Oct 13:29 1997
Picon
Picon

Portes ouvertes

[English abstract: Inria will be open to the public on Friday the 10th
and Saturday the 11th. The Caml team will be glad to give demos and
have discussion with visitors.]

Bonjour à tous,

Un but de promenade culturelle pour le week-end:

l'INRIA organise une journée portes ouvertes les

    Vendredi 10 Octobre de 11h30 à 17h

    et

    Samedi 11 Octobre de 10h à 17h

Il y aura de nombreuses démonstrations, dont celles du projet cristal.
En particulier, les membres de l'équipe Caml seront là pour discuter.

Pour plus d'information

    http://www.inria.fr/sef97/

Amicalement,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis <at> inria.fr, http://pauillac.inria.fr/~weis/

PS: l'occasion est à ne pas manquer, les journées portes ouvertes de
(Continue reading)

Xavier Leroy | 9 Oct 10:33 1997
Picon
Picon

Re: Ocaml: module Map

> Du point de vue de la complexite, les acce's et les modifications sur
> les "Maps" sont d'ordre log(n) si n est la taille d'une "Map". Quelle
> serait la complexite de l'ope'ration "fold"?.

Map.fold parcours les n elements du dictionnaire, sa complexite est
donc au moins O(n).  En fait, c'est exactement O(n) puisqu'il s'agit
d'un parcours gauche-droite d'arbre binaire.

> Plus pre'cise'ment, si
> j'utilise "fold" pour rechercher la valeur maximale de la cle', la
> comple'xite' serait-elle la me^me?

Si vous utilisez Map.fold, c'est forcement en O(n).

L'implementation sous-jacente des dictionnaires (arbres binaires
croissants equilibres) permettrait de determiner le max de la cle en
temps log(n), mais ce n'est pas une des operations exportees par le
module Map.

- Xavier Leroy

David Monniaux | 12 Oct 00:47 1997
Picon
Picon

O'Caml - GNU MP interface

Hi,

version 0.10 of mlgmp is available on
http://www.ens-lyon.fr/~dmonniau/arcs/mlgmp.tar.gz

As a reminder, GNU MP is a free extended precision library.

This version implements in-place modification (yes, I know this is
contrary to the spirit of functional programming, but this allows to
optimize allocation by GMP and speed things up, especially in loops).

-------------
Bonjour,

la version 0.10 de mlgmp est sortie sur
http://www.ens-lyon.fr/~dmonniau/arcs/mlgmp.tar.gz

Pour memoire, GNU MP est une librairie de calcul en precision etendue.

Cette version implemente les operations avec modification en place.

-- David


Gmane