Skip to content

Periapsises/Crater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
    • Numbers
      • integer, decimal, exponential, hexadecimal and binary
      • Binary +, -, *, /, ^ and %
      • Unary -
      • Concatenation ..
      • To string
      • String coercion
    • Strings
      • Concatenation
      • Number coercion
    • Booleans
    • Tables
    • Tuples
    • Functions
      • Variable arguments
      • Multiple returns
  • Custom type definition
  • Support for require
  • Generic support
    • Custom List<T> type
    • Custom Dictionary<K, V> 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

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

local target: string = "World"

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

Releases

No releases published