Browse thread
[Caml-list] One question
- Alexander S. Usov
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Alexander S. Usov <A.S.Usov@K...> |
| Subject: | [Caml-list] One question |
Hi!
Can anybody expalin me why in such code
------
type lex_node = Letter of char * bool * lex_tree
and lex_tree = lex_node list ;;
exceprion Already ;;
let rec insert lex word =
let whd = word.[0]
and wtl = String.sub word 1 (String.length word - 1)
in
try
match lex with
| (Letter(c,b,t) as letter)::tail when (c <> whd) ->
letter :: (insert tail word)
| Letter(c,b,t) :: tail when (wtl = "") ->
if b = true then
raise Already
else
Letter(c,true,t) :: tail
| Letter(c,b,t) :: tail ->
Letter(c,b,(insert t wtl)) :: tail
| [] ->
if wtl = "" then
[ Letter (whd, true, []) ]
else
[ Letter (whd, false, insert [] wtl) ]
with
| Already -> lex ;;
let a = insert [] "word"
in
a == insert a "word" ;;
-----
returns false?
--
Best regards,
Alexander.
-------------------
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