Sorry, I did not make it clear what I want. I want ML scripts to invoke from the command line, without compiling them. I made it work, see how. There is an shc [1] translator that compiles shell scripts to C code. I have used a one-liner [2]:
$ cat polyscript.sh #!/bin/bash
tail -n +2 $1 | poly
I compiled this with shc and in turn with gcc:
$ shc-3.8.9/shc -f polyscript.sh $ gcc -Wall polyscript.sh.x.c -o polyscript
Now, I was able to create a first script written in ML:
$ cat smlscript #!/home/gergoe/projects/shebang/polyscript $0
print "Hello World!"
and, I was able to run it:
$ chmod u+x smlscript $ ./smlscript Poly/ML 5.4.1 Release
# Hello World!val it = (): unit
It might be interesting to write polyscript directly in C, but probably that wouldn't make it faster.
Back to the original question: this is why I would like to suppress any compiler message.
I did not find such a flag in the manual, would it be possible to add one, David?
- Gergely
[1] http://www.datsi.fi.upm.es/~frosal/
[2] http://stackoverflow.com/questions/15665119/how-to-define-script-interpreter... holgero's answer
On 29 March 2013 02:03, Phil Clayton phil.clayton@veonix.com wrote:
I'm not sure what your exact requirements are but a possible solution may be to create an executable. Then compile-time output would not be mixed with run-time output. It's straightforward: wrap everything into a toplevel function and export that, e.g.
[pclayton@rizzo ~]$ cat hello.sml fun main () = print "Hello World!\n"; PolyML.export ("hello", main);
Compile: cat hello.sml | poly
Link: POLYHOME=/opt/polyml/polyml-5.**5 # your Poly/ML installation POLYLIB=${POLYHOME}/lib LD_RUN_PATH=${POLYLIB}:${LD_**RUN_PATH} cc -ggdb -o hello -L${POLYLIB} -lpolymain -lpolyml hello.o
Run: ./hello
Phil
On 28/03/13 20:49, Gergely Buday wrote:
Hi,
I would like to feed an sml program into poly from standard input:
$ cat hello.sml |poly Poly/ML 5.4.1 Release
# Hello World!val it = (): unit
Is it possible to use this so that the compiler itself does not print anything? I have found poly -q which does not print the release message but that still prints all the rest.
- Gergely
______________________________**_________________ polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/**mailman/listinfo/polymlhttp://lists.inf.ed.ac.uk/mailman/listinfo/polyml
______________________________**_________________ polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/**mailman/listinfo/polymlhttp://lists.inf.ed.ac.uk/mailman/listinfo/polyml