Umarmungen - Online in der Cloud

Dies ist der Befehl Hugs, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


hugs, runhugs, ffihugs - Hugs 98, funktionales Programmiersystem

ZUSAMMENFASSUNG


Umarmungen [ Optionen ] [ Module ]
umarmungen [ Optionen ] Modulen [ args ]
fihugs [ Optionen ] Modulen [ Compiler_Argument ] ... ...

BESCHREIBUNG


Hugs ist ein Interpreter für Haskell, eine standardmäßige, nicht strenge funktionale Programmiersprache.
Hugs implementiert fast den gesamten Haskell 98-Standard, mit Ausnahme von gegenseitig rekursiven
Module. Der Name Umarmungen ist eine Gedächtnisstütze für die Haskell Benutzer Mädchen für alles System.

Der Interpreter wird mit dem gestartet Umarmungen Befehl. Nach der Verarbeitung von Optionen lädt es die
Standardmodul Auftakt und alle anderen Module, die in der Befehlszeile aufgeführt sind.

Jedes Haskell-Modul wird in einer separaten Datei gespeichert. Beim Laden eines Moduls Name, Umarmungen
ersetzt jedes `.' im Name mit einem `/' und sucht in jedem der Verzeichnisse bei seiner Suche
Weg (siehe -P für OPTIONAL) für die Dateien Name.hs und Name.lhs. (Die anerkannten Suffixe
kann mit der geändert werden -S Option, beschrieben unter OPTIONAL.) Es versucht auch Name als ein
wörtlicher Dateiname. Dateien mit der Endung ".lhs" werden als literarische Skripte behandelt.

OPTIONAL


Einige Optionen werden mit umgeschaltet + or - um sie ein- bzw. auszuschalten.

Sprache Konformität
+98 Akzeptieren Sie nur Haskell 98 (kann nicht innerhalb von . geändert werden) Umarmungen; Standard ein). Das drehen
off aktiviert mehrere spezielle Hugs-Erweiterungen, die in der Umarmungen 98
Mitglied Manuell.

+o Überlappende Instanzen zulassen (eine Hugs-Erweiterung; Standard: aus)

+O Unsichere überlappende Instanzen zulassen (eine Hugs-Erweiterung; Standard: aus)

+H "Hier-Dokumente" zulassen (eine Hugs-Erweiterung; Standard: aus)

Modul Laden
+l Behandeln Sie Dateien, deren Namen nicht auf ` . enden.hs' noch `.lhs' als literarische Skripte
(Standard: aus)

+. Drucken Sie Punkte, um den Fortschritt beim Laden von Modulen anzuzeigen (Standard: aus)

+q Nichts drucken, um den Fortschritt beim Laden von Modulen anzuzeigen (Standard: ein)

+w Immer anzeigen, welche Dateien geladen sind (Standard: aus)

Ausdruck Auswertung
+s Anzahl Reduktionen/Zellen nach jeder Auswertung drucken (Standard: aus)

+t Druckart nach jeder Auswertung (Standard: aus)

+T Wenden Sie die Haskell-Standardregeln vor dem Drucken von Typen an (Standard: aus)

+g Anzahl der Zellen ausgeben, die nach jeder Garbage Collection wiederhergestellt wurden (Standard: aus)

+Q Namen beim Drucken qualifizieren (Standard: aus)

+k Artfehler vollständig anzeigen (Standard: aus)

+u Verwenden "erklären" um Ergebnisse anzuzeigen (Standard: ein)

+I Ergebnisse von IO-Programmen anzeigen (Standard: aus)

Parameter
Andere Optionen (bei denen - könnte durch ersetzt werden +, die Wahl macht keinen Unterschied) sind:

-hnum Legen Sie die Heap-Größe fest (kann nicht innerhalb von . geändert werden) Umarmungen; Standard: 250K)

