Create cool scripts with my programming language "Micron"! See the dev version for the latest version of the language: https://scratch.mit.edu/projects/465672744/ Click "see inside" and read the sticky note under the README sprite to find documentation. The compiler is not good at detecting errors. Message me if your code does not work at all, I will try to find the problem. The goal of Micron is to provide a simple but relatively high-level programming language within Scratch. Most notably, Micron has a type system which allows you to define and use custom data types (structs). For example: (deftype point ((var x)(var y))) Stuff I would like to add in the future: * array decay? * better compiler error detection
Feb 4, 2021: Added C-style inline comments: /*comment*/ Added overloads for operators +,- to add/subtract numbers from pointers. The pointer must be the first item in the list. Feb 3, 2021 (v0.1): Added automatic storage of structs. Fixed bug where structs would be reversed when loaded. Feb 2, 2021: Structs almost fully implemented. Only problem is that structs must be stored in a variable before being used. Feb 1, 2021: Implemented low-level faculties for structs. Jan 31, 2021: Began work on a type system for data. Jan 29, 2021: Added support for dereference / un-dereference operators. Compiler detects when an expression cannot be un-dereferenced. Jan 21, 2021: keyword 'cf' no longer required to invoke a function. Keyword 'progn' must be used for compound blocks. Jan 19, 2021: fixed bugs with processing statements. Generalized 'if' statement. Jan 17, 2021: Implemented basic instruction set and optimization for jumps (branching and looping). Added more stuff to Micron Jan 14, 2021: Added support for automatic constant propagation and instruction compression. Implemented a few more instructions. Started work on Micron, a simple programming language that compiles to ScratchAssembly. Jan 13, 2021: implemented layer 3 with functions, loops, etc Previously: implemented half of planned machine code. layer 1 (before numberization of instructions), layer 2 (before rearrangement of fixed arguments)