Sobre el proyecto
cx es un lenguaje de programación híbrido de bajo/alto nivel de la familia C, centrado en el rendimiento en tiempo de ejecución y la productividad del desarrollador, en ese orden de prioridad. Se describe como simple y sin opiniones, que admite estilos de programación imperativa, genérica, orientada a datos, funcional y orientada a objetos. Compila a código nativo a través de LLVM o un backend C, sin recolección de basura ni runtime oculto.
El proyecto está cerca de su versión 0.1. El README señala que algunas características planificadas aún no están implementadas, las características implementadas pueden cambiar y existen errores. La documentación está disponible en el sitio web del proyecto y en formato Markdown bajo docs, con ejemplos de código en el directorio examples. Las preguntas y discusiones se dirigen a los issues de GitHub o al servidor de Discord del proyecto.
Compilar desde el código fuente requiere un compilador C++20, CMake 3.16 o superior, y LLVM/Clang 23. El README proporciona instrucciones específicas por plataforma para Linux (instalaciones basadas en apt y archivos tar de LLVM precompilados), macOS (Homebrew) y Windows (binarios de LLVM precompilados). La compilación produce los binarios cx y cx-lsp. El servidor de lenguaje admite diagnósticos, hover, ir a definición, completados, encontrar referencias y resaltado semántico en editores compatibles con LSP.
Las contribuciones son bienvenidas a través de issues de GitHub y un tablero de Trello. Las pruebas utilizan lit y psutil instalados mediante pip, y luego un objetivo de verificación de CMake ejecuta la suite completa mediante CTest, cubriendo pruebas de lit/compilador, programas de ejemplo en ambos backends LLVM y C, fragmentos de documentación y pruebas de extremo a extremo del servidor de lenguaje. Se pueden ejecutar subconjuntos con filtros de ctest. El estilo de código C++ se aplica mediante ClangFormat a través de los objetivos de CMake format y lint. Un frontend de WebAssembly y un conjunto de herramientas C en el navegador admiten un playground y sitio web en el navegador, con un script de compilación para desarrollo local. El proyecto está licenciado bajo la licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.