English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Objects or modules ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-07-03 (23:08)
From: Nicolas FRANCOIS <nicolas.francois@f...>
Subject: Re: [Caml-list] Objects or modules ?
Le Sat, 29 Jun 2002 12:22:52 +0200 Markus Mottl <markus@oefai.at> a écrit

> You might also want to take a look at Christophe Raffalli's library for
> formal and numerical calculus to grab a few ideas:
>   http://lama-d134.univ-savoie.fr/sitelama/Membres/pages_web/RAFFALLI/formel.html

OK, I got it. If I really understand this, this is a pre-project for FOC.
Am I right ?

Now that I adapted it to OCaml 3.04 (Streams not recognized by standard
OCaml now), I have a new problem : this is a definition for a quotient
ring (there's a similar one for a quotient field in case the ideal is
primitive) ;

(in algebra.mli)
module Quotient :
  functor(R : Euclidian_Ring) ->
    functor(Elt : One_element with type elem = R.elem) ->
      Ring with type elem = R.elem
(in algebra.ml)
module Quotient = 
  functor (R : Euclidian_Ring) -> 
  functor (Elt : One_element with type elem = R.elem) ->
    type elem = R.elem
    let zero = R.zero
    let one = R.one
    let t_of_int = R.t_of_int
    let (++) = R.(++)
    let (--) = R.(--)
    let ( ** ) = R.( ** )
    let (==) a b = R.(==) (R.(mod) (R.(--) a b) Elt.elt) R.zero
    let opp = R.opp
    let normalize x = R.(mod) (R.normalize x) Elt.elt
    let print x = R.print (normalize x)
    let write ch x = R.write ch (normalize x)
    let parse = R.parse
    let read = R.read
    let write_bin ch x = R.write_bin ch (normalize x)
    let read_bin = R.read_bin
    let conjugate = R.conjugate

I'd like to use this functor to create a ring Z/pZ, providing a (possibliy
prime) integer p. My problem is : what is the correct way to use this ?

Thanks for reading.



                   Nicolas FRANCOIS
 A TRUE Klingon programmer does NOT comment his code
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners