da5b3abbff8f5d2b32986f38ad5bb3a7b0d1cce8
Comet 
Comet is a fast, compiled programming language built on top of C and runs on a custom made stack-based VM. It has an enormous feature list, including:
- Classes (called structs)
- Generics
- Runtime exceptions
- Inline functions
- A system for casting values from one type to another
- A constraint system for generics (not done just yet!)
- Inheritance
- Imports and a package system (no more C-style header files!)
- An extensive standard library that handles memory management for you
- Arrays
- A package manager for external libraries (See Nebula)
Supported Systems
- Linux - natively supported. Comet will work perfectly fine on Linux.
- MacOS - supported. MacOS will you give you extra warnings and you will need to install argp as well as uthash.
- Windows - untested. Comet may or may not work. For the best compatibility, use Comet inside of WSL.
- Other systems - untested. If you're on a Unix-like system then Comet will likely work.
Completed Features
- Variables
- Loops
- While loops
- For loops
- Standard library
- IO - Input/Output
- Printing
- File IO
- Collections - data structures
- List
- Hashmap
- String - string handling and management
- IO - Input/Output
- Imports
- Package system
- Package manager
- Functions
- Returning
- Inline functions
- Structs
- Struct definition
- Fields
- Private/protected/readonly
- Default values
- Accessing / setting fields
- Methods
- Special methods (as, etc...)
- Constructor
- Destructor
- Fields
- "new" keyword
- Calling methods
- Inheritance
- Generics
- Base generics (creation, type checking, etc...)
- Generic constraints
- Struct definition
- Command line args
- Arrays
- Creation
- Access
- Changing values
- Exceptions
- Throw exceptions
- Catch exceptions
- Enums
Syntax and Creating External Libs
- Syntax and tutorial: Comet Website
- Creating an External Library: Comet Wiki
Installation
Comet has no official release yet, and thus you will have to build Comet from source.
Compile Requirements
- uthash - needed for a dictionary implementation in C
- argp (installed on most Linux distros) - used for command line argument parsing
Compiling
Just run make install in the root of the repo. This will install the cometc and comet executables as well as the core library needed to run comet. If you want a debug build, run make debug which will just put the cometc and comet executables in the root of the repo instead. Debug builds include the address sanitizer for tracking down segfaults.
Description
An object orientated programming language designed to fix the problems with other languages. All of this compiled and running on a stack-based VM.
https://chsp.au/Comet/Comet/index.html
Languages
C
92.2%
HTML
5.9%
CSS
1.5%
Makefile
0.2%
Python
0.2%