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
This archive was generated by hypermail 2b29 : Wed Apr 19 2000 - 15:15:30 MET DST