본문 바로가기
새로 나온 제품을 먼저 만나는 곳

Wyzer Programming Language

메모리·스레드·네트워크를 소유권 규칙 하나로 다루는 실험적 컴파일 언어

개발 도구16일 전
카테고리
개발 도구
웹사이트
github.com
언어
영어
등록일
16일 전
스타
241
포크
7

Wyzer-Lang/wyzer ↗· OCaml· Apache-2.0· 최근 커밋 1일 전

규칙은 하나입니다. 자원은 한 번 쓰면 다시 못 쓴다, 이것만으로 메모리와 스레드와 네트워크 메시지를 한꺼번에 다루겠다는 것이 Wyzer의 출발점입니다. 정적 타입 컴파일 언어이고 컴파일러는 OCaml로 쓰였으며, 가비지 컬렉터도 러스트식 빌림 검사기도 두지 않았습니다. 메모리는 Koka와 Lean 4에서 가져온 Perceus 참조 계수를 따라, 값의 주인이 하나뿐이면 컴파일러가 그 자리에서 값을 바꿔 씁니다.

분산 코드에는 코레오그래픽 프로그래밍을 얹었습니다. 평범한 함수를 쓰되 타입이 데이터의 주인을 드러내면 컴파일러가 통신 규칙을 뽑아내 검사하고, 그렇게 교착 상태와 유실된 메시지를 실행 전에 걸러 내자는 것이 이 설계의 목표입니다. 문법은 일부러 단순해서 let은 불변, var는 가변이고 실패는 Result로 돌아와 match로 받으며 async와 await의 구분도 없습니다. 아직 풀리지 않은 문제가 여럿인 초기 연구라고 만든 쪽이 스스로 밝힙니다.

이 제품이 마음에 드세요?