Lobsters

Hoot 0.10.0 released

Hoot 0.10.0, Scheme 게임을 웹으로 만드는 출발점과 브라우저 지원 범위

Guile용 Scheme-to-WebAssembly 도구인 Hoot가 0.10.0을 공개했습니다. 게임잼 템플릿은 예제 게임과 빌드·개발 서버·배포 도구를 제공하며, 새 버전 문서는 Safari 26 이상도 지원 대상으로 적었습니다. 다만 템플릿 README의 Safari 안내는 아직 갱신되지 않았습니다.

본문

Hoot 0.10.0은 Guile의 Scheme 코드를 WebAssembly로 컴파일하는 백엔드이자 도구 모음입니다. R6RS 라이브러리와 여러 표준 모듈 지원을 늘리고 런타임·CLI 오류를 수정했습니다. 10월 30일 시작하는 열흘간의 Lisp Game Jam에 맞춰 게임 제작 템플릿도 안내했습니다.

게임 제작에 필요한 기본 골격

템플릿에는 Breakout 방식의 예제 게임과 HTML·JavaScript 뼈대, 이벤트·이미지·오디오용 DOM 바인딩, HTML5 캔버스 바인딩이 들어 있습니다. Makefile로 WebAssembly 빌드와 개발 서버 실행, itch.io에 올릴 ZIP 파일 생성을 할 수 있습니다. Guix는 의존성을 갖춘 개발 환경을 빠르게 준비하는 방법으로 권장되지만, Hoot 릴리스 글은 템플릿 사용에 Guix가 필수 조건은 아니라고 설명합니다.

브라우저 안내는 문서마다 다릅니다

Hoot 0.10.0의 지원 플랫폼 문서는 Firefox 121 이상, Chrome 119 이상, Safari 26 이상, Node.js 22.3.0 이상을 지원 대상으로 제시합니다. WASI 런타임은 지원 대상에서 제외합니다. 반면 게임잼 템플릿 README는 Firefox와 Chrome을 권장하고 Safari는 지원하지 않는다고 적었습니다. 따라서 Safari 지원 범위는 Hoot 0.10.0 문서와 템플릿 README가 일치하지 않습니다. 공개 자료에는 템플릿 코드가 0.10.0 기준으로 갱신됐는지 나와 있지 않습니다.

Hoot는 Scheme 프로그램을 브라우저에서 실행할 수 있는 WebAssembly로 만드는 도구지만, 이번 릴리스의 표준 라이브러리 지원에는 부분 구현도 포함됩니다. 예를 들어 SRFI-13과 SRFI-60은 부분 지원으로 소개됐습니다. 템플릿이 제공하는 빌드와 게임 예제가 시작 과정을 줄여주지만, 사용하려는 라이브러리와 실행 환경의 지원 범위는 각각 다를 수 있습니다.

자료: Spritely Institute / 정리·해설: Trawling

참고 자료