Lol! I thought that name looked familiar. ^.^ You should, I know there are a couple of 'incomplete' implementations around (though that one that I cannot remember the name of was the closest...). :-)
On Monday, February 26, 2018 at 3:52:32 PM UTC-7, Louis Pilfold wrote: > > That would be the library I started writing that I was looking for an > alternative to finishing :D > > Guess I should finish it! > > On Mon, 26 Feb 2018, 22:02 OvermindDL1, <overm...@gmail.com <javascript:>> > wrote: > >> So something more like https://github.com/lpil/sum or so (undocumented, >> but it looks right, it's the first thing I found via a github search). >> >> There is one specific one I'm thinking of but can't for the life of me >> remember it's name... I wish hex.pm had the ability to search module >> and function names in a libraries public API... >.> >> >> Either way, it's not hard to write a library to support it though. :-) >> >> >> On Sunday, February 25, 2018 at 9:58:44 AM UTC-7, Louis Pop wrote: >> >>> If I recall correctly this library wraps the values and does not offer >>> compile time checks, which is the inverse of what I'm after. >>> >>> I want unwrapped values and compile time checks :) >>> >>> Cheers, >>> Louis >>> >>> On Sun, 25 Feb 2018, 16:00 OvermindDL1, <overm...@gmail.com> wrote: >>> >> There are at least 2 others that I know of, and I can find those for you >>>> too tomorrow if you want them, they have different features and focuses, >>>> but the one that immediately comes to mind is: >>>> https://github.com/expede/algae >>>> >>>> Expede on GitHub has a lot of cool and useful little 'core' elixir >>>> libraries in my opinion. >>>> >>>> On Feb 24, 2018 06:46, "Louis Pilfold" <louisp...@gmail.com> wrote: >>>> >>> Hi >>>>> >>>>> I started to implement such a library, but I would much prefer to use >>>>> an existing one. I was unable to find any, wild you be able to share some >>>>> links? >>>>> >>>>> Thanks, >>>>> Louis >>>>> >>>>> On Fri, 23 Feb 2018, 18:09 OvermindDL1, <overm...@gmail.com> wrote: >>>>> >>>> There are some library that add sum types to Elixir that do 'some' >>>>>> compile-time checks (like case's and so forth). It would be useful >>>>>> built >>>>>> in to elixir (though not any of the current library implementations) but >>>>>> the libraries already do support much of it. >>>>>> >>>>>> >>>>>> On Friday, February 16, 2018 at 6:35:03 AM UTC-7, Ben Wilson wrote: >>>>>>> >>>>>>> Can you elaborate on the safety provided by doing `%Struct{} = ` on >>>>>>> a function? There are no compile time checks that calls to that >>>>>>> function >>>>>>> are actually of that struct type, just runtime checks on the data. Put >>>>>>> another way this isn't really a type check, but an assertion. >>>>>>> >>>>>>> On Friday, February 16, 2018 at 6:38:07 AM UTC-5, >>>>>>> maen...@joshmartin.ch wrote: >>>>>>>> >>>>>>>> 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> 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. >>>>>>>>>> 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-co...@googlegroups.com. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/elixir-lang-core/d1ac20e5-9198-47d1-91c4-cf6d6b0e733a%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/d1ac20e5-9198-47d1-91c4-cf6d6b0e733a%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-co...@googlegroups.com. >>>>> >>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/elixir-lang-core/CABu8xFC0kWY2ncPW0tm5MbyMj8WFa%2BD2v6bBamdB-1fyk7qu5A%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CABu8xFC0kWY2ncPW0tm5MbyMj8WFa%2BD2v6bBamdB-1fyk7qu5A%40mail.gmail.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-co...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/CAJhqboFaJ1Nww0HwsBxrwu1%2Bhxhg0u-v2ZY7%2BF975A21O9Q6KQ%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAJhqboFaJ1Nww0HwsBxrwu1%2Bhxhg0u-v2ZY7%2BF975A21O9Q6KQ%40mail.gmail.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-co...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/08478144-9690-43e0-a41b-3123c1a7f854%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/08478144-9690-43e0-a41b-3123c1a7f854%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/ff825a7d-a34b-45f8-91fa-149ac99d83d8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.