revo - 프로그래밍의 즐거움을 위한 동적 언어

1 hour ago 1
  • Zig로 작성된 동적 타입 언어로, 모든 것이 값을 반환하는 "everything is something" 구조 채택
  • 블로킹 코드 앞에 spawn 을 붙이는 것만으로 논블로킹으로 전환되는 매끄러운 동시성 모델 지원
  • 파이프(|>) 연산자로 값을 연속 변환하며, _로 직전 값을 참조
    • 예: "hello" |> _:upper() |> _:sub(1, 2)
  • 패턴 매칭 및 결과 타입 지원, 함수가 (:ok, value) / (:err, reason) 형태 반환 후 match로 분기해서 처리
  • --test 플래그 붙였을때만 컴파일·실행되는 first-class 테스트 내장, 단일 test와 묶음 suite 블록 제공
  • revo.h로 C 코드에 직접 끼워 넣는게 가능한 임베딩 API 제공
    • erevo_vm_create, erevo_compile, erevo_run, erevo_eval 등
  • diagnostic/go-to-definition/hover/참조/심볼을 처리하는 LSP 서버 revolt 내장
    • 릴리스 빌드에 기본 번들되며 revo --lsp로 실행
  • 기본 REPL 백엔드 isocline을 제공. 멀티라인 입력/탭 완성/히스토리 검색 지원
  • 윈도우 버전은 아직 불완전 : 비동기 백엔드 및 완전한 라인 에디터는 미지원
  • MIT 라이선스
Read Entire Article