nim-lang / Nim

starea construirii

acest depozit conține compilatorul Nim, stdlib-ul Nim, instrumentele și documentația.Pentru mai multe informații despre Nim, inclusiv descărcări și documentație pentru cea mai recentă versiune, consultați site-ul Nim sau documentele bleeding edge.

comunitate

Alăturați - vă chatului IRCAlăturați-vă serverului DiscordAlăturați-vă chatului GitterObțineți ajutorVezi posturi nim pe stivă overflowurmați @nim_lang pe Twitter

  • forumul-cel mai bun loc pentru a pune întrebări și pentru a discuta nim.
  • #nim IRC Channel (Freenode) – un loc pentru a discuta despre Nim în timp real.De asemenea, în cazul în care cele mai multe decizii de dezvoltare se face.
  • discordie – un loc suplimentar pentru a discuta Nim în timp real. Cele mai multe canale sunt conectate la IRC.
  • Gitter – un loc suplimentar pentru a discuta Nim în timp real. Există o punte între Gitter și canalul IRC.
  • Telegramă – un loc suplimentar pentru a discuta Nim în timp real. E canalul oficial de telegramă. Nu este legat de IRC.
  • Stack Overflow – un site popular Q / A pentru programare relatedtopics care include posturi despre Nim.
  • Github Wiki – diverse conținut contribuit de utilizator.

compilarea

compilatorul acceptă în mod oficial următoarele combinații de platforme și arhitecturi:

  • Windows (Windows XP sau mai mare) – x86 și x86_64
  • Linux (cele mai multe, dacă nu toate, distribuții) – x86, x86_64, ppc64 și armv6l
  • Mac OS X (10.04 sau mai mare) – x86, x86_64 și ppc64

Mai multe platforme sunt acceptate, cu toate acestea, ele nu sunt testate în mod regulat și eipot să nu fie la fel de stabile ca platformele enumerate mai sus.

compilarea compilatorului Nim este destul de simplă dacă urmați acești pași:

În primul rând, este nevoie de sursa C a unei versiuni mai vechi a compilatorului Nim tobootstrap cea mai recentă versiune, deoarece compilatorul nim în sine este scris în limbajul de programare theNim. Aceste surse C sunt disponibile în depozitul nim-lang/csources.

apoi, pentru a construi de la sursă veți avea nevoie de:

  • un compilator C, cum ar figcc 3.x / mai târziu sau o alternativă, cum ar fi clangVisual C++ sau Intel C++. Se recomandă utilizarea gcc 3.x orlater.
  • fiegit sauwget pentru a descărca depozitele sursă necesare.
  • build-essential pachet atunci când se utilizeazăgcc pe Ubuntu (și probabilalte distribuții, de asemenea).
  • Pe Windows MinGW 4.3.0 (GCC 8.10) este compilatorul minim recomandat.
  • nim găzduiește o distribuție MinGW de lucru cunoscută:
    • MinGW32.7z
    • MinGW64.7z

Windows notă: mediile de rulare Cygwin și POSIX similare nu sunt acceptate.

apoi, dacă sunteți pe un sistem *nix sau Windows, următorii pași ar trebui să compileNim de la sursa folosindgccgit, șikoch construi instrument.

notă: următoarele comenzi sunt pentru versiunea de dezvoltare a compilatorului.Pentru majoritatea utilizatorilor, instalarea celei mai recente versiuni stabile este suficientă. Consultați instrucțiunile de instalare de pe site pentru a face acest lucru: https://nim-lang.org/install.html.

pentru întreținătorii de ambalaje: consultați instrucțiunile de ambalare.

În primul rând, pentru a primi Nim de la github:

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

apoi, executați scriptul Shell build corespunzător pentru platforma dvs.:

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

Windows necesită un număr de alte dependențe pe care poate fi necesar să instalați inclusivpcre și OpenSSL. Nim găzduiește un pachet zip care conține versiuni de lucru cunoscute ale DLL-urilor necesare aici.

în cele din urmă, după ce ați terminat pașii de construire (pe Windows, Mac sau Linux), ar trebui să adăugați directorulbin în calea dvs.

vezi și reconstruirea compilatorului.

Koch

koch este instrumentul de construire folosit pentru a construi diferite părți ale Nim și pentru a genera documente și site-ul web, printre altele. Instrumentulkoch poate fi folosit și pentru a rula suita de testare Nim.

presupunând că ați adăugat directorul Nimbin la calea dvs., puteți executa testele folosind./koch tests. Testele durează un timp pentru a rula, dar youpoate rula un subset de teste prin specificarea unei categorii (de exemplu./koch tests cat async).

Pentru mai multe informații desprekoch build tool vă rugăm să consultați documentationwithin doc/koch.primul fișier.

agil

nimble este managerul de pachete al Nim. Pentru a afla mai multe despre aceasta, consultați depozitulnim-lang/nimble.

Contributors

Acest proiect există datorită tuturor oamenilor care contribuie.

contribuind

susținători pe Open Collectivesponsori pe Open Collectiveconfigurați o recompensă prin BountysourceDoneaza bitcoinsajutoare open source

vezi liniile directoare detaliate care contribuie.Salutăm toate contribuțiile la Nim, indiferent cât de mici sau marisunt. Totul, de la corecții de ortografie la noi module care urmează să fie incluse înbiblioteca standard sunt binevenite și apreciate. Înainte de a începe să contribuiți, ar trebui să vă familiarizați cu următoarea structură de depozit:

  • bin/build/ – aceste directoare sunt goale, dar sunt utilizate atunci când este construit Nim.
  • compiler/ – codul sursă al compilatorului. De asemenea, include nimfix, și plugin-uri încompiler/nimfix și compiler/plugins respectiv.
  • nimsuggest – instrumentul nimsuggest care a trăit anterior înnim-lang/nimsuggest depozit.
  • config/ – configurația pentru compilator și generatorul de documentație.
  • doc/ – fișierele de documentare în format text restructurat.
  • lib/ – biblioteca standard, inclusiv:

    • pure/ – Module din biblioteca standard scrise în nim pur.
    • impure/ – Module din biblioteca standard scrise în nim pur cu dependențe scrise în alte limbi.
    • wrappers/ – module care înfășoară dependențe scrise în alte limbi.
  • tests/ – conține teste clasificate pentru compilator și biblioteca standard.
  • tools/ – instrumentele inclusiv niminst și nimweb (cea mai mare parte invocate prinkoch).
  • koch.nim – instrumentul folosit pentru a bootstrap Nim, genera surse C, construi site-ul,și pentru a genera documentația.

dacă nu sunteți familiarizat cu a face o cerere de tragere folosind GitHub și / sau git, vă rugăm să citiți acest ghid.

în mod ideal, ar trebui să vă asigurați că toate testele trec înainte de a trimite o cerere de tragere.Cu toate acestea, dacă aveți timp scurt, puteți rula doar testele specifice modificărilor dvs. rulând doar categoriile corespunzătoare de teste. Travis CI verificăcă toate testele trec înainte de a permite acceptarea cererii de tragere, deci numai testele specifice ar trebui să fie inofensive.Testele de integrare ar trebui să meargă în tests/untestable.

Dacă sunteți în căutarea unor modalități de a contribui, vă rugăm să consultați trackerul nostru de probleme.Există întotdeauna o mulțime de probleme etichetate Easy; acestea ar trebui să fie un bun punct de plecare pentru o contribuție inițială la Nim.

De asemenea, puteți ajuta la dezvoltarea Nim prin donații. Donațiile pot fi făcute folosind:

  • Open Collective
  • Bountysource
  • Bitcoin

Dacă aveți întrebări, nu ezitați să trimiteți o întrebare pe forumul theNim sau prin IRC pe canalul #nim.

susținători

mulțumesc tuturor susținătorilor noștri!

sponsorii

susțin acest proiect devenind sponsor. Logo-ul dvs. va apărea aici cu un link către site-ul dvs. web.

puteți vedea, de asemenea, o listă a tuturor sponsorilor noștri/susținători de la diverse servicii de plată pe pagina sponsorilor site-ului nostru.

Licență

compilatorul și biblioteca standard sunt licențiate sub licența MIT, cu excepția unor module care specifică în mod explicit altfel. Ca rezultat, puteți utiliza licență anycompatible (în esență, orice licență) pentru propriile programe dezvoltate withNim. Vi se permite în mod explicit să dezvoltați aplicații comerciale utilizând Nim.

vă rugăm să citiți copierea.fișier txt pentru mai multe detalii.

Lasă un răspuns

Adresa ta de email nu va fi publicată.