Skip to content
@fern-pl

fern

The Fern Programming Language

The Fern Programming Language

GitHub repo license GitHub repo size GitHub code size GitHub commits Stars
Latest commits Lines
Gallinule FNC Specification

Fern is a natively compiled, highly versatile language intended to bring together metaprogramming, performance, and ease-of-use to a happy medium.

Examples exist but are small tidbits meant to facilitate parser testing, the language is not functional.

Notable Features

  1. Hybrid Memory Management

    • Linear Reference Counting
  2. Symbol-First Casting and Conversion

  3. UFCS (Uniform Function Call Syntax)

  4. CTFE (Compile-Time Function Execution)

  5. Symbols and Aliases

  6. Granular Attributes

  7. Variable-Based Return

  8. Iota Operator

  9. Syntactic Sugar Tuples and Tags

Specification

  1. Model

  2. Grammar

  3. Lexical

  4. Metaprogramming

Fern is planned to be able to, as well as natively compile, compile into CIL which may be interpreted directly as if Fern were C# and the standard library is likely to incorporate a more fully fleshed out rendition of Godwit to enable full seamless integration and interop with .NET languages.

The language is heavily based on D, with elements from C# and Rust, but it drastically varies both on the backend and frontend from such languages. Although it is intended for inexperienced developers to be able to use the language, such differences in the language may be confusing without a programming background and it is recommended to have learned at least one language prior.

For more information on the language just read the spec 🥺🥺

Pinned

  1. fnc fnc Public

    The Fern programming language official compiler.

    D 4 1

  2. specification specification Public

    1

  3. gallinule gallinule Public

    Runtime dynamic assembler for cross-arch compilation

    D 3

Repositories

Showing 6 of 6 repositories
  • .github Public
    fern-pl/.github’s past year of commit activity
    Python 0 CC0-1.0 0 0 0 Updated Jun 16, 2024
  • fnc Public

    The Fern programming language official compiler.

    fern-pl/fnc’s past year of commit activity
    D 4 AGPL-3.0 1 0 0 Updated Jun 16, 2024
  • standard-library Public

    The Standard Library (STD) included with the Fern compiler (fnc)

    fern-pl/standard-library’s past year of commit activity
    1 MPL-2.0 0 0 0 Updated May 22, 2024
  • runtime Public

    The Runtime used with each binary compiled with Fern

    fern-pl/runtime’s past year of commit activity
    1 MPL-2.0 0 0 0 Updated May 22, 2024
  • fern-pl/specification’s past year of commit activity
    1 GFDL-1.3 0 1 0 Updated May 22, 2024
  • gallinule Public

    Runtime dynamic assembler for cross-arch compilation

    fern-pl/gallinule’s past year of commit activity
    D 3 AGPL-3.0 0 0 0 Updated May 9, 2024

Top languages

Loading…

Most used topics

Loading…