From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 926517F91C for ; Tue, 24 May 2016 00:17:50 +0200 (CEST) IronPort-PHdr: 9a23:2zsTFR8YnzoGLf9uRHKM819IXTAuvvDOBiVQ1KB80uocTK2v8tzYMVDF4r011RmSDdSdsKMP0rSJ+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuSt+U1JX8jr7ts7ToICx2xxOFKYtoKxu3qQiD/uI3uqBFbpgL9x3Sv3FTcP5Xz247bXianhL7+9vitMU7q3cYk7sb+sVBSaT3ebgjBfwdVWx+cjMD39DwrRTIUSeI43IdVC1WzksJUED560TWV5Hwvy/NnH57yi2bdZn6RLY1VDDk5bpmTg3siQ8KLSQw7GDOl8E2h6IN8zy7oBkq5ofOfICTfNZzW67ZedRSEW9IRNpQUSBMB464a4wnAO8IPOIepI748Qhd5SCiDBWhUbu8ggRDgWX7iOhniuk= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=martindemello@gmail.com; spf=Pass smtp.mailfrom=martindemello@gmail.com; spf=None smtp.helo=postmaster@mail-oi0-f43.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of martindemello@gmail.com) identity=pra; client-ip=209.85.218.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="martindemello@gmail.com"; x-sender="martindemello@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of martindemello@gmail.com designates 209.85.218.43 as permitted sender) identity=mailfrom; client-ip=209.85.218.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="martindemello@gmail.com"; x-sender="martindemello@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-oi0-f43.google.com) identity=helo; client-ip=209.85.218.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="martindemello@gmail.com"; x-sender="postmaster@mail-oi0-f43.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BCAgDvgENXfyvaVdFcFoM/OH0GqQEqhTuGHIUHgXcigj2DMgKBLwc5EwEBAQEBAQEBEQEBCQsLCSEvgi2CFgEBAwESER0BGxILAQMBCwYFCxodAgIiAREBBQEKBAENBhMSEIdyAQMPCA6kJIExPjGLO4FqglgFiBQKGScDClKDVAEBAQEBBQEBAQEBAQEYAgYQhheETYRsglSCWQWGQQyIDIlehgCIIII3jGWHeIYVEh6BDw8TAYI4DRyBaxwyAYlQAQEB X-IPAS-Result: A0BCAgDvgENXfyvaVdFcFoM/OH0GqQEqhTuGHIUHgXcigj2DMgKBLwc5EwEBAQEBAQEBEQEBCQsLCSEvgi2CFgEBAwESER0BGxILAQMBCwYFCxodAgIiAREBBQEKBAENBhMSEIdyAQMPCA6kJIExPjGLO4FqglgFiBQKGScDClKDVAEBAQEBBQEBAQEBAQEYAgYQhheETYRsglSCWQWGQQyIDIlehgCIIII3jGWHeIYVEh6BDw8TAYI4DRyBaxwyAYlQAQEB X-IronPort-AV: E=Sophos;i="5.26,357,1459807200"; d="scan'208,217";a="219415341" Received: from mail-oi0-f43.google.com ([209.85.218.43]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 24 May 2016 00:17:49 +0200 Received: by mail-oi0-f43.google.com with SMTP id x19so300593853oix.2 for ; Mon, 23 May 2016 15:17:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=QRGNBYeS+IjJrj7b2VwU4ltcMUdmVMb/cfAGVtgdmXo=; b=Zn7QQ0GCFwQqvpeUiw6+iouw6xFfCYOGAiRD48hwADvmU49dAlvPWD/cv0qB7NAKpS icY0sf8D9nkovDe6ULwXC3FF1OMbfWaWKAVKp1qErffwBrIYUNj4SvjJNnnTjBarNNkq 9Jb8ALb6T7szY+niYfhAKHAdelS497yMQSgo2dI40NO2IvlRGEUsjswfra+chYLFf3Fc s72IZ1YZBaVm49CCEHrXboJ2FdhU2z+vLsCwpEJTx9oPdTFyHP916SSukfn45h88Tokx p/cg5ttwlU0BazA2A/pY+17gcHunJKjBo38FuHIqUJspIRqm1Ewn3WchZ9aS9Z+tzws3 OpOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=QRGNBYeS+IjJrj7b2VwU4ltcMUdmVMb/cfAGVtgdmXo=; b=Di5ppAjSL6BYp7bBoa29G61fcYBQ/SqjXCX79IMZC5Som4iV1Px0BavsxWyIVx2teT xjI+/71ESxWdcInjnqCcwyoYD4ylELUf0tYpXNMTaKwzEu/iyq4ogP8cPRmk+TWgXgk+ YiQrkVApIG8nYBnL49epj1hfXiGklwjXoWZ/Mc+MdPT2+zDCuhFLBJUnbjPJYj2UJk1Q tVQN6alYZ+Q/HTSki1GBnnoEBKsk4JXpC82eP2yVBGu1S3FWkAsx7wK4QnECDDqGRxkY iTUQP9fKc8Av4CKeTn4AyxuL+Bwzu+n3EO7qa3R88f+5dPLkK3CkSUFb7U3enimuPRa4 UG6A== X-Gm-Message-State: AOPr4FWXaRTFjzSTrYYcIGPHhrqPYbtgSoxG064jpo8ffJ7UU2etzwTefsFJT/7vUwf2ecOFwVXJrAxGUzdR2g== MIME-Version: 1.0 X-Received: by 10.202.75.136 with SMTP id y130mr9338357oia.32.1464041867859; Mon, 23 May 2016 15:17:47 -0700 (PDT) Received: by 10.202.79.21 with HTTP; Mon, 23 May 2016 15:17:47 -0700 (PDT) In-Reply-To: <61A649C2ACD24F2297F2FEC72F2969DF@erratique.ch> References: <61A649C2ACD24F2297F2FEC72F2969DF@erratique.ch> Date: Mon, 23 May 2016 15:17:47 -0700 Message-ID: From: Martin DeMello To: =?UTF-8?Q?Daniel_B=C3=BCnzli?= Cc: OCaml List Content-Type: multipart/alternative; boundary=001a11c1857e785dea053389cfdd Subject: Re: [Caml-list] [ANN] Bos 0.1.0 --001a11c1857e785dea053389cfdd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Looks very nice! Do you think this would be a good route towards getting ocamlbuild working seamlessly on windows? martin On Mon, May 23, 2016 at 2:01 PM, Daniel B=C3=BCnzli wrote: > 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/ > > > > > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --001a11c1857e785dea053389cfdd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Looks very nice! Do you think this would be a good route t= owards getting ocamlbuild working seamlessly on windows?

martin

On Mon, May 23, 2016 at 2:01 PM, Daniel B=C3=BCnzli <= ;daniel.bu= enzli@erratique.ch> wrote:
= Hello,

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

```
Bos provides support for basic and robust interaction with the operating sy= stem in OCaml. It has functions to access the process environment, parse co= mmand line arguments, interact with the file system and run command line pr= ograms.

Bos works equally well on POSIX and Windows operating systems.

Bos depends on Rresult, Astring, Fmt, Fpath, Logs and the OCaml Unix librar= y.
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 l= ight 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 recov= er the shell's terseness or processing model but rather tries to overco= me the shell's brittleness in face of errors, error reporting and insan= e 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 g= ood usability for the end user who is the one who eventually gets processin= g failures in the face.

This first version number is intentionally low, as I don't see bos as f= ully finished at the moment. Some interfaces could be tweaked and other add= ed 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 o= f the features provided by the library, so the low number should not be int= erpreted as "alpha" quality software. What is provided here shoul= d work as described and if it doesn't, scream on the issue tracker.

Best,

Daniel


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






--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocam= l_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--001a11c1857e785dea053389cfdd--