GithubHelp home page GithubHelp logo

spotandjake / brisklinker Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 365 KB

A General Purpose Wasm Linker Built For The Brisk Programming Language

License: Apache License 2.0

Shell 25.29% WebAssembly 74.71%
brisk grain linker wasm

brisklinker's Introduction

About Me

Hi my name is Jake, I have been programming for approximatly 7 years, with an interest particuarly in web. Over the past 3 years I have moved to being interested in programming language design and compilers built on webassembly.

Brisk

My favourite project is my uncompleted programming language Brisk, I am building it with the goal of educating myself on compiler design and low level webassembly, counter intuituvly its written primarly in Typescript with the linker portion being written in grain this is because Typescript is very similar to brisk syntactically and should make bootstrapping easier one day.

Interests

  • ๐Ÿ”ญ Iโ€™m currently working on Brisk and grain!
  • ๐Ÿ“ซ How to reach me: Discord: Spotandjake#1510
  • โšก Fun fact: I love Typescript

Languages

Languages I Like To Use

JavaScript TypeScript cSharp Grain html css scss wasm

Languages I Know

Python JavaScript TypeScript Grain cSharp html css scss wasm

Languages I Have Written

C++ C goLang rust readonMl Swift

Languages I want To Learn

Swift C goLang rust readonMl ocaml

Stats

Stats

Top Langs

Pinned Repo

Wakatime stats

brisklinker's People

Contributors

spotandjake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

brisklinker's Issues

Improve WriteFile

Until Grain has a user friendly file system module, we need to implement our own user friendly functions we want to make our writeFile function not fail if the file already exists.

Sort The Dependency Graph

We want to properly sort the dependency graph, so we ensure that module initialization happens correctly in the right order, This is currently not very easy we can look at the v1 branch of the compiler to check how we did this before. Once #4 is completed This will be far easier.

Use Grain File System Libary

Once grain gets a user friendly file system libary we want to use that over our own wrappers arround the basic file libary that is provided.

Once this is closed we can close #2 if it isnt completed yet.

Use Grain Path Libary

Grain v0.5.5 added the path module currently we use a hacky solution that only works because the brisk compiler handles the paths in a specific way. We want to change this over to the path module to make the input more robust.

Use Grain Graph Module for our dependency graph

Once grain adds a graph module we want to use this over the way we sort dependencys, as our method works but just barely and isnt very helpful for anything else, our method also is really complicated compared to using a graph.

Consider Making A Decoder And Encoder Libary

Currently we encode and decode inline which isnt terrible but is a little messy if we did it we broke this functionality into modules it would be better and it would contribute to the grain ecosystem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.