OOCaml
OOCaml est une version pre-alpha que j’aimerais développer dans les années à venir. Ce programme utilise un traitement pré-compilation pour transformer la syntaxe de base de OCaml. Sa principale fonction pour le moment est de transformer tous les types de base en objets.
Il permet une syntaxe alléchante :
#print ("hello"^(3.5+1)*2);;
hello8 - : unit = ()
#for i = 0 to 3 do print (exp i); done;;
1.2.718281828467.3890560989320.0855369232- : unit = ()
#let rec sum list =
if list#empty
then 0
else list#hd + (sum list#tl)
;;
val sum :
(< empty : bool; hd : < int : int; .. >;
tl : 'a; .. > as 'a) -> Oint.oint = <fun>
# print (sum [1.;2.]);;
3- : unit = ()
Une version embryonaire est disponible ici.