~tsukii/mil

A small, concatenative programming language. Implemented in C99.
abb48512 — Dang Hoang Tuan 2 years ago
Update eval() prototype
d009d089 — Dang Hoang Tuan 2 years ago
Update TODO.txt
d3dd56a6 — Dang Hoang Tuan 2 years ago
Remove `hello_ascii_world` example

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~tsukii/mil
read/write
git@git.sr.ht:~tsukii/mil

You can also use your local clone with git send-email.


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

#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.

Do not follow this link