Discussion Thread: DIP 1039--Static Arrays with Inferred Length--Community Review Round 1
Basile B.
b2.temp at gmx.com
Wed Jan 6 11:18:22 UTC 2021
On Wednesday, 6 January 2021 at 11:11:41 UTC, Ola Fosheim Grøstad
wrote:
> On Wednesday, 6 January 2021 at 10:55:39 UTC, Ola Fosheim
> Grøstad wrote:
>> int[_] = …
>>
>> or
>>
>> _[_] …
>
> To expand on this with more examples, you might want to
> constrain "auto" in various ways with pattern matching:
>
>
> // ensure static array of something with length 4
>
> _[4] v = f();
>
> // ensure that I get a MyContainer with some unspecified type
> elements
>
> MyContainer<_> c = g();
>
> // define a function that swaps the content of an array of
> length 2
>
> void swap(ref _[2] a){ … }
>
> // it would also be shorter than auto, but not sure if that is
> a good thing
>
> _ x = 3 // same as "auto x = 3"
I thought about auto when reading the DIP too, but auto is more
used like a Type (although being a storage class ;) ). It's never
used to infer a value, i.e an expression. While I understand what
you mean this is unrelated. Dollar is very well suited.
Maybe you could create the underscore-lang to showcase the idea ;)
More information about the Digitalmars-d-announce
mailing list