Project Description

A small group of people has been designing a new programming language, Mangrove, for a while and we're now in process of writing the first iteration(s) of bootstrap compiler(s). Part of our efforts is to research if we could utilize WASM for the first bootstrapping step to make it easier to bootstrap on different platforms. The language won't be using LLVM or any other existing backend to generate the machine code. We're building the whole compiling process ourselves.

Goal for this Hackweek

The goal is to continue building the bootstrap compiler to build a proof-of-concept of using WASM to bootstrap a language to x86_64-linux. So while the syntax should look like Mangrove, the proof-of-concept compiler doesn't reflect the semantics and capabilities of the Mangrove language.

After Hack Week, the bootstrap compiler should be able to:

  1. Compile code to WASM that can be used to

  2. Compile code to x86 that can be used

  3. Run a simple "Hello World" program

Note that the "compiler" will generate WASM and x86 in text formats and 3rd party tools will be used for executing them. Generating bytecode and ELF binaries is out of scope of this project.

Resources

The official Mangrove project: https://github.com/mangrove-lang/mangrove

The experimental bootstrap compiler: https://github.com/Nykseli/mangrove-bootstrap-experiments

WASM runtime: https://github.com/bytecodealliance/wasmtime

WASM reference: https://developer.mozilla.org/en-US/docs/WebAssembly/Reference

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 23

Activity

  • about 1 year ago: malikirri started this project.
  • about 1 year ago: malikirri originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!