Show GN: Wave 프로그래밍 언어

3 hours ago 2

작년에 Wave를 한 번 소개를 했었는데, 이후 프로젝트가 많이 바뀌어서 다시 한번 소개합니다.

Wave는 C, Rust 등의 저수준 언어에서 영향을 받아 개발하고 있는 프로그래밍 언어입니다. 현재 LLVM을 백엔드로 사용해 네이티브 코드로 컴파일하며, 시스템 프로그래밍을 포함한 다양한 영역에서 사용할 수 있는 언어를 목표로 개발하고 있습니다.

작년에 소개했을 당시에는 아직 기본적인 문법과 컴파일러 기능을 구현해나가는 단계였지만, 이후 컴파일러 구조와 타입 검사, ABI, 표준 라이브러리, 타깃 지원 등을 상당 부분 작업을 했습니다.

현재는 다음과 같은 기능을 지원하거나 개발하고 있습니다.

  • x86-64, AArch64, RISC-V 64 등 여러 아키텍처 지원
  • Linux와 Windows 네이티브 타깃
  • C ABI 및 FFI
  • freestanding 환경 지원
  • 표준 라이브러리
  • WebAssembly 지원
  • wavec check를 통한 타입 및 안전성 검사
  • 구조화된 컴파일러 진단 메시지
  • 아키텍처별 테스트와 CI
  • 크로스 컴파일을 위한 --target 지원

최근에는 RISC-V 64 지원을 확장하고 있고, Linux에서 LoongArch64를 지원하기 위한 작업도 진행하고 있습니다.

현재 Wave는 아직 pre-beta 단계이고, alpha 단계를 빨리 진행하기 위해서 계속 발전을 해나가고 있습니다.
지금은 문법도 살짝 추가하지만 컴파일러 프론트엔드, 타입 시스템, ABI, 표준 라이브러리를 다듬고 여러 아키텍처 지원 기반을 정리하는데 집중하고 있습니다.

Wave에 대한 자세한 내용과 개발 현황은 공식 홈페이지를 통해 질문하실 수 있으며, 관련 의견과 논의도 공식 채널을 중심으로 받고 있습니다.

GitHub: https://github.com/wavefnd/Wave/
공식 사이트 및 문서: https://wave-lang.dev/

Read Entire Article