Skip to content

alec-jensen/firescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

firescript logo

Tests

firescript

firescript is a statically and strongly typed programming language that compiles natively or to JavaScript + Wasm. It is designed to be simple, powerful, and easy to learn while remaining expressive for advanced applications.

Disclaimer: firescript is currently in development and is not yet feature-complete. The language and compiler are subject to change. Not everything described in this document is implemented or working. Current builds may leak resources; the design goal is deterministic destruction via an ownership model.

Features

  • Static & Strong Typing: Enhances code readability and reliability.
  • Simple Syntax: Combines the best of C, Java, JavaScript, and Python.
  • Everything is Explicit: No implicit conversions or hidden behavior.
  • Versatile Compilation: Supports native binaries and JavaScript output.
  • Cohesive Design: All parts of the language work seamlessly together.
  • Deterministic Ownership Model (planned): Ownership, moves, borrows, and explicit cloning instead of a tracing garbage collector. See the Memory Management Model.

Example

import @firescript/std.io.{println};

// Define a function that returns the nth Fibonacci number
int8 fibonacci(int8 n) {
    if n <= 1 {
        return n
    }
    return fibonacci(n - 1) + fibonacci(n - 2)
}

// Print the first 10 Fibonacci numbers
for (int8 i : range(9)) {
    println(fibonacci(i))
}

Getting Started

See the Getting Started Guide for installation and usage instructions.

Documentation

Full documentation is available at: https://alec-jensen.github.io/firescript/

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

firescript is released under the MIT License. See LICENSE for details.

About

firescript is a work in progress strongly typed language that compiles natively or to JavaScript, allowing the language to be used almost anywhere.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors