←2025-10-13 2025-10-14 2025-10-15→ ↑2025 ↑all
00:13:46 <esolangs> [[Erase]] https://esolangs.org/w/index.php?diff=166032&oldid=166031 * BestCoder * (+251)
00:14:35 <esolangs> [[Erase]] https://esolangs.org/w/index.php?diff=166033&oldid=166032 * BestCoder * (-3) /* 100 10 1 program */
00:22:01 -!- amby has quit (Remote host closed the connection).
01:05:26 -!- FreeFull has quit.
01:35:20 <esolangs> [[FP]] N https://esolangs.org/w/index.php?oldid=166034 * Corbin * (+910) Stub. Is it "whence" or "thence" in this mood? English is hard!
01:38:21 <korvo> TIL that function-level programming is a real thing. I'd thought that the WP page on the topic is original research (and there's an OR banner there since 2018, I'm not alone) because it's not defined in Backus' paper which defines the FP programming system, "Can computing be liberated from the Von Neumann paradigm?" the famous 1978 paper.
01:39:29 <korvo> But it's defined in this paywalled 1981 paper, "Function level programs as mathematical objects" https://dl.acm.org/doi/abs/10.1145/800223.806757 which isn't cited on WP. Based on this, I will suggest that we add a subcategory of [[category:functional paradigm]] just for function-level languages.
01:50:24 <esolangs> [[Pointfree programming]] M https://esolangs.org/w/index.php?diff=166035&oldid=162715 * Corbin * (+350) /* Functional languages */ Yoinking and improving a cite. I'm using Dr. Cunha's preferred name from their GitHub [https://alcinocunha.github.io/ here]. I could have sworn that they had another paper from maybe 2007, book-length, on the topic; but I cannot find it.
02:01:35 <esolangs> [[FP trivia]] https://esolangs.org/w/index.php?diff=166036&oldid=164100 * Corbin * (-1305) Big cleanup: refs, bluelinks, a bit of grammar, infobox, categories.
02:27:06 <esolangs> [[Special:Log/newusers]] create * H1dro0091! * New user account
03:10:04 <esolangs> [[Ab]] N https://esolangs.org/w/index.php?oldid=166037 * Akirademenech * (+2535) Created page with "'''Ab''' (or, alternatively, '''ab''' or even '''aB''', depending on the taste of the writer) is an esolang proposed by [[User:Akirademenech]]. It is directly inspired by [[BitChanger]] (using only binary values and less instructions than [[brainfuck|Brainfuck]]) and
03:12:02 <ais523> korvo: think of "whence" as an abbreviation of "from where" and "thence" as an abbreviation of "from there", that's the easiest way to tell them apart
03:12:28 <ais523> (likewise, "whither" as "to where" and "thither" as "to there")
03:12:53 <ais523> not that there's much reason to use theses words nowadays, but I'm on #esoteric so there doesn't really need to be a reason
03:14:07 <ais523> <b_jonas> probably a bit less now that standard C has atomics and fences in it, but still ← the kernel doesn't use the C++ atomics (nor the version of them that got imported into C) but its own version
03:14:32 <ais523> the C++ committee tried for several years to specify atomics that worked like Linux's version and gave up
03:15:21 <ais523> I have a suspicion that kernels can get away with concurrency-related things that don't make sense in userspace, because they have more control over pre-emption and the like
03:18:27 <ais523> (some of those fun concurrency-related things are available in userspace nowadays with the kernel's help, like membarrier(2) and rseq(2))
03:56:25 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=166038&oldid=165993 * H1dro0091! * (+94)
03:56:33 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] N https://esolangs.org/w/index.php?oldid=166039 * H1dro0091! * (+2085) Created page with "PolarBF is a [[brainfuck]]-inspired [[Esoteric programming language|esoteric programming language]] made by [[User:H1dro0091!|H1dro]]. == Language overview == Unlike [[brainfuck]], PolarBF uses a circular(ish?) tape with two pointer position
04:03:11 <esolangs> [[SECRET PUZZLE!]] M https://esolangs.org/w/index.php?diff=166040&oldid=163686 * Mouldyair * (+40)
04:33:17 <korvo> ais523: Secrets from the land of tin! Thanks.
04:37:54 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=166041&oldid=165458 * Corbin * (+674) /* Function-level programming */ new section
04:50:20 <esolangs> [[Pointfree programming]] https://esolangs.org/w/index.php?diff=166042&oldid=166035 * Corbin * (+498) Started as formatting, ended up adding a paragraph about how BF is concatenative and pointfree.
05:04:30 <esolangs> [[Talk:Pointfree programming]] https://esolangs.org/w/index.php?diff=166043&oldid=166016 * Corbin * (+819) FP is tacit, yes. If you want an example of a more-tacit functional language, consider Cammy.
05:20:54 <b_jonas> membarrier and rseq? I hadn't heard of these, let me look them up. are they useful on modern x86_64?
05:24:32 <b_jonas> ais523: yeah, I guess the C++ and C atomics aren't really suited because they try to transparently fall back to inter-thread locking when the CPU can't do the atomic operation, and that would be stupid in the kernel. but even so hopefully those atomics may have encouraged the compiler writers to clean up the semantics of what memory access reorder optimizations the compiler is allowed to do when, so the
05:24:38 <b_jonas> kernel would indirectly benefit.
05:25:04 <b_jonas> (except when modifying the floating-point environment is involved -- compilers still don't know how that works)
05:25:45 <ais523> <b_jonas> membarrier and rseq? I hadn't heard of these, let me look them up. are they useful on modern x86_64? ← they're both useful, but membarrier is very special-purpose and rseq is theoretically potentially awesome but hard to use
05:26:05 <ais523> also trying to get compilers to understand rseq may be even harder than getting them to understand atomics
05:27:29 <b_jonas> uh, there doesn't seem to be an rseq manpage
05:27:42 <b_jonas> https://man7.org/linux/man-pages/dir_all_alphabetic.html
05:28:18 <ais523> I also don't have an rseq manpage
05:28:21 <ais523> although it's listed in syscalls(2)
05:28:48 <ais523> basically what it does is to set up a region of code addresses for which, if you get pre-empted within that range, it longjmps out to a predefined label
05:29:11 <ais523> so each instruction in that range can assume that the process didn't get pre-empted since the start of the range
05:29:31 <b_jonas> guess I'll have to look it up in the kernel source code documentations if I want to know, hopefully there's a text file in there
05:29:59 <ais523> this is combined with a way to find out which CPU the process is running on (information which you couldn't usefully use without rseq, because it might change at any time as a result of pre-emption)
05:30:55 <esolangs> [[Python]] M https://esolangs.org/w/index.php?diff=166044&oldid=161233 * Corbin * (-3) Fix renamed category.
05:31:23 <b_jonas> ah, so an alternate take on the old software transactional memory thing?
05:31:42 <b_jonas> a new take for something that was useful on old CPUs, except now it's useful again
05:32:14 <ais523> it's reminiscent of software transactional memory in some ways, but feels quite different in how you use it
05:32:40 <ais523> you can do things like have CPU-local variables and know that they aren't being contended on because they're only accessed from a single CPU
05:34:24 <b_jonas> I think this is among those inter-thread synchronization optimizations that I'll probably never want to use, even if I know it's cool and someone else might have fun with it
05:36:03 <b_jonas> membarrier too
05:38:08 <b_jonas> cool in theory, but if you need them then you're probably doing too much inter-thread synchronization and aren't dividing the tasks among CPUs well enough
05:38:33 <b_jonas> and since these are clearly userspace, they aren't among the cases when you need inter-CPU synchronization to divide hardware inputs well
05:41:36 <ais523> I think rseq is more for non-synchronization-heavy cases where you have a lot more threads than CPUs, and so maintaining separate thread-local state for each of the threads would be wasteful
05:50:20 -!- Sgeo has quit (Read error: Connection reset by peer).
06:39:40 <esolangs> [[Smoothbrain]] M https://esolangs.org/w/index.php?diff=166045&oldid=165354 * Ashli Katt * (+32) /* IO */ Clarify that line feed flattening should be done on STDIN
06:49:10 <esolangs> [[Smoothbrain]] M https://esolangs.org/w/index.php?diff=166046&oldid=166045 * Ashli Katt * (-47) /* Program */ More clearly define input text encoding and part of the language spec, and not as a validation thing by compilers
07:28:52 -!- tromp has joined.
07:29:05 -!- tromp has quit (Remote host closed the connection).
09:08:21 -!- ais523 has quit (Quit: quit).
09:37:28 <APic> Moin
09:59:34 <esolangs> [[Smoothbrain]] https://esolangs.org/w/index.php?diff=166047&oldid=166046 * Ashli Katt * (-1277) Rewrite major portions for readability
10:03:51 <esolangs> [[User:Timwi]] M https://esolangs.org/w/index.php?diff=166048&oldid=128493 * Timwi * (-54)
10:11:56 <strerror> It sounds like an optimistic concurrency primitive (which is related to STM)
10:13:42 <esolangs> [[Basic Stack]] https://esolangs.org/w/index.php?diff=166049&oldid=165979 * Nguyendinhtung2014 * (+5247) add a fucking 900-line program for 99 bottles of beer
10:15:11 <strerror> Or perhaps pithily, sort of a signal handler for preemption? Except longjmp doesn't push a signal stack.
11:35:52 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
11:36:25 -!- Lord_of_Life has joined.
13:02:32 <esolangs> [[User:H1dro0091!]] N https://esolangs.org/w/index.php?oldid=166050 * H1dro0091! * (+27) Created page with "[[User:H1dro0091!/Sandbox]]"
13:03:17 <esolangs> [[User:H1dro0091!/Sandbox]] N https://esolangs.org/w/index.php?oldid=166051 * H1dro0091! * (+35) Created page with "[[User:H1dro0091!/Sandbox/PolarBF]]"
13:06:01 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] https://esolangs.org/w/index.php?diff=166052&oldid=166039 * H1dro0091! * (+82)
13:07:02 -!- amby has joined.
13:17:07 <esolangs> [[I]] https://esolangs.org/w/index.php?diff=166053&oldid=165609 * U * (+10)
13:29:45 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] https://esolangs.org/w/index.php?diff=166054&oldid=166052 * H1dro0091! * (+12)
14:41:04 <korvo> I'm not sure whether Basic Stack is actually TC. It has all of the right ingredients but it's not clear that they combine correctly.
14:41:24 <int-e> `' basic
14:41:27 <HackEso> 10) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 100) <oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles \ 539) <ais523> elliott: so what are the two issues with xfce? <elliott> they're very unlikely to fuck up Xfce, and it can be made to work basically exactly like gnome two \ 561) (Of Minecraft:
14:42:33 <korvo> I also don't want to be the guy who doubts that an 11yr kid can produce a TC proof, since a faithful embedding *does* give a valid proof. But given how they expanded the 99 bottles program, I'm not sure how they're actually verifying their results; it doesn't seem like they have the grasp of looping required to wield recursion.
14:58:54 <int-e> I think that reduction *mostly* works, but there's a subtlety in BCT where the program can wrap around immediately after a `1` command, causing the first bit of the program to be interpreted as a data bit to be conditionally appended.
14:59:31 <int-e> And the translation is a bit odd because neither 11 nor 10 can result in an empty string, so the `istop;stop` in those is useless
15:02:54 <int-e> That subtlety could be avoided by reducing from CT ( https://esolangs.org/wiki/Bitwise_Cyclic_Tag#The_language_CT ) instead.
15:06:42 <int-e> korvo: my main complaint about that page would be that it never explains how the stack is indexed, or goes into the behavior for out-of-bounds access
15:08:47 <int-e> (it turns out that 0 is the bottom of the stack)
15:09:37 <int-e> Oh there's a second thing that the translation doesn't address: The initial string should be translated to a sequence of `push` instructions.
15:09:49 <korvo> Yeah, that's confusing to me too. Emulating cyclic tag requires picking/rolling the stack or having a second stack.
15:09:55 <int-e> So... yeah, the proof isn't complete.
15:10:26 <int-e> korvo: The register keeps track of how much of the stack has been deleted.
15:10:42 <int-e> So you get a queue without ever deleting anything from the stack.
15:11:18 <korvo> Ah, okay.
15:11:32 <int-e> The idea definitely works. The execution of the idea is flawed in the details.
15:12:41 <int-e> But it's also obvious how to fix those flaws.
15:21:31 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=166055&oldid=165855 * Aadenboy * (+69) /* ESOLANGS */ add interpreters section
15:21:49 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=166056&oldid=166055 * Aadenboy * (+28) /* interpreters */
15:22:27 <esolangs> [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=166057&oldid=166056 * Aadenboy * (+1) /* interpreters */ wrong language
15:49:07 <esolangs> [[Basic Stack]] M https://esolangs.org/w/index.php?diff=166058&oldid=166049 * Nguyendinhtung2014 * (-8) no swearing anymore
16:02:31 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] https://esolangs.org/w/index.php?diff=166059&oldid=166054 * H1dro0091! * (+85)
16:03:31 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] https://esolangs.org/w/index.php?diff=166060&oldid=166059 * H1dro0091! * (+11)
16:38:58 <esolangs> [[User:H1dro0091!/Sandbox/PolarBF]] https://esolangs.org/w/index.php?diff=166061&oldid=166060 * H1dro0091! * (-96)
17:03:02 <fizzie> Out of mostly curiosity, does anyone happen to remember where the "iterated" (not the "Markov", the one that's closer to the traditional) scoring scheme for BF Joust tournament results came from?
17:08:56 <esolangs> [[EsoChar]] M https://esolangs.org/w/index.php?diff=166062&oldid=165991 * SuperSMG5 * (+118) A few small fixes and edits
17:24:46 <fizzie> Context is, I'm reimplementing the hill-running code in something I can still understand (unlike Ruby), and having some trouble with the iterative scoring. I'm comparing these against the current report.js data, and the basic version is off by a constant factor of N/(N-1) (where N is the hill size), but I'm not sure which one is "correct".
17:27:48 <esolangs> [[Special:Log/upload]] upload * Elliktronic * uploaded "[[File:Syzygy.png]]": Syzygy logo
17:36:54 <fizzie> (It also contains values larger than 100 for the current top 3, despite the code declaring a maximum score of 100, but that's the case for both old and new implementations, and I don't think there was any actual justification for assuming it's ≤ 100; that's just something the traditional scoring guarantees.)
17:46:22 <esolangs> [[User:Elliktronic/Syzygy]] N https://esolangs.org/w/index.php?oldid=166064 * Elliktronic * (+10032) Created page with "[[File:Syzygy.png|thumb|alt=Syzygy Logo|Algebraic constellation]]{{infobox proglang |name=Syzygy |paradigms=algebraic, functional, constraint-based |author=[[User:Elliktronic]] |year=[[:Category:2025|2025]] |typesys=static, strong, algebraic |memsy
18:03:59 <esolangs> [[Special:Log/move]] move * Elliktronic * moved [[User:Elliktronic/Syzygy]] to [[User:Syzygy]]
18:04:24 <esolangs> [[Special:Log/move]] move * Elliktronic * moved [[User:Syzygy]] to [[Esolang:Syzygy]]
18:04:44 <esolangs> [[Special:Log/move]] move * Elliktronic * moved [[User:Syzygy]] to [[Syzygy]]
18:06:26 <korvo> Oh so close. I'll fix it if they don't figure it out in a few minutes.
18:08:03 <int-e> they... moved the redirect
18:09:39 <korvo> Honestly, this increases my belief that they could be a category theorist. Mixing up source and target is our speciality.
18:10:30 <int-e> is it opposite day again
18:11:44 -!- tromp has joined.
18:11:54 <korvo> Maybe it's my fault. I decided to start learning jj (Jujutsu) today. The cosmic balance could have been disturbed.
18:21:32 <int-e> fizzie: can't help noticing that the iterated scoring divides by 0 eventually if you have a perfect ladder (program a always beats program b if a < b), because then D is upper triangular with zero diagonal. or maybe lower triangular; either way the N-th power of that will be 0.
18:37:53 <esolangs> [[User:Elliktronic/Syzygy]] https://esolangs.org/w/index.php?diff=166071&oldid=166066 * Aadenboy * (-5) fix double redirect
18:43:55 <korvo> Oh, I don't have permissions to remove the redirect in the main namespace. I guess that I will *not* be able to fix that, sorry.
18:49:47 <fizzie> int-e: Achieving that state on the hill left as an exercise for the reader. :) But yeah, that sounds right. (Or maybe "right" is not the right word.)
18:50:58 <int-e> fizzie: Oh yeah I wasn't suggesting that this would ever actually happen. But it does indicate that the computation is an ad-hoc thing without a strong underlying theory :)
18:53:54 <fizzie> I guess I could just proclaim the new implementation correct, it's not like anyone's going to check. Although looking at the code both sure seem like they should be implementing the same thing, so that's a little weird.
18:54:22 <fizzie> Being off by a constant factor seems to indicate it should have something to do with the normalization (or eventual scaling) of `s`, but it's not a lot of code for either.
18:55:23 <int-e> Only the final normalization step matters though, and surely you've checked that the N is the same?
18:56:34 <int-e> well, assuming the https://zem.fi/bfjoust/internals/ page is correct; I haven't looked at code
18:56:49 <fizzie> It *should* be. Though I can't actually conveniently run the Ruby code (locally, I mean -- it somehow barely works where it's running).
18:58:02 <int-e> The lens I'm viewing this through is, s^(i) is D^i s^(0), normalized.
19:00:05 <int-e> actually being off by a factor of N/(N-1) does point towards the N-s being different
19:00:38 <fizzie> Yeah. It's just -- it's the same `n` that appears in the implementations of the other scoring methods, and those do produce equal results.
19:00:59 <fizzie> I'm probably just missing something, though.
19:02:24 <fizzie> If I can be bothered to make the Ruby code runnable locally I'll just look at some intermediate values, surely it has to go awry at some specific point.
19:05:25 <fizzie> I seem to recall in the Ruby implementation I've had a few "accidentally mutated something that was supposed to be immutable" issues over the years, so I guess it could be something boring like that.
19:06:03 <fizzie> Although it's the same `n` that's used to size all the matrices and vectors, and it's at least generating the same amount of numbers. Eh, I'll worry about it later.
19:08:16 <int-e> fizzie: is n odd, resulting in n/2 being truncated to (n-1)/2?
19:08:34 <fizzie> Oh, that's a great point.
19:09:05 <fizzie> Go code does convert it to float64 first, but the Ruby one is more implicit about typing.
19:09:17 <fizzie> (Yes, it's odd: there's 47 programs on the hill.)
19:10:17 <fizzie> Specifically, Go code does `s.Scale(float64(rs.N)/(2*s.Norm(1)), s)` while Ruby does `s = s / s.sum.to_f * (n/2)`, and while I've forgotten all about Ruby typing, it's at least plausible that n/2 does integer division there.
19:10:33 <fizzie> In that case, the new numbers are probably the right numbers after all. :)
19:11:06 <fizzie> (I guess a constant factor doesn't *really* matter one way or the other though.)
19:11:12 <int-e> fizzie: I tested that Ruby prints 1 for print(3/2);
19:11:36 <int-e> Which may be the first line of ruby code I've ever written? Hehehe.
19:29:45 -!- Everything has joined.
20:03:04 -!- Everything has quit (Quit: leaving).
20:53:33 <APic> Good Night
21:04:30 -!- V has joined.
21:09:10 -!- V has quit (Remote host closed the connection).
21:12:43 -!- V has joined.
21:14:14 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:51:23 <zzo38> Why is the ASN.1 Printable string type use the specific subset of ASCII that it does use? (I sometimes find this useful for some things which use a subset of this subset, such as domain names, though)
22:00:20 <b_jonas> zzo38: it's partly to exclude characters that are replaced in some ISO-646 variant
22:00:27 <b_jonas> but there might be other reasons
22:01:39 <b_jonas> maybe some characters are excluded because certain printers or terminals or card readers don't handle it well
22:04:45 <zzo38> It does not seem to match exactly excluding only the characters that are replaced in ISO-646, although it seems close.
22:08:11 <zzo38> Maybe you are right about the terminals and card readers too; I don't know
22:26:36 <esolangs> [[Important lesbian virtual machine]] N https://esolangs.org/w/index.php?oldid=166072 * RocketRace * (+15375) important lesbian virtual machine
22:27:49 -!- lambdabot has quit (Ping timeout: 256 seconds).
22:29:33 <esolangs> [[Talk:Important lesbian virtual machine]] N https://esolangs.org/w/index.php?oldid=166073 * RocketRace * (+237) Created page with "As instructed, I am giving feedback here in the talk page. I don't think the language is all that interesting, aside from the Python DSL gimmick. ~~~~"
22:30:15 -!- lambdabot has joined.
22:31:25 <esolangs> [[Important lesbian virtual machine]] M https://esolangs.org/w/index.php?diff=166074&oldid=166072 * RocketRace * (-7)
22:32:06 <esolangs> [[User:RocketRace]] https://esolangs.org/w/index.php?diff=166075&oldid=153663 * RocketRace * (+103)
22:32:57 <esolangs> [[User:RocketRace]] https://esolangs.org/w/index.php?diff=166076&oldid=166075 * RocketRace * (+45)
22:57:59 <esolangs> [[Important lesbian virtual machine]] https://esolangs.org/w/index.php?diff=166077&oldid=166074 * RocketRace * (+23) /* Some comments on syntax: */
22:59:54 <esolangs> [[Important lesbian virtual machine]] https://esolangs.org/w/index.php?diff=166078&oldid=166077 * RocketRace * (+45) /* Below are long nested lists relating to semantics: */
23:00:08 <esolangs> [[Important lesbian virtual machine]] https://esolangs.org/w/index.php?diff=166079&oldid=166078 * RocketRace * (+2) /* Below are long nested lists relating to semantics: */
23:19:27 <esolangs> [[?brainfuck]] https://esolangs.org/w/index.php?diff=166080&oldid=165819 * HyperbolicireworksPen * (-4) found a better 5/6,1;1/6,2 randomizer
23:26:10 -!- Sgeo has joined.
23:36:23 <esolangs> [[?brainfuck]] https://esolangs.org/w/index.php?diff=166081&oldid=166080 * HyperbolicireworksPen * (+122) added (x,2) to some and changed 2/5,1;2/5,2;1/5,3
23:48:19 <esolangs> [[?brainfuck]] https://esolangs.org/w/index.php?diff=166082&oldid=166081 * HyperbolicireworksPen * (+57) more of the last and changed 3/5,1;2/5,2 and 4/5,1;1/5,2
23:50:41 <esolangs> [[?brainfuck]] https://esolangs.org/w/index.php?diff=166083&oldid=166082 * HyperbolicireworksPen * (-70) changed 3/5,1;1/5,2;1/5,3
23:51:36 <esolangs> [[?brainfuck]] M https://esolangs.org/w/index.php?diff=166084&oldid=166083 * HyperbolicireworksPen * (+0) got something wrong
←2025-10-13 2025-10-14 2025-10-15→ ↑2025 ↑all