HoangTuan110 / mil

A small, concatenative programming language. Implemented in C99.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


      ___                       ___ 
     /\__\          ___        /\__\
    /::|  |        /\  \      /:/  /
   /:|:|  |        \:\  \    /:/  / 
  /:/|:|__|__      /::\__\  /:/  /  
 /:/ |::::\__\  __/:/\/__/ /:/__/   
 \/__/~~/:/  / /\/:/  /    \:\  \   
       /:/  /  \::/__/      \:\  \  
      /:/  /    \:\__\       \:\  \ 
     /:/  /      \/__/        \:\__\
     \/__/                     \/__/

Mil

A small, concatenative programming language. Implemented in C99.

Mainly influenced by GNU dc and Forth.

⚠️ Mil is incomplete, and can contain bugs and nasty stuff. You can go to the TODO.txt for a list of completed and incomplete things. If you find a bug in Mil, please open an issue.
Mil is also a primarily hobby project, so features that you expected from other small C programming languages are not here yet, like GC and C APIs. These may be implemented in the future.

Getting startedOverviewInstallationLicense

Getting started

# A small taste of Mil
"Hello Mil!" $ # print("Hello world!")
50 40 + sa # a = (40 + 50)
30 20 - sb # b = (20 - 30)
la lb = .  # print(a == b)

See examples/ for more examples about Mil.

Overview

  • Small — less than 300 sloc in a single .h/.c pair
  • Compiles down to less than 40kb
  • Supports numbers, strings and functions
  • Implemented in portable C99

Installation

git clone https://github.com/HoangTuan110/mil
cd mil
chmod +x build.sh
./build.sh

License

This program in under the MIT license. See LICENSE for more details.

About

A small, concatenative programming language. Implemented in C99.

License:MIT License


Languages

Language:C 99.0%Language:Shell 1.0%