nim-lang / Nim

Build Status

Dieses Repository enthält den Nim-Compiler, Nims stdlib, Tools und Dokumentation.Weitere Informationen zu Nim, einschließlich Downloads und Dokumentation für die neueste Version, finden Sie auf der Website von Nim oder in den Bleeding Edge-Dokumenten.

Community

Trete dem IRC-Chat beiTrete dem Discord-Server beiTrete dem Gitter-Chat beiHilfe erhaltenNim-Beiträge auf Stack Overflow anzeigenFolgen Sie @nim_lang auf Twitter

  • Das Forum – der beste Ort, um Fragen zu stellen und Nim zu diskutieren.
  • #nim IRC Channel (Freenode) – ein Ort, um Nim in Echtzeit zu diskutieren.Auch dort, wo die meisten Entwicklungsentscheidungen getroffen werden.
  • Discord – ein zusätzlicher Ort, um Nim in Echtzeit zu diskutieren. Die meisten Kanäle dort sind mit IRC verbunden.
  • Gitter – ein zusätzlicher Ort, um Nim in Echtzeit zu diskutieren. Thereis eine Brücke zwischen Gitter und dem IRC-Kanal.
  • Telegram – ein zusätzlicher Ort, um Nim in Echtzeit zu diskutieren. Thereis der offizielle Telegramm-Kanal. Nicht zum IRC überbrückt.
  • Stack Overflow – eine beliebte Q / A-Site zum Programmieren verwandter Themen, die Beiträge über Nim enthält.
  • Github Wiki – Verschiedene von Benutzern bereitgestellte Inhalte.

Kompilieren

Der Compiler unterstützt derzeit offiziell die folgenden Plattform- und Architekturkombinationen:

  • Windows (Windows XP oder höher) – x86 und x86_64
  • Linux (die meisten, wenn nicht alle Distributionen) – x86, x86_64, ppc64 und armv6l
  • Mac OS X (10.04 oder höher) – x86, x86_64 und ppc64

Weitere Plattformen werden unterstützt, sie werden jedoch nicht regelmäßig getestet und sie sind möglicherweise nicht so stabil wie die oben aufgeführten Plattformen.

Das Kompilieren des Nim-Compilers ist recht einfach, wenn Sie die folgenden Schritte ausführen:

Zunächst wird der C-Quellcode einer älteren Version des Nim-Compilers benötigt, um die neueste Version zu booten, da der Nim-Compiler selbst in der Programmiersprache NIM geschrieben ist. Diese C-Quellen sind imnim-lang/csources Repository verfügbar.

Als nächstes benötigen Sie zum Erstellen aus dem Quellcode:

  • Einen C-Compiler wie gcc 3.x/später oder eine Alternative wie clangVisual C++ oder Intel C++. Es wird empfohlen, gcc 3 zu verwenden.x orlater.
  • Entweder git oder wget, um die benötigten Quell-Repositories herunterzuladen.
  • Das build-essential Paket bei Verwendung von gcc unter Ubuntu (und wahrscheinlich auch unter anderen Distributionen).
  • Unter Windows ist MinGW 4.3.0 (GCC 8.10) der minimal empfohlene Compiler.
  • Nim hostet eine bekannte funktionierende MinGW-Distribution:
    • MinGW32.7z
    • MinGW64.7z

Windows Hinweis: Cygwin und ähnliche POSIX-Laufzeitumgebungen werden nicht unterstützt.

Dann, wenn Sie auf einem * nix-System oder Windows sind, sollten die folgenden Schritte compileNim aus der Quelle mit gccgit, und die koch Build-Tool.

Hinweis: Die folgenden Befehle gelten für die Entwicklungsversion des Compilers.Für die meisten Benutzer reicht es aus, die neueste stabile Version zu installieren. Check outthe Installationsanweisungen auf der Website, dies zu tun: https://nim-lang.org/install.html.

Für Paketbetreuer: siehe Packaging guidelines.

Holen Sie sich zuerst Nim von github:

git clone https://github.com/nim-lang/Nim.gitcd Nim

Führen Sie als nächstes das entsprechende Build-Shell-Skript für Ihre Plattform aus:

  • build_all.sh (Linux, Mac)
  • build_all.bat (Windows)

Windows erfordert eine Reihe anderer Abhängigkeiten, die Sie möglicherweise sie müssen includingPCRE und OpenSSL installieren. Nim hostet hier ein Zip-Paket mit bekannten Arbeitsversionen der erforderlichen DLLs.

Wenn Sie die Build-Schritte abgeschlossen haben (unter Windows, Mac oder Linux), sollten Sie Ihrem PFAD das Verzeichnis bin hinzufügen.

Siehe auch Neuaufbau des Compilers.

Koch

koch ist das Build-Tool, mit dem verschiedene Teile von Nim erstellt und unter anderem Dokumente und die Website generiert werden. Das koch -Tool kann auch zum Ausführen der Nim-Testsuite verwendet werden.

