nim-lang/Nim

Estado de compilación

Este repositorio contiene el compilador de Nim, stdlib de Nim, herramientas y documentación.Para obtener más información sobre Nim, incluidas las descargas y la documentación de la última versión, consulte el sitio web de Nim o los documentos de bleeding edge.

Comunidad

Unirse al chat de IRCUnirse al servidor de DiscordiaUnirse al chat de GitterObtener ayudaVer publicaciones de Nim en el desbordamiento de pilaSiga a @nim_lang en Twitter

  • El foro: el mejor lugar para hacer preguntas y discutir sobre Nim.
  • Canal de IRC #nim (Freenode)-un lugar para hablar de Nim en tiempo real.También donde se toman la mayoría de las decisiones de desarrollo.
  • Discord-un lugar adicional para discutir Nim en tiempo real. La mayoría de los canales están conectados a IRC.
  • Gitter – un lugar adicional para hablar de Nim en tiempo real. Hay un puente entre Gitter y el canal IRC.
  • Telegram: un lugar adicional para hablar de Nim en tiempo real. Ahí está el canal oficial de Telegram. No está conectado a IRC.
  • Desbordamiento de pila: un popular sitio de preguntas y respuestas para programar temas relacionados que incluye publicaciones sobre Nim.
  • Wiki de Github-Varios contenidos aportados por usuarios.

Compilando

El compilador actualmente admite oficialmente las siguientes combinaciones de plataforma y arquitectura:

  • Windows (Windows XP o superior) – x86 y x86_64
  • Linux (la mayoría, si no todas, las distribuciones) – x86, x86_64, ppc64 y armv6l
  • Mac OS X (10.04 o superior) – x86, x86_64 y ppc64

Se admiten más plataformas, sin embargo, no se prueban regularmente y pueden no ser tan estables como las plataformas mencionadas anteriormente.

Compilar el compilador Nim es bastante sencillo si sigue estos pasos:

En primer lugar, se necesita la fuente C de una versión anterior del compilador Nim para arrancar la última versión porque el compilador Nim en sí está escrito en el lenguaje de programación Nim. Esas fuentes C están disponibles dentro del repositorionim-lang/csources.

A continuación, para compilar desde el código fuente necesitará:

  • Un compilador de C como gcc 3.x/posterior, o una alternativa, tales como clangVisual C++ o Intel C++. Se recomienda utilizar gcc 3.x orlater.
  • Ya sea gito wget para descargar los repositorios de código fuente necesarios.
  • El paquete build-essential cuando se usa gcc en Ubuntu (y probablemente otras distribuciones también).
  • En Windows MinGW 4.3.0 (GCC 8.10) es el compilador mínimo recomendado.
  • Nim aloja una distribución de MinGW que funciona conocida:
    • MinGW32.7z
    • MinGW64.7z

Windows Nota: No se admiten entornos de tiempo de ejecución POSIX de Cygwin y similares.

Entonces, si está en un sistema * nix o Windows, los siguientes pasos deben compilarse desde el origen utilizando gccgit y la herramienta de compilación koch.

Nota: Los siguientes comandos son para la versión de desarrollo del compilador.Para la mayoría de los usuarios, instalar la última versión estable es suficiente. Consulte las instrucciones de instalación en el sitio web para hacerlo: https://nim-lang.org/install.html.

Para los mantenedores de paquetes: consulte las directrices de embalaje.

Primero, obtén Nim de github:

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

a continuación, ejecute la versión adecuada secuencia de comandos de shell para su plataforma:

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

Windows requiere un número de otras dependencias que usted puede necesitar para instalar includingPCRE y OpenSSL. Nim aloja un paquete zip que contiene versiones de trabajo conocidas de los archivos DLL necesarios aquí.

Finalmente, una vez que haya terminado los pasos de compilación (en Windows, Mac o Linux), debe agregar el directorio bin a su RUTA de acceso.

Véase también reconstrucción del compilador.

Koch

koch es la herramienta de compilación utilizada para construir varias partes de Nim y generar documentación y el sitio web, entre otras cosas. La herramienta koch también se puede usar para ejecutar el conjunto de pruebas Nim.

