Skip to content
Simple imperative programming language created for fun.
C C++ Emacs Lisp Shell CMake Vim script Batchfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update FUNDING.yml Nov 12, 2019
demos full vulkan api Sep 27, 2019
deps readme update Oct 18, 2019
examples volatile type done Sep 16, 2019
install win fixes Sep 27, 2019
lib/bl/api not done Sep 28, 2019
src win fixes Oct 2, 2019
syntax sync Sep 8, 2019
tests sync Sep 29, 2019
.clang-format cleanup May 21, 2019
.gitignore sync Sep 30, 2019
.gitmodules submodule fix Oct 1, 2019
CMakeLists.txt bobject removed Oct 1, 2019
LICENSE Initial commit Jan 22, 2018
README.md readme update Oct 18, 2019
count.sh const value creators Aug 29, 2019
todo.org sync Sep 30, 2019

README.md

About

The Biscuit Language (BL) is simple imperative programming language using LLVM backend implemented in C. Language syntax and all it's features are still in development and not ready for "real" use yet. Biscuit is designed to be simple, fast and explicit.

Contact email: biscuitlang@gmail.com

Goals

  • manual memory management
  • pointers
  • no exceptions
  • fast compilation
  • full compile-time execution (integrated interpreter)
  • no OOP
  • types as values in compile-time
  • use of the LLVM backend
  • multiplatform

Example

main :: fn () s32 {
  return fib(10);
};

fib :: fn (n: s32) s32 {
  if n == 0 || n == 1 {
    return n;
  } else {
    return fib(n-1) + fib(n-2);
  }

  return -1;
};

Instalation

Instructions are here

Recent blogposts

You can’t perform that action at this time.