Git Product home page Git Product logo

moth-lang's Introduction

About Me

Home Page

pub type Aurora #Human {
    pub names #[#str];
    pub pronouns #[#PronounGroup];

    pub init() {
        self.names = #str["Aurora", "Auri", "Aura", "Aur"];
        self.pronouns = #PronounGroup[#PronounGroup.Neutral, #PronounGroup.Feminine];

        ret self
    }

    pub fn Sleep() #void {
        // no time, we can later
        #Task.Schedule(self.Sleep, #Time.in("2h");
        ret
    }
}

extend #Programmer for #Aurora {
    pub fn Develop(tools #[#Tool]) #Result<#Project, #Error> {
        ret if tools.Contains(#Tool.JavaScript)
            then #Result.Err(init #IllegalToolError(#Tool.JavaScript))
            else #Result.Ok(init #Project(self, tools))
    }
}

Languages I'm Interested In

Known Languages

Tools I've Used

Operating Systems I've Used

Socials

I am present on GitHub and Discord primarily

Current Projects

  • moth-lang, a compiler written in C# that converts from my custom Moth language to C-compatible code using LLVM. Includes the luna build tool and silk bindings generator.
    • moth-core, the standard library for Moth.
    • moth-dev, a VS Code extension providing syntax highlighting for Moth source code files.
  • ConnectR, a server written in Rust meant for filehosting and messaging.

Archived Projects

Nix Package Repository

I host my personal Nix packages publicly at StellarWitch/nurpkgs. All package definitions are licensed under MIT.

Proud PRs

Details

Metrics

moth-lang's People

Contributors

maximumoverflow avatar stellarwitch7 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

moth-lang's Issues

To-do

  1. Allow for typeref tokens in expressions to call the ProcessAccess() method.
  2. Implement compilation of calls to static methods.
  3. Hopefully figure out why Clang is failing to compile sizeof().

Fix AST creation

The first "name" of an access operation isn't necessarily a class. Remove ClassRefNode and simply have access operations be a chain of UnknownRefNode, MethodCallNode, and IndexAccessNode.

Fixed access operations

Access operations should always have priority and apply it the same way multiplication and division apply priority.

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.