프로젝트 소개
cx는 런타임 성능과 개발자 생산성에 중점을 둔 C 계열 하이브리드 저수준/고수준 프로그래밍 언어입니다. 우선순위는 그 순서대로입니다. 단순하고 독단적이지 않은 것으로 설명되며, 명령형, 제네릭, 데이터 지향, 함수형, 객체지향 프로그래밍 스타일을 지원합니다. LLVM 또는 C 백엔드를 통해 네이티브 코드로 컴파일되며, 가비지 컬렉션이나 숨겨진 런타임이 없습니다.
이 프로젝트는 0.1 릴리스가 임박했습니다. README에는 일부 계획된 기능이 아직 구현되지 않았고, 구현된 기능은 변경될 수 있으며, 버그가 존재한다고 명시되어 있습니다. 문서는 프로젝트 웹사이트와 docs 디렉토리의 Markdown 형식으로 제공되며, 코드 샘플은 examples 디렉토리에 있습니다. 질문과 논의는 GitHub 이슈나 프로젝트의 Discord 서버로 안내됩니다.
소스에서 빌드하려면 C++20 컴파일러, CMake 3.16 이상, LLVM/Clang 23이 필요합니다. README는 Linux(apt 기반 설치 및 사전 빌드된 LLVM tarball), macOS(Homebrew), Windows(사전 빌드된 LLVM 바이너리)에 대한 플랫폼별 지침을 제공합니다. 빌드 결과로 cx와 cx-lsp 바이너리가 생성됩니다. 언어 서버는 LSP 지원 에디터에서 진단, 호버, 정의로 이동, 자동 완성, 참조 찾기, 시맨틱 하이라이팅을 지원합니다.
기여는 GitHub 이슈와 Trello 보드를 통해 환영합니다. 테스트는 pip를 통해 설치된 lit과 psutil을 사용하며, CMake check 타겟이 CTest를 통해 전체 스위트를 실행합니다. 이는 lit/컴파일러 테스트, LLVM 및 C 백엔드의 예제 프로그램, 문서 스니펫, 언어 서버 엔드투엔드 테스트를 포함합니다. 하위 집합은 ctest 필터로 실행할 수 있습니다. C++ 코드 스타일은 ClangFormat을 통해 format 및 lint CMake 타겟으로 강제됩니다. WebAssembly 프론트엔드와 브라우저 내 C 툴체인은 브라우저 플레이그라운드와 웹사이트를 지원하며, 로컬 개발용 빌드 스크립트가 있습니다. 이 프로젝트는 MIT 라이선스로 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.