Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: TeamShadow/shadow

Shadow Reference Compiler 0.8

24 Aug 01:49
95012e6

Choose a tag to compare

Pre-release

This Shadow Reference Compiler 0.8 Beta release includes the following major language features:

  • Classes
  • Interfaces
  • Singletons
  • Exceptions
  • Fields and local variables
  • Methods
  • If and switch statements
  • Loop structures
  • Arrays
  • Immutable classes and references
  • Operator overloading
  • Generics
  • Standard library
  • Garbage collection

Improvements over the previous release:

  • Pure clang support (instead of using gcc as the linker)
  • Native x64 Windows binaries (instead of only x86 binaries that require MinGW)
  • More useful Console methods
  • Better installation scripts
  • Countless bug fixes

Although this release seems like a minor upgrade in terms of features, the exception handling is vastly improved with many bugs removed. Also, the move to pure clang makes it easier to link in libraries in C from the Linux, macOS, and Windows platforms, especially since clang has become such a mature toolchain. The greater interoperability with existing C libraries makes threading an easier challenge. One risk is that tighter coupling with existing libraries will make Shadow less platform-independent. This release marks a significant departure in code generation for Windows platforms compared to the others.

Major language features not included in this release are:

  • Threading and message passing (though these features are in active development)
  • Method references
  • Local methods (closures)
  • Enums

Other smaller issues not included are:

  • Faster and more accurate conversion from floating-point values to String representations and back
  • Standard library classes for networking, GUI, and many other useful things

Shadow Reference Compiler 0.7.5

28 Jul 19:14

Choose a tag to compare

Pre-release

This Shadow Reference Compiler 0.7.5 Beta release includes the following major language features:

  • Classes
  • Interfaces
  • Singletons
  • Exceptions
  • Fields and local variables
  • Methods
  • If and switch statements
  • Loop structures
  • Arrays
  • Immutable classes and references
  • Operator overloading
  • Generics
  • Standard library
  • Garbage collection

Syntax changes:

  • All inner classes are now "static" in the sense that they are not connected to a particular outer class object
  • No more multi-dimensional arrays: Shadow only has arrays of arrays (like Java), no single arrays with multiple dimensions (like C#)

Improvements over the previous release:

  • Addition of reference-count garbage collection
  • Move to Antlr4 for the grammar, simplifying many aspects of the compiler
  • More parse errors reported (instead of quitting after a single parse error)
  • Extensions to make it easier to call C code from Shadow (and Shadow code from C)
  • All generic classes are generated at compile time, removing the need for a complicated dynamic run-time generic (and array) class generation system
  • Improved compilation speed
  • Much better Mac support
  • Partial compilation to optimized .bc binary bitcode files instead of the unoptimized, bulkier, human-readable .ll IR files
  • Expanded standard library
  • Dynamic creation of generic class objects when necessary
  • Shorter and less repetitive type-checking errors
  • LLVM 3.8 and higher support (addressing a breaking change in LLVM IR syntax)
  • Better integration with Eclipse plug-in
  • Better installation scripts
  • Countless bug fixes

Major language features not included in this release are:

  • Threading and message passing (though these features are close)
  • Method references
  • Local methods (closures)
  • Enums

Other smaller issues not included are:

  • Faster and more accurate conversion from floating point values to String representations and back
  • Standard library classes for networking, GUI, and many other useful things

Shadow Reference Compiler 0.6

02 Mar 02:41

Choose a tag to compare

Pre-release

This Shadow Reference Compiler 0.6 Beta release includes the following major language features:

  • Classes
  • Interfaces
  • Singletons
  • Exceptions
  • Fields and local variables
  • Methods
  • If and switch statements
  • Loop structures
  • Arrays
  • Immutable classes and references
  • Operator overloading
  • Generics
  • Standard library

Improvements over the previous release:

  • Greatly improved compilation speed
  • Documentation tool Shadox for automatically generating documentation
  • Partial compilation
  • Expanded standard library
  • Full implementation of nullable references, including nullable arrays
  • Simplified singleton usage
  • Unified extends and implements keywords into is keyword
  • Countless bug fixes
  • Dynamic creation of generic class objects when necessary
  • Shorter and less repetitive type-checking errors
  • LLVM 3.7 and higher support (addressing a breaking change in LLVM syntax)

Major language features not included in this release are:

  • Memory management
  • Threading and message passing
  • Method pointers
  • Local methods (closures)
  • Enums

Other smaller issues not included are:

  • Better data flow and control flow analysis for improved optimization
  • Faster and more accurate conversion from floating point values to String representations and back
  • Standard library classes for networking, GUI, and many other useful things

Shadow Reference Compiler 0.5

17 Oct 15:49

Choose a tag to compare

Pre-release

This Shadow Reference Compiler 0.5 Beta release includes the following major language features:

  • Classes
  • Interfaces
  • Singletons
  • Exceptions
  • Fields and local variables
  • Methods
  • If and switch statements
  • Loop structures
  • Arrays
  • Immutable classes and references
  • Operator overloading
  • Generics
  • Bare-bones standard library

Major language features not included in this release are:

  • Memory management
  • Threading and message passing
  • Method pointers
  • Local methods (closures)
  • Enums

Other smaller issues not included are:

  • Partial compilation
  • Expanded standard library
  • Better data flow and control flow analysis for improved optimization
  • Faster and more accurate conversion from floating point values to String representations and back
Morty Proxy This is a proxified and sanitized view of the page, visit original site.