From the README:

What is KORE?

KORE is a self-hosting programming language that combines the best ideas from multiple paradigms:

Paradigm Inspiration KORE Implementation
Safety Rust Ownership, borrowing, no null, no data races
Syntax Python Significant whitespace, minimal ceremony
Metaprogramming Lisp Code as data, hygienic macros, DSL-friendly
Compile-Time Zig comptime execution, no separate macro language
Effects Koka/Eff Side effects tracked in the type system
Concurrency Erlang Actor model with message passing
UI/Components React/JSX Native JSX syntax, components, hot reloading
Targets Universal WASM, LLVM native, SPIR-V shaders, Rust transpilation

Example

// Define a function with effect tracking
fn factorial(n: Int) -> Int with Pure:
    match n:
        0 => 1
        _ => n * factorial(n - 1)

// Actors for concurrency
actor Counter:
    var count: Int = 0

    on Increment(n: Int):
        count = count + n

    on GetCount -> Int:
        return count

fn main():
    let result = factorial(5)
    println("5! = " + str(result))
  • spartanatreyu
    link
    fedilink
    arrow-up
    1
    ·
    11 hours ago

    Significant whitespace, minimal ceremony

    Well that’s an oxymoron. If you’re having to alter the whitespace instead of the code because the whitespace is significant than all you have is ceremony.

      • I Cast Fist
        link
        fedilink
        arrow-up
        2
        ·
        13 hours ago

        Nim has python-esque syntax and its compiler does not need llvm or rust - it only needs a c compiler if you build it from source. It currently has a significant amount of packages that can be imported, making it easier/faster to get your end result. Nim also has plenty of packages for microcontrollers. Most of the stuff listed on Kore’s “Unimplemented Features (TODOs in source)” are working on Nim, too.

        More importantly, existing for longer means there’s a larger community and several questions of “how do I do X” that have been answered, which is a bigger advantage for choosing Nim in this situation

      • Solumbran@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        Because unless there is a technical advantage to it, creating a new language that does the same or less than another already existing one just splits and weakens both.

        • bitcrafter
          link
          fedilink
          arrow-up
          1
          ·
          20 hours ago

          The person creating this language clearly believes it has things to offer that existing languages do not.