From: Nicolas FRANCOIS (AKA El Bofo) <nicolas.francois@free.fr>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Objects or modules ?
Date: Thu, 4 Jul 2002 01:16:11 +0200 [thread overview]
Message-ID: <20020704011611.621c2fbf.nicolas.francois@free.fr> (raw)
In-Reply-To: <20020629102252.GA29416@fichte.ai.univie.ac.at>
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) ->
struct
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
end
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.
\bye
--
Nicolas FRANCOIS
http://nicolas.francois.free.fr
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
next prev parent reply other threads:[~2002-07-03 23:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-29 1:14 Nicolas FRANCOIS
2002-06-29 6:47 ` Chris Hecker
2002-06-30 6:44 ` Blair Zajac
2002-06-29 10:22 ` Markus Mottl
2002-07-03 23:16 ` Nicolas FRANCOIS [this message]
2002-07-05 0:02 ` Nicolas FRANCOIS
2002-07-01 1:19 ` Nicolas FRANCOIS
2002-07-02 17:24 ` Francois Pottier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020704011611.621c2fbf.nicolas.francois@free.fr \
--to=nicolas.francois@free.fr \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox