You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
type iolist
= list iolist
| string
val my_iolist : iolist
let my_iolist =["h",["i",["!"]]]
This does not compile
louis ~/projects/learning-alpaca/hello_world $ rebar3 eunit
===> Verifying dependencies...
===> Compiling hello_world
===> Alpaca 0.2.8: compiling hello_world.alp
===> Alpaca compile error:
(╯°□°)╯︵ ┻━┻ {cannot_unify,hello_world,0,t_string,error}
Sorry, we do not have a proper message for this error yet.
Is this a bug or by design?
Thanks,
Louis
The text was updated successfully, but these errors were encountered:
Definite bug, thanks for finding this! The error atom suggests that the typer is assuming success somewhere where it should be checking for an error tuple, e.g. {error, _}. This can happen because typ_of/2 usually returns {Type, NextTypeVariableNumber :: integer()}or{error, term()}.
I think I know what this is now, roughly: alpaca_typer.find_covering_types/4 (or rather try_types/6) isn't looking at list iolist as a possible alias for list string. Not 100% sure this is it but looking likely.
I attempted to define the iolist type like so:
This does not compile
Is this a bug or by design?
Thanks,
Louis
The text was updated successfully, but these errors were encountered: