Giter Site home page Giter Site logo

hypo's Introduction

Hypo

Hypo is a hyper-fast runtime for HTML, the programming language.

Run HTML, the programming language code outside of the browser.

Installation

Requirements: Go 1.21 or later

git clone https://github.com/angelofallars/hypo
cd hypo
go install ./cmd/hypo

Usage

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!

Status

Currently implemented commands:

Literals

  • <s>
  • <data>
  • <ol>
  • <table>

Math Commands

  • <dd> - Supported for types Number and String (string concatenation)
  • <sub> - Supported for type Number
  • <ul> - Supported for type Number
  • <div> - Supported for type Number

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>

Types

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, TODO
  • Array - Array type, created by using <ol>

hypo's People

Contributors

angelofallars avatar

Stargazers

Clayton Kehoe avatar  avatar Jemal Rashidi avatar Ryan Tamulevicz avatar Rodrigo Passos avatar Soc Virnyl S. Estela avatar Lennie Budgell avatar  avatar xico avatar Evans Tjabadi avatar Emil Lystimaki avatar Paul Valladares avatar Gregor Vostrak avatar David Pendray avatar ryuku avatar Lionel avatar Rohit Mishra avatar Greg Wedow avatar Félix Gagnon-Grenier avatar Kyle Sin Lynn avatar  avatar

Watchers

Félix Gagnon-Grenier avatar  avatar  avatar

hypo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.