Hi, I'm Gabi! 馃憢

My name is Gabrielle and I am a 18-year-old software engineer with a passion for functional programming and the Kotlin programming language. In my free time, I enjoy playing Minecraft and working on projects related to compilers. I am excited to share my skills and experience with others in the field.

My projects 馃И

I'm passionate about compilers, type theory, the Minecraft protocol, and Hindley Milner! These topics perfectly blend my love for programming and problem-solving. Compilers transform code into machine code, while Hindley Milner adds elegance and safety to the process. Tinkering with the Minecraft protocol to optimize and customize gameplay is a joy. I love pushing the boundaries of programming and seeking new challenges!

  • Plank

    A functional programming language with a focus on simplicity and ease of use. Plank is a statically typed language with a syntax similar to Kotlin, and a compiler written in Kotlin...

    Read more
  • Trazodone

    A LLVM backend for HVM that runs just-in-time compilation, and abstract the codegen into multiple steps to be easy to generate LLVM, Rust, or any target, and has a built-in evaluator...

    Read more
  • Asena

    Incremental/single-pass based compiler,the API can be either used for Single-Pass Compilingand for building LSP, orthings that would need incremental pipelines. Its a study project of mine for studying incremental compilers and package-managers...

    Read more
  • Lura

    The Lura compiler is the continuation of Asena, it aims an incremental and query-based compiler with focus in a new tooling toolkit.

    Read more
  • Andesite

    A library for Minecraft protocol development that makes easier to develop servers and stuff directly with the protocol, like a minecraft server with void, or even a proxy...

    Read more
  • Bupropion

    Bupropion is a library based on Miette error handling that provides a way to handle errors in a functional way, and it is very similar to Rust error handling and Ariadne too. It is a beautiful way to present your errors...

    Read more

My work 锔忊潳锔忥笍

I specialize in web site and working with the Minecraft protocol. With years of experience in software development, I have a passion for creating efficient and reliable tools for programming and game development. Let's bring your ideas to life!

  • Writing a Minecraft Protocol implementation in Kotlin

    A Minecraft Server/Protocol project is very cool to practice concurrency, and tooling stuff, which is very cool and useful nowadays...

    Read more
  • Defunctionalization

    Defunctionalization is a way to transform higher-order functions in closures, that can be compiled in a lower level like LLVM, C, or even directly on Machine Code. For this task, we can use Closure...

    Read more
  • Rebasing old commits for trans people

    Hello, my name is Gabrielle, and I鈥檓 a transgender person, so it does mean that I changed my name, so here I want to present some techniques to rebase your old commits into new ones with your real name...

    Read more
  • Writing an Equation Solver

    Writing an Equation Solver is a process that is made of: parsing, equating/unifying and rewriting.It is a powerful project that allows us to learn more about logic and functional programming.

    Read more
  • Driving Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism in Rust

    The main goal of this article is making some comments about mb64 implementation of the Complete and Easy.. paper, but implementing it in pure rust code, and some optimizations, like de bruijin levels and indexes!

    Read more
  • GADT-like types in Rust

    I think that GADTs are a very powerful feature of Haskell, and I would like tohave something similar in Rust. I think this is the closestthing to GADTs in Rust.

    Read more
  • Writing Haskell in Kotlin

    Talks about implementing a Haskell-like interpreter in Kotlin. That comes from writing the parser, type system, context resolving to the interpreter. The goal of this article, is to show a short introduction to compilers... (STILL INCOMPLETE)

    Read more