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

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

linear-base reviews and mentions

Posts with mentions or reviews of linear-base. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-11.
  • What is the longterm status of -XLinearTypes ?
    2 projects | | 11 Mar 2022
    Thanks for your interest in linear types. The sort of overarching answer is that the Covid crisis has put a serious wrench in our plans. There has been very little progress on the implementation in the past 2 years, I'm afraid. I hope to slowly pick up the pace again this year. But I make no promise as to specific plans just yet. When we have more visibility, we will publish a roadmap. This is not to say that nothing has happened at all: linear-base is getting a pretty significant release any day now, David Feuer (no affiliated with Tweag) has created linear-generics, an implementation of Generic which is compatible with linear types (there is a surprisingly subtle issue with Generic1, in particular, that I don't understand very well, so won't try to explain), we co-wrote two academic articles as well.
  • Monthly Hask Anything (March 2021)
    2 projects | | 11 Mar 2021
    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
    2 projects | | 11 Feb 2021
    If you are referring to the specific relative monads discussed in this issue. We'll need to improve inference in the compiler first.
    2 projects | | 11 Feb 2021
    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)
    3 projects | | 31 Dec 2020
    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
    2 projects | | 30 Dec 2020
    I think the solution to the problem with empty might be to use the Ur (for "unrestricted") datatype from linear-base:
    2 projects | | 30 Dec 2020
    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.
  • A note from our sponsor - InfluxDB | 1 Apr 2023
    Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →


Basic linear-base repo stats
4 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives