Predecessors

Kedr builds upon multiple languages.

F#

Sequential code, indentation-based structure, syntax for types and functions, absence of parentheses in function invocations.

Rust

Mutability propagation through fields of value types, @mut methods, ref types in addition to pointers, array as a value type, array type name syntax, filler for unspecified field/parameter values.

Kotlin

Syntax for closures, typealias, type casts in case of, when construct, step in loops.

Scala

Static objects, val and var, implementation of abstract methods using fields, underscore for closure parameters, attribute syntax.

C++

Objects with move semantics.

Pascal

Syntax for loops, case of.

Ruby

new syntax to create an object without constructor parameters, idea for symbols to be separate entities.

Jai

Bindings being owners of objects and pointers.