00:01:34 though 6502 isn't quite a good example because it at least has instructions to push/pop registers to the stack to save them 00:02:05 but even so it mostly uses registers 00:02:20 effectively the 256 null page bytes work as the most easily accessible global registers 00:10:46 these days we don't really do this, partly because current CPUs and languages support stack-relative access or other way to do local variables well, plus we don't want to code to break if a function is called twice at the same time from potential recursion or multithreading 00:11:20 multithreading in the broad sense 00:11:32 cooperative threads count too 00:14:55 -!- __monty__ has quit (Quit: leaving). 00:31:46 -!- immibis_ has quit (Remote host closed the connection). 00:32:01 -!- immibis_ has joined. 01:29:51 [[Skim machine]] M https://esolangs.org/w/index.php?diff=105910&oldid=105909 * Kaveh Yousefi * (+1) Inserted a missing space following a comma (,) in the EBNF in order to promote consistency in the formatting. 02:39:09 How do multi-stage games work in game theory? 02:39:27 e.g. the players take an action, they see the results, then take more actions 02:39:53 Which... I guess is most games more complicated than prisoner's dilemma or rock-paper-scissors 05:38:00 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in). 05:43:04 -!- slavfox has joined. 06:21:24 -!- bgs has joined. 06:43:49 [[Special:Log/newusers]] create * Octogeddonling * New user account 06:53:53 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=105911&oldid=105890 * Octogeddonling * (+128) /* Introductions */ 06:55:02 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=105912&oldid=105911 * Octogeddonling * (+30) Sorry i forgot to scan all of the informations above 07:01:50 [[Raplan]] N https://esolangs.org/w/index.php?oldid=105913 * Phao * (+7571) Created page with "{{infobox proglang |name=SYCPOL |paradigms=procedural, imperative |author=[[Phao|User:Phao]] |year=[[:Category:2023|2023]] |memsys=variable-based |dimensions=one-dimensional }} '''''WARNING:This file is formatted use markdown, so it have not styles in [[Main Page|esolangs.o 07:03:24 -!- bgs has quit (Remote host closed the connection). 07:47:26 Sgeo: as in games that aren't complete information or have randomness? 07:50:08 Which does a game like rock-paper-scissors count as? 07:53:05 Sgeo: that's one with non-complete information, but games with randomness might best be regarded as a subset of games with non-complete information 07:53:18 it's just that you might think of the latter as a special case of the former 07:56:08 think, if you wish, of Scrabble or card games like contract bridge or Magic: the Gathering, which have both randomness and hidden information; and adversarial mastermind/hangman/wordle or twenty question where an opponent tries to choose a hard solution to guess, or Starcraft or Warcraft or Age of Empires as examples for games with hidden information (the word to be guessed or the state behind fog of 07:56:14 war if you wish) 07:57:27 the randomness doesn't really add much new once you have hidden information, because random strategies naturally arise as the best often in games with hidden information 08:03:19 whereas eg. go=baduk is a finite game with perfect information, no randomness, which means if the parties have unlimited computational power then it's not necessary to use random strategies, because in every state the outcome with both players playing best is predetermined 08:07:55 -!- Sgeo has quit (Read error: Connection reset by peer). 08:47:25 [[Joke language list]] https://esolangs.org/w/index.php?diff=105914&oldid=105556 * Octogeddonling * (+100) /* General languages */ 08:49:07 [[Treee]] N https://esolangs.org/w/index.php?oldid=105915 * Octogeddonling * (+2588) created 08:50:54 [[Treee]] M https://esolangs.org/w/index.php?diff=105916&oldid=105915 * Octogeddonling * (+1) /* Grammar */ 09:42:02 -!- EnergyAlp has quit (Quit: Connection closed for inactivity). 09:49:54 -!- wib_jonas has joined. 10:36:11 -!- Lord_of_Life has quit (Ping timeout: 264 seconds). 10:38:40 -!- Lord_of_Life has joined. 10:55:03 b_jonas: Oh I see, the avatar where googlemail has the sign out button is invisible to me. 10:55:32 as a result of me blocking googleusercontent.com 10:57:16 int-e: oops, I don't think I've encountered that for google in particular, but I've seen that kind of nonsense in other webpages plenty of times. like in the in-house developed work time keeping web application in our previous job, where you could suddenly change your password iff your browser window is wide enough, because it has some kind of CSS 10:57:16 nonsense that helpfully hides some of the UI elements on normal sized windows so the rest would fit more easily 10:58:21 int-e: just to confirm, does the hidden avatar happen also in google search and google drive, or only google mail? 10:58:38 heck, or even youtube 10:59:01 -!- __monty__ has joined. 10:59:34 hmm, youtube might be different, at least I get a different avatar with just a letter in a circle because I have customized my displayed username on youtube 11:04:04 wib_jonas: which is a me problem, but the UI doesn't even look like anything is missing in that corner: https://int-e.eu/~bf3/tmp/hidden_avatar.png 11:04:25 (because they also put icons to the right 11:06:01 wib_jonas: I don't know. The whole point of logging out is that there'll be no avatar in search or youtube 11:06:52 int-e: it's kind of an us problem, I use browser plugins in a way that invisibly break some webpages. though you can also blame web developers for it, because some of these webpages can also break in a way where if a script or other resources is missing, even if not because you block it with a plugin, but because of a network error, then it caches 11:06:53 the missing thing and behaves in silently incorrect ways, such as invisible icon or "search found no results" instead of "search couldn't connect to server", even when the resource later becomes reachable, unless you force-refresh 11:07:56 int-e: yeah, I should probably make a separate for-work account, so that when used for work, youtube or google search doesn't suggest results based on personal searches when someone else can see my monitor 11:08:53 google suggestions are to some extent helpful enough so as to not pressure you to do that, but still 11:15:36 Oh well, I generated an app password. Maybe that'll make me happier in the future. 11:15:52 It always feel weird when you land on Wikipedia's mobile site (en.m.wikipedia.org for example) on a desktop browser, for example though a link somewhere else. Like, something's just... off. 11:17:21 only 7 "security alerts" 11:17:30 aka crying wolf 11:18:26 fizzie: yeah, for someone running a website there's always a tradeoff there. do you allow URLs to override the views (whether in a parameter or part of the path or host)? if yes, then people will share such links to others for which the view is wrong, like mobile view or wrong language etc. if no, then people are required to use cookies or https to 11:18:26 set the view correctly, they can't use GET parameters as a fallback when they don't want to accept a cookie but want to change the view. neither choice is good. 11:19:25 Oh I see, I literally get every alert twice. 11:19:52 Once to the google mail account, and once to the linked email address. But the former is forwarded to the latter... 11:20:24 At least Wikimedia doesn't have a choice, there are lots of custom reformatted mirrors of their sites so people can already link to one to force the wrong view. 11:49:22 -!- bgs has joined. 12:22:12 -!- linux has joined. 12:22:50 -!- linux has changed nick to IdfbAn. 12:24:52 -!- IdfbAn has left. 12:55:54 question. what's the first programming language where, in a function body, you don't need an explicit return statement to return the last expression (like in perl), but *only* if you don't put a semicolon after the expression, and if you put a semicolon then it's a void function (ignores the expression before the semicolon and returns some null 12:55:55 value)? Mathematica and rust are like this, but perhaps there are earlier examples 12:57:49 I think it stems from ML 12:58:08 possibly older, but that already goes back a bit ig 12:59:59 I know matlab does too, but that's basically concurrent with mathematica 13:00:51 I don't think matlab does it 13:01:12 what matlab does is that a semicolon suppresses printing the result; a comma or no separator prints the result to the console, even inside a function 13:01:16 ohh right 13:01:19 but I could be wrong 13:01:28 yeah you're right, I misremembered 13:04:42 python is funny about this: if you type for _c in range(10): 4; in the interactive console then the 4 and 5 both get printed 10 times, but this doesn't happen for statements inside a subroutine, only inside ifs/loops. matlab is worse because the values are printed even inside a function and even in non-interactive mode, so you need semicolons 13:04:43 everywhere. we just don't notice that because we're C programmers so we're used to putting semicolons after every expression-statement. 13:04:55 I'll look up how ML works, I don't recall this 13:05:41 I remember matlab's behaviour being really frustrating when I had to use it for class 13:06:10 I'd so often use it the wrong way around (use a semicolon when it would've been useful to have the result interactively, and then forget it when I don't 13:06:54 it's hard because SML doesn't have an open language specification anywhere (worse than C and C++, whose official specs are sold for money only, but the final draft that's almost the same is public for free) 13:07:21 (organizations still need the spec that costs money so they can claim that they are compliant, but normal people don't) 13:07:55 but from what I can see so far I don't think Standard ML is like this 13:13:56 Firefly: I'm not sure, but from my web search it seems that in Standard ML you put semicolons after declarations, but not between expressions like a C comma operation. kind of like in Haskell, though in Haskell they separate a bit more than just declarations, but still not expressions except kind of in a do-block 13:15:20 hm okay 13:15:24 I misremember then 13:17:20 hmm,  https://people.mpi-sws.org/~rossberg/sml.html says you can put semicolons between expressions in SML, or in whatever dialect that describes, though even that seems to imply no trailing semicolon after an expression 13:17:42 https://learnxinyminutes.com/docs/standard-ml/ same 13:19:33 yeah, I guess I was thinking of the general idea of "sequence of semicolon-separated expressions and returning the last one" 13:19:49 to my defense, the Olvashato compiler uses standard ML as an almost pure functional language (not quite as much as Haskell is, because I still used throw/catch), so it doesn't have a progn expression and doesn't need to emit C-like comma 13:19:52 but that's slightly different from the thing of having semicolon at the end imply returning an empty value 13:20:34 right, perl and more have just the implicit return in function bodies, the tricky part that I'm asking about is when the trailing semicolon suppresses that 13:21:07 In Rust it does. 13:21:50 The value of { 2 } is 2; the value of { 2; } is () 13:22:06 int-e: yes, I started from "Mathematica and rust are like this" and am asking for examples earlier than rust, ideally earlier than Mathematica 13:22:26 Hmm, Mathematica is ancient. 13:22:45 int-e: yes it is, though I don't know how ancient the semicolon operator is but I suspect that's ancient too 13:22:48 (Not Lisp-ancient, of course) 13:23:08 https://logs.esolangs.org/libera-esolangs/2022-12.html#lnP 13:23:25 but I would like to see other examples older than rust even if they aren't older than Mathematica 13:23:56 int-e: not Plankalkül-ancient 13:24:29 I kind of vaguely recalled Scala was like that, but at least on a cursory inspection it doesn't seem to do semicolons at all, and the value of a block is always the value of its last expression. 13:24:43 gp's semicolon doesn't suppress the return value 13:24:43 I'm absolutely unfamiliar with Scala 13:24:55 int-e: what "gp"? 13:25:00 pari/gp 13:25:04 oh, pari/gp, right 13:26:03 (a truly offensive language actually because it's utterly whitespace-blind) 13:27:09 (so `co s(0)` evaluates to 1.0) 13:29:20 I know very little about PARI/GP toio 13:29:36 * JAA gets flashbacks to FORTRAN. 13:29:54 int-e: why is that offensive? FORTRAN and some dialects of BASIC are like that too 13:30:10 AX OR BX gets parsed as A XOR BX 13:31:15 well, that is also offensive 13:31:35 folklore is that FORTRAN syntax is bad because people didn't understand parsers and grammars yet and so couldn't design a good syntax, in particular asyntax that works with whitepace-blindness, properly, but I'm not sure if that's actually true or a story invented later 13:32:14 Some old software has excuses for that though, having to work with stringent resource constraints and all that. 13:33:03 you could design syntaxes where whitespace-blindness isn't a problem, eg. because you never put two letter-thingies or number-thingies next to each other, it just doesn't happen too often except in special-purpose languages 13:33:57 int-e: they have an excuse for not requiring whitespace between A and XOR, so the source code can be compact; do they also have an excuse for misparsing AX OR with the space so the ROM can be compact too? 13:34:26 you might be right\ 13:34:39 they have an excuse for not storing the whitespace in memory 13:35:12 int-e: BASIC does store the whitespace if you type it\ 13:36:30 I mean the folklore also says that old languages don't have lexical scoped local variables, so let a = 4; function f() { return a; } function g() { let b = 5; return f(); } g() returns 5 instead of 4, because people didn't understand how to implement lexically local variables, but I think that's false and it's also because of resource constraints 13:36:54 I'm not convinced that they ever had an excuse for ignoring whitespace on input so that "AX OR BX gets parsed as A XOR BX" 13:36:57 * int-e shrugs 13:37:55 not having a systematic approach to parsing is a plausible reason though I guess 13:39:29 Actually, looking at the lanugage reference, Scala *does* work like that, it's just one of those languages where the semicolons almost never get used because newlines mostly act as implied ones. 13:39:46 that reminds me of how Knuth goes into subroutine linking (where they'd patch the final branch in a function's implementation) that didn't support recursion 13:40:13 "A block expression {s1; ……; sn; e} is constructed from a sequence of block statements s1,…,sn and a final expression e. -- The final expression can be omitted, in which case the unit value () is assumed." 13:40:26 int-e: I think that's realistic on some old cpus that don't have built-in stack even for return addresses 13:40:44 Scala dates back to 2004, so older than Rust but not older than Mathematica. 13:40:50 Scala is a lot like SML 13:41:18 wib_jonas: it is 13:41:37 int-e: and look, he only does that on MIX, and even of that he says its J register is quirky, MMIX has a modern recursive calling convention; though his full view we'll only find out in one of the next volumes 13:41:50 self-modifying code was also a pretty good idea for a long time 13:42:22 (multi-threading? preemption? what are those?) 13:43:23 int-e: TAOCP chapter 8 is about Recursion, so that'll tell more about that; though mind you, we already have an example with cooperative coroutines with the self-modifying calling convention in chapter 1, because even though it's coroutines switching contexts, no function is active more than once at the same time 13:44:56 int-e: yep. and people even do preemptive interrupts and memory-safe operating system interrupts without a stack, where they just ensure that the interrupt routine doesn't get called inside an interrupt, see TAOCP chapter 1 for an example, or at least there are only a few (compile-time constant) levels of interrupts where an interrupt can only 13:44:57 interrupt a lower-level interrupt 13:46:34 incidentally, does anyone happen to have a plot of Knuth's estimated completion time of TAOCP volume 5, as shown on https://www-cs-faculty.stanford.edu/~knuth/taocp.html#vol4 , as a function of time? it used to say 2020 but now it says 2025. 13:46:58 I'll have to ask the wayback machine 13:48:53 Volume 5? Somehow I don't expect that to happen. 13:49:22 I'm hopeful but afraid 13:49:30 s/afraid/scared/ 13:49:48 When I started at my current employer (early 2015), the new office building they're building was supposed to be ready in four years. Now it's supposed to be ready in... two or three, I think. 13:50:44 int-e: oh, I'm not talking about it being ready in 2025 13:50:54 wib_jonas: me neither 13:52:15 I'm just looking at volume 4 and see a long road ahead just for that. And Knuth is not getting any younger. 13:56:50 int-e: he is managing to remove distractions from TAOCP better than he used to. and volume 4B got published much quicker after 4A than 4A after 3 second edition, hasn't it? hmm, 11 years between 4A and 4B, so perhaps 4C in 2030 and 4D in 2040... yeah, that doesn't sound good unless the rest of 4 fits in 4C 14:05:53 I bisected, https://web.archive.org/web/20151110202229/http://www-cs-faculty.stanford.edu:80/~uno/taocp.html says "estimated to be ready in 2020", https://web.archive.org/web/20160106022059/http://www-cs-faculty.stanford.edu:80/~uno/taocp.html says "in 2025" about volume 5 14:06:31 let me see if there's a captured version that says earlier than 2020 14:06:52 yes there is, https://web.archive.org/web/20030501185133/http://www-cs-faculty.stanford.edu/~uno/taocp.html predicts 2010 14:07:09 and https://web.archive.org/web/20021013094543/http://www-cs-faculty.stanford.edu/~uno/taocp.html predicts 2009 14:07:30 we should make the full plot from this 14:08:29 that earliest capture from 2002 also says "If all goes as planned, Volumes 4A, 4B, and 4C will be ready in the year 2007." 14:49:44 -!- simcop2387 has quit (Read error: Connection reset by peer). 14:49:58 -!- perlbot has quit (Read error: Connection reset by peer). 14:51:34 -!- simcop2387 has joined. 14:53:05 -!- perlbot has joined. 15:10:41 -!- wib_jonas has quit (Quit: Client closed). 15:21:42 -!- wib_jonas has joined. 15:25:00 I was wondering if the password or channel topic should mention something about how the ex-pope Benedict XVI died right before the end of the year, which sounds like the start of a horror movie about an undead apocalypse that starts (or is revealed to the protagonist) right at the chime of midnight when the year starts, and a prophecy is found 15:25:00 about a ritual to banish the undead, but the ritual needs to be performed by two (or three) popes 15:31:24 On an unrelated note, if a pope and an antipope ever meet, do they annihilate each other and emit a... bishop? Or something. 15:32:20 -!- wib_jonas has quit (Quit: Client closed). 15:38:30 -!- wib_jonas has joined. 15:39:23 fizzie: I heard the annihilition part, it's probably folklore, but I don't think the result can be a bishop 15:40:13 https://rationalwiki.org/wiki/Antipope mentions the annihilation but in a clause that's crossed out 15:40:14 Yeah, I'm not sure what the liturgical equivalent of a photon is. 15:40:39 there's tim pope, is there also a tim antipope 15:43:11 -!- Sgeo has joined. 15:50:22 [[Treee]] M https://esolangs.org/w/index.php?diff=105917&oldid=105916 * PythonshellDebugwindow * (+116) /* Miscellaneous */ Categories 15:55:20 I'm visualizing the ritual with three popes rather than two because of the Casey & Andy storyline from http://www.galactanet.com/comic/view.php?strip=461 where they urgently need to perform a ritual that needs three monarchs, but some people want to stop the ritual so they kidnap the queens of the three kingdoms unavailable, so now they quickly 15:55:21 have to find three monarchs as replacements 16:01:26 and it's mostly Jules Verne's "Hector Servadac" that I'm thinking of for the apocalypse that happens exactly at the chime of midnight, especially the one at the middle of the book 17:34:53 -!- wib_jonas has quit (Quit: Client closed). 18:01:54 -!- perlbot has quit (Quit: ZNC 1.8.2+deb3+b3 - https://znc.in). 18:01:54 -!- simcop2387 has quit (Quit: ZNC 1.8.2+deb3+b3 - https://znc.in). 18:04:39 -!- simcop2387 has joined. 18:06:10 -!- perlbot has joined. 20:03:11 [[Special:Log/newusers]] create * Angrylad * New user account 20:04:54 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=105918&oldid=105912 * Angrylad * (+80) /* Introductions */ 20:05:38 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=105919&oldid=105918 * Angrylad * (+30) /* Introductions */ 20:12:44 [[User:Angrylad]] N https://esolangs.org/w/index.php?oldid=105920 * Angrylad * (+113) anrubfiankc 20:15:51 [[User talk:Angrylad]] N https://esolangs.org/w/index.php?oldid=105921 * Angrylad * (+67) made it 20:16:11 [[User talk:Angrylad]] M https://esolangs.org/w/index.php?diff=105922&oldid=105921 * Angrylad * (-9) 20:16:37 [[User talk:Angrylad]] https://esolangs.org/w/index.php?diff=105923&oldid=105922 * Angrylad * (-2) 20:16:49 [[User talk:Angrylad]] M https://esolangs.org/w/index.php?diff=105924&oldid=105923 * Angrylad * (-3) 20:17:09 [[User talk:Angrylad]] M https://esolangs.org/w/index.php?diff=105925&oldid=105924 * Angrylad * (+5) 20:30:42 About views in URLs, I should think that what might be helpful (although I do not know how to actually implement such a thing) would be "data-oriented URLs" (which is not the same as the "data:" scheme), that you can specify what data is being accessed independently from any views, and also to be independent of e.g. Scryfall vs Gatherer, or NNTP vs HTTP, etc. 20:53:51 oh, unrelated question. you know how Python is shipped not only with bigints, but also with a library for rational numbers and one for decimal bigfloats, but not one for binary bigfloats? I just realized why that is. the main point isn't that the rational and bigdecimal libraries are useful directly. it's that python wants to harmonize hashing so that two numbers of always hash to the same hash if they 20:53:57 are numerically equal even if they're different types, and they don't just want to document the spec for that, but also give you reference code that you can look up and compare your hash function to. that rationals and bigdecimals are weirder than bigfloats means you're more likely able to use them as examples for a hash function. 20:55:19 of course you can still use external libraries that implement any of bigint, bigrat, bigfloat, bigdecimal, and complexes and more, there's enough operator overload and similar defined so that multiple libraries can implement them independently and with different performance characteristics 21:38:29 [[]] N https://esolangs.org/w/index.php?oldid=105926 * Rehydratedmango * (+1733) just a thing i thought of 21:38:48 [[]] M https://esolangs.org/w/index.php?diff=105927&oldid=105926 * Rehydratedmango * (+0) 21:39:11 now that looks cursed 21:40:16 the actual article title is "′" but I guess the bot might strip non-ascii from the reported title? 21:40:37 Yeah, I should really fix that some day. 21:41:17 The intent was to strip just control characters, but I think there was a mishap about signedness, and the <32 condition also stripped everything with a high bit set. 21:41:21 Or something along those lines. 21:41:36 I was thinking for a moment it was an article named a zwsp or something 21:42:49 `unidecode ′ 21:42:50 ​[U+2032 PRIME] 22:58:09 [[Treee]] https://esolangs.org/w/index.php?diff=105928&oldid=105917 * Rehydratedmango * (+18) Adding to category "2023" 22:58:29 -!- __monty__ has quit (Quit: leaving). 22:59:57 -!- stazarzxy has joined. 23:22:04 -!- stazarzxy has quit (Quit: Client closed).