[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Thought experiment: what would you remove from Lua
- From: Coda Highland <chighland@...>
- Date: Wed, 1 Aug 2018 15:53:39 -0500
On Wed, Aug 1, 2018 at 3:02 PM, Sean Conner <firstname.lastname@example.org> wrote:
> It was thus said that the Great Coda Highland once stated:
>> Well, given that coroutines CAN be implemented in terms of other
>> language features, you could implement them at a higher level -- some
>> sort of automated source transformation at parse time so that the
>> community has done this for quite a while now in order to work around
>> lack of browser-side support, and while the generated code is really
>> hard to read it's definitely just mechanical.
> You would still need to inform the compiler what the blocking points are
> and ... no. Just no.
> -spc (You can pry coroutines from my cold dead hands ... )
You misunderstand: The recommendation is to PRESERVE the coroutine
syntax and do a preprocessing pass to translate that into something
more amenable to efficient VM implementation. As mentioned, this is
yield statement gets transformed behind the scenes into returning some
sort of state object that can be used to resume execution.
Under no circumstances would I want to remove coroutines from the
actual language syntax, because they are far too useful.