algae icon indicating copy to clipboard operation
algae copied to clipboard

Bootstrapped algebraic data types for Elixir

Results 20 algae issues
Sort by recently updated
recently updated
newest added

Currently, the way Either is implement, there is no way to unwrap it while handling the left value other than a raw case statement. There's no way to fold both...

This code fails to compile with the following error: `(UndefinedFunctionError) function DateTime.new/0 is undefined or private`. ```elixir defmodule A do import TypeClass defdata do time :: DateTime.t() end end ```

Im not sure if issues is a correct place to request help, however I'm trying to understand `Algae.Free` and it isn't as easy as it might be There is [link...

Examples in plain Elixir: - [Maybe](https://github.com/serokellcao/etypes/blob/master/lib/etypes/types.ex#L6) - [Phantom](https://github.com/serokellcao/etypes/blob/master/lib/phantom.ex#L10) Would be cool to do the same with `Either`/[`Result`](https://github.com/doma-engineering/cluster/blob/main/lib/uptight/result.ex#L14).

Following the example in docs, I created a module ```elixir defmodule Id do import Algae defdata any() end ``` when I try to call `Id.new("random value")` i get following error:...

bug

Is it possible to update this for newest Elixir version? I assume that's the problem. After adding this (incredible) library and doing mix deps.get, the next time I run my...

I've been search for a good tutorial on understanding this Monad but I'm unable to grasp the concept. I understand how IO monads work. Can anybody explain how to use...

Hi! I think it would be useful to have a parameterized type for optional entities, e.g. ```elixir @spec f(Algae.Maybe.t(String.t())) :: any def f(opt_name) do # ... end ``` We could...

Are there any plans to add monad transformers or any other way to combine monads, or maybe I missed something?

From [`Foldable` documentation](https://hexdocs.pm/witchcraft/Witchcraft.Foldable.html#content): > People are working on Foldable properties. This is one of the exceptions to there needing to conform to properties. PureScript's `Foldable` doesn't mention properties, but [Haskell's](http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Foldable.html)...