I installed 112.35.01 and now it works perfectly, both the installation and your solution.
I join the working code for mailing list. I also updated the gist.
Thanks a lot for your help
Leo
Le 2015-08-04 10:34, Ben Millwood a écrit :
Make sure you are installing core 112.35.01, not 112.35.00. I believe it contains a fix for the issue you're seeing. If it doesn't, let me know and I'll look into it a little more.
On 3 August 2015 at 19:54, <leowzukw@vmail.me> wrote:
Thanks for your quick answer. It seems clear enough.
Unfortunately, I can't install latest version of core, I get this error
# File "src/iobuf.ml", line 624, characters 17-28:
# Integer literal exceeds the range of representable integers of type intI think it's because of my 32bit computer. I will keep your solution in mind until I could get the latest version of core.
Leo
PS: Should I report an issue on Github for that ? In opam or core repository ?
Le 2015-08-03 18:53, Ben Millwood a écrit :
There are a few ways of doing this. The newly-added Applicative interface is worth showing off:let shared_params =let open Command.Param inreturn (fun v c rcfile ->verb := v;color := c;rcfile)<*> flag "-v" (optional_with_default 0 int) ~doc:"..."<*> flag "-c" (...) ~doc:"..."<*> ...shared_params is now a package of arguments that sets the verb and color refs and then gives you the rcfile (it's only that way to mirror your code; I'd usually prefer to just put all three in a record or something). You can use it in Command.basic as follows:let sum =Command.basic~summary:"whatever"Command.Spec.(empty+> shared_params+> anon ...)(fun rc ... () -> ...)let main () =Command.run beginCommand.group ~summary:"some stuff"[ "sum", sum; "settings", ...]endLet me know if I've omitted too much :)
On 3 August 2015 at 13:18, <leowzukw@vmail.me> wrote:
Hello everybody,
I'm trying to use subcommands with the Core library. I would like to factorize several things :
- A set of common arguments (to set color, verbosity and so on)
- A common way to deal with these arguments
- A pretty way to define subcommands using these common arguments and way to handle it.
Main problem is that I can't define more arguments to my subcommand. More details in my code, which is joined. You may also find it here (Github gist, could be updated): http://j.mp/1JHlZ6S
Result of the compilation (corebuild cmd.byte)
+ ocamlfind ocamlc -c -w A-4-33-40-41-42-43-34-44 -strict-sequence -g -bin-annot -short-paths -thread -syntax camlp4o -package bin_prot.syntax -package sexplib.syntax,comparelib.syntax,fieldslib.syntax,variantslib.syntax -package core -o cmd.cmo cmd.ml
File "cmd.ml", line 98, characters 5-44:
Warning 48: implicit elimination of optional argument ?extend
File "cmd.ml", line 49, characters 11-341:
Warning 27: unused variable summary.
File "cmd.ml", line 49, characters 20-341:
Warning 27: unused variable args.
Finished, 3 targets (0 cached) in 00:00:03.
Thanks for your help
Leo