Hey Louis, I think it should include compile time checks. Mostly I would expect those for function headers, case blocks and with blocks.
Dialyzer already checks many of those conditions, but I would like to go a step further. Your mentioned library looks really interesting. Making it work together with existing type specifications would be really cool. With for example structs, I can achieve safety really easy by adding *%Struct{} = my_input* to the function header. I would like to have a mechanism that works similarly, but additionally checks uncovered types of a sum. (If you would for example not cover the None of a Maybe) I think that this could tremendously improve the code quality. Cheers, Jony Am Freitag, 16. Februar 2018 11:57:00 UTC+1 schrieb Louis Pilfold: > > Hey Jony > > Would this involve some form of compile time type checking for these > values? If not we already have them in the form of tuples. > > @type result :: {:ok, string()} | {:error, string()} > > If you want compile time checks this would be more difficult. I've > experimented a little with compile time checks with macros, check it out > here -> https://github.com/lpil/sum > > Cheers, > Louis > > On Fri, 16 Feb 2018 at 10:33 <maen...@joshmartin.ch <javascript:>> wrote: > >> Hi all, >> >> First I want to thank you all for your great work on the elixir language! >> >> Have there been some thoughts to introduce Tagged Unions into elixir? >> I would really love to use sum types like Either or simple enums in my >> daily work and have some support of the language in handling them. >> >> What do you think about this? >> >> Cheers, >> Jony >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elixir-lang-core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to elixir-lang-co...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/4052d8d9-6eda-46c9-b259-fb0f2e041120%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/4052d8d9-6eda-46c9-b259-fb0f2e041120%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/f33c8059-9bea-4d7c-bdfd-2ab662caf8a4%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.