Article View: pl.comp.lang.c
Article #310201Re: Coroutines w (GNU) C
From: Maciek Godek
Date: Wed, 29 Jan 2020 22:05
Date: Wed, 29 Jan 2020 22:05
49 lines
4303 bytes
4303 bytes
W dniu środa, 29 stycznia 2020 22:56:31 UTC+1 użytkownik heby napisał: > On 29/01/2020 22:40, Maciek Godek wrote: > >> Jeb. Właśnie użyłeś zmiennej globalnej. Ojej. Co się może stać? > > No. Co się może stać? > > Się stan może pomieszać między korutynami. Pokaż przykład. > Dwie identyczne korutyny przeplatające się w jednym flow będa się zakłócać. Podaj przykład. > Dwie identyczne korutyny nie przeplatajace się, ale będące w różnych > wątkach będa się zakłucać. Semantyka korutyn w różnych wątkach nie jest nawet dobrze określona. Nie wiadomo, jak się powinno zachowywać. > >> Nie, jedno to pure function a druga to side effect. Fundamentalna > >> różnica, ludzie poświęcili życie aby wykazać lepszosc jednych nad > >> drugimi, tony prac naukowych napisali. Przykro mi że nie dostrzegasz > >> tego "detalu". > > Korutyna nie jest "pure function". > > Nie ma przeszkód aby była. Jest zasadnicza. Korutyna ma swój stan wewnętrzny, który z definicji jest mutowalny. A czysta funkcja robi tylko jedno: odwzorowuje wejście w wyjście. Zawsze dla tego samego wejścia ma dać to samo wyjście. Nie ma stanu wewnętrznego. I to jest dość kolosalna przeszkoda. > > Czyste funkcje w ogóle nie mają czegoś takiego, jak "przebieg sterowania". > > No i wychodzi na to że nie czaisz bazy. Moja *funkcja* jest pure. Twoja > nie. Obie są korutynami. Korutyna to nie jest funkcja. Tutaj masz definicję, proszę: https://pl.wikipedia.org/wiki/Funkcja > >> Nie musiałem, sam napisałeś przed chwilą przykład korutyny która jest > >> nie reentrant, thradsafe, wahatever. Moja z boosta jest reentrant, > >> threadsafe, whatever. > > No to pokaż mi różnicę behawioralną. Pokaż, jak jedna się może zepsuć, a druga nie może, bo na razie to tak sobie gadasz. > > Och, puśc tą samą korutynę 2x w jednym flow, na przemian. Nie wiem o czym mówisz. Napisz kawałek kodu, to będę wiedział. Problem jest taki, że określenie "ta sama korutyna puszczona 2x w jednym flow" nie jest jednoznaczna, bo nie wiem, co masz na myśli mówiąc "ta sama korutyna". Kawałek kodu wszystko wyjaśni.
Technical Details
Message-ID:
<c4bfeba1-23f9-4307-a084-078282879401@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!g89no780105qtd.0!news-out.google.com!w29ni988qtc.0!nntp.google.com!g89no780099qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <b7cfec93-1d13-44e3-a924-0869447ed3c7@googlegroups.com> <r0seqp$av0$1@dont-email.me> <462689f9-f50d-4a96-8910-cb65757a017a@googlegroups.com> <r0st86$956$1@dont-email.me> <cc360fba-2eab-4928-8e14-36db20fa4a96@googlegroups.com> <r0sv2c$k80$1@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:7b9b:: with SMTP id p27mr1610044qtu.2.1580335516456; Wed, 29 Jan 2020 14:05:16 -0800 (PST) X-Received: by 2002:a25:7645:: with SMTP id r66mr1310125ybc.363.1580335516212; Wed, 29 Jan 2020 14:05:16 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!g89no780105qtd.0!news-out.google.com!w29ni988qtc.0!nntp.google.com!g89no780099qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Wed, 29 Jan 2020 14:05:15 -0800 (PST) In-Reply-To: <r0sv2c$k80$1@dont-email.me> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=83.25.200.96; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 83.25.200.96 References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <b7cfec93-1d13-44e3-a924-0869447ed3c7@googlegroups.com> <r0seqp$av0$1@dont-email.me> <462689f9-f50d-4a96-8910-cb65757a017a@googlegroups.com> <r0st86$956$1@dont-email.me> <cc360fba-2eab-4928-8e14-36db20fa4a96@googlegroups.com> <r0sv2c$k80$1@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <c4bfeba1-23f9-4307-a084-078282879401@googlegroups.com> Subject: Re: Coroutines w (GNU) C From: Maciek Godek <godek.maciek@gmail.com> Injection-Date: Wed, 29 Jan 2020 22:05:16 +0000 Lines: 69 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit