Lanzamiento del lenguaje de programación Nim 1.2.0

Presentado por lanzamiento del lenguaje de programación del sistema nim 1.2. El lenguaje Nim utiliza escritura estática y fue creado teniendo en cuenta Pascal, C++, Python y Lisp. El código fuente de Nim se compila en una representación C, C++ o JavaScript. Posteriormente, el código C/C++ resultante se compila en un archivo ejecutable utilizando cualquier compilador disponible (clang, gcc, icc, Visual C++), lo que permite alcanzar un rendimiento cercano al de C, si no se tienen en cuenta los costes de ejecución. el recolector de basura. Al igual que Python, Nim usa sangría como delimitador de bloques. Se admiten herramientas de metaprogramación y capacidades para crear lenguajes específicos de dominio (DSL). Código de proyecto suministrado bajo la licencia del MIT.

Los cambios notables en la nueva versión incluyen:

  • Implementado un nuevo recolector de basura. ARC (“-gc:arco”).
  • En el módulo "azúcar"Se agregaron nuevas macros para recopilar, duplicar y capturar.
  • Se agregó una nueva macro "con".
  • Se ha agregado una gran parte de nuevas llamadas a la biblioteca estándar, incluidas strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, etc.
  • Se agregaron nuevos módulos std/stackframes y std/compilesettings.
  • Las opciones “—asm” (para análisis del código ensamblador generado) y “—panics:on” para salida forzada en errores IndexError y OverflowError se han agregado al compilador, sin posibilidad de ser interceptadas por el controlador “try”.
  • Detección mejorada de posibles desbordamientos del buffer.

Fuente: opennet.ru

Añadir un comentario