Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Cash 0.10
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Bruno.Verlyck@i...
Subject: Re: [Caml-list] Cash 0.10
   X-Comment-To: Bruno.Verlyck@inria.fr
   From: Dmitry Bely <dbely@mail.ru>
   Date: Fri, 19 Jul 2002 09:15:28 +0400

   Bruno.Verlyck@inria.fr writes:
   > I'm pleased to announce the first release (0.10) of Cash, the Caml Shell.
   Just curious: is it possible to build (some subset of) Cash under
   Win32?
I'm afraid you'd have to use Cygwin (and the CVS sources, or the next
version).  Cash aims at providing another Posix interface, oriented
towards shell programming: you must be able to fork...

As for a subset: the present decomposition of Cash in modules is very
ad-hoc: the only exported interface include all of them, and most
modules are related to a slice of the documentation, but they often
depend on others.  One could make a much finer work, to be able to
link only some parts of Cash.  But:
- it's a lot of work (and the documentation should be restructured);
- I'd better add the missing parts of scsh, and a syntax for pipelines;
- I have no experience of Windows programming, and am not really
  interested in it (sorry).
All this could evolve if there's enough interest, but not in a near
future.

   Also, does it need Ocaml/Ocaml libraries when running?  Can I use
   Cash on the computer where Ocaml itself is not installed?
I didn't tried it.  You have 2 ways of using Cash:
- you can make stand-alone executables, with -custom; this should
  work, but you have to compile each of your applications;
- you use it in script mode, so it uses a Caml top-level.  For any
  reference to the Caml standard library, the top-level must have
  access to the .cmi; e.g., if I just type:
    # String.length;;
  under a fresh top-level, tracing it shows that it reads strings.cmi:
    stat64("string.cmi", 0xbfffeb20)        = -1 ENOENT (No such file or directory)
    stat64("/usr/local/lib/ocaml-3.04/contrib/string.cmi", 0xbfffeb20) = -1 ENOENT (No such file or directory)
    stat64("/usr/local/lib/ocaml-3.04/contrib/string.cmi", 0xbfffeb20) = -1 ENOENT (No such file or directory)
    stat64("string.cmi", 0xbfffeb20)        = -1 ENOENT (No such file or directory)
    stat64("/usr/local/lib/ocaml-3.04/string.cmi", {st_mode=S_IFREG|0600, st_size=3069, ...}) = 0
    open("/usr/local/lib/ocaml-3.04/string.cmi", O_RDONLY) = 3
    read(3, "Caml1999I008\204\225\246\276\0\0\v\220\0\0\2M\0\0\10I\0"..., 4096) = 3069
    close(3)                                = 0
    write(1, "- : string -> int = <fun>\n", 26) = 26

  So for script mode, the answer is no.

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