Fair point.

On Mon, Jan 19, 2026 at 9:25 AM Amos King <[email protected]> wrote:

> An option would change the entire comprehension and not a single match
> which I think would be less than ideal.
>
> I think of ‘for’ when I want to filter and combine permutations. If I want
> to match I generally use Enum.map and when the fun doesn’t match you get an
> error.
>
> I personally like the strong distinction between when I want to use a ‘go’
> vs Enum functions. A slightly different arrow can be easy to overlook when
> reading code or even when writing it.
>
>
> Amos
>
> On Jan 19, 2026, at 07:40, Bruce Tate <[email protected]> wrote:
>
> 
> Maybe an option like *strict: true*, or mode: *strict | match*, or *mode:
> match | **destrcuture* would work?
>
> -bt
>
> On Mon, Jan 19, 2026 at 8:30 AM Hannes Steffenhagen <
> [email protected]> wrote:
>
>> Right now, when you write a list comprehension with a pattern match, if
>> the match fails the result is "discarded", so effectively the pattern match
>> acts as a filter. This is convenient in some cases, but doesn't leave an
>> obvious option to use when you wanted to use the pattern match only for
>> destructuring, not filtering. E.g: in
>>
>> for {x,y} <- pairs do...
>>
>> We expect 'pairs' to to only contain pairs. It'd be unexpected for there
>> to be anything else in there, but if by mistake (e.g. during refactoring)
>> something else manages to sneak in there we may silently discard it which
>> is a source of easy to miss bugs. This happened to us in the 'real world'
>> during a refactor where we started to return a list of %{id:, name:}
>> structs instead of a list of pairs from a function. Of course cases like
>> that can often be caught with test coverage, but it'd be nice to have some
>> way to explicitly say that we expect the pattern match to succeed, and
>> raise if not, so cases that slip through the cracks don't lead to hard to
>> trace bugs.
>>
>> In Erlang, with https://www.erlang.org/eeps/eep-0070 we have strict
>> comprehensions now with the syntax <:-.. I don't know if that syntax would
>> be appropriate for Elixir, but if not I am sure we could think of some
>> other syntax for it.
>>
>> Apologies if this had already been discussed, I couldn't find a
>> discussion on it other than a comment by Jose on this github issue that it
>> would have to be something to be discussed separately:
>> https://github.com/elixir-lang/elixir/issues/14148#issuecomment-3126519887
>>
>> --
>> 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 [email protected].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/elixir-lang-core/34bd1126-03aa-4859-a23b-5c69bf351d3dn%40googlegroups.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/34bd1126-03aa-4859-a23b-5c69bf351d3dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
>
> Regards,
> Bruce Tate
> CEO
>
>
> <https://bowtie.mailbutler.io/tracking/hit/f8218219-d2a8-4de4-9fef-1cdde6e723f6/c7c97460-016e-45fb-a4ab-0a70318c7b97>
>
> Groxio, LLC.
> 512.799.9366
> [email protected]
> grox.io
>
> --
> 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 [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-79V6YwDNzKjgctvY5xwoFbF7bbs7Md1TJO7nQK6Ux0ww%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-79V6YwDNzKjgctvY5xwoFbF7bbs7Md1TJO7nQK6Ux0ww%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 [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/elixir-lang-core/0CADB481-F911-4F5B-8761-C07577704840%40binarynoggin.com
> <https://groups.google.com/d/msgid/elixir-lang-core/0CADB481-F911-4F5B-8761-C07577704840%40binarynoggin.com?utm_medium=email&utm_source=footer>
> .
>


-- 

Regards,
Bruce Tate
CEO

<https://bowtie.mailbutler.io/tracking/hit/f8218219-d2a8-4de4-9fef-1cdde6e723f6/c7c97460-016e-45fb-a4ab-0a70318c7b97>

Groxio, LLC.
512.799.9366
[email protected]
grox.io

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-7EVKX9r1zaEMW0yKkYz%2BCbTh%2BtVrWS2TFYc6TAD%3DssDA%40mail.gmail.com.

Reply via email to