It would be more `count_while(i <= X)`, I think. -a
On Mon, Jan 11, 2021 at 9:17 PM 'Jayson Vantuyl' via elixir-lang-core < elixir-lang-core@googlegroups.com> wrote: > Isn't count_until(x) the same as count_while(not x)? Unless we're going > to make two versions of each one, it really seems to make more sense to > stick with one naming and one logic. It would be useful, too, for > situations where we want to refactor a "count_while" into a "take_while". > Aligning the naming and logic makes that a lot clearer. > — > Jayson Vantuyl > Staff Software Engineer | Infrastructure > > 405 Howard St Fl 2 > San Francisco, CA 94105 > www.brex.com > 417-207-6962 (cell) > > > On Fri, Dec 4, 2020 at 8:33 AM Zachary Daniel <zachary.s.dan...@gmail.com> > wrote: > >> I've made a PR here, but I'm happy to change change the name if we land >> on something better: >> https://github.com/elixir-lang/elixir/pull/10532/files >> >> I personally still prefer `count_until`. >> >> On Friday, December 4, 2020 at 11:24:06 AM UTC-5 ad...@a-corp.co.uk >> wrote: >> >>> What about count_upto or count_up_to >>> >>> This is similar to the ruby method .upto. >>> >>> >>> >>> On Fri, 4 Dec 2020 at 16:20, Zachary Daniel <zachary....@gmail.com> >>> wrote: >>> >>>> `count_while` would imply (to me) that it counts while a predicate >>>> returns true. The only name I can think of that would be expressive and >>>> consistent with other Enum functions would be something like >>>> `Enum.count_take` or `Enum.take_count`, but I think that `Enum.take_until` >>>> is a better name. >>>> >>>> On Friday, December 4, 2020 at 10:50:18 AM UTC-5 >>>> mario.luis...@gmail.com wrote: >>>> >>>>> This would be the first function in Enum with "until" in its name. For >>>>> consistency with the other functions in this module, wouldn't it be >>>>> preferable the "while" suffix instead ? >>>>> >>>>> A sexta-feira, 4 de dezembro de 2020 à(s) 07:29:29 UTC, José Valim >>>>> escreveu: >>>>> >>>>>> We can also add Enum.count_until(enumerable, filter, n) and you can >>>>>> use filter = & &1 if you want to force enumeration, like there is for >>>>>> Enum.count/2 today. >>>>>> >>>>>> On Fri, Dec 4, 2020 at 8:28 AM José Valim <jose....@dashbit.co> >>>>>> wrote: >>>>>> >>>>>>> That's a very good point Jayson. I think we should go with "count >>>>>>> until should take advantage of all optimizations and ignore >>>>>>> side-effects”. >>>>>>> I believe it is fair to expect that no enumerable that implements count >>>>>>> actually has side-effects, exactly because of the implications of what >>>>>>> you >>>>>>> said. >>>>>>> >>>>>>> On Fri, Dec 4, 2020 at 8:08 AM 'Jayson Vantuyl' via elixir-lang-core >>>>>>> <elixir-l...@googlegroups.com> wrote: >>>>>>> >>>>>>>> There are three questions I don’t think we’re considering: >>>>>>>> * What does it mean to “partially count” an Enumerable that >>>>>>>> implements an “efficient” `count/1` function? >>>>>>>> * If such an Enumerable has side-effects for its `reduce/3` >>>>>>>> function, should they be somehow still happen even though the `count/1` >>>>>>>> doesn’t necessarily iterate the elements? >>>>>>>> * If such an Enumerable returns a larger count that asked for, >>>>>>>> should we return the larger “technically correct” value; or the `max + >>>>>>>> 1` >>>>>>>> value? >>>>>>>> >>>>>>>> I generally like `count_until/2` because it‘s unopinionated about >>>>>>>> what you’re doing with the count. But the answers to the above question >>>>>>>> probably should be addressed and documented. >>>>>>>> >>>>>>>> I really see two ways to address the above question. Either we >>>>>>>> consider “count until implies actively counting” or “count until should >>>>>>>> take advantage of all optimizations and ignore side-effects”. >>>>>>>> >>>>>>>> My feel is that the latter is generally going to be more efficient >>>>>>>> in the common case but the former is less likely to create unexpected >>>>>>>> behavior from people who don’t know how their Enumerable is >>>>>>>> implemented. >>>>>>>> >>>>>>>> I’m inclined to favor the former. It won’t throw away efficiency >>>>>>>> that a custom Enumerable will implement, it’ll generally make naive >>>>>>>> code >>>>>>>> faster, and the rare cases where people expect side-effects is probably >>>>>>>> less important than either of those other benefits. >>>>>>>> >>>>>>>> Sent from my iPhone >>>>>>>> >>>>>>>> On Dec 3, 2020, at 21:18, José Valim <jose....@dashbit.co> wrote: >>>>>>>> >>>>>>>> >>>>>>>> Thanks Allen! I believe that's a good idea. >>>>>>>> >>>>>>>> I think the main insight is that we don't want a predicate function >>>>>>>> (at_least? more_than?). Using compare returns three states - which is >>>>>>>> better than two - but what if we just returned the number? After all, >>>>>>>> if I >>>>>>>> am interested in knowing if something has less than 10, 10, or more >>>>>>>> than >>>>>>>> 10, I just need to count until eleven. Returning a number seems to be >>>>>>>> more >>>>>>>> flexible too. Therefore, what do you think about: count_until(enum, >>>>>>>> value)? >>>>>>>> >>>>>>>> To check if less, eq, or more than 10: >>>>>>>> >>>>>>>> case Enum.count_until(count, 10 + 1) do >>>>>>>> 11 -> :gt >>>>>>>> 10 -> :eq >>>>>>>> _ -> :lt >>>>>>>> end >>>>>>>> >>>>>>>> For at least 10: >>>>>>>> >>>>>>>> Enum.count_until(count, 10) == 10 >>>>>>>> >>>>>>>> For more than 10: >>>>>>>> >>>>>>>> Enum.count_until(count, 10 + 1) > 10 >>>>>>>> >>>>>>>> Thoughts? >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Dec 4, 2020 at 2:14 AM Zach Daniel <zachary....@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Yep! I really like it :) >>>>>>>>> >>>>>>>>> On Thu, Dec 3, 2020 at 7:52 PM eksperimental < >>>>>>>>> eksper...@autistici.org> wrote: >>>>>>>>> >>>>>>>>>> On Thu, 3 Dec 2020 19:06:18 -0500 >>>>>>>>>> Allen Madsen <allen.c...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>> > Enum.compare_count([], 1) #=> :lt >>>>>>>>>> > Enum.compare_count([1], 1) #=> :eq >>>>>>>>>> > Enum.compare_count([1, 2], 1) #=> :gt >>>>>>>>>> >>>>>>>>>> This is the way to go, because in one function call we can >>>>>>>>>> determine the >>>>>>>>>> course of the action, such as in >>>>>>>>>> >>>>>>>>>> case Enum.compare_count(list, n) do >>>>>>>>>> :lt -> ... >>>>>>>>>> :eq -> ... >>>>>>>>>> :gt -> ... >>>>>>>>>> end >>>>>>>>>> >>>>>>>>>> when using the predicate functions it would require at least two >>>>>>>>>> function calls. >>>>>>>>>> >>>>>>>>>> > >>>>>>>>>> > Allen Madsen >>>>>>>>>> > http://www.allenmadsen.com >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > On Thu, Dec 3, 2020 at 6:51 PM Zach Daniel >>>>>>>>>> > <zachary....@gmail.com> wrote: >>>>>>>>>> > >>>>>>>>>> > > Well, List.count doesn’t exist yet, but either way it sounds >>>>>>>>>> like >>>>>>>>>> > > not a great idea :) I couldn’t find examples in other Lang’s, >>>>>>>>>> so >>>>>>>>>> > > maybe I’ll just throw out some other names: >>>>>>>>>> > > >>>>>>>>>> > > Enum.at_least?/2 >>>>>>>>>> > > >>>>>>>>>> > > Enum.at_most?/2 >>>>>>>>>> > > >>>>>>>>>> > > Enum.has_count?/2 >>>>>>>>>> > > >>>>>>>>>> > > On Thu, Dec 3, 2020 at 5:14 PM Michał Muskała < >>>>>>>>>> mic...@muskala.eu> >>>>>>>>>> > > wrote: >>>>>>>>>> > > >>>>>>>>>> > >> Unfortunately this can’t be done automatically since it has >>>>>>>>>> subtle >>>>>>>>>> > >> semantic differences. In particular Enum.count/1 (or >>>>>>>>>> length/1) not >>>>>>>>>> > >> only traverses the list to count its size, but also verifies >>>>>>>>>> it’s >>>>>>>>>> > >> a proper list raising an exception for improper lists. The >>>>>>>>>> > >> difference could be seen for value like: >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> [1, 2, 3 | :invalid] >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> Calling length/1 or Enum.count/1 on this raises. If compiler >>>>>>>>>> did >>>>>>>>>> > >> the optimisation you propose, for something like >>>>>>>>>> length(list) > 0, >>>>>>>>>> > >> it wouldn’t fully traverse the list and wouldn’t raise. Thus >>>>>>>>>> such >>>>>>>>>> > >> an optimisation is not possible in the general case. >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> *From: *elixir-l...@googlegroups.com < >>>>>>>>>> > >> elixir-l...@googlegroups.com> >>>>>>>>>> > >> *Date: *Thursday, 3 December 2020 at 22:04 >>>>>>>>>> > >> *To: *elixir-l...@googlegroups.com < >>>>>>>>>> > >> elixir-l...@googlegroups.com> >>>>>>>>>> > >> *Subject: *Re: [elixir-core:9802] Proposal >>>>>>>>>> `Enum.more_than?/2` or >>>>>>>>>> > >> `List.more_than?/2` >>>>>>>>>> > >> >>>>>>>>>> > >> This probably off the table/unreasonable, but it also seems >>>>>>>>>> like >>>>>>>>>> > >> something that could be statically solved and people would >>>>>>>>>> never >>>>>>>>>> > >> need to know as it is just an optimization. E.g >>>>>>>>>> Enum.count(list) > >>>>>>>>>> > >> n could optimized by the compiler? Probably wouldn’t be good >>>>>>>>>> for >>>>>>>>>> > >> all Enums, since counting would be expected to enumerate >>>>>>>>>> them, so >>>>>>>>>> > >> maybe only something like List.count 🤷♂️ >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> On Thu, Dec 3, 2020 at 1:42 PM Zach Daniel >>>>>>>>>> > >> <zachary....@gmail.com> wrote: >>>>>>>>>> > >> >>>>>>>>>> > >> Another benefit to the options list would be supporting it >>>>>>>>>> for >>>>>>>>>> > >> count with a predicate, e.g Enum.count(enum, >>>>>>>>>> &some_predicate/1, >>>>>>>>>> > >> max: 4) >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> On Thu, Dec 3, 2020 at 1:35 PM Zach Daniel >>>>>>>>>> > >> <zachary....@gmail.com> wrote: >>>>>>>>>> > >> >>>>>>>>>> > >> Nothing is jumping out at me from elsewhere yet, but another >>>>>>>>>> > >> option might be accepting options in `Enum.count`, like >>>>>>>>>> > >> `Enum.count(list, max: 4)`. I’ll keep searching though. >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> On Thu, Dec 3, 2020 at 1:31 PM Zach Daniel >>>>>>>>>> > >> <zachary....@gmail.com> wrote: >>>>>>>>>> > >> >>>>>>>>>> > >> I agree on the name feeling subpar :) I’ll take a look and >>>>>>>>>> see if >>>>>>>>>> > >> I can find other examples. >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> On Thu, Dec 3, 2020 at 12:21 PM José Valim < >>>>>>>>>> jose....@dashbit.co> >>>>>>>>>> > >> wrote: >>>>>>>>>> > >> >>>>>>>>>> > >> Thanks Zach! I like this idea but the proposed name, for some >>>>>>>>>> > >> reason, doesn't sit right with me. Is there any prior art >>>>>>>>>> from >>>>>>>>>> > >> other langs we could look at? >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> On Thu, Dec 3, 2020 at 6:15 PM Zachary Daniel >>>>>>>>>> > >> <zachary....@gmail.com> wrote: >>>>>>>>>> > >> >>>>>>>>>> > >> Counting a list, especially a large one, to know if there are >>>>>>>>>> > >> "more than x" or "less than x" items is inefficient. >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> Right now I often see things like `if Enum.count(list) > 4 >>>>>>>>>> ...`, >>>>>>>>>> > >> mostly because writing a recursive `more_than?` check is >>>>>>>>>> tedious, >>>>>>>>>> > >> or doing something like `Enum.empty?(Enum.drop(list, 4))` is >>>>>>>>>> not >>>>>>>>>> > >> very expressive. >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> >>>>>>>>>> > >> I think it would be nice to have an `Enum.more_than?` that >>>>>>>>>> does >>>>>>>>>> > >> that work for you. It could also be `List.more_than?/2` if we >>>>>>>>>> > >> don't want it in Enum. Any thoughts? >>>>>>>>>> > >> >>>>>>>>>> > >> -- >>>>>>>>>> > >> 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/263d7c39-a32b-4294-93d8-40f248c9b3c8n%40googlegroups.com >>>>>>>>>> > >> < >>>>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/263d7c39-a32b-4294-93d8-40f248c9b3c8n%40googlegroups.com?utm_medium=email&utm_source=footer >>>>>>>>>> > >>>>>>>>>> > >> . >>>>>>>>>> > >> >>>>>>>>>> > >> -- >>>>>>>>>> > >> 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/CAGnRm4JX4NE1yWH1G5L_DjF18v8zejF0%2BSkb_oz%3DPiUHM8Mz1w%40mail.gmail.com >>>>>>>>>> > >> < >>>>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JX4NE1yWH1G5L_DjF18v8zejF0%2BSkb_oz%3DPiUHM8Mz1w%40mail.gmail.com?utm_medium=email&utm_source=footer >>>>>>>>>> > >>>>>>>>>> > >> . >>>>>>>>>> > >> >>>>>>>>>> > >> -- >>>>>>>>>> > >> 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/CAK-yb0BBGCrgbZamFs%2BeqLUis6mFQgvUHkKK1htSN5rDDWwMRQ%40mail.gmail.com >>>>>>>>>> > >> < >>>>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAK-yb0BBGCrgbZamFs%2BeqLUis6mFQgvUHkKK1htSN5rDDWwMRQ%40mail.gmail.com?utm_medium=email&utm_source=footer >>>>>>>>>> > >>>>>>>>>> > >> . >>>>>>>>>> > >> >>>>>>>>>> > >> -- >>>>>>>>>> > >> 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/DB7PR07MB3899C92933992464F17898E1FAF20%40DB7PR07MB3899.eurprd07.prod.outlook.com >>>>>>>>>> > >> < >>>>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/DB7PR07MB3899C92933992464F17898E1FAF20%40DB7PR07MB3899.eurprd07.prod.outlook.com?utm_medium=email&utm_source=footer >>>>>>>>>> > >>>>>>>>>> > >> . >>>>>>>>>> > >> >>>>>>>>>> > > -- >>>>>>>>>> > > 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/CAK-yb0BO2QESHcaL7-svOoAGqvr6hJi%3D8AHFqi-qNZdoFEMMwA%40mail.gmail.com >>>>>>>>>> > > < >>>>>>>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAK-yb0BO2QESHcaL7-svOoAGqvr6hJi%3D8AHFqi-qNZdoFEMMwA%40mail.gmail.com?utm_medium=email&utm_source=footer >>>>>>>>>> > >>>>>>>>>> > > . >>>>>>>>>> > > >>>>>>>>>> > >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> 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/5fc98859.1c69fb81.3cf33.11a4SMTPIN_ADDED_MISSING%40gmr-mx.google.com >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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/CAK-yb0AfjLS-vef8u9EWpuQ3tHVaXXfvAF9QMu%2B9hin7WjoNQA%40mail.gmail.com >>>>>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAK-yb0AfjLS-vef8u9EWpuQ3tHVaXXfvAF9QMu%2B9hin7WjoNQA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>>> 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/CAGnRm4LNUYuR%2BztiJ5p3viSEd-Tj6CbptUvyt9CrGigRtKjTMQ%40mail.gmail.com >>>>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LNUYuR%2BztiJ5p3viSEd-Tj6CbptUvyt9CrGigRtKjTMQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>>> -- >>>>>>>> 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/1B141347-7013-4C56-BCFB-E1A1A4430422%40brex.com >>>>>>>> <https://groups.google.com/d/msgid/elixir-lang-core/1B141347-7013-4C56-BCFB-E1A1A4430422%40brex.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> -- >>>> 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/9938fb50-2325-4239-b3f6-7aa66a236d9dn%40googlegroups.com >>>> <https://groups.google.com/d/msgid/elixir-lang-core/9938fb50-2325-4239-b3f6-7aa66a236d9dn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> 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/5bcfe253-8f5d-4332-a39a-86dd60f73635n%40googlegroups.com >> <https://groups.google.com/d/msgid/elixir-lang-core/5bcfe253-8f5d-4332-a39a-86dd60f73635n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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/CAJMspK0-yH297R8u8wmdd871gJUVOoxP2osjHsWZ-oBPu5x_2w%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAJMspK0-yH297R8u8wmdd871gJUVOoxP2osjHsWZ-oBPu5x_2w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- Austin Ziegler • halosta...@gmail.com • aus...@halostatue.ca http://www.halostatue.ca/ • http://twitter.com/halostatue -- 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/CAJ4ekQsewE2qe76LQfCDc%3D6EXK5OQEsANsGkQQtG0Yf43%2BF2NQ%40mail.gmail.com.