caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] newbie questions
@ 2003-03-29  8:48 Dr.Dr.Ruediger M.Flaig
  2003-03-29  9:15 ` Basile STARYNKEVITCH
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Dr.Dr.Ruediger M.Flaig @ 2003-03-29  8:48 UTC (permalink / raw)
  To: caml-list

Good morning to all you bedouins out there :-) ,

as I am a neophyte to CAML, forgive me if my questions have been asked (and answered) a hundred times before...


1.: Is there any means of doing list-type pattern matching (style "| h::t -> ...") for recursion on strings? OK., I have realized that not having a decent string type is one of the reason why programs in Haskell or Erlang are much slower than in CAML, and resorted to a "roll-your-own" for dealing with this:

let ht x = (String.sub x 1 ((String.length x)-1)), String.make 1 (compl x.[0]);;

because I think that

let compl = function 'g' -> 'c' | 'c' -> 'g' | 'a' -> 't' | 't' -> 'a' | _ -> ' ';;
let rec complement = function 
    "" -> ""
  | dna -> let h, t = ht dna in (complement h) ^ t;;

is much smarter than the iterative version

let compl = function 'g' -> 'c' | 'c' -> 'g' | 'a' -> 't' | 't' -> 'a' | _ -> ' ';;
let complement dna =
  let cdna = ref "" in
    for i = 0 to String.length( dna )-1 do 
      let cha = String.get dna i in
	cdna :=  (String.make 1 (compl cha)) ^ !cdna 
    done;
    !cdna;;

(Yes! Confess guilty! Learned Pascal in 1986...)

but -- and this is my point -- there should certainly be some more elegant way of dealing with this than the horrible "ht" definition, shouldn't it?


2.: A question on language design: why do recursive functions have to be marked explicitly as such? My personal feeling is that this rather spoils the nifty inference system... from Algol to Java, procedural compilers require explicit type definitions but are able to work out for themselves if a routine is recursive, and Haskell also has both type inference and implicit recursion, so this should not be too difficult. Or has there anything escaped my attention?


3.: I have followed the thread about speed with considerable interest... my personal impression is that on a PPC processor, OCaml code is sometimes even faster than C code! (Does not hold true for dft, I admit.) This may have to do with the queer gcc supplied by Apple, which does not appear to make good use of the PPC's wealth of registers... hence I would like to have some output in legible form but the -S option does not seem to work properly. Does anybody know about this?


Yours sincerely,
   Ruediger




Dr. Dr. Ruediger Marcus Flaig
Institute for Immunology
University of Heidelberg
Im Neuenheimer Feld 305
D-69120 Heidelberg
<flaig@cirith-ungol.sanctacaris.net>
Tel. +49-172-7652946
Fax  +49-4075110-17171

_____________________________________________________________
Free eMail .... the way it should be....
http://www.hablas.com

_____________________________________________________________
Select your own custom email address for FREE! Get you@yourchoice.com w/No Ads, 6MB, POP & more! http://www.everyone.net/selectmail?campaign=tag

-------------------
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] 9+ messages in thread
* [Caml-list] newbie questions
@ 2001-12-11  0:25 Jose A. Ortega Ruiz
  2001-12-11  2:32 ` Mike Leary
  2001-12-11 10:23 ` Sven
  0 siblings, 2 replies; 9+ messages in thread
From: Jose A. Ortega Ruiz @ 2001-12-11  0:25 UTC (permalink / raw)
  To: caml-list


hi,

i'm learning OCaml (coming from a professional C/C++, Java background,
with a little bit of elisp and scheme (read SICP)), and own a copy of
Cousineau & Mauny's book (O'Reilly's Objective Caml is on the way). i
would really appreciate your advice on the following topics:

- C&M uses Caml (light?): is it worth reading while learning OCaml? do
  you know of any comparison of the two languages i should read if
  using C&M?

- my ultimate goal is using OCaml for real, useful projects: any idea
  about specially needed/useful applications in OCaml i could help on?

- any suggestion/recommendation/roadmap for my journey learning OCaml?

as i said before, your comments would be highly appreciated. 

thanks,

-- 
jao
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Caml-list] newbie questions
@ 2001-08-22 17:58 Collin Monahan
  0 siblings, 0 replies; 9+ messages in thread
From: Collin Monahan @ 2001-08-22 17:58 UTC (permalink / raw)
  To: caml-list

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

 
Hi,
 
I'm new to the list, and to Caml and to ML in general. I'm having stupid
problems one after the other trying to learn this, and was wondering if
anyone had some extra time to field questions, without my bothering the
whole list.
 
Thank you,
Collin Monahan
 

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

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

end of thread, other threads:[~2003-03-30 14:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-29  8:48 [Caml-list] newbie questions Dr.Dr.Ruediger M.Flaig
2003-03-29  9:15 ` Basile STARYNKEVITCH
2003-03-29 11:04 ` Sylvain LE GALL
2003-03-30  9:53 ` Damien Doligez
2003-03-30 14:23 ` Wolfgang Lux
  -- strict thread matches above, loose matches on Subject: below --
2001-12-11  0:25 Jose A. Ortega Ruiz
2001-12-11  2:32 ` Mike Leary
2001-12-11 10:23 ` Sven
2001-08-22 17:58 Collin Monahan

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