< 1596240013 317501 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1596240333 552079 :xelxebar!~xelxebar@gateway/tor-sasl/xelxebar JOIN :#esoteric < 1596240433 264638 :Arcorann!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net JOIN :#esoteric < 1596240733 285992 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric > 1596243884 723023 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76360&oldid=76326 5* 03RocketRace 5* (+27) 10wording > 1596245266 311383 PRIVMSG #esoteric :14[[07Subreal14]]4 10 02https://esolangs.org/w/index.php?diff=76361&oldid=76360 5* 03RocketRace 5* (+1036) 10Document subfinite loops > 1596245326 127233 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76362&oldid=76361 5* 03RocketRace 5* (-243) 10/* Subfinite loops */ > 1596245400 714225 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76363&oldid=76362 5* 03RocketRace 5* (+0) 10Change the . instruction to reduce ambiguity for parsing < 1596245558 186823 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net PRIVMSG #esoteric :if you were to give a different name to 2 KiB, what would it be? > 1596245603 413193 PRIVMSG #esoteric :14[[07Subreal14]]4 10 02https://esolangs.org/w/index.php?diff=76364&oldid=76363 5* 03RocketRace 5* (+133) 10Make subfinite loops deterministic; otherwise they are not possible to implement > 1596246095 928000 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76365&oldid=76364 5* 03RocketRace 5* (+106) 10Empty pops > 1596246345 831816 PRIVMSG #esoteric :14[[07Subreal14]]4 10 02https://esolangs.org/w/index.php?diff=76366&oldid=76365 5* 03RocketRace 5* (+76) 10The ~ instruction > 1596246569 648458 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76367&oldid=76366 5* 03RocketRace 5* (+136) 10Document the binding strength of + and - in literals and instructions > 1596246581 267964 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76368&oldid=76367 5* 03RocketRace 5* (+0) 10- < 1596246964 229610 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1596247003 161836 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1596247260 444185 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So in gcc, "int foo(void) { int i = 0; void bar(int d) { i += d }; bar(1); return i; }" does not make your stack executable, apparently. < 1596247289 926911 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But "int foo(void) { int i = 0; void bar(int d) { i += d }; void (*f)(int) = bar; f(1); return i; }" does. < 1596247507 218470 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1596248082 211491 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 265 seconds < 1596248435 27868 :aaaaaa!~ArthurStr@nat-pool-13-124.soborka.net JOIN :#esoteric > 1596248646 566350 PRIVMSG #esoteric :14[[07Subreal14]]4 10 02https://esolangs.org/w/index.php?diff=76369&oldid=76368 5* 03RocketRace 5* (+402) 10Computational class > 1596248670 191205 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76370&oldid=76369 5* 03RocketRace 5* (+6) 10Categorization. > 1596248738 958414 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76371&oldid=76370 5* 03RocketRace 5* (+0) 10Red links?! > 1596248851 87656 PRIVMSG #esoteric :14[[07Subreal14]]4 M10 02https://esolangs.org/w/index.php?diff=76372&oldid=76371 5* 03RocketRace 5* (-9) 10No longer a stub. > 1596250633 839551 PRIVMSG #esoteric :14[[07WCDA14]]4 10 02https://esolangs.org/w/index.php?diff=76373&oldid=68642 5* 03SoundOfScripting 5* (-691) 10Some changes, more to come. < 1596250844 447420 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric < 1596250871 699971 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :I suppose that the compiler can optimize it, although the second case could be possible to be optimized too (even if it currently doesn't), but can "volatile" be added? < 1596251009 882717 :aaaaaa!~ArthurStr@nat-pool-13-124.soborka.net PART :#esoteric < 1596251139 478482 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Ping timeout: 272 seconds < 1596251885 241097 :craigo!~craigo@144.136.206.168 QUIT :Ping timeout: 240 seconds < 1596253410 430003 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1596253525 264714 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 240 seconds < 1596253525 408406 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1596255633 968593 :craigo!~craigo@144.136.206.168 JOIN :#esoteric < 1596255725 552923 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1596255789 621122 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1596257344 423743 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric < 1596257637 395712 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Ping timeout: 272 seconds < 1596257698 379966 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1596257773 195642 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1596258728 473170 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudocode looks way too complicated. Why does it have two nested loops? Is that necessary somehow? My parser only has one loop. < 1596259394 858910 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think the answer is that someone put up that code on Wikipedia in 2006 and it just stayed there since then, and I shouldn't go to Wikipedia for algorithms. < 1596259709 437921 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or maybe it's to limit the stack depth? < 1596260000 303062 :Arcorann!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net PRIVMSG #esoteric :Did anyone mention it on the talk page? < 1596260320 310405 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Sometimes the first six astrological signs are designated as "learn" and the other six as "share", but I think would be better "northern signs" and "southern signs", since, the first six signs are north of the equator, and last six signs are south of the equator. (As can be seen on the map, the "Tropic of Cancer" and "Tropic of Capricorn".) < 1596260484 963989 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I do see someone making the exact complaint in the talk page, I missed it at first. < 1596260584 402964 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric < 1596260624 939947 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1596260647 220002 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think I see why they do this now, but it doesn't seem like a great explanation. < 1596260719 668797 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1596260905 471848 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Ping timeout: 272 seconds < 1596261725 224493 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1596262553 867348 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu < 1596263834 592808 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric < 1596263885 456953 :TheLie!~TheLie@2a02:8106:215:3300:844d:dece:9bd4:fbb2 JOIN :#esoteric < 1596264086 455070 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Ping timeout: 244 seconds < 1596264115 994870 :craigo!~craigo@144.136.206.168 QUIT :Ping timeout: 246 seconds < 1596264518 432537 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric < 1596264959 801740 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric > 1596266270 276045 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Nezbednik 5* 10New user account > 1596266630 387094 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=76374&oldid=76356 5* 03Nezbednik 5* (+264) 10 < 1596267352 946602 :shinh!~i@om126133233183.21.openmobile.ne.jp JOIN :#esoteric < 1596268313 173524 :hendursaga!~weechat@gateway/tor-sasl/hendursaga QUIT :Remote host closed the connection < 1596268373 713495 :hendursaga!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1596269301 647339 :hendursa1!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1596269423 787552 :hendursaga!~weechat@gateway/tor-sasl/hendursaga QUIT :Ping timeout: 240 seconds > 1596269440 246114 PRIVMSG #esoteric :14[[071+/Snippets14]]4 10 02https://esolangs.org/w/index.php?diff=76375&oldid=76198 5* 03TwilightSparkle 5* (+127) 10/* Medium */ < 1596273728 351031 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr JOIN :#esoteric > 1596273767 202815 PRIVMSG #esoteric :14[[07Math&Matrix14]]4 10 02https://esolangs.org/w/index.php?diff=76376&oldid=76355 5* 03FLeckami21 5* (+742) 10 > 1596274663 409029 PRIVMSG #esoteric :14[[07Math&Matrix14]]4 10 02https://esolangs.org/w/index.php?diff=76377&oldid=76376 5* 03FLeckami21 5* (-87) 10/* Matrix form */ < 1596275076 211291 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Quit: reboot > 1596275145 258777 PRIVMSG #esoteric :14[[07Babalang14]]4 M10 02https://esolangs.org/w/index.php?diff=76378&oldid=76310 5* 03FLeckami21 5* (+18) 10Add Babalang into 2020 category < 1596275157 193055 :TheLie!~TheLie@2a02:8106:215:3300:844d:dece:9bd4:fbb2 QUIT :Remote host closed the connection < 1596275832 230074 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1596277204 100278 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1596279484 106820 :craigo!~craigo@144.136.206.168 JOIN :#esoteric > 1596280348 448998 PRIVMSG #esoteric :14[[071+/Snippets14]]4 10 02https://esolangs.org/w/index.php?diff=76379&oldid=76375 5* 03TwilightSparkle 5* (+314) 10/* Hard */ < 1596281176 460485 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: how does that thing with gcc-style local function definitions even compile without the auto keyword? < 1596281221 935764 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why would auto do anything? Where? < 1596281225 393672 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :adu: halfpage < 1596281254 862309 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :or maybe you need auto only to declare a local function before defining it? < 1596281258 390895 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :let me check the manual < 1596281272 880501 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I never use gcc local functions < 1596281353 91120 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Neither do I. < 1596281370 454027 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I saw someone suggesting to use them and I was all, like, whoa, dude, that'll make your stack executable (if you know what I mean). < 1596281375 858861 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Nested-Functions.html#Nested-Functions sorry, you only need the auto to declare a nested function early < 1596281409 384941 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wonder whether I should get in the habit of always declaring my functions extern or static. < 1596281584 402006 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm reading BCPL compiler source code. < 1596281612 255747 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What was the first context of the style of precedence parser called "precedence climbing" or "Pratt-style" or various other names? > 1596281718 737974 PRIVMSG #esoteric :14[[07Unleash14]]4 10 02https://esolangs.org/w/index.php?diff=76380&oldid=76358 5* 03Hakerh400 5* (+231) 10Add a new example and fix instruction description > 1596283525 698713 PRIVMSG #esoteric :14[[07Unleash14]]4 10 02https://esolangs.org/w/index.php?diff=76381&oldid=76380 5* 03Hakerh400 5* (+267) 10Another example > 1596283657 788743 PRIVMSG #esoteric :14[[07Unleash14]]4 M10 02https://esolangs.org/w/index.php?diff=76382&oldid=76381 5* 03Hakerh400 5* (-6) 10 < 1596284543 863494 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Ping timeout: 240 seconds > 1596286017 568216 PRIVMSG #esoteric :14[[071+/Snippets14]]4 10 02https://esolangs.org/w/index.php?diff=76383&oldid=76379 5* 03D 5* (+212) 10/* Legendary */ > 1596286028 479126 PRIVMSG #esoteric :14[[071+/Snippets14]]4 10 02https://esolangs.org/w/index.php?diff=76384&oldid=76383 5* 03D 5* (-1) 10/* COME BACK LYXAL!!! */ < 1596286062 57656 :TheLie!~TheLie@2a02:8106:215:3300:844d:dece:9bd4:fbb2 JOIN :#esoteric < 1596287776 824311 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1596288362 884267 :hendursa1!~weechat@gateway/tor-sasl/hendursaga QUIT :Quit: hendursa1 < 1596288381 985771 :hendursaga!~weechat@gateway/tor-sasl/hendursaga JOIN :#esoteric < 1596289496 430681 :TheLie!~TheLie@2a02:8106:215:3300:844d:dece:9bd4:fbb2 QUIT :Remote host closed the connection < 1596291903 263599 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric < 1596294658 582349 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr QUIT :Remote host closed the connection < 1596294661 666927 :Arcorann!~awych@121-200-5-186.79c805.syd.nbn.aussiebb.net QUIT :Read error: Connection reset by peer < 1596294808 960470 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr JOIN :#esoteric < 1596296586 5504 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1596296765 327768 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 240 seconds < 1596296774 320133 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1596296836 72062 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, the B language supported single-statement functions without curly braces. < 1596296858 865635 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The manual gives this example: "char(s,n) return((s[n/4]>>(27-9*(n%4)))&0777);" < 1596296883 266324 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i hate that in "if" already < 1596296972 678485 :int-e!~noone@int-e.eu PRIVMSG #esoteric :... that example < 1596297288 611131 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's an untyped language. < 1596297328 144041 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I like how it uses "x =- y;" instead of "x -= y;" < 1596297363 303901 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :that's confusing < 1596297386 494097 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :do x = -y and x =- y behave differently? < 1596297396 178074 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. < 1596297401 536624 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :ew < 1596297409 489676 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh man, extern variables are declared with "extrn". < 1596297417 455198 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :C is positively luxurious with its vowels. < 1596297425 205679 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :gotta save those bytes < 1596297440 819958 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: if it's an untyped language, why does it have functions that return char? < 1596297446 528648 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :or is char the function name? < 1596297451 577130 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :its the name < 1596297452 527770 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :char is the function name. < 1596297454 535462 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :ah < 1596297456 119738 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :the function is not anonymous < 1596297465 960137 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://www.bell-labs.com/usr/dmr/www/btut.html < 1596297531 694472 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :if you want a typeless compiled language that uses even less vowels, look at Viktor Toth's W language (I think there's a wiki entry) < 1596297542 361513 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Strings are terminated by ASCII EOT (U+0003)? Exciting. < 1596297552 457262 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :nopw, no wiki entry < 1596297574 651128 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :www.vttoth.com/w.htm then < 1596297630 235772 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :links without protocols make my terminal sad < 1596297700 393740 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This manual has a section called "Function nesting". < 1596297719 670031 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I thought it'd be some fancy feature that C doesn't have. But it turns out they mean you can write things like putchar(getchar()). < 1596297748 396180 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which, to be fair, the idea of expressions is one of the major features of high-level languages! < 1596297766 39479 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :well, but it has to be supported by the compiler < 1596297821 915198 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :"W may be elegant but it's also practical." < 1596297846 419722 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :"i am intelligent as well as humble" < 1596298385 16022 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Are there any programming languages based on string diagrams? < 1596298426 335823 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I disagree with that C is luxurious with vowels: strcpy, strcmp, strncmp, strchr, strspn, tmpnam, SIGABRT, SIGCHLD/SIGCLD, SIGTSTP, SIGPWR, BUFSIZ, ESRCH, SHRT_MAX, FLT_MAX, mknod, and the most infamous examples creat < 1596298479 590503 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, most of those are library features rather than keywords. < 1596298497 718026 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :yes, they all are < 1596298510 173101 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But the joke I was going for was that C is known not to be luxurious with its vowels. So it's funny for B to be even more so. < 1596298512 74273 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :but most of them are from K&R < 1596298520 77404 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :ah I see < 1596298528 708809 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Even less so? < 1596298534 204702 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :Taneb: what do you consider a string diagram? < 1596298534 889871 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Do you count languages that use index notation? < 1596298553 292652 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it's possible to argue for Prolog here, though it's a bit of a stretch. < 1596298604 454776 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :oh, and there's sbrk < 1596298630 889815 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :luckily we're rid of creat now, instead we have a versatile vararg function < 1596298842 748026 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :statc cnst extrn dbl x; // please ignore mixing static and extern in the same declaration < 1596298912 927148 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Should I write "int const x;" instead of "const int x;"? < 1596298918 607550 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean, actually. < 1596298935 577656 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :it's beautiful by the way, in unix, the creat function is obsolete, you create or open files with open; in winapi, the OpenFile function is obsolete, and you create or open files with CreateFile < 1596298939 475477 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It is more cosistent with "int const *const p;", for example. < 1596298958 13433 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That consistency was why I was typing up "maybe". < 1596298984 205522 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: I think the FAQ answer to that is "it doesn't matter, do whatever you want", same as with `char *x` versus `char* x` < 1596299000 609468 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No, "char *x" is clearly better, because it follows the grammar of the language. < 1596299010 336258 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I always write `const int x;` and `char *x` these days, but it's your preference < 1596299015 411064 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Just like "sizeof x" is better than "sizeof(x)" < 1596299030 93534 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of course it's fine to have preferences, but that doesn't mean all preferences are equal. < 1596299040 284114 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: those are not the same though < 1596299051 252859 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :`sizeof x` versus `sizeof(x)` < 1596299053 5338 :HackEso!~h@unaffiliated/fizzie/bot/hackeso PRIVMSG #esoteric :sizeof? No such file or directory < 1596299057 680372 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I think < 1596299060 30444 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. For types I write "sizeof (T)" < 1596299060 135604 :craigo!~craigo@144.136.206.168 QUIT :Ping timeout: 256 seconds < 1596299067 390228 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Just don't write `int static x;`, because "the placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature" (C11 6.11.5p1). < 1596299069 275274 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Anyway, "should I prefer X to Y" can still have a useful answer. < 1596299087 360793 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I'm pretty irritated that gcc warns about "struct Foo { ... } typedef Foo;" < 1596299097 723016 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'd think that you only have to write char* x, y; once and get confused before you switch to char *x, *y; forever ;) < 1596299099 262536 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I used to write all my struct typedefs like that. < 1596299125 960536 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Since typedef is a storage-class specifier, I think that's an obsolescent feature too. < 1596299133 128519 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It sure is. < 1596299142 274471 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What a great storage class. < 1596299161 175448 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I can only say my preferences. I write `char *x;` and `const int x;` and `char * < 1596299170 50707 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :f(char *) < 1596299171 397706 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :{` < 1596299200 300637 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i prefer not to write c < 1596299215 74327 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, but C seems like a big upgrade over B. < 1596299217 877616 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :myname: no no, I write these in C++ < 1596299224 659184 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So your suggestion of writing B instead doesn't sound right. < 1596299232 777370 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :b_jonas: okay, in that case, i _would_ prefer writing c < 1596299296 5106 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: yes, that's because an angel visited K&R and told them about the original language used in heaven that would inspire C, and K&R remembered that and became prophets and copied as much of that language as they could remember in C. it's not a perfect copy, but they got a lot of good features from that. < 1596299541 687378 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: does the story continue with Stroustrup getting a visit from the devil? < 1596299569 694891 :int-e!~noone@int-e.eu PRIVMSG #esoteric :...it would explain a lot... < 1596299580 460191 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I think the string diagrams that I was thinking of is also called Penrose notation < 1596299622 7541 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, this is pretty good. < 1596299623 316597 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Taneb: what about cat's cradle < 1596299629 206993 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :All error messages are two characters long. < 1596299636 616095 :int-e!~noone@int-e.eu PRIVMSG #esoteric :? < 1596299643 100342 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(that was my `ed` impression) < 1596299644 245907 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In B. < 1596299651 368011 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :int-e: I don't know < 1596299652 870733 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1596299677 669782 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Penrose's paper that talks about those diagrams also talks about abstract index notation. < 1596299682 777408 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(And introduced both, maybe?) < 1596299688 277785 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's good, I like that paper. < 1596299808 742349 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Anyway, I think you can argue that something like Prolog counts. < 1596300238 429413 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: Leaving < 1596300388 166130 :imode!~linear@unaffiliated/imode JOIN :#esoteric < 1596301184 60740 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah, right, they recommend making the first six characters of function and extern variable names unique. < 1596301188 492694 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Good reason for the economy. < 1596301293 109256 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: that's because of ancient linkers. C also recommends that. even seebs' IAQ references that. < 1596301309 899233 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right, I remember seeing that before. < 1596301366 836918 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :https://www.seebs.net/faqs/c-iaq.html#question-10.8\ < 1596301370 325114 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :argh < 1596301371 641270 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :https://www.seebs.net/faqs/c-iaq.html#question-10.8 < 1596301446 946555 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :that's why the C threading and thread synchronization functions (which nobody uses, because we already had pthreads, windows threads API, a pthreads compatibility layer for the windows threads API, boost threads, and eventually also the C++ threads library) have such silly names < 1596301667 118116 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The best thread API is Linux clone(2) < 1596301683 170107 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It is so good that you can only call the system call from assembly, not from C using the syscall wrapper. < 1596301694 421520 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :what < 1596301698 309008 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :that's one of the low-level calls that implement pthread functinos < 1596301715 993992 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I'd never call it directly < 1596301722 254822 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :well, not for threading < 1596301726 781683 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :for namespaces, sure < 1596301740 607620 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if you aren't using libc? < 1596301747 917940 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :pthreads is done quite well, there's no need to use the low-level stuff < 1596301766 449543 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: do you mean no libc on linux, or no libc on windows? < 1596301777 509842 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :On Linux. < 1596301788 328187 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :On Windows you'd use the Window thread API either way presumably. < 1596301794 349212 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I don't think I ever do that. that's for esoteric stuff only. < 1596301807 702267 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :no, on windows I'd use one of the wrappers that I mentioned above < 1596301823 509767 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It is called CreateThread. The OpenThread API is deprecated, whereas in Unix the situation is reversed. < 1596301833 750708 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, avoiding libc doesn't seem that esoteric to me. < 1596301850 852288 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Compiling programs for Linux that are backward compatible is already a pain. < 1596301940 581952 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :maybe not esoteric, but then it's not really useful for the programs that I want to write < 1596301957 639163 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :for linux, again < 1596301966 633555 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :linux userspace < 1596302012 944618 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Usually the glibc wrappers around Linux system calls are worse APIs than the system calls themselves. < 1596302022 458618 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :clone is an exception, I suppose. < 1596302041 511605 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :yes, but pthreads is rather carefully designed < 1596302054 372392 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :it has all sorts of limitations to not add overheads for features that you don't use < 1596302060 278269 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :well, that's the theory < 1596302063 932544 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(The reason you can't use clone to create threads yourself is that it returns twice in the same thread, but in the same address space, so you don't want both threads to continue executing and using the stack.) < 1596302164 959765 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: that's why you also can't use vfork, right? < 1596302193 34725 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think you're allowed to use vfork and use the stack. < 1596302242 885672 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :in both children? < 1596302243 549866 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The original process is suspended until you exec, so modifying unused stack memory is not so bad. < 1596302265 484952 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You just can't modify anything else. < 1596302275 276203 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :ah < 1596302280 128855 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :well I dunno how these things work tehn < 1596302294 379824 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, maybe I should use vfork more. < 1596302331 52453 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, posix_spawn, which I use when possible, uses clone(CLONE_VFORK) on glibc. < 1596302338 10759 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So it's not so bad. < 1596302349 651686 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :is it actualyl guaranteed that it stays stopped, as opposed to that being just an optimization that happens in the common case, but not always happening? < 1596302353 958588 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Too bad fork/vfork/clone is a silly API. < 1596302373 591953 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Guaranteed by what? < 1596302378 152783 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :the kernel < 1596302399 168177 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :posix_spawn is implemented by glibc, it can do all sorts of ugly stuff that I don't want to see. < 1596302419 387790 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The parent thread is suspended according to the man page. < 1596302436 464463 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Other threads may continue to run. < 1596302440 953620 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :yes, but does it remain suspended? < 1596302459 217951 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"vfork() differs from fork(2) in that the calling thread is suspended until the child terminates (either normally, by calling _exit(2), or abnormally, after delivery of a fatal signal), or it makes a call to execve(2)." < 1596302527 377913 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :I thought there was like a 30 year old email where Linus threatens everyone that if they abuse vfork, he'll make it a synonym of fork, and I think that's still canon, in that if a future kernel does that, you keep the pieces < 1596302553 950943 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :oh right, if that happens, the two children have a stack each < 1596302555 306724 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :sorry < 1596302595 485541 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, vfork is very restricted in what it can do. fork would be a valid implementation. < 1596302611 347384 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wrote this wrapper around posix_spawn: https://slbkbs.org/tmp/dspawn.h < 1596302655 89156 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But then I never ended up using it. < 1596303122 523881 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :I don't like vfork() and had idea implementing cfork() instead, which is different in some ways, such as registers being shared too; in this case it is possible for execve to return 0 if it is successful < 1596303398 907290 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :My preference would be to abandon fork entirely. It's mostly silly. < 1596303410 798788 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Instead, have system calls to create threads or processes directly. < 1596303432 71909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :One way to get the benefits of fork would be to allow some system calls to affect other processes. < 1596303466 977097 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1596303474 721778 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So you could create a blank process, and then tell it to open, dup2, etc., and then to execve. < 1596303622 187796 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Being able to call e.g. mmap in another process's address space would also be useful for debuggers. < 1596303639 604784 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Windows's VirtualAllocEx takes a process handle argument. < 1596303764 336246 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :being able to call mmap on another process's address space would be useful for attacking software > 1596303978 360500 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Abbin21 5* 10New user account > 1596304362 981105 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=76385&oldid=76374 5* 03Abbin21 5* (+296) 10/* Introductions */ < 1596306662 207761 :ineiros!ineiros@kapsi.fi QUIT :Ping timeout: 265 seconds < 1596307045 208638 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 240 seconds < 1596307333 317974 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Quit: quit < 1596308847 213743 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1596309194 642213 :craigo!~craigo@144.136.206.168 JOIN :#esoteric < 1596310284 228775 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Won't that make the interface for open/dup2/etc complicated though? > 1596314496 408430 PRIVMSG #esoteric :14[[07Casini14]]4 N10 02https://esolangs.org/w/index.php?oldid=76386 5* 03Abbin21 5* (+1902) 10Created page with "== Operators and INTs == There are four operators in casinii, which are represented by the four colors of playing cards.
 /\ | /\/\ |  o  |  /\ \/ | \  / | o|o | /  \..."