Angenommen, Sie haben das bin -Verzeichnis von Nim zu Ihrem PFAD hinzugefügt, können Sie die Tests mit ./koch tests . Die Ausführung der Tests dauert eine Weile, aber Sie können eine Teilmenge von Tests ausführen, indem Sie eine Kategorie angeben (z. B../koch tests cat async).

Weitere Informationen zum koch Build-Tool finden Sie in der Dokumentation im doc/div.erste Datei.

Nimble

nimble ist der Paketmanager von Nim. Weitere Informationen finden Sie im Repositorynim-lang/nimble.

Mitwirkende

Dieses Projekt existiert dank all der Menschen, die dazu beitragen.

Beitrag

Unterstützer bei Open CollectiveSponsoren bei Open CollectiveRichten Sie ein Kopfgeld über Bountysource einBitcoins spendenOpen-Source-Helfer

Siehe detaillierte Richtlinien für Beiträge.Wir begrüßen alle Beiträge zu Nim, unabhängig davon, wie klein oder groß sie sind. Alles, von Rechtschreibkorrekturen bis hin zu neuen Modulen, die in die Standardbibliothek aufgenommen werden sollen, wird begrüßt und geschätzt. Bevor Sie mit dem Beitrag beginnen, sollten Sie sich mit der folgenden Repository-Struktur vertraut machen:

  • bin/build/ – Diese Verzeichnisse sind leer, werden aber verwendet, wenn Nim erstellt wird.
  • compiler/ – der Compiler-Quellcode. Enthält auch Bugfix und Plugins incompiler/nimfix und compiler/plugins.
  • nimsuggest – das nimsuggest-Tool, das zuvor im nim-lang/nimsuggest -Repository vorhanden war.
  • config/ – die Konfiguration für den Compiler und Dokumentationsgenerator.
  • doc/ – die Dokumentationsdateien im reStructuredText-Format.
  • lib/ – die Standardbibliothek, einschließlich:
    • pure/ – Module in der Standardbibliothek, die in reinem Nim geschrieben sind.
    • impure/ – Module in der Standardbibliothek in reinem Nim mit Geschriebenabhängigkeiten in anderen Sprachen geschrieben.
    • wrappers/ – Module, die Abhängigkeiten umschließen, die in anderen Sprachen geschrieben wurden.
  • tests/ – enthält kategorisierte Tests für den Compiler und die Standardbibliothek.
  • tools/ – die Werkzeuge einschließlich niminst und nimweb (meistens überkoch aufgerufen).
  • koch.nim – das Tool, mit dem Nim gebootet, C-Quellen generiert, die Website erstellt und die Dokumentation generiert wird.

Wenn Sie mit dem Erstellen einer Pull-Anfrage mit GitHub und / oder git nicht vertraut sind, lesen Sie bitte diese Anleitung.

Idealerweise sollten Sie sicherstellen, dass alle Tests bestanden sind, bevor Sie eine Pull-Anforderung senden.Wenn Sie jedoch wenig Zeit haben, können Sie einfach die für yourchanges spezifischen Tests ausführen, indem Sie nur die entsprechenden Testkategorien ausführen. Travis CI überprüft, ob alle Tests bestanden wurden, bevor die Pull-Anforderung akzeptiert werden kann.Integrationstests sollten in tests/untestable .

Wenn Sie nach Möglichkeiten suchen, einen Beitrag zu leisten, schauen Sie sich bitte unseren Issue Tracker an.Es gibt immer viele Probleme mit der Bezeichnung Easy; diese sollten ein guter Ausgangspunkt für einen ersten Beitrag zu Nim sein.

Sie können auch bei der Entwicklung von Nim helfen, indem Sie Spenden. Spenden können mit gemacht werden:

  • Open Collective
  • Bountysource
  • Bitcoin

Wenn Sie Fragen haben, können Sie eine Frage im NIM-Forum oder über IRC im #nim-Kanal stellen.

Unterstützer

Vielen Dank an alle unsere Unterstützer!

Sponsoren

Unterstützen Sie dieses Projekt, indem Sie Sponsor werden. Ihr Logo wird hier mit einem Link zu Ihrer Website angezeigt.

Auf der Sponsorenseite unserer Website finden Sie auch eine Liste aller unserer Sponsoren / Unterstützer verschiedener Zahlungsdienste.

Lizenz

Der Compiler und die Standardbibliothek sind unter der MIT-Lizenz lizenziert, mit Ausnahme einiger Module, die explizit etwas anderes angeben. Als Ergebnis können Sie anycompatible Lizenz (im Wesentlichen jede Lizenz) für Ihre eigenen Programme mitnim entwickelt. Es ist Ihnen ausdrücklich gestattet, kommerzielle Anwendungen mit Nim zu entwickeln.

Bitte lesen Sie das Kopieren.txt-Datei für weitere Details.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.