Skip to content

TheSwanFactory/hclang

Repository files navigation

Homiconic C

Introduction

Homoiconic C (HC) is a single universal language for code and data. This repository contains the first implementation of HC as an interpreter written in TypeScript running on deno.

It also contains a sample application called MAML, the Multipurpose Abstract Markup Language. MAML is a radically simple proposal for replacing all the existing web technologies (HMTL, CSS, JavaScript, SVG, etc.) with a single format based on HC.

HC can also be used to define easily-parseable variants of other common file formats (e.g., HCSV, HCSON).

Usage

deno install
export DEBUG=true # optional
deno task hc

This will launch the interpreter.

BitScheme

TODO: Port to Deno

To generate and run the BitScheme documentation, type:

npm run bs:all

This will open the BitScheme.html file, and also run the documentation through the testdoc evaluator which will generate pass/fail messages.

Development

  1. Clone the github repository.

  2. Install deno.

    • e.g., brew install deno on macOS.
  3. Run deno task test.

NOTE: The language-hclang vscode extension is still being updated.

Publishing

From the feature branch:

  1. Run deno task test to ensure all tests pass

  2. Run deno task bump to update version everywhere

  3. Run deno task tag to commit version and tag release

  4. Merge PR to main to publish

Should automatically publish to jsr.