Skip to content

Spinor Programming Language. A Multiple Dispatch paradigm Numerical Computation Language built upon the foundation of the Julia Programming Language and integrated in the .NET Ecosystem.

Notifications You must be signed in to change notification settings

HyperSphereStudio/Spinor

Repository files navigation

Spinor

.NET Runtime for Julia

Resources

Language Project

  • Spinor Runtime: Required to run Julia++ Code. Contains the parser, JIL compiler and other tools that dynamically link together the program during runtime.

    • Spinor Grammer: The grammar defines the structure of the language and when compiled to code with ANTLR, will generate a parser, lexer and AST walker that will be used by the Spinor Compiler.

    • ILCompiler. Used by the Spinor Compiler to generate IL code.

  • Testing. Where the Spinor Runtime is tested to make sure it is valid.

  • Julia Standard Library (JSL). During Runtime Compilation, the JSL will be compiled to JIL and compacted into a jstl.cjpp file that contains the code model of the JSL and precompiles various methods to speed up runtime execution.

  • Spinor Standard Library (SSTL). Extension of the JSL for the Spinor Language

Work Plan

  • Type Lowering & Compilation of Expr objects into CLR

  • Expr Compiler. Create JRM of basic program(s) that is able to be successfully compiled. Julia Grammer. Make it Julia v1.9 Compatible and be able to lower to CLR.

  • Julia STL Modification. The JSL will need to be modified in order to make it work in the new environment

  • Survey Math, Physics & CS Faculty about features they would like to see in a language

  • Spinor Grammer. Extend the Julia Grammer to custom features

  • Spinor Standard Library. Creation of the Julia++ STL.

Evaluation Pipeline

Evaluation Pipeline

About

Spinor Programming Language. A Multiple Dispatch paradigm Numerical Computation Language built upon the foundation of the Julia Programming Language and integrated in the .NET Ecosystem.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages