nim-lang / Nim

Build Status

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

Join the IRC chatJoin the Discord serverJoin the Gitter chatGet helpbekijk nim - berichten op stack overflowvolg @nim_lang op Twitter

  • 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 zoals clangVisual C++ of Intel C++. Het wordt aanbevolen om gcc 3 te gebruiken.x orlater.
  • hetzij git of wget om de benodigde bron repositories te downloaden.
  • Hetbuild-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 gccgit, 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

Backers op Open CollectieveSponsors op Open CollectieveStel een bounty via BountysourceDoneren BitcoinsOpen Source Helpers

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 en compiler/plugins.
  • nimsuggest – de nimsuggest tool die voorheen in de nim-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 waaronder niminst en nimweb (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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.