Hbl
A Lisp-based golfing language with a half-byte codepage
Install / Use
/learn @dloscutoff/HblREADME
HBL: Half-Byte Lisp
HBL is a Lisp dialect designed for code golf. It uses a codepage with 16 characters, meaning that two characters can be encoded in a single byte. HBL also comes with an ungolfed mode called Thimble.
Getting started
The easiest way to try HBL is in the online interpreter.
HBL is implemented in Scala 3. If you have Scala 3 with the sbt build tool installed, you can use the following steps to run HBL code:
- Clone the HBL repository
- At the command line, navigate to the repository's root directory
- Run
sbt - Once the sbt server has started up, type
run path/to/hblfile argsat the sbt prompt to run the given HBL program with the given arguments
For example, you can run the Collatz function example program with an input of 7 by typing run examples/collatz.hbl 7. To pass a list as an argument, wrap it in quotes: "(1 2 3)".
The format of a code file is determined by its extension:
.hbindicates packed HBL code, a binary file with each byte representing two codepage characters. You may find a hex editor helpful..hblindicates HBL code in plain text format with each codepage character represented by one byte of ASCII..thblindicates Thimble code in plain text format.
Running with Java
If you have Java installed, you can run HBL directly from a JAR file without any Scala dependencies:
- Download the JAR file from the latest release
- At the command line, navigate to the directory where the JAR file is
- Run
java -jar hbl-a.b.c.jar path/to/hblfile argsto run the given HBL program with the given arguments
Thanks to cgccuser for figuring out how to package the application in JAR format.
Documentation
Documentation for HBL and Thimble can be found in the docs folder of this repository.
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
