This repository was archived by the owner on Oct 14, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
Create Orange Mini #27
Copy link
Copy link
Open
Milestone
Description
Orange Mini is a subset of the Orange language to be used for bootstrapping. It will be written in C++ and contain only the following features:
- Loose aliases
- Arrays
- Core builtin interfaces (Number, Ordered, etc.)
- C interoperability
- Type casting
- Classes
- Inheritance
- Properties
- Basic enumerators (C-style)
- Functions
- Type extensions
- Generics
- Interfaces
- Loops (for, while, do while)
- Packages and namespaces
- Pointers and references
- Basic preprocessor directives (#if)
- Privacy levels (private/protected/public/etc)
- Variables
The following features will not be available in the miniature version:
- Strict aliases
- Tuples and tuple unwrapping
- Short blocks, blocks as values
- Enums w/ values
- Switch statement
- Default values for parameters
- Named arguments
- Implicit generics
- Partial classes
- Full UTF-8 support in source files
- Placeholder (
_) variable - Closures
- Lambdas
- Generic constraints
The only binary Orange Mini will produce is oc. It will take in a series of .or files and produce either an executable or a library. It will link to libc by default, but can link to no other libraries. Using orange libraries with oc requires passing in all of their source files.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels