The Koka Language

This was posted by one of our members via one of our automated news source trackers. If you feel this thread could be in a better category or could include better tags and you are at Trust Level 3 or higher, please feel free to move/edit it :+1:

2 Likes

Corresponding tweet for this thread:

1 Like

The Github repo:

1 Like

And here is a snippet from the repo explaining what Koka actually is (which the website fails at explaining, at least from a cursory inspection).

Koka is a strongly typed, strict functional language which tracks the (side) effects of every function in its type. Koka syntax is Javascript/C like, the evaluation is strict like OCaml/C, and the type- and effect system is Haskell like, where pure and effectful computations are distinguished. The precise effect typing gives Koka rock-solid semantics backed by well-studied category theory, which makes Koka particularly easy to reason about for both humans and compilers. (Given the importance of effect typing, the name Koka was derived from the Japanese word for effective (Kōka, 効果)).

2 Likes

Koka also has full support for algebraic effect handlers. This enables powerful control-flow abstraction that allows users to define compositional control-flow abstractions as a library; this includes advanced abstractions like exceptions, iterators, async-await concurrency, ambient state, backtracking parser combinators, probablistic programming, Bayesian machine learning, etc. Algebraic effect handlers subsume (free) monads, and are compositional without needing lifting or monad transformers.

I … know some of these words.

2 Likes