digitalmars.D - Draft proposal for mixin template intermediary storage
- Hipreme (6/6) Dec 20 2022 https://github.com/dlang/DIPs/pull/237/files?short_path=8527ec5#diff-852...
- rikki cattermole (10/10) Dec 20 2022 I think you have caught on to something that I played a little bit
- Max Samukha (4/15) Dec 20 2022 What happened to __local from
- cc (6/8) Dec 25 2022 That's a good question. I like the OP proposal and have run into
- Timon Gehr (5/22) Dec 25 2022 This is what happened to it:
- bauss (2/28) Dec 26 2022 But why was it removed?
- Timon Gehr (6/33) Dec 27 2022 Because it was just an experiment and not part of the scope of the DIP.
- Hipreme (2/3) Dec 27 2022 static private?
- Timon Gehr (2/6) Dec 27 2022 Perhaps, but `private` is usually module level.
- areYouSureAboutThat (5/11) Dec 27 2022 I feel a 'gripe' coming on...
- David Gileadi (3/9) Dec 28 2022 `scope private` is my bike shed color, although I can't help
- thebluepandabear (4/10) Dec 27 2022 I'm too dumb to understand what this means yet, but good luck
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
Dec 20 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.
Dec 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?
Dec 20 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`...
Dec 25 2022
On 12/20/22 18:26, Max Samukha wrote:On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:This is what happened to it: https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918 In context: https://github.com/tgehr/dmd/commits/static-foreachI 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?
Dec 25 2022
On Sunday, 25 December 2022 at 21:52:29 UTC, Timon Gehr wrote:On 12/20/22 18:26, Max Samukha wrote:But why was it removed?On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:This is what happened to it: https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918 In context: https://github.com/tgehr/dmd/commits/static-foreachI 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?
Dec 26 2022
On 12/26/22 20:19, bauss wrote:On Sunday, 25 December 2022 at 21:52:29 UTC, Timon Gehr wrote: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.On 12/20/22 18:26, Max Samukha wrote:But why was it removed?On Tuesday, 20 December 2022 at 17:08:47 UTC, rikki cattermole wrote:This is what happened to it: https://github.com/dlang/dmd/commit/bac3426f9881e4a591df229423475efc6c3e0918 In context: https://github.com/tgehr/dmd/commits/static-foreachI 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?
Dec 27 2022
On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:[...]static private?
Dec 27 2022
On 12/28/22 00:55, Hipreme wrote:On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:Perhaps, but `private` is usually module level.[...]static private?
Dec 27 2022
On Wednesday, 28 December 2022 at 00:44:45 UTC, Timon Gehr wrote:On 12/28/22 00:55, Hipreme wrote:I feel a 'gripe' coming on... https://dictionary.cambridge.org/dictionary/english/gripe 'to complain continuously about something in a way that is annoying'.On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:Perhaps, but `private` is usually module level.[...]static private?
Dec 27 2022
On Wednesday, 28 December 2022 at 00:44:45 UTC, Timon Gehr wrote:On 12/28/22 00:55, Hipreme wrote:`scope private` is my bike shed color, although I can't help loving `super private` too :)On Tuesday, 27 December 2022 at 23:02:39 UTC, Timon Gehr wrote:Perhaps, but `private` is usually module level.[...]static private?
Dec 28 2022
On Tuesday, 20 December 2022 at 16:10:42 UTC, Hipreme wrote: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 thoughtsI'm too dumb to understand what this means yet, but good luck with it. If it will help improve the quality of the language then hopefully it'll get accepted.
Dec 27 2022