Asumiendo que agregaste el directorio bin de Nim a tu RUTA, puedes ejecutar las pruebas usando ./koch tests. Las pruebas tardan un tiempo en ejecutarse, pero puede ejecutar un subconjunto de pruebas especificando una categoría (por ejemplo./koch tests cat async).

Para obtener más información sobre la herramienta de compilación koch consulte la documentación dentro del doc / koch.primer expediente.

Nimble

nimble es el gestor de paquetes de Nim. Para obtener más información, consulte el repositorionim-lang/nimble.

Colaboradores

Este proyecto existe gracias a todas las personas que contribuyen.

Contribuyendo

Patrocinadores en Open CollectivePatrocinadores en Open CollectiveConfigurar una recompensa a través de BountysourceDonar BitcoinsAyudantes de código abierto

Consulte las pautas detalladas para contribuir.Damos la bienvenida a todas las contribuciones a Nim, independientemente de cuán pequeñas o grandes sean. Todo, desde correcciones ortográficas hasta nuevos módulos que se incluirán en la biblioteca estándar, son bienvenidos y apreciados. Antes de comenzar a contribuir,debe familiarizarse con la siguiente estructura de repositorio:

  • bin/build/ – estos directorios están vacíos, pero se usan cuando se construye Nim.
  • compiler/ – el código fuente del compilador. También incluye nimfix y complementos dentro decompiler/nimfix y compiler/plugins respectivamente.
  • nimsuggest – la herramienta nimsuggest que anteriormente vivía en el repositorio nim-lang/nimsuggest.
  • config/ – la configuración para el compilador y el generador de documentación.
  • doc/ – los archivos de documentación en formato reStructuredText.
  • lib/ – la biblioteca estándar, que incluye:
    • pure/ – módulos en la biblioteca estándar escritos en Nim puro.
    • impure/ – módulos en la biblioteca estándar escritos en Nim puro con dependencias escritas en otros idiomas.
    • wrappers/ – módulos que envuelven dependencias escritas en otros idiomas.
  • tests/ – contiene pruebas categorizadas para el compilador y la biblioteca estándar.
  • tools/ – las herramientas incluidas niminst y nimweb (en su mayoría invoca a través dekoch).
  • koch.nim – la herramienta utilizada para arrancar Nim, generar fuentes C, construir el sitio web y generar la documentación.

Si no estás familiarizado con hacer una solicitud de extracción usando GitHub y / o git, por favor lee esta guía.

Idealmente, debe asegurarse de que todas las pruebas pasen antes de enviar una solicitud de extracción.Sin embargo, si tiene poco tiempo, solo puede ejecutar las pruebas específicas de sus cambios ejecutando solo las categorías de pruebas correspondientes. Travis CI verifica que todas las pruebas pasen antes de permitir que se acepte la solicitud de extracción, por lo que solo las pruebas específicas de ejecución deben ser inofensivas.Las pruebas de integración deben ir en tests/untestable.

Si está buscando formas de contribuir, consulte nuestro rastreador de problemas.Siempre hay muchos problemas etiquetados como Easy; estos deberían ser un buen punto de partida para una contribución inicial a Nim.

También puede ayudar con el desarrollo de Nim haciendo donaciones. Las donaciones pueden hacerse utilizando:

  • Open Collective
  • Bountysource
  • Bitcoin

Si tiene alguna pregunta, no dude en enviar una pregunta en el foro de Im, o a través de IRC en el canal #nim.

Patrocinadores

Gracias a todos nuestros patrocinadores!

Patrocinadores

Apoyar este proyecto, por ser un patrocinador. Su logotipo se mostrará aquí con un enlace a su sitio web.

también puede ver una lista de todos nuestros patrocinadores y partidarios de diversos servicios de pago en la página de patrocinadores de nuestro sitio web.

License

El compilador y la biblioteca estándar están licenciados bajo la licencia MIT, a excepción de algunos módulos que indican explícitamente lo contrario. Como resultado, puede usar cualquier licencia compatible (esencialmente cualquier licencia) para sus propios programas desarrollados con Nim. Se le permite explícitamente desarrollar aplicaciones comerciales utilizando Nim.

por Favor, lea la copia.archivo txt para más detalles.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.