[Dlang-internal] Some suggestions for the d language
Shadowblitz16
DomainName at Email.com
Fri Sep 20 03:00:03 UTC 2019
On Friday, 20 September 2019 at 01:35:52 UTC, Max Haughton wrote:
> On Thursday, 19 September 2019 at 18:39:42 UTC, Shadowblitz16
> wrote:
>> On Thursday, 19 September 2019 at 05:05:51 UTC, Max Haughton
>> wrote:
>>> On Wednesday, 18 September 2019 at 21:03:36 UTC,
>>> Shadowblitz16 wrote:
>>>> [...]
>>> 1. Why?
>>>
>>> 2. No, the reason why D uses ! Instead of <> is to make the
>>> compiler saner to implement.
>>>
>>> 3. Fibers are available in the standard library, which
>>> implement coroutines
>>
>> 1. var is easier to type and would be basically a universal
>> type.
>>
>> 2. right now is confusing to use.
>> it might be harder to implement, but it makes code cleaner and
>> more readable.
>>
>> 3. I would rather not have to call a function for coroutines
>> to create them.
>> its alot easier to just yield out of a function. of course if
>> this slows the language down it would be bad.
>>
>> I think the language should auto detect if a yield is used and
>> execute and store a coroutine until it is finished.
>
> 1. I guess, but again is it really an issue? If I'm reading you
> correctly, does inferring mixin from var even make sense
> semantically?
>
> 2. How is: "range.map!min" confusing compared to
> "range.map<min>"? Also, implementing this would require
> modifying the compiler *a lot*. D is specifically designed not
> to use this feature because ! is not a binary operator whereas
> < > are (To resolve this the parser has to have access to the
> symbol table)
>
> 3. You have to call something even if it's hidden. I would
> actually prefer coroutines or similar to be in the core
> language (It's very difficult if not impossible to check
> whether a function even attempts to call yield for example) but
> what is there works atm
1. no not really it just would be a nice thing to have.
2. I agree this would require alot of work, but I think if
someone was willing to do it it would make it the language alot
nicer even if it was optional syntax.
3. this could be fixed by adding is_coroutine(function) or
something; but why would you need to check it anyway? it just
would be a nice way of doing asynchronous programming in the d
language.
More information about the Dlang-internal
mailing list