futhark-csharp¶
SYNOPSIS¶
futhark csharp [options…] infile
DESCRIPTION¶
futhark csharp
translates a Futhark program to sequential C# code,
and either compiles that C# code with the Roslyn C# Compiler csc
to an executable binary program, or produces a .dll
file that can
be linked with other code.. The standard Futhark optimisation
pipeline is used, and csc
is invoked with -lib:$MONO_PATH
,
-r:Mono.Options.dll
, and /unsafe
.
The resulting program will read the arguments to the entry point
(main
by default) from standard input and print its return value
on standard output. The arguments are read and printed in Futhark
syntax.
OPTIONS¶
-h | Print help text to standard output and exit. |
--library | Generate a library instead of an executable. Appends .dll
to the name indicated by the -o option to determine output
file names. |
-o outfile | Where to write the result. If the source program is named ‘foo.fut’, this defaults to ‘foo’. |
--safe | Ignore unsafe in program and perform safety checks unconditionally. |
-v verbose | Enable debugging output. If compilation fails due to a compiler error, the result of the last successful compiler step will be printed to standard error. |
-W | Do not print any warnings. |
-V | Print version information on standard output and exit. |
REQUIREMENTS¶
futhark csharp
uses the Mono implementation of the .NET framework.
To compile and execute the compiled binaries/libraries, you must have the MONO_PATH
environment variable defined. MONO_PATH
must be set to a directory containing the Mono.Options
dll.
Mono.Options is available on https://www.nuget.org/packages/Mono.Options/5.3.0.1