[m-users.] Some POSIX support for Mercury
Volker Wysk <[email protected]> Tue, 03 Sep 2024 19:14:13 +0200
| Newsgroups | gmane.comp.lang.mercury.general |
|---|---|
| Message-ID | <[email protected]> |
Hi There are just a handful of POSIX functions that are needed for creating processes and building pipes and streams. With them, a predicate that runs a specific program and connects to its stdin/stdout/stderr could be built. It would also be possible to build pipes between processes and to redirect stdin/stdout/stderr from/to files. I think it wouldn't be hard to implement them in C (Unix and Windows) and Java. I don't know any C#. An common Mercury abstraction of file descriptors would be needed, that's shared between these three platforms. The C version would just map them to the real POSIX calls (possibly with a little more code for Windows). For Java, it can be done, too. Here's a file descriptor class, which I've found on the web: https://www.naukri.com/code360/library/file-descriptor-class-in-java I've also found a project which aims at emulating POSIX in Java. Unfortunately it's incomplete: https://github.com/jnr/jnr-posix And, there would also be needed a predicate which attaches a Mercury stream to a file descriptor. Cheers, Volker _______________________________________________ users mailing list [email protected] https://lists.mercurylang.org/listinfo/users