-pstr Eingabeaufforderungszeichenfolge auf setzen str (Standard: `%s> '). Irgendein %s in der Eingabeaufforderung wird ersetzt
nach dem aktuellen Modulnamen.

-rstr Setze den letzten Ausdruck wiederholen auf str (Standard: $$).

-Pstr Suchpfad für Quelldateien setzen auf str, die eine durch Doppelpunkte getrennte Liste von sein sollte
Verzeichnisse. Ein Nulleintrag in dieser Liste wird durch die vorherige Suche ersetzt
Weg; eine Null str bedeutet den Standardpfad. Jedes Auftreten von {Umarmungen} in dieser Zeichenfolge
wird auf das Hugs-Bibliotheksverzeichnis erweitert, nämlich /usr/lib/hugs. Ähnlich, {Heim}
wird auf Ihr Home-Verzeichnis erweitert (der Wert des HOME Umgebungsvariable).
Ein Eintrag der Form `Verzeichnis/*' bedeutet alle unmittelbaren Unterverzeichnisse von
Verzeichnis. Der Standardwert ist

.:{Home}/lib/hugs/packages/*:/usr/local/lib/hugs/packages/*:{Hugs}/packages/*:{Hugs}/libraries

-Sstr Setzen Sie die durch Doppelpunkte getrennte Liste der Quelldatei-Suffixe auf str (Standard: .hs:.lhs). Die
Null-Eintrag in dieser Liste wird durch die vorherige Suffix-Liste ersetzt; eine Null str
bedeutet die Standardliste.

-Estr Editoreinstellung verwenden von str (Standard: der Wert des EDITOR -Umgebung
Variable). Alle Vorkommnisse von %d und %s in der Editor-Option werden durch das ersetzt
Startzeilennummer bzw. den Namen der zu bearbeitenden Datei. Eine gemeinsame
Einstellung ist "vi +%d %s".

-cnum Setzen Sie die Beschränkungsgrenze in der Typprüfung auf num (Standard: 40).

-Fcmd Setzen Sie den Präprozessorfilter für Quelldateien auf cmd (standardmäßig deaktiviert). Anstatt von
eine Quelldatei direkt lesen, Umarmungen liest die Standardausgabe von cmd lauf mit
der Quelldateiname als Argument.

-Xstr Die Zeichenfolge str wird als Optionszeichenfolge interpretiert. Dies ist zum Beispiel nützlich,
zum Übergeben mehrerer Argumente an umarmungen in einem #! Skripte.

BEFEHLE


Nach dem Laden des Interpreters stehen folgende Befehle zur Verfügung:

:Belastung [Module] alle Module außer dem Prelude löschen und die angegebenen Module laden.

:Auch Module Zusatzmodule lesen.

:neu laden zuletzt wiederholen Belastung Befehl.

:bearbeiten Datei bearbeiten Datei.

:bearbeiten letzte Datei bearbeiten.

:Modul Modulen set-Modul zum Auswerten von Ausdrücken.

ausdr Ausdruck auswerten.

:Art ausdr Ausdrucksart drucken.

:? diese Befehlsliste anzeigen.

:einstellen Optionen Befehlszeilenoptionen festlegen.

:einstellen Hilfe zu Befehlszeilenoptionen.

:namen [Muster] Listennamen, die sich derzeit im Gültigkeitsbereich befinden, die mit einem der Shell-Muster übereinstimmen.

:die Info Namen Benannte Objekte beschreiben.

:Durchsuche Module Durchsuchen Sie die exportierten Namen von Module.

:finden Name Bearbeiten Sie die Datei mit der Definition von Name.

:!Befehl Muschel entkommen.

:CD dir ändere die Richtung.

:gg Müllabfuhr erzwingen.

:Ausführung Umarmungen-Version drucken.

: Verlassen Umarmungsdolmetscher verlassen.

Jeder Befehl kann abgekürzt werden zu :c woher c ist das erste Zeichen im vollständigen Namen. Auf
die meisten Systeme können Sie auch beenden Umarmungen indem Sie das Ende-der-Datei-Zeichen (^D) eingeben.

Beachten Sie, dass die Unterbrechungstaste (^C auf den meisten Systemen) jederzeit während der Verwendung verwendet werden kann
Umarmungen den Vorgang des Einlesens einer Datei mit Funktionsdefinitionen abzubrechen oder die
Auswertung eines Ausdrucks. Wenn die Unterbrechung erkannt wird, Umarmungen druckt die Zeichenfolge
"{Unterbrochen!}" und druckt die Eingabeaufforderung aus, damit weitere Befehle eingegeben werden können.

EIGENSTÄNDIGE PROGRAMME


Das umarmungen Befehl ist ein Interpreter für ein ausführbares Hugs-Skript, das a . enthalten muss
Haskell Main Modul. Zum Beispiel die ausführbare Datei HELLO könnte die Zeilen enthalten

#!/usr/bin/runhugs +l

> Modulen Main woher
> Haupt- = putStr "Hallo, Welt\n"

Wenn diese Datei ausgeführt wird, umarmungen wird die aufrufen Haupt- Funktion. Alle Argumente zu
die Befehlszeile wird verfügbar sein über getArgs.

Beachten Sie, dass #! übergibt nur ein Orgument an das Skript. Die -X Option kann verwendet werden, um zu erhalten
um diese.

C INTERFACE


Auf Architekturen, die dynamisches Linken unterstützen, Umarmungen implementiert den Teil des Haskell 98
Fremd Funktion Schnittstelle (FFI), die es Haskell-Funktionen ermöglicht, C-Routinen aufzurufen. (Auf
die x86-, PowerPC- und Sparc-Architekturen, alle fremd importierens werden unterstützt; auf andere,
einzige statisch Importe werden bereitgestellt.) Module mit solchen fremd Erklärungen müssen sein
zusammengestellt mit dem fihugs Befehl vor der Verwendung mit Umarmungen. Zusätzliche Argumente für das C
Compiler kann über . geliefert werden Compiler_ArgumentS. Nehmen wir zum Beispiel an, Sie haben etwas C
funktioniert in test.c und einige FFI-Deklarationen für diese Funktionen in Test.hs und der Code
in test.c muss mit kompiliert werden -lm. Dann würdest du das Modul mit dem kompilieren
Befehl

fihugs Test.hs test.c -lm

die eine Objektdatei erzeugt Test.so. Dann wenn Umarmungen Belastungen Test.hs, es wird auch geladen
Test.so.

Im Standard-FFI ist jeder fremd importieren Deklaration sollte eine C-Header-Datei benennen
enthält den Prototyp der Funktion. Da dies oft umständlich ist, fihugs
bietet folgende zusätzliche Option:

-istr Geben Sie ein Include für die generierte C-Datei an. Die Include-Zeichenfolge sollte sein:
etwas, das folgen kann"#einschließen" in einem C-Programm, wie in

fihugs '-ich ' '-i"mydefs.h"' Test.hs test.c -lm


Umarmungen
Zusätzliche Optionen für Umarmungen, wird vor jedem Befehl in der Befehlszeile verarbeitet.

UMARMUNGEN
Das Hugs-Bibliotheksverzeichnis (Standard: /usr/lib/hugs).

EDITOR Der Standardeditor, wenn -E ist nicht gegeben.

SHELL Wird verwendet, um die Shell anzugeben, die von der aufgerufen wird :! Befehl.

Verwenden Sie Umarmungen online mit den Diensten von onworks.net



Neueste Linux- und Windows-Online-Programme