Koka Alternatives

Similar projects and alternatives to koka

  • GitHub repo rust

    Empowering everyone to build reliable and efficient software.

  • GitHub repo checkedc

    Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. This repo has a wiki for Checked C, sample code, the specification, and test code.

  • GitHub repo Rust-for-Linux

    Adding support for the Rust language to the Linux kernel. (by Rust-for-Linux)

  • GitHub repo dafny

    Dafny is a verification-aware programming language

  • GitHub repo rust.ko

    A minimal Linux kernel module written in rust.

  • GitHub repo linear-base

    Standard library for linear types in Haskell.

  • GitHub repo wasm-effect-handlers

    WebAssembly specification, reference interpreter, and test suite with effect handlers extension.

  • GitHub repo pymen

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better koka alternative or higher similarity.


Posts where koka has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-07-06.
  • Linux Rust Support
    news.ycombinator.com | 2021-07-06
  • Koka: A Functional Language with Effects
    news.ycombinator.com | 2021-07-02
    reddit.com/r/rustjerk | 2021-06-08
    I believe the idea of "structural effects" already exists in the form of free monads and more generally, algebraic effects. You should check out koka.
  • Can continuation passing style code perform well?
    news.ycombinator.com | 2021-04-14
    This won't be a very deep answer, but to connect with the original post, programming in CPS is more closely related to delimited continuations than call/cc is because the continuations are just ordinary functions in the host language, unlike call/cc continuations which are a bit more complex.

    As for why delimited continuations are not more popular, many people find shift/reset a bit difficult to program with. In particular the type systems for them are a bit odd and some variants like prompt/control don't have nice type systems for them. Currently, the closely related notion of (algebraic) effect handlers is quite popular in the functional language design community as something quite similar in expressive power but more intuitive for programming and with very natural typing. The Koka language has a lot of nice introductory resources if you are interested in learning more: https://github.com/koka-lang/koka . There's even a serious proposal for adding something based on these to webassembly: https://github.com/effect-handlers/wasm-effect-handlers .

  • Monthly Hask Anything (March 2021)
    reddit.com/r/haskell | 2021-03-11
    Effects are a restriction of monads. Eff r is a monad, but not all monads can be written as Eff r. You can have algebraic effects without monads. In koka effects are part of the language itself. The restriction makes sure that it is possible to compose effects. And this composition of effects is also why the effects is called algebraic. And that is why we want to avoid monads in the first place: because they don't compose.


Basic koka repo stats
12 days ago

koka-lang/koka is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.