revo - 프로그래밍의 즐거움을 위한 동적 언어
(github.com/if-not-nil)- 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 라이선스