2012-04-10 12 views
3

Ich habe nach einer guten Dokumentation darüber gesucht, wie Standard ML unter Windows läuft. Hat jemand eine gute Anleitung dazu?Running Standard ML unter Windows

Ich habe versucht, Compilierung sml/nj in Cygwin, mit dieser Anleitung: http://www.smlnj.org/install/index.html

$ config/install.sh 
config/install.sh: Using shell /bin/sh. 
config/install.sh: SML root is /usr/local/sml. 
config/install.sh: Installation directory is /usr/local/sml. 
config/install.sh: Installing version 110.74. 
config/install.sh: URL of source archive is http://smlnj.cs.uchicago.edu/dist/working/110.74/. 
config/install.sh: Script /usr/local/sml/bin/.arch-n-opsys reports ARCH=x86; OPSYS=win32; HEAP_SUFFIX=x86-win32. 
/usr/local/sml/config/unpack: The run-time tree already exists. 
config/install.sh: Compiling the run-time system. 
(nmake /Fmakefile.win32 MAKE="nmake /Fmakefile.win32" RUNTIME="run.x86-win32.exe" VERSION="v-x86-win32" CC="cl" CFLAGS="/Zi" CPP="cl /E /EP" TARGET=X86 DEFS=" /DHOST_X86 /DTARGET_X86 /DOPSYS_WIN32 /DVREGS /DINDIRECT_CFUNC /DDLOPEN" XOBJS="" XLIBS="" LD_LIBS="" XCLIBS="" run.x86-win32.exe) 
make: -c: Command not found 
mk.x86-win32:26: recipe for target `all' failed 
make: *** [all] Error 127 
config/install.sh: !!! Run-time system build failed for some reason. 

Irgendwelche Vorschläge geschätzt würde.

+0

Ich lief auf das gleiche Problem (und am Ende endete mit einem Windows msi). Ich habe mich in den Code vertieft und es scheint, dass das Installationsskript die Informationen, die Cygwin über das Betriebssystem bereitstellt, nicht erkennt. Selbst nach dem Hinzufügen von Informationen funktionierte es für mich immer noch nicht, da ein Teil des Codes in einer 32-Bit-Assembly geschrieben wurde, während der Compiler 64-Bit-C-Bibliotheken verwendete. –

Antwort

4

Moscow ML (MosML) funktioniert out of the box auf Windows (keine Notwendigkeit für Cygwin). Sie können entweder eine Zip-Datei oder ein selbstextrahierendes Installationsprogramm herunterladen.

Die Website enthält auch eine ziemlich gute Dokumentation (gut für einige der MosML-spezifischen Teile) und Links zu anderen guten Referenzen.

In Bezug auf Ihr Problem erwähnt die Anleitung, auf die Sie verweisen, die Kompilierung von sml/nj unter Windows nicht. Nur mit Cygwin macht es nicht "Linux" (Cygwin hat einige Macken). Die Quelle enthält einige notes zum Installieren (und Kompilieren) von Cygwin. Beachten Sie, wenn Sie eine ältere Version von sml/nj verwenden, dann ist es nicht unbedingt kompatibel mit Cygwin.

Auf einer Randnotiz. Es gibt ein MSI-Installationsprogramm für Windows, warum nicht verwenden?

+0

die msi sieht aus wie der weg zu gehen. (Obwohl die Windows-Eingabeaufforderung cmd ist ein wenig schrecklich) – user833970

1

Wenn Sie nach einer schnellen und schmutzigen Implementierung suchen, sollten Sie versuchen, Cambridge ML. Wir verwenden es für den Unterricht von Studenten ML hier in Cambridge. Nicht die beste Option für eine groß angelegte Entwicklung, aber ausreichend, um die Grundlagen der Sprache zu vermitteln.

2

Es ist zu einem laufenden Gag in der langen Geschichte von Standard ML geworden, dass seine beste Implementierung kaum bekannt ist: Poly/ML.

Die releases bei Github enthalten auch MSIs für Windows.

+0

Wenn ich das (5,7 x64) .msi alles, was ich bekomme, ist eine schäbige PolyML.exe, die eine Windows-Replik-Anwendung oder etwas zu sein scheint. Wo ist der Compiler und alles andere? – BitTickler