deze repository Bevat De nim compiler, Nim ‘ s stdlib, tools en documentatie.Voor meer informatie over Nim, inclusief downloads en documentatie voor de nieuwste release, kijk op Nim ‘ s website of bleeding edge docs.
Community
- het forum-de beste plek om vragen te stellen en nim te bespreken.
- # nim IRC Channel (Freenode)-een plek om Nim in real-time te bespreken.Ook waar de meeste ontwikkelingsbeslissingen worden genomen.
- Discord – een extra plek om Nim in real-time te bespreken. De meeste kanalen daar zijn overbrugd naar IRC.
- Gitter-een extra plek om Nim in real-time te bespreken. Er is een brug tussen Gitter en het IRC kanaal.
- Telegram-een extra plek om Nim in real-time te bespreken. Er is het officiële Telegram kanaal. Niet overbrugd naar IRC.
- Stack Overflow – een populaire Q / A-site voor programmeergerelateerde topics die berichten over Nim bevat.
- Github Wiki-Overige door gebruikers bijgedragen inhoud.
compileren
de compiler ondersteunt momenteel officieel de volgende combinaties van platform en architectuur:
- Windows (Windows XP of hoger) – x86 en x86_64
- Linux (de meeste, zo niet alle, distributies) – x86, x86_64, ppc64 en armv6l
- Mac OS X (10.04 of hoger) – x86, x86_64 en ppc64
meer platforms worden ondersteund, echter, ze worden niet regelmatig getest en ze kunnen niet zo stabiel zijn als de bovenstaande-beursgenoteerde platforms.
het compileren van de nim-compiler is vrij eenvoudig als je deze stappen volgt:
ten eerste is de C bron van een oudere versie van de nim-compiler nodig om de nieuwste versie te gebruiken omdat de nim-compiler zelf geschreven is in de programmeertaal im. Deze C-bronnen zijn beschikbaar in denim-lang/csources
repository.
Volgende, om van broncode te bouwen hebt u het volgende nodig:
- Een C-compiler zoals
gcc
3.x / later of een alternatief zoalsclang
Visual C++
ofIntel C++
. Het wordt aanbevolen omgcc
3 te gebruiken.x orlater. - hetzij
git
ofwget
om de benodigde bron repositories te downloaden. - Het
build-essential
pakket bij gebruik vangcc
op Ubuntu (en waarschijnlijk ook andere distributies). - op Windows mingw 4.3.0 (GCC 8.10) is de minimaal aanbevolen compiler.
- Nim host een bekende werkende MinGW-distributie:
- MinGW32. 7z
- MinGW64.7z
Windows opmerking: Cygwin en soortgelijke POSIX runtime-omgevingen worden niet ondersteund.
Als u zich op een *nix-systeem of Windows bevindt, moeten de volgende stappen vanuit de bron worden gecompileerd met gcc
git
, en het koch
build tool.
opmerking: de volgende commando ‘ s zijn voor de ontwikkelversie van de compiler.Voor de meeste gebruikers is het installeren van de laatste stabiele versie voldoende. Bekijk hiervoor de installatie-instructies op de website: https://nim-lang.org/install.html.
voor pakketonderhouders: zie verpakkingsrichtlijnen.
eerst, haal Nim van github:
git clone https://github.com/nim-lang/Nim.gitcd Nim
voer vervolgens het juiste build shell script uit voor uw platform:
-
build_all.sh
(Linux, Mac) -
build_all.bat
(Windows)
Windows vereist een aantal andere afhankelijkheden die u kunt gebruiken noodzaak om te installeren includingpcre en OpenSSL. Nim host een zip-pakket met bekende werkende versies van de vereiste DLL ‘ s hier.
ten slotte, als je klaar bent met de bouwstappen (op Windows, Mac of Linux) moet je de bin
map toevoegen aan je pad.
zie ook de compiler opnieuw maken.
Koch
koch
is de build tool die wordt gebruikt om verschillende delen van Nim te bouwen en om gegenereerde documentatie en de website, onder andere dingen. Het hulpprogramma koch
kan ook worden gebruikt om de nim-testsuite uit te voeren.
aangenomen dat u Nim ‘ s bin
map hebt toegevoegd aan uw pad, kunt u de tests uitvoeren met ./koch tests
. Het duurt even voordat de tests uitgevoerd zijn, maar u kunt een subset van tests uitvoeren door een categorie op te geven (bijvoorbeeld./koch tests cat async
).
voor meer informatie over de koch
build tool zie de documentatiein de doc/koch.rst bestand.
Nimble
nimble
is Nim ‘ s pakketbeheerder. Voor meer informatie, zie denim-lang/nimble
repository.
bijdragers
Dit project bestaat dankzij alle mensen die bijdragen.
bij te Dragen
Zie gedetailleerde bijdragen richtlijnen.We verwelkomen alle bijdragen aan Nim, ongeacht hoe klein of groot ze zijn. Alles, van spellingfixes tot nieuwe modules die in de standaardbibliotheek moeten worden opgenomen, wordt verwelkomd en gewaardeerd. Voordat je begint met bijdragen, moet je jezelf vertrouwd maken met de volgende repository structuur:
-
bin/
build/
– deze mappen zijn leeg, maar worden gebruikt wanneer Nim wordt gebouwd. -
compiler/
– de broncode van de compiler. Bevat ook nimfix, en plugins binnen respectievelijkcompiler/nimfix
encompiler/plugins
. -
nimsuggest
– de nimsuggest tool die voorheen in denim-lang/nimsuggest
repository leefde. -
config/
– de configuratie voor de compiler en documentatie generator. -
doc/
– de documentatiebestanden in geherstructureerd tekstformaat. -
lib/
– de standaardbibliotheek, inclusief:-
pure/
– modules in de standaardbibliotheek geschreven in pure Nim. -
impure/
– modules in de standaardbibliotheek geschreven in pure Nim met afhankelijkheden geschreven in andere talen. -
wrappers/
– modules die afhankelijkheden in andere talen afbreken.
-
-
tests/
– bevat gecategoriseerde tests voor de compiler en standaardbibliotheek. -
tools/
– de tools waaronderniminst
ennimweb
(meestal aangeroepen viakoch
). -
koch.nim
– het gereedschap dat wordt gebruikt om Nim op te starten, C-bronnen te genereren, de website te bouwen en de documentatie te genereren.
als je niet bekend bent met het maken van een pull request met GitHub en/of git, lees dan deze handleiding.
idealiter moet je ervoor zorgen dat alle tests slagen voordat je een pull request instuurt.Als u echter weinig tijd hebt, kunt u gewoon de tests uitvoeren die specifiek zijn voor yourchanges door alleen de overeenkomstige categorieën tests uit te voeren. Travis CI controleert of alle tests slagen voordat de pull request wordt geaccepteerd, dus alleen het uitvoeren van specifieke tests moet onschadelijk zijn.Integratietests moeten gaan in tests/untestable
.
Als u op zoek bent naar manieren om bij te dragen, kijk dan op onze issue tracker.Er zijn altijd genoeg problemen met het label Easy
; deze zouden een goed uitgangspunt moeten zijn voor een eerste bijdrage aan Nim.
u kunt ook helpen met de ontwikkeling van Nim door donaties te doen. Donaties kunnen worden gedaan met:
- Open Collective
- Bountysource
- Bitcoin
Als u vragen hebt, kunt u een vraag indienen op het im forum, of via IRC op het #nim kanaal.
Backers
dank aan al onze backers!
Sponsors
ondersteunen dit project door sponsor te worden. Uw logo verschijnt hier met een link naar uw website.
U kunt ook een lijst van al onze sponsors/donateurs van verschillende payment services op de sponsor pagina van onze website.
Licentie
de compiler en de standaardbibliotheek zijn gelicentieerd onder de MIT-licentie, behalve voor sommige modules die expliciet anders aangeven. Als gevolg hiervan kunt u elke compatibele licentie (in wezen elke licentie) gebruiken voor uw eigen programma ‘ s die zijn ontwikkeld metnim. Het is u uitdrukkelijk toegestaan commerciële toepassingen te ontwikkelen met behulp van Nim.
Lees het kopiëren.txt-bestand voor meer details.