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.

Reply via email to