mrLSD / iLang

iLang - a functional programming language and compiler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iLang functional programming language

CI Build Status Coverage Status

iLang is a functional programming language from scratch. It is general purpose, strongly typed, multi-paradigm programming language that encompasses functional programming methods.

iLang is a cross-platform and compiler based on LLVM.

iLang corresponds as a member of the ML language family.

Formal grammar based on EBNF, and it is described in the document here.

Current main goals of the project

  • grammar creation
  • AST implementation
  • compiler creation based on LLVM

Implementation based on Rust language to achieve the goals of reliability, efficiency, speed, memory safety.

Parsing based on nom a parser combinators library.

Requirements

  • Rust 50.0+
  • LLVM 11+

Supported targets

  • Linux x86
  • macOS x86
  • Windows x86

Useful commands

  • cargo build - build project
  • make - run rust clippy tool - collection of lints to catch common mistakes.
  • make test - run unit tests
  • make cover - run coverage tests and generate test coverage report. It's used grcov. For installation run cargo install grcov
  • make fmt - run code formatting.
  • make check - run cargo check

Licanse: MIT

About

iLang - a functional programming language and compiler

License:MIT License


Languages

Language:Rust 99.6%Language:Makefile 0.3%Language:Dockerfile 0.1%