caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Re: [Caml-list] help
@ 2004-04-23  2:31 mohammad siddiqui
  2004-04-23  4:17 ` Jon Harrop
  2004-04-23 15:43 ` Brian Hurt
  0 siblings, 2 replies; 24+ messages in thread
From: mohammad siddiqui @ 2004-04-23  2:31 UTC (permalink / raw)
  To: zilles; +Cc: skaller, rich, caml-list

I already made it mutable. words is an array of structure  called "word". If 
I try to change the value as you told it changes tha values of all the 
elements of array "words". Thanks for your help in advance.

Mohammad S Siddiqui.


>From: Karl Zilles <zilles@1969.ws>
>To: mohammad siddiqui <writetosafi@hotmail.com>
>CC: skaller@users.sourceforge.net,  rich@annexia.org,  caml-list@inria.fr
>Subject: Re: [Caml-list] help
>Date: Thu, 22 Apr 2004 16:57:43 -0700
>
>mohammad siddiqui wrote:
>>Hello,
>>I am unable to change the values for an example How can I change the value 
>>od
>>model.supvec[i].words[i].wnum?
>
>If you make wnum "mutable", you can just say:
>
>model.supvec.(i).words.(i).wnum <- newvalue
>
>although I suspect you don't really want use "i" twice.

_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfee® 
Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

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


^ permalink raw reply	[flat|nested] 24+ messages in thread
* Re: [Caml-list] help
@ 2004-04-25 16:30 mohammad siddiqui
  2004-04-25  1:53 ` mohammad siddiqui
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: mohammad siddiqui @ 2004-04-25 16:30 UTC (permalink / raw)
  To: jdh30, caml-list


John,

I tried exactly what you have told. Its is fine when we just have one 
element in an array of words. If we have more than one, changing the value 
of one changes the values of the rest of the elements.

for example , if the test_model is initialiazed like this:

let test_model =
{ sv_num=0; at_upper_bound=0; b=0.; supvec=Array.make 2
{ docnum=0; queryid=0; costfactor=0.; twonorm_sq=0.; words=Array.make 1
{ wnum=ref 0; weight=0. } }; alpha=0. };

now if i change the values , it chnages all th elements of the array 
"supvec" in model

test_model.supvec.(0).words.(0).wnum := 1;

# test_model;;
- : model =
{sv_num = 0; at_upper_bound = 0; b = 0.;
supvec =
  [|{docnum = 0; queryid = 0; costfactor = 0.; twonorm_sq = 0.;
     words = [|{wnum = {contents = 1}; weight = 0.}|]};
    {docnum = 0; queryid = 0; costfactor = 0.; twonorm_sq = 0.;
     words = [|{wnum = {contents = 1}; weight = 0.}|]}|];
alpha = 0.}

Thanks,

Mohammad S Siddiqui.


it changes the values of wnum in all elements of model.supvec.
{ sv_num=0; at_upper_bound=0; b=0.; supvec=[
{ docnum=0; queryid=0; costfactor=0.; twonorm_sq=0.; words=Array.make 1
{ wnum=ref 0; weight=0. } }; alpha=0. };


>From: Jon Harrop <jdh30@cam.ac.uk>
>To: caml-list@inria.fr
>Subject: Re: [Caml-list] help
>Date: Sun, 25 Apr 2004 13:13:37 +0100
>
>
>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:
>
>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

_________________________________________________________________
Test your ‘Travel Quotient’ and get the chance to win your dream trip! 
http://travel.msn.com

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


^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Caml-list] help
@ 2004-04-22 23:34 mohammad siddiqui
  2004-04-22 23:57 ` Karl Zilles
  0 siblings, 1 reply; 24+ messages in thread
From: mohammad siddiqui @ 2004-04-22 23:34 UTC (permalink / raw)
  To: skaller; +Cc: rich, caml-list

Hello,
I am involved in a conversion project, where we  are translating programs 
from C
to ocaml. I am having hardtime dealing with pointers. One of the structures
contains a pointer to a structure as one of its fields, which in turns 
contains
a pointer to another structure, I replaced this by using arrays in ocaml but 
I
am not able to make changes to inner structures fields (using Array.set ) if 
i
do so it changes the values of all the elements of that array.
  Can any one help resolving this?  The structures in C are below:


typedef struct word {
  FNUM    wnum;	               /* word number */
  FVAL    weight;              /* word weight */
} WORD;



typedef struct doc {
  long    docnum;              /* Document ID. This has to be the position 
of
                                  the document in the training set array. */
  long    queryid;
  double  costfactor;
  double  twonorm_sq;
  WORD    *words;              /* The words/values in the document by */
                                    /*increasing word-number. I replaced 
this by
an   array in ocaml*/
} DOC;



typedef struct model {
  long    sv_num;
  long    at_upper_bound;
  double  b;
  DOC     **supvec;  /* I replaced this by array of type doc in ocaml */
  double  *alpha;

} MODEL;



I am unable to change the values for an example How can I change the value 
od
model.supvec[i].words[i].wnum?

