In pattern position you must write patterns, not expressions; this is a different syntaxic class that, in particular, doesn't have any Module.foo syntax.
Hello caml'ers
This one is short, I'm writting a signal handler:
205: let sig_exit () =
206: Unix.kill !chpid Sys.sigterm ;
207: match (Unix.waitpid [] !chpid) with
208: | pid, Unix.WSIGNALED (Sys.sigterm) -> log `LOG_NOTICE "child terminated by parent"
209: | pid, pstat -> log `LOG_ERR "child asked to terminate by parent, but unexpected process status received"
and compilation chokes on:
philou@air:~/mysrc/deconvolution/jackond$ make
ocamlfind opt -thread -package unix,threads,netsys,netstring,netplex,rpc,equeue,jack,str,syslog -c patcher.ml -o patcher.cmx
File "patcher.ml", line 208, characters 28-35:
Error: Syntax error
make: *** [patcher.cmx] Error 2
replacing Sys.sigterm by -11 or signumber, it compiles fine.
I don't get it.
It's using ocaml 3.12 of godi, on osx 10.6.5, x86_64
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs