TL;DR

  • BLBX v0.1.0은 기존 BLBX 문법을 유지하면서 선언형 스칼라 값 그래프와 명시적 효과 순서를 사용하는 Black Box 실행 백엔드를 도입함.
  • 제어 흐름과 표현식은 그래프 순회로 실행되며, 순수성이 입증된 스칼라 계산은 한 실행 활성화 안에서 결과를 재사용함.
  • 호출·변경·입출력은 실행 순서를 보존하며, 반환값을 사용하지 않는 호출도 실행됨.
  • blackbox graph 또는 blbx graph로 실행 그래프를 JSON으로 내보낼 수 있고, blackbox run 또는 blbx run-graph로 그래프 실행을 선택할 수 있음.
  • BLBX는 알파 단계이며 그래프 실행이 항상 지연 평가나 반응형 실행을 제공하지 않고, 미확인 호출과 사용자 정의 호출을 순수하다고 간주하지 않음.

BLBX — 블랙박스 그래프 런타임

  • BLBX v0.1.0은 기존 BLBX 문법을 보존하면서 선언형 스칼라 값 그래프와 명시적으로 순서가 정해진 효과를 사용하는 새로운 실행 백엔드인 Black Box를 도입함.

주요 내용

  • 그래프 실행: 제어 흐름과 표현식이 그래프 순회를 통해 실행됨.
  • 순수 계산 공유: 순수성이 입증된 스칼라 표현식은 한 실행 활성화 안에서 결과를 재사용할 수 있음.
  • 순서가 보존되는 효과: 호출, 변경, 입출력이 실행 순서를 보존하며, 반환값을 사용하지 않는 호출도 실행됨.
  • 그래프 검사: blackbox graph 또는 blbx graph를 사용해 실행 그래프를 JSON으로 내보낼 수 있음.
  • 백엔드 선택: 그래프 실행에는 blackbox run 또는 blbx run-graph를 사용하며, blbx run은 기존 인터프리터를 유지함.

언어 개선

  • 표현식 보간을 지원하는 포맷 문자열.
  • 정수 비트 연산 메서드와 유니코드 ord().
  • 객체 키 포함 여부 확인과 배열 제자리 확장 extend().
  • while 콜백용 루프 커서.
  • 제어 흐름 콜백을 통한 반환값 전달 개선.

도구 및 문서

  • .bx 파일용 VS Code 구문 강조 확장.
  • 언어, 명령줄 인터페이스(CLI), 그래프 아키텍처 문서 확장.
  • 예제 업데이트 및 Windows 바이너리 재빌드.
  • 테스트 디렉터리, 임시 검증 도구, 추적 중인 빌드 캐시 파일 제거.

알파 단계 및 제한

  • BLBX는 계속 알파 단계임.
  • 그래프 실행이 언제나 지연 평가나 반응형 실행을 제공하는 것은 아님.
  • 미확인 호출과 사용자 정의 호출은 순수하다고 간주하지 않음.