Thanks,

Mohammad S Siddiqui.

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar – get it now! 
http://toolbar.msn.com/go/onm00200415ave/direct/01/

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


^ permalink raw reply	[flat|nested] 24+ messages in thread
* Re: [Caml-list] help
@ 2004-04-16 18:04 mohammad siddiqui
  2004-04-16 18:59 ` skaller
  0 siblings, 1 reply; 24+ messages in thread
From: mohammad siddiqui @ 2004-04-16 18:04 UTC (permalink / raw)
  To: rich; +Cc: caml-list

Hi,
I started the conversion project after completely getting hold of ocaml but 
I still have some concerns like how we can manage pinters and pointer to 
pointers, some functions in C like exit(), isspace().
The project is to convert a tool used in text classification from C to 
Coaml.
Thanks,

Mohammad S Siddiqui


>From: Richard Jones <rich@annexia.org>
>To: mohammad siddiqui <writetosafi@hotmail.com>
>CC: caml-list@inria.fr
>Subject: Re: [Caml-list] help
>Date: Fri, 9 Apr 2004 10:04:37 +0100
>
>On Thu, Apr 08, 2004 at 10:57:26PM +0000, mohammad siddiqui wrote:
> > I am new to OCAML. I Just started learning. I need to convert the source
> > code of an applicaton which runs in 4000 lines from C to OCAML. Can 
>anyone
> > help me how to get started? is there any good online resource which may
> > help conveting the code? i s there  any tool available which does this?
> > Since it is a functional language, it is rather difficult to replace
> > constructs like loops with recursive functions and assignments 
>statements
> > of structured programming language like 'C'.
>
>4,000 lines of C isn't a lot of code.  Perhaps it's better to do it by
>hand rather than looking for an automatic tool?
>
>Rich.
>
>--
>Richard Jones. http://www.annexia.org/ http://www.j-london.com/
>Merjis Ltd. http://www.merjis.com/ - improving website return on investment
>MAKE+ is a sane replacement for GNU autoconf/automake. One script compiles,
>RPMs, pkgs etc. Linux, BSD, Solaris. 
>http://www.annexia.org/freeware/makeplus/
>
>-------------------
>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

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar – get it now! 
http://toolbar.msn.com/go/onm00200415ave/direct/01/

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


^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Caml-list] help
@ 2004-04-08 22:57 mohammad siddiqui
  2004-04-09  6:56 ` Basile STARYNKEVITCH
  2004-04-09  9:04 ` Richard Jones
  0 siblings, 2 replies; 24+ messages in thread
From: mohammad siddiqui @ 2004-04-08 22:57 UTC (permalink / raw)
  To: caml-list

I am new to OCAML. I Just started learning. I need to convert the source 
code of an applicaton which runs in 4000 lines from C to OCAML. Can anyone 
help me how to get started? is there any good online resource which may help 
conveting the code? i s there  any tool available which does this?
Since it is a functional language, it is rather difficult to replace 
constructs like loops with recursive functions and assignments statements of 
structured programming language like 'C'.

Thanks,

Siddiqui.

_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfee® 
Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

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


^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Caml-list] help
@ 2002-11-05 12:22 ÀîÒÇ
  2002-11-05 13:39 ` Alessandro Baretta
  0 siblings, 1 reply; 24+ messages in thread
From: ÀîÒÇ @ 2002-11-05 12:22 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 168 bytes --]

could anybody tell me  what does  "self type can not escape its class" mean?

my function is
let test (mat: #seq array) = let result = Array.make 10 mat.(0) in result


[-- Attachment #2: Type: text/html, Size: 772 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2004-04-26 22:38 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-23  2:31 [Caml-list] help mohammad siddiqui
2004-04-23  4:17 ` Jon Harrop
2004-04-23  6:52   ` Jean-Christophe Filliatre
2004-04-23 15:43 ` Brian Hurt
  -- strict thread matches above, loose matches on Subject: below --
2004-04-25 16:30 mohammad siddiqui
2004-04-25  1:53 ` mohammad siddiqui
2004-04-25 12:13   ` Jon Harrop
2004-04-25 12:45     ` Henri DF
2004-04-26 19:13       ` Jon Harrop
2004-04-26 22:38         ` Andrew Lenharth
2004-04-25 17:28   ` Matt Gushee
2004-04-25 17:06 ` Jon Harrop
2004-04-25 17:39   ` Matt Gushee
2004-04-26  0:45 ` skaller
2004-04-22 23:34 mohammad siddiqui
2004-04-22 23:57 ` Karl Zilles
2004-04-16 18:04 mohammad siddiqui
2004-04-16 18:59 ` skaller
2004-04-17  0:34   ` Shawn Wagner
2004-04-08 22:57 mohammad siddiqui
2004-04-09  6:56 ` Basile STARYNKEVITCH
2004-04-09  9:04 ` Richard Jones
2002-11-05 12:22 ÀîÒÇ
2002-11-05 13:39 ` Alessandro Baretta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).