> 1596314533 245184 PRIVMSG #esoteric :14[[07Casini14]]4 10 02https://esolangs.org/w/index.php?diff=76387&oldid=76386 5* 03Abbin21 5* (-1) 10
< 1596315008 253767 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Remote host closed the connection
< 1596315731 740901 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric
< 1596315733 448910 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: Well, maybe you can have a "run system call in child" interface, though you probably want to limit it.
< 1596316216 526748 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :but then you also want to check the error that the system call returns
< 1596316230 263696 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :so eventually it's easier to just have fork than to have some insane interface 
< 1596316530 817654 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Yes, it is what I think my "cfork" would be better. For compatibility with other programs, you can also define the macro:   #define fork() (cfork()?:detach())
< 1596316550 661580 :craigo!~craigo@144.136.206.168 QUIT :Quit: Leaving
< 1596316884 965142 :craigo!~craigo@144.136.206.168 JOIN :#esoteric
< 1596317062 776727 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric
< 1596317502 362838 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :b_jonas: If you fork you still have to check the error.
< 1596317525 962239 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :shachaf: yes, but then you can, because you still have a program running
< 1596317526 182511 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net QUIT :Quit: adu
< 1596317543 961053 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :you don't have to rewrite your normal ifs to some extra kernel interface that you have to learn
< 1596317549 751666 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :you can just write normal code
< 1596317741 503713 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Yes, if you fork, then you can check the error normally. However, the normal fork() function it is a bit difficult for the parent to detect errors in the child process, I think. So, fork is good, and for some purposes, cfork is a better alternative.
< 1596317748 627031 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't follow.
< 1596317772 431347 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Anyway, there are many options. posix_spawn lets you specify open/close/dup2 actions and doesn't even let you check for errors.
< 1596317796 375651 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What is cfork?
< 1596317807 547344 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :I don't seem to have something called "posix_spawn" in my computer
< 1596317883 18030 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :zzo38: posix_spawn is a windows thing, a crutch because they don't have a real fork, but gives a sort-of unix-like interface rather than a winapi interface
< 1596317890 273232 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It is not a system call, just a POSIX API for running programs.
< 1596317891 845196 :b_jonas!~x@catv-176-63-12-45.catv.broadband.hu PRIVMSG #esoteric :(actually it also exists on linux)
< 1596317934 661014 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :posix_spawn is a Windows thing? I am skeptical.
< 1596317983 51971 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Windows implemented fork in the kernel for WSL1.
< 1596318054 726942 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf
< 1596318107 951045 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Well cfork would be a bit like vfork, but improved; it returns either 0 to the child process, or -1 to the parent process in case it can't fork (it won't do both), and then exec or detach or _exit will return to the parent process (detach returns to both the child and parent process; exec and _exit return only to the parent process). Until the parent process resumes, the memory, registers, stack, etc are shared.
< 1596318120 474384 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :That is what it is. Can it be understand now?
< 1596318155 845513 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What is the benefit of allowing detach?
< 1596318159 949862 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :(You can then also see why fork() is the same as (cfork()?:detach()); this also explains the return value of detach(). I can also provide other example if wanted.)
< 1596318165 156739 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems like it'd make the implementation a good deal more complicated.
< 1596318302 553800 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :Well, since some programs may use fork(), and in some cases it is more useful than cfork(), too; maybe you might also want to change other things before detaching (or to more easily report some things from initialization to the parent before detaching).
< 1596318335 855468 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esoteric :So, that is why, instead of a fork() system call, it is just implemented as (cfork()?:detach()) instead.
> 1596318974 284665 PRIVMSG #esoteric :14[[07Casini14]]4 10 02https://esolangs.org/w/index.php?diff=76388&oldid=76387 5* 03Abbin21 5* (+59) 10
> 1596319024 461490 PRIVMSG #esoteric :14[[07Casini14]]4 M10 02https://esolangs.org/w/index.php?diff=76389&oldid=76388 5* 03Abbin21 5* (+62) 10
< 1596319038 556538 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”
< 1596321538 964760 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Remote host closed the connection
< 1596321554 483951 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 JOIN :#esoteric
< 1596322627 647058 :tromp!~tromp@2a02:a210:ca3:2800:855:f94d:7217:96e6 QUIT :Remote host closed the connection
> 1596324949 557809 PRIVMSG #esoteric :14[[07Talk:Casini14]]4 N10 02https://esolangs.org/w/index.php?oldid=76390 5* 03Bangyen 5* (+225) 10Created page with "==Example== Wouldn't the example represent 54 + 9 * 54, since diamonds represent multiplication? If so, do operations in Casini follow BEMDAS? - ~~~~"
< 1596325945 115164 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 240 seconds
< 1596325949 301245 :adu!~arobbins@c-76-111-99-194.hsd1.md.comcast.net JOIN :#esoteric