hoot

Compile Scheme programs into standalone WebAssembly modules with JavaScript interop.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill hoot
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hoot
Source: https://github.com/plurigrid/asi/tree/main/skills/hoot
Command: npx skills add https://github.com/plurigrid/asi --skill hoot

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a Scheme→WebAssembly compiler toolchain, enabling Scheme code to run as standalone Wasm modules in web environments.

Core Features & Use Cases

  • Scheme→Wasm compilation: Tail call optimization and continuations.
  • Interoperability: JavaScript interop for host environments.
  • Runtime usage: Load and execute Wasm modules in JavaScript.

Quick Start

Compile a Scheme file to WebAssembly and run it in JavaScript.

Frequently Asked Questions about hoot

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compile Scheme code to WebAssembly?▼

Compile Scheme to WebAssembly using this Scheme→Wasm compiler, which converts your Scheme source files into standalone Wasm modules executable in web environments, Node.js, and embedded runtimes with full tail call optimization and first-class continuations support.

Does WebAssembly support tail call optimization and continuations?▼

This compiler implements full tail call optimization and first-class continuations in WebAssembly, enabling efficient Scheme patterns that rely on tail recursion and complex control flow to execute correctly in Wasm modules.

Can I use Scheme code with JavaScript interop in WebAssembly?▼

Yes, the compiler supports JavaScript interoperability, allowing compiled Wasm modules to call and be called from JavaScript, enabling seamless integration of Scheme logic into JavaScript-based applications.

What's the best way to run compiled Scheme as standalone WebAssembly modules?▼

Generate standalone WebAssembly modules from your Scheme programs, then load and execute them directly in JavaScript environments—no additional runtime wrapper needed beyond standard Wasm module instantiation.

Can I compile Scheme to WebAssembly for web browsers and Node.js?▼

This compiler targets multiple runtimes: web browsers, Node.js, and embedded environments all execute the same compiled Wasm output, eliminating the need for platform-specific Scheme builds.

What Scheme features are preserved when compiling to WebAssembly?▼

The compiler preserves core Scheme semantics including tail call optimization and first-class continuations during compilation to Wasm, maintaining the language's control flow guarantees in the compiled output.