Ce référentiel contient le compilateur Nim, la stdlib de Nim, les outils et la documentation.Pour plus d’informations sur Nim, y compris les téléchargements et la documentation de la dernière version, consultez le site Web de Nim ou bleeding edge docs.
Communauté
Voir les messages Nim sur Stack Overflow » style= »max-width:100%; »>
- Le forum – le meilleur endroit pour poser des questions et discuter de Nim.
- #Canal IRC nim (Freenode) – un endroit pour discuter de Nim en temps réel.Là aussi où la plupart des décisions de développement sont prises.
- Discord – un endroit supplémentaire pour discuter de Nim en temps réel. La plupart des canaux sont raccordés à IRC.
- Gitter – un endroit supplémentaire pour discuter de Nim en temps réel. Thereis un pont entre Gitter et le canal IRC.Télégramme – un endroit supplémentaire pour discuter de Nim en temps réel. Thereis la chaîne officielle de télégramme. Non relié à IRC.
- Stack Overflow – un site de Q / A populaire pour la programmation de relatedtopics qui inclut des articles sur Nim.
- Github Wiki – Contenu divers contribué par les utilisateurs.
Compilation
Le compilateur prend actuellement officiellement en charge les combinaisons de plate-forme et d’architecture suivantes:
- Windows (Windows XP ou supérieur) – x86 et x86_64
- Linux (la plupart, sinon toutes, les distributions) – x86, x86_64, ppc64 et armv6l
- Mac OS X (10.04 ou supérieur) – x86, x86_64 et ppc64
Plus de plates-formes sont prises en charge, cependant, elles ne sont pas testées régulièrement et ils peuvent ne pas être aussi stables que les plates-formes énumérées ci-dessus.
La compilation du compilateur Nim est assez simple si vous suivez ces étapes:
Tout d’abord, la source C d’une ancienne version du compilateur Nim est nécessaire pour démarrer la dernière version car le compilateur Nim lui-même est écrit dans le langage de programmation IM. Ces sources C sont disponibles dans le référentiel nim-lang/csources
.
Ensuite, pour construire à partir de la source, vous aurez besoin de:
- Un compilateur C tel que
gcc
3.x/plus tard ou une alternative telle queclang
Visual C++
ouIntel C++
. Il est recommandé d’utilisergcc
3.x plus tard. - Soit
git
ouwget
pour télécharger les référentiels source nécessaires. - Le package
build-essential
lors de l’utilisation degcc
sur Ubuntu (et probablement d’autres distributions également). - Sous Windows MinGW 4.3.0 (GCC 8.10) est le compilateur minimum recommandé.
- Nim héberge une distribution MinGW de travail connue :
- MinGW32.7z
- MinGW64.7z
Windows Remarque : Cygwin et les environnements d’exécution POSIX similaires ne sont pas pris en charge.
Ensuite, si vous utilisez un système *nix ou Windows, les étapes suivantes doivent être compilées à partir de la source en utilisant gcc
git
et l’outil de construction koch
.
Remarque : Les commandes suivantes sont destinées à la version de développement du compilateur.Pour la plupart des utilisateurs, l’installation de la dernière version stable suffit. Consultez les instructions d’installation sur le site Web pour le faire: https://nim-lang.org/install.html.
Pour les responsables de paquets : voir les directives d’emballage.
Tout d’abord, obtenez Nim depuis github:
git clone https://github.com/nim-lang/Nim.gitcd Nim
Ensuite, exécutez le script shell de construction approprié pour votre plate-forme :
-
build_all.sh
(Linux, Mac) -
build_all.bat
(Windows)
Windows nécessite un nombre d’autres dépendances que vous devrez peut-être installer, y compris Pcre et OpenSSL. Nim héberge un package zip contenant les versions de travail connues des DLL requises ici.
Enfin, une fois que vous avez terminé les étapes de construction (sous Windows, Mac ou Linux), vous devez ajouter le répertoire bin
à votre CHEMIN.
Voir aussi reconstruction du compilateur.
Koch
koch
est l’outil de construction utilisé pour construire diverses parties de Nim et pour générer la documentation et le site Web, entre autres. L’outil koch
peut également être utilisé pour exécuter la suite de tests Nim.
En supposant que vous avez ajouté le répertoire bin
de Nim à votre CHEMIN, vous pouvez exécuter les tests en utilisant ./koch tests
. Les tests prennent un certain temps à s’exécuter, mais vouspeut exécuter un sous-ensemble de tests en spécifiant une catégorie (par exemple ./koch tests cat async
).
Pour plus d’informations sur l’outil de construction koch
, veuillez consulter la documentationdans le document/koch.premier fichier.
Nimble
nimble
est le gestionnaire de paquets de Nim. Pour en savoir plus à ce sujet, consultez le référentiel nim-lang/nimble
.
Contributeurs
Ce projet existe grâce à toutes les personnes qui y contribuent.
Contribuer
Voir les directives de contribution détaillées.Nous accueillons toutes les contributions à Nim, qu’elles soient petites ou grandes. Tout, des corrections d’orthographe aux nouveaux modules à inclure dans la bibliothèque standard, est le bienvenu et apprécié. Avant de commencer à contribuer, vous devez vous familiariser avec la structure de dépôt suivante :
-
bin/
build/
– ces répertoires sont vides, mais sont utilisés lorsque Nim est construit. -
compiler/
– le code source du compilateur. Inclut également nimfix et des plugins danscompiler/nimfix
etcompiler/plugins
respectivement. -
nimsuggest
– l’outil nimsuggest qui vivait auparavant dans le référentielnim-lang/nimsuggest
. -
config/
– la configuration du compilateur et du générateur de documentation. -
doc/
– les fichiers de documentation au format reStructuredText. -
lib/
– la bibliothèque standard, y compris:-
pure/
– les modules de la bibliothèque standard écrits en Nim pur. -
impure/
– modules de la bibliothèque standard écrits en Nim pur avec des dépendances écrites dans d’autres langages. -
wrappers/
– modules qui enveloppent les dépendances écrites dans d’autres langages.
-
-
tests/
– contient des tests catégorisés pour le compilateur et la bibliothèque standard. -
tools/
– les outils comprenantniminst
etnimweb
(principalement invoqués viakoch
). -
koch.nim
– l’outil utilisé pour démarrer Nim, générer des sources C, créer le site Web et générer la documentation.
Si vous n’êtes pas familier avec l’utilisation de GitHub et/ou git, veuillez lire ce guide.
Idéalement, vous devez vous assurer que tous les tests sont réussis avant de soumettre une demande d’extraction.Cependant, si vous manquez de temps, vous pouvez simplement exécuter les tests spécifiques à yourchanges en n’exécutant que les catégories de tests correspondantes. Travis CI vérifie que tous les tests passent avant d’autoriser l’acceptation de la demande d’extraction, de sorte que seuls les tests spécifiques doivent être inoffensifs.Les tests d’intégration doivent aller dans tests/untestable
.
Si vous cherchez des moyens de contribuer, veuillez consulter notre outil de suivi des problèmes.Il y a toujours beaucoup de problèmes étiquetés Easy
; ceux-ci devraient être un bon point de départ pour une première contribution à Nim.
Vous pouvez également aider au développement de Nim en faisant des dons. Les dons peuvent être effectués en utilisant:
- Open Collective
- Bountysource
- Bitcoin
Si vous avez des questions, n’hésitez pas à soumettre une question sur le forum IM, ou via IRC sur le canal #nim.
Bailleurs de fonds
Merci à tous nos bailleurs de fonds !
Sponsors
Soutenez ce projet en devenant sponsor. Votre logo apparaîtra ici avec un lien vers votre site Web.
Vous pouvez également voir une liste de tous nos sponsors / les bailleurs de fonds de divers services de paiement sur la page sponsors de notre site Web.
License
Le compilateur et la bibliothèque standard sont sous licence MIT, sauf pour certains modules qui indiquent explicitement le contraire. En conséquence, vous pouvez utiliser une licence compatible (essentiellement n’importe quelle licence) pour vos propres programmes développés avecNim. Vous êtes explicitement autorisé à développer des applications commerciales en utilisant Nim.
Veuillez lire la copie.fichier txt pour plus de détails.