Jump to page: 1 2
Thread overview
Draft proposal for mixin template intermediary storage
Dec 20, 2022
Hipreme
Dec 20, 2022
rikki cattermole
Dec 20, 2022
Max Samukha
Dec 25, 2022
cc
Dec 25, 2022
Timon Gehr
Dec 26, 2022
bauss
Dec 27, 2022
Timon Gehr
Dec 27, 2022
Hipreme
Dec 28, 2022
Timon Gehr
Dec 28, 2022
David Gileadi
Dec 28, 2022
thebluepandabear
December 20, 2022

https://github.com/dlang/DIPs/pull/237/files?short_path=8527ec5#diff-8527ec51661ec30739a45e52edbb0f5299a3aad7b8eafbeb21d3b09d7c42ad82

I have been using mixin template for quite some time as I was a bit bothered with its usability and how dependent of other features it actually is. I'm proposing a more readable, self contained and faster mixin template. I want to know some of your thoughts

December 21, 2022
I think you have caught on to something that I played a little bit during BeerConf.

We need to make the compiler 'forget' certain template instantiations and with that, to not directly expose them outside of a mixin template body would be a good semantic to it.

I refer to them as a type function, because its a meta-function that operates on types. Its not quite types as first-class, but more of a reference to something in the AST that is a type.

It could be a possible solution to deadalnix's data structure problem with storage classes like const if it has the right hook.
December 20, 2022
On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:
> I think you have caught on to something that I played a little bit during BeerConf.
>
> We need to make the compiler 'forget' certain template instantiations and with that, to not directly expose them outside of a mixin template body would be a good semantic to it.
>
> I refer to them as a type function, because its a meta-function that operates on types. Its not quite types as first-class, but more of a reference to something in the AST that is a type.
>
> It could be a possible solution to deadalnix's data structure problem with storage classes like const if it has the right hook.

What happened to __local from https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md?
December 25, 2022

On Tuesday, 20 December 2022 at 17:26:24 UTC, Max Samukha wrote:

>

What happened to __local from https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md?

That's a good question. I like the OP proposal and have run into places where I have wanted something similar, but I'd also love something that could be extended to all static foreach situations. Of course, still waiting on static break and static continue...

December 25, 2022
On 12/20/22 18:26, Max Samukha wrote:
> On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:
>> I think you have caught on to something that I played a little bit during BeerConf.
>>
>> We need to make the compiler 'forget' certain template instantiations and with that, to not directly expose them outside of a mixin template body would be a good semantic to it.
>>
>> I refer to them as a type function, because its a meta-function that operates on types. Its not quite types as first-class, but more of a reference to something in the AST that is a type.
>>
>> It could be a possible solution to deadalnix's data structure problem with storage classes like const if it has the right hook.
> 
> What happened to __local from https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md?

This is what happened to it:
https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918

In context:
https://github.com/tgehr/dmd/commits/static-foreach
December 26, 2022
On Sunday, 25 December 2022 at 21:52:29 UTC, Timon Gehr wrote:
> On 12/20/22 18:26, Max Samukha wrote:
>> On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:
>>> I think you have caught on to something that I played a little bit during BeerConf.
>>>
>>> We need to make the compiler 'forget' certain template instantiations and with that, to not directly expose them outside of a mixin template body would be a good semantic to it.
>>>
>>> I refer to them as a type function, because its a meta-function that operates on types. Its not quite types as first-class, but more of a reference to something in the AST that is a type.
>>>
>>> It could be a possible solution to deadalnix's data structure problem with storage classes like const if it has the right hook.
>> 
>> What happened to __local from https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md?
>
> This is what happened to it:
> https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918
>
> In context:
> https://github.com/tgehr/dmd/commits/static-foreach

But why was it removed?
December 28, 2022
On 12/26/22 20:19, bauss wrote:
> On Sunday, 25 December 2022 at 21:52:29 UTC, Timon Gehr wrote:
>> On 12/20/22 18:26, Max Samukha wrote:
>>> On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:
>>>> I think you have caught on to something that I played a little bit during BeerConf.
>>>>
>>>> We need to make the compiler 'forget' certain template instantiations and with that, to not directly expose them outside of a mixin template body would be a good semantic to it.
>>>>
>>>> I refer to them as a type function, because its a meta-function that operates on types. Its not quite types as first-class, but more of a reference to something in the AST that is a type.
>>>>
>>>> It could be a possible solution to deadalnix's data structure problem with storage classes like const if it has the right hook.
>>>
>>> What happened to __local from https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md?
>>
>> This is what happened to it:
>> https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918
>>
>> In context:
>> https://github.com/tgehr/dmd/commits/static-foreach
> 
> But why was it removed?

Because it was just an experiment and not part of the scope of the DIP. (I just proposed everything that was obvious to not give any attack surface.) I am in particular not sure about the syntax `__local`. We can add such a feature back easily, it's around 10 lines of code that need to be restored, but I don't know how exactly it should look.
December 27, 2022
On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:
> [...]

static private?
December 28, 2022
On 12/28/22 00:55, Hipreme wrote:
> On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:
>> [...]
> 
> static private?

Perhaps, but `private` is usually module level.
December 28, 2022
On Wednesday, 28 December 2022 at 00:44:45 UTC, Timon Gehr wrote:
> On 12/28/22 00:55, Hipreme wrote:
>> On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:
>>> [...]
>> 
>> static private?
>
> Perhaps, but `private` is usually module level.

I feel a 'gripe' coming on...

https://dictionary.cambridge.org/dictionary/english/gripe

'to complain continuously about something in a way that is annoying'.
« First   ‹ Prev
1 2