Cosmo
Cosmo is a statically-typed programming language written in pure Crystal.
We have an extension for VS code (source), however it currently only features syntax highlighting and code snippets.
Installation
Download the Cosmo Installer and run it.
Things I Gotta Do
Features
- Grammar
- Regexes
- Enums
- Decorators
- Interfaces
- Namespaces
- Classes
- single inheritance
- mixins
- static/protected members
- Better type system
- bound expressions (!!)
- type inference
- generics
- casting union types
- implicit conversions
- intersection types
- Other
- Some form of multithreading
- Intrinsic methods for all datatypes (inherit from a base type)
- REPL supports multiline source
Fixes
- Pop completed traces
- Performance boosts lol
- Accessing private class members in public class methods
Tests
- Expectation of errors in parser spec
Refactorings
(empty)
Meta
- Package manager (WIP)
- Documentation generator?
- Linting/language server
- Highlight function names without parentheses
Things I Might Do
- Named arguments
- Make a Cosmo->C compiler
- C bindings
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Test your code (
make test
) - Push to the branch (
make publish
) - Create a new Pull Request
Have any questions or comments? Add me on Discord: runic#5997
!
Contributors
- R-unic - creator and maintainer