Version française
Home     About     Download     Resources     Contact us    
Browse thread
When functional languages can be accepted by industry?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: thierry BRAVIER <thierry.bravier@d...>
Subject: Re: Caml wish list
Dear ocamlers,

Christophe Raffalli a écrit:

> Here is a list of request for Ocaml that would really make the libray
> for formal and numerical calculus better (see
> http://www.raffalli.univ-savoie.fr/~RAFFALLI/formel.html) :
>
> - include with ...

and

> - include in structure.

would be great.

> - Infix operator like + ...
>         R.+ should be an infix operator and R.(+) would be prefix.

I would like that too.

>         One could event think to reuse symbols like + for many functions.
>         Here is a simple proposal on how to do it that I would really enjoy to
>         see working :
>
>         Two new commands in OCaml structure (the syntax can be changed):
>
>         share + : 'a -> 'a -> 'a
>
>         this makes that + exists and is type-checked with type 'a -> 'a -> 'a
>
>         share + = add_int
>         share + = add_float
>         ...
>

I fear that your share proposal will not interact well with separate compiling of
modules:
how can the list of all share definition be completely know to the compiler ?
It reminds me of the now obsolete overload keyword in C++.


>         One could even allow some kind of recursive macros !
>
>         share + = fun (x,y) (x',y') -> (x+x', y+y')
>         share + = List.map2 (+)
>         share + = Array.map2 (+)
>
>         This is a bit mode difficult to implement, but it seems feasible.

This, I think, is inspired by C++ templates and specialisation issues;
I don't think it is in the spirit of ML because for instance adding a new share
definition
could totally change the meaning of another previous share definition.

Maybe there is anyhow a way to find a strict, satisfying meaning to share.

Does somebody have insights ?

Cheers.

Thierry Bravier