Standard library for linear types in Haskell. (by tweag)

Linear-base Alternatives

Similar projects and alternatives to linear-base based on common topics and language

  • GitHub repo koka

    Koka language compiler and interpreter

  • GitHub repo text

    An efficient packed, immutable Unicode text type for Haskell, with a powerful loop fusion optimization framework. (by haskell)

  • GitHub repo

    Personal website using Haskell's Servant framework and Blaze-HTML

  • GitHub repo juvix

    A more elegant language for a more civilized age.

  • GitHub repo ShellCheck

    ShellCheck, a static analysis tool for shell scripts

  • GitHub repo pandoc

    Universal markup converter

  • GitHub repo postgrest

    REST API for any Postgres database

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


Posts where linear-base 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-03-11.
  • Monthly Hask Anything (March 2021) | 2021-03-11
    Handle is defined in terms of UnsafeResource (in linear-base). This is where the linearity checking "stops". If you pattern match an UnsafeResource then you have to make sure that you correctly close/free it. Luckily, this only has to be implemented once in an internal module and is not exported in the public interface.
  • Tweag - linear-base makes writing Linear Haskell easy and fun | 2021-02-11
    If you are referring to the specific relative monads discussed in this issue. We'll need to improve inference in the compiler first. | 2021-02-11
    The optics sublibrary is not very developed yet. Because our arrays, which are one of the principal use-case, require a special kind of lens which we haven't managed to produce without too much code duplication yet. The design space is discussed in this issue.
  • Monthly Hask Anything (January 2021) | 2020-12-31
    So to write a function f :: a %1 -> () you have to traverse the whole datatype a, see the Data.Unrestricted.Internal.Consumable and Data.Unrestricted.Internal.Instances, which introduces a type class consumable which implements exactly this functionality.
  • Ephemeral Purely Functional Data Structure And | 2020-12-30
    I think the solution to the problem with empty might be to use the Ur (for "unrestricted") datatype from linear-base: | 2020-12-30
    Trying to run empty Ur shouldn't typecheck, because the Ur constructor is not linear. This seems to be an idiom used in other places of linear-base.


Basic linear-base repo stats
6 days ago

tweag/linear-base is an open source project licensed under MIT License which is an OSI approved license.