Interesting! Thanks for sharing.

This is related to something that I've been planning to explore for a while
now: using iterators themselves and their associated coroutines accessed
via `iter.Pull`, to do parsing. That is, instead of gaining access to the
underlying coroutine machinery by use of "go:linkname", perhaps we can get
a bunch of the same advantages by using the more structured form already
provided by the standard library.

I suspect that the feedback from parser to scanner you describe can be
implemented by allowing the parser to invoke methods on the iteration
values (tokens) returned by the scanner.

I wonder if the result might actually be nicer (easier to understand and
better structured) than the direct use of coroutines, which personally I
find quite hard to "get".

  rog.

On Mon, 18 Nov 2024 at 02:53, Romain Doumenc <romain@trout.software> wrote:

> Hi everyone,
>
> I took some time over the past weeks to experiment with the coroutine
> switching capabilities in the runtime – in this case for parsing.
> I find this new API extremely useful, and started seeing quite a few
> places in the code base I maintain to simplify some complicated,
> synchronized, stateful machines.
>
> The document is at:
> https://trout-software.notion.site/Parsing-with-Coroutines-13bf9f8a093980d7a0fcf41b81594677
>
> I hope it is useful for others also interested in experimenting
> --
> Romain
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/golang-nuts/d095a5d6-679f-4c13-82d3-7acf07cf9996n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/d095a5d6-679f-4c13-82d3-7acf07cf9996n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/CAJhgacjwXX6EeRt5%2BzDhy_15wXyvNxHv8CAfLvu0nTz1w2KJPQ%40mail.gmail.com.

Reply via email to