Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] help
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Henri DF <henri.dubois-ferriere@e...>
Subject: Re: [Caml-list] help
> I sent you this as an e-mail on Friday:
> 
> The following types are a start for your conversion:
> 
> type fnum=int and fval=float;
> 
> type word = { wnum: fnum ref; weight: fval }
> type doc = { docnum: int; queryid: int; costfactor: float; twonorm_sq: float; 
> words: word array }
> type model = { sv_num: int; at_upper_bound: int; b: float; supvec: doc array; 
> alpha: float };
> 
> The following line creates an example "model" with its values filled in:
> 
> let test_model = { sv_num=0; at_upper_bound=0; b=0.; supvec=Array.make 1 
> { docnum=0; queryid=0; costfactor=0.; twonorm_sq=0.; words=Array.make 1 
> { wnum=ref 0; weight=0. } }; alpha=0. };
> 
> I deliberately made "wnum" a reference so that it can be set:

any reason not to make it a mutable ? 

henri

> test_model.supvec.(0).words.(0).wnum := 1;
> 
> If you want to do a really direct conversion then you probably want to make 
> each of the fields in each of the records a reference (as I did with "wnum"). 
> However, you may wish to exercise the functional programming side of ocaml 
> and write functions which replace data structures, instead of altering them 
> in an imperative style. Although this is unintuitive at first, because an 
> imperative language would do lots of copying and deleting of data structures, 
> the ocaml compiler is very adept at performing only the changes which are 
> made to a data structure...
> 
> HTH.
> 
> Cheers,
> Jon.
> 
> -------------------
> 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
> 

-------------------
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