An open API service indexing awesome lists of open source software.

https://github.com/periapsises/crater

The Crater Programming Language
https://github.com/periapsises/crater

compiler crater lua transpiler

Last synced: about 2 months ago
JSON representation

The Crater Programming Language

Awesome Lists containing this project

README

          

# Crater

Crater is a programming language based on Lua.
The goal is to add static typing and compile directly into Lua source code.

## Planned features

- [ ] Standard Lua types
- [x] Numbers
- [x] `integer`, `decimal`, `exponential`, `hexadecimal` and `binary`
- [x] Binary `+`, `-`, `*`, `/`, `^` and `%`
- [x] Unary `-`
- [x] Concatenation `..`
- [x] To string
- [x] String coercion
- [x] Strings
- [x] Concatenation
- [x] Number coercion
- [ ] Booleans
- [ ] Tables
- [ ] Tuples
- [ ] Functions
- [ ] Variable arguments
- [ ] Multiple returns
- [ ] Custom type definition
- [ ] Support for `require`
- [ ] Generic support
- [ ] Custom `List` type
- [ ] Custom `Dictionary` type
- [ ] Handling special syntax
- [ ] Garry's Mod support
- [ ] Asynchronous support
- [ ] Coroutine type support
- [ ] Custom compilation settings
- [ ] Custom tabulation
- [ ] Custom spacing
- [ ] Conserve comments
- [ ] Documentation generation
- [ ] Library definition

## Examples

```lua
local function printFormatted( msg: string, ...: any ): void
local message = string.format( msg, ... )
print( message )
end

local target: string = "World"

printFormtted( "Hello, %s!", target )
```