dette arkiv indeholder Nim-kompilatoren, Nim ‘ s stdlib, værktøjer og dokumentation.For mere information om Nim, herunder overførsler og dokumentation forden seneste udgivelse, tjek Nims hjemmeside eller bleeding edge docs.
fællesskab
- forummet-det bedste sted at stille spørgsmål og diskutere nim.
- #nim IRC Channel (Freenode) – et sted at diskutere Nim i realtid.Også hvor de fleste udviklingsbeslutninger træffes.
- Discord – et ekstra sted at diskutere Nim i realtid. De fleste kanaler der er bro til IRC.
- Gitter-et ekstra sted at diskutere Nim i realtid. Der er en bro mellem Gitter og IRC-kanalen.
- Telegram-et ekstra sted at diskutere Nim i realtid. Thereis den officielle Telegram kanal. Ikke bro til IRC.
- Stack overløb – et populært spørgsmål / et sted til programmering af relaterede emner, der indeholder indlæg om Nim.
- GitHub bruger – bidraget indhold.
kompilering
kompilatoren understøtter i øjeblikket officielt følgende platform ogarkitektur kombinationer:
- vinduer (vinduer eller større) – 86 og 86_64
- Linuks (de fleste, hvis ikke alle distributioner) – 86, 86_64, ppc64 og armv6l
- Mac OS (10.04 eller større) – 86, 86_64 og ppc64
flere platforme understøttes, men de er ikke ikke testet regelmæssigt og dekan ikke være så stabil som de ovennævnte platforme.
kompilering af Nim-kompilatoren er ret ligetil, hvis du følger disse trin:
for det første er C-kilden til en ældre version af Nim-kompilatoren nødvendig tootstrap den nyeste version, fordi Nim-kompilatoren selv er skrevet inim programmeringssprog. Disse C-kilder er tilgængelige inim-lang/csources
repository.
for at bygge fra kilden skal du bruge:
- en C-kompilator som
gcc
clang
Visual C++
ellerIntel C++
. Det anbefales at brugegcc
3.senere. - enten
git
ellerwget
for at hente de nødvendige kildelagre. -
build-essential
pakken, når du brugergcc
på Ubuntu (og sandsynligvisandre distros også).4.3.0 (GCC 8.10) er den mindste anbefalede compiler. - Nim er vært for en kendt arbejdsgruppe Mingv-distribution:
- Mingv32.7s
- Mingv64.7s
vinduer Bemærk: Cygvin og lignende Posis runtime-miljøer understøttes ikke.
derefter, hvis du er på et *nik-system eller vinduer, skal følgende trin kompilere fra kilde ved hjælp afgcc
git
ogkoch
build tool.
Bemærk: følgende kommandoer er til udviklingsversionen af kompilatoren.For de fleste brugere er det nok at installere den nyeste stabile version. Tjek installationsinstruktionerne på hjemmesiden for at gøre det: https://nim-lang.org/install.html.
for pakkevedligeholdere: se retningslinjer for emballage.
først, få Nim fra github:
git clone https://github.com/nim-lang/Nim.gitcd Nim
kør derefter det relevante build shell-script til din platform:
-
build_all.sh
(Mac) -
build_all.bat
(vinduer)
vinduer kræver en række andre afhængigheder, som du muligvis skal installere, inkludererpcre og OpenSSL. Nim er vært for en lynlåspakke, der indeholder kendte arbejdsversioner af de krævede DLL ‘ er her.
endelig skal du tilføjebin
mappen til din sti.
se også genopbygning af kompilatoren.
Koch
koch
er byggeværktøjet, der bruges til at bygge forskellige dele af Nim og til genereretdokumentation og hjemmesiden, blandt andet. Værktøjetkoch
kan ogsåbruges til at køre Nim test suite.
Hvis du antager, at du har tilføjet Nim ‘ sbin
mappe til din sti, kan du udføretestene ved hjælp af./koch tests
. Testene tager et stykke tid at køre, men Dukan køre en delmængde af tests ved at angive en kategori (for eksempel./koch tests cat async
).
For mere information omkoch
byg værktøj se dokumentationinden for doc/koch.første fil.
Nimble
nimble
er Nims pakkehåndtering. For at lære mere om det, senim-lang/nimble
repository.
bidragydere
dette projekt eksisterer takket være alle de mennesker, der bidrager.
Bidrag
se detaljerede bidragende retningslinjer.Vi glæder os over alle bidrag til Nim, uanset hvor små eller store de er. Alt fra stavning rettelser til nye moduler, der skal indgå i thestandard bibliotek er velkomne og værdsat. Før du begynder at bidrage, skal du gøre dig bekendt med følgende opbevaringsstruktur:
-
bin/
build/
– disse mapper er tomme, men bruges, når Nim er bygget. -
compiler/
– kompilatorens kildekode. Icompiler/nimfix
ogcompiler/plugins
hhv. -
nimsuggest
– nimsuggest-værktøjet, der tidligere levede inim-lang/nimsuggest
repository. -
config/
– konfigurationen til kompilatoren og dokumentationsgeneratoren. -
doc/
– dokumentationsfilerne i omstrukturerettekstformat. -
lib/
– standardbiblioteket, herunder:-
pure/
– moduler i standardbiblioteket skrevet i ren Nim. -
impure/
– moduler i standardbiblioteket skrevet i ren Nim medafhængigheder skrevet på andre sprog. -
wrappers/
– moduler, der pakker afhængigheder skrevet på andre sprog.
-
-
tests/
– indeholder kategoriserede tests til kompilatoren og standardbiblioteket. -
tools/
– værktøjerne inklusiveniminst
ognimweb
(for det meste påberåbt viakoch
). -
koch.nim
– værktøjet, der bruges til at bootstrap Nim, generere C-kilder,opbygge hjemmesiden og generere dokumentationen.
Hvis du ikke er bekendt med at lave en pull-anmodning ved hjælp af GitHub og / eller git, bedes du læse denne vejledning.
ideelt set skal du sørge for, at alle test passerer, inden du sender en pull-anmodning.Men hvis du har kort tid, kan du bare køre de tests, der er specifikke for dinændringer ved kun at køre de tilsvarende kategorier af tests. Travis CI verificerer, at alle test passerer, før pull-anmodningen accepteres, så kunkørsel af specifikke tests skal være ufarlig.Integrationstest skal gå i tests/untestable
.
Hvis du leder efter måder at bidrage på, skal du se på vores issue tracker.Der er altid masser af problemer mærket Easy
; disse bør være et godt udgangspunkt for et indledende bidrag til Nim.
Du kan også hjælpe med udviklingen af Nim ved at give donationer. Donationer kan værelavet ved hjælp af:
- Open Collective
- Bountysource
- Bitcoin
Hvis du har spørgsmål, er du velkommen til at indsende et spørgsmål på theNim forum eller via IRC på #nim-kanalen.
Backers
tak til alle vores backers!
sponsorer
støt dette projekt ved at blive sponsor. Dit logo vises her med et link til din hjemmeside.
Du kan også se en liste over alle vores sponsorer/backers fra forskellige betalingstjenester på sponsorsiden på vores hjemmeside.
Licens
kompilatoren og standardbiblioteket er licenseret under MIT-licensen, undtagen for nogle moduler, der udtrykkeligt angiver andet. Som et resultat kan du bruge enhver kompatibel licens (i det væsentlige enhver licens) til dine egne programmer udviklet mednim. Du har udtrykkeligt tilladelse til at udvikle kommercielle applikationer ved hjælp af Nim.
Læs venligst kopieringen.tekstfil for flere detaljer.