Hypo is a hyper-fast runtime for HTML, the programming language.
Run HTML, the programming language code outside of the browser.
Requirements: Go 1.21 or later
git clone https://github.com/angelofallars/hypo
cd hypo
go install ./cmd/hypo
With no arguments, Hypo will spin up a REPL for you to type and run HTML, the programming language code. You can execute an .html
file by passing the file name as an argument to Hypo.
$ hypo example/helloworld.html
Hello world!
Currently implemented commands:
Literals
-
<s>
-
<data>
-
<ol>
-
<table>
Math Commands
-
<dd>
- Supported for typesNumber
andString
(string concatenation) -
<sub>
- Supported for typeNumber
-
<ul>
- Supported for typeNumber
-
<div>
- Supported for typeNumber
Stack Manipulation Commands
-
<dt>
-
<del>
Comparison Commands
-
<big>
-
<small>
-
<em>
Logical Operators
-
<b>
-
<bdi>
-
<bdo>
Control Flow
-
<i>
-
<rt>
-
<a>
Variables
-
<var>
-
<cite>
I/O
-
<input>
-
<output>
-
<wbr>
Properties
-
<rp>
-
<samp>
Arrays/Dynamic Properties
-
<address>
-
<ins>
Functions
-
<dfn>
Programs
-
<main>
-
<body>
Internally, Hypo has these types for values. Note that they may act differently to the original JavaScript-based implementation of HTML, the programming language. Most importantly, you cannot ever add two values of different types, unlike JavaScript.
Number
- Number type, created by<data>
String
- String type, created by<s>
Bool
- String type, created by using<cite>true</cite>
and<cite>false</cite>
Obj
- Object type, TODOArray
- Array type, created by using<ol>