caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
To: OCaml List <caml-list@inria.fr>
Subject: [Caml-list] [ANN] Bos 0.1.0
Date: Mon, 23 May 2016 23:01:45 +0200	[thread overview]
Message-ID: <61A649C2ACD24F2297F2FEC72F2969DF@erratique.ch> (raw)

Hello, 

I'd like to announce the first release of bos:

```
Bos provides support for basic and robust interaction with the operating system in OCaml. It has functions to access the process environment, parse command line arguments, interact with the file system and run command line programs.

Bos works equally well on POSIX and Windows operating systems.

Bos depends on Rresult, Astring, Fmt, Fpath, Logs and the OCaml Unix library. 
It is distributed under the ISC license.
```

Homepage: http://erratique.ch/software/bos
API docs: http://erratique.ch/software/bos/doc/

Bos can be seen as improved Sys module for programs and scripts that have light OS interaction requirements. Inspired by the excellent work of scsh [0], it seems this path has been pursued more than once in OCaml for example with cash [1] or shcaml [2]. 

Bos however has a slightly different take on this. It does not try to recover the shell's terseness or processing model but rather tries to overcome the shell's brittleness in face of errors, error reporting and insane quoting conventions. The difference between a script and a program is an artificial one and bos tries to encourage you to write programs that do not fail obscurely and evolve gracefully from a quick, small one (a.k.a "script") to a complex one (a.k.a. "program") while keeping good usability for the end user who is the one who eventually gets processing failures in the face.

This first version number is intentionally low, as I don't see bos as fully finished at the moment. Some interfaces could be tweaked and other added in the future (feedback and discussion on the issue tracker is welcome). I did however already write a few programs/scripts that make use of most of the features provided by the library, so the low number should not be interpreted as "alpha" quality software. What is provided here should work as described and if it doesn't, scream on the issue tracker.

Best, 

Daniel


[0] https://scsh.net/
[1] http://pauillac.inria.fr/cash/
[2] http://users.eecs.northwestern.edu/~jesse/code/shcaml/






             reply	other threads:[~2016-05-23 21:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-23 21:01 Daniel Bünzli [this message]
2016-05-23 22:17 ` Martin DeMello
2016-05-23 22:43   ` Daniel Bünzli
2016-05-23 23:08     ` Gabriel Scherer
2016-05-24  6:49     ` Adrien Nader
2016-05-24 12:57 ` SP
2016-05-24 13:14   ` Daniel Bünzli
2016-05-24 14:02     ` SP

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=61A649C2ACD24F2297F2FEC72F2969DF@erratique.ch \
    --to=daniel.buenzli@erratique.ch \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).