caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: David Allsopp <dra-news@metastack.com>
To: Bikal Gurung <gbikal@gmail.com>, David Scott <scott.dj@gmail.com>,
	"paul.lachat@edu.univ-fcomte.fr" <paul.lachat@edu.univ-fcomte.fr>
Cc: "caml-list@inria.fr" <caml-list@inria.fr>
Subject: RE: [Caml-list] [Question] Named pipe on Windows.
Date: Thu, 16 Mar 2017 13:54:44 +0000	[thread overview]
Message-ID: <E51C5B015DBD1348A1D85763337FB6D90135ACA4D7@Remus.metastack.local> (raw)
In-Reply-To: <CA+v7nzjriYErrmA2JQPBbuS5sAobSkVxRnUVovj8bugXP09kFQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3036 bytes --]

Yes – I had patched it for MSVC. The results are very good and at some point I’ll package it up properly for merging.

Note that the interop is trickier for the mingw ports because the resulting executables need to be able to call into LXSS. There’s also some pain with setting environment variables when calling Win32 processes, which is why I hadn’t got around to finishing it off.

Cygwin will only truly redundant if/when LXSS is available on all platforms – it’s only Windows 10 and not Server 2016 (to say nothing of older versions of Windows).


--dra

From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On Behalf Of Bikal Gurung
Sent: 16 March 2017 12:09
To: David Scott <scott.dj@gmail.com>; paul.lachat@edu.univ-fcomte.fr
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] [Question] Named pipe on Windows.

With regards to ocaml on windows, has anyone tried using bash on windows and ocaml built using msvc/mingw?
Bash on windows now supports calling native windows binaries from within the bash shell itself.

https://msdn.microsoft.com/en-us/commandline/wsl/interop#invoking-windows-binaries-from-wsl

I am guessing this probably makes Cygwin redundant as a ocaml build environment.

On Thu, 16 Mar 2017 at 09:38, David Scott <scott.dj@gmail.com<mailto:scott.dj@gmail.com>> wrote:
Hi,

On Thu, Mar 16, 2017 at 8:02 AM, <paul.lachat@edu.univ-fcomte.fr<mailto:paul.lachat@edu.univ-fcomte.fr>> wrote:
Hello,

I need to setup communication between two Ocaml processes on Windows.
I think that using the named pipe of Windows is the good method to do this task.

But I can't find any module for Ocaml who allow using the system call of Windows.

I have already find this module https://opam.ocaml.org/packages/named-pipe/, but it use C,
and I would like to avoid depending on another langage than Ocaml or software like Cygwin.

Although I'm one of the authors of that particular library I now prefer to use this other library instead:

https://github.com/fdopen/uwt
https://opam.ocaml.org/packages/uwt/

where "Uwt.Pipe" is a Unix domain socket on Unix and a named pipe on Windows. I'm very happy with "uwt" -- it seems to be very stable and reliable, despite the relatively low version number.

Personally I don't want my final executables to depend on the cygwin.dll but I don't mind if my development environment uses cygwin for the Unix utilities like "make", "vi" etc. I usually install OCaml one Windows using this installer:

http://fdopen.github.io/opam-repository-mingw/installation/

-- this installs everything you need (including Cygwin). I then `opam install` my dependencies and `make`, like I can on Unix. My resulting .exe files are independent of cygwin.dll and I ship them as-is.

Hope this helps a little,

Dave


Does anybody know a way to use named pipe of Windows in Ocaml ?

Thank you in advance for your answer !

Ps : Sorry if it's the wrong mailing list to ask, it's the first time I use one.



--
Dave Scott

[-- Attachment #2: Type: text/html, Size: 10410 bytes --]

  reply	other threads:[~2017-03-16 13:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-16  8:02 paul.lachat
2017-03-16  8:23 ` Johannes Kanig
2017-03-16  9:11 ` [Caml-list] " David Allsopp
2017-03-16  9:37 ` [Caml-list] [Question] " David Scott
2017-03-16 12:09   ` Bikal Gurung
2017-03-16 13:54     ` David Allsopp [this message]
2017-03-18  2:24       ` Bikal Gurung

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=E51C5B015DBD1348A1D85763337FB6D90135ACA4D7@Remus.metastack.local \
    --to=dra-news@metastack.com \
    --cc=caml-list@inria.fr \
    --cc=gbikal@gmail.com \
    --cc=paul.lachat@edu.univ-fcomte.fr \
    --cc=scott.dj@gmail.com \
    /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).