00:26:55 -!- tromp has joined. 00:27:24 -!- tromp has quit (Client Quit). 00:38:24 -!- amby has quit (Remote host closed the connection). 00:38:27 [[Game:Esochain]] https://esolangs.org/w/index.php?diff=164610&oldid=164584 * PrySigneToFry * (+32) 01:14:47 [[Collern]] https://esolangs.org/w/index.php?diff=164611&oldid=164486 * Dmiz * (+47) 02:05:02 -!- op_4 has quit (Remote host closed the connection). 02:05:32 -!- op_4 has joined. 02:59:23 [[Special:Log/newusers]] create2 * PrySigneToFry * created new account User:CollaborativePL: This account is used just for making a new language. 03:00:54 [[User:CollaborativePL]] N https://esolangs.org/w/index.php?oldid=164612 * PrySigneToFry * (+142) Created page with "This user is created for an User-edited language. Everyone are allowed to join! = Category = [[Category:Languages]] [[Category:User Edited]]" 03:12:15 [[Deep]] https://esolangs.org/w/index.php?diff=164613&oldid=164601 * PrySigneToFry * (+198) 03:38:54 -!- ais523 has joined. 06:11:04 -!- chiselfuse has quit (Remote host closed the connection). 06:11:22 -!- chiselfuse has joined. 06:52:13 Hello, World! 07:18:03 -!- tromp has joined. 07:40:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 07:50:31 -!- Uni has joined. 07:52:00 -!- tromp has joined. 07:53:10 -!- Uni has quit (Client Quit). 08:05:18 * ais523 wonders whether the world ever says hello back 08:13:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 08:15:50 -!- tromp has joined. 08:16:47 -!- Sgeo has quit (Read error: Connection reset by peer). 08:17:22 -!- Sgeo has joined. 08:19:06 `hello U 08:19:07 Hello, World! 08:27:43 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 08:52:41 if I'm documenting an interface like a file format or network protocol, and I have a field reserved for the future that must be written as zero, what's a good way to distinguish in the documentation whether the reader must verify that the field value is zero and nonzero should give an error that you don't support the file, versus when the reader should ignore the field because it's reserved for a hint 08:52:48 that you can ignore in a backwards compatible way 09:19:30 b_jonas: prose, perhaps? well, or something like "(must be 0)" next to it, but I'd probably still add some prose suggesting it _should_ be checked in that case 09:20:09 below the structure that contains it, probably (presuming this is in some kind of header) 09:46:46 b_jonas: I like the word "essential" as a method of describing the case where the reader has to verify it (although you would need to define what that means in case the implementor doesn't know) 09:47:50 also worth noting: the problem is not so much zero/nonzero for reserved fields, but known/unknown values for fields in general (and reserved fields are a special case in which the only known value is 0) 09:48:05 * APic → Bathtub 😌 🐬 09:50:50 I guess there's also the problem of "what nonzero values could be syntactically legal", which is probably easy to determine for a byte-based protocol where you know how many bytes the field is, but might be much harder for something with a less rigid format 09:51:19 because even if unknown values are permitted and ignored, you still need to know how to parse them 10:23:05 [[Three variable modification language]] https://esolangs.org/w/index.php?diff=164614&oldid=127326 * ChuckEsoteric08 * (+66) /* Computational Class */ 10:23:07 [[]] https://esolangs.org/w/index.php?diff=164615&oldid=163518 * PrySigneToFry * (+2263) 10:24:12 [[Three variable modification language]] https://esolangs.org/w/index.php?diff=164616&oldid=164614 * ChuckEsoteric08 * (+39) 10:25:08 [[User:ChuckEsoteric08]] https://esolangs.org/w/index.php?diff=164617&oldid=164473 * ChuckEsoteric08 * (+42) /* Turing-completness Proofs */ 10:44:17 -!- Sgeo has quit (Read error: Connection reset by peer). 10:45:13 yes, it could be for something where 0 isn't the only defined value 10:45:58 and this is mostly for file formats, because in a network protocol you can often make use of interactivity, as in if you add a new feature then you define it such that the initiator can tell from the other party's response whether they support that feature 11:08:41 I mean, the description of the field made me think of formats with a "format version" field or similar as well 11:11:23 I guess another way to express it would be "the header structure might look different if (the reserved field) is nonzero", which I guess might discourage people being sloppy with checking it 11:12:37 in my own notes when looking at file formats I often add things like "(= 0)" next to fields if they have a seemingly constant value (and if I'd be interested in cases where it doesn't hold), but that's more from a reverser's point-of-view rather than a specification's 11:20:15 [[Special:Log/newusers]] create * Rasa8877 * New user account 11:26:58 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=164618&oldid=164589 * Rasa8877 * (+139) /* Introductions */ 11:29:21 -!- Lord_of_Life_ has joined. 11:30:15 -!- Lord_of_Life has quit (Ping timeout: 265 seconds). 11:30:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 11:35:49 I see 12:03:48 An octal constant is the same as a decimal constant except that it begins with a zero. It is then interpreted in base 8. Note that 09 (base 8) is legal and equal to 011. 12:04:10 …does that carry like Addition Automaton, or count as two digits? 12:05:42 I was considering using "C except that the only type is an int/pointer union" as a compiler backend, which is essentially B, so I thought I might as well try to learn actual B to see if it gave any inspiration 12:12:12 in general this is very like C, although one oddity is that NUL and end-of-string are different characters (the manual doesn't say how end-of-string is encoded – maybe it was an actual character in the character set of the time) 12:12:50 [[ThingLang]] N https://esolangs.org/w/index.php?oldid=164619 * Rasa8877 * (+2031) Created page with "== ThingLang == '''ThingLang''' is an esoteric programming language created by [[User:Rasa8877]] in 2025. It is designed to be playful and readable, using English-like keywords for variables, printing, functions, loops, and comments. === Overview === ThingLang us 12:13:04 and of course, not having a char type (and only being able to address at the machine word level) would mean awkward bitshifting to get at the characters of a string 12:13:21 apparently B being bad at string handling was one of the main things that motivated the creation of C 12:15:07 [[Language list]] https://esolangs.org/w/index.php?diff=164620&oldid=164581 * Rasa8877 * (+16) 12:16:32 oh wow, B has assigning versions of basically all the operators, e.g. x === y sets x to 1 if x and y are equal or 0 otherwise 12:17:35 [[Language list]] https://esolangs.org/w/index.php?diff=164621&oldid=164620 * Rasa8877 * (+16) /* T */ 12:19:55 …and it has C-style switch with jump-to-case: and fallthrough, *but* does not have a break statement – that's a nasty combination 12:20:12 I think any sufficiently old language looks like an esolang if viewed through modern eyes :-D 12:21:21 [[User:Rasa8877]] N https://esolangs.org/w/index.php?oldid=164622 * Rasa8877 * (+721) Created page with "== User:Rasa8877 == Hi! I'm Rasa8877, a developer and esolang enthusiast. I create esoteric programming languages for fun and experimentation. === About Me === - Interested in programming languages, interpreters, and esoteric languages. - Creator of the es 12:22:46 presumably you were supposed to leave using goto (in cases where return was inappropriate) 12:24:31 (the manual doesn't say how end-of-string is encoded – maybe it was an actual character in the character set of the time) ← it does mention that it was the same character as end-of-file, though 12:27:08 oh wow, B has assigning versions of basically all the operators, e.g. x === y sets x to 1 if x and y are equal or 0 otherwise ← "has" in that they're documented – the manual later admits that some of them, including ===, weren't actually implemented 12:28:01 [[User talk:Rasa8877]] N https://esolangs.org/w/index.php?oldid=164623 * Rasa8877 * (+673) Created page with "== Welcome to the talk page of Rasa8877! == Hi! This is the talk page for Rasa8877, creator of the esolang ThingLang. Feel free to leave messages, suggestions, questions, or comments about ThingLang or any other esolangs-related topic. === Guidelines == 12:29:53 [[User:Rasa8877]] https://esolangs.org/w/index.php?diff=164624&oldid=164622 * Rasa8877 * (+0) /* About Me */ 12:30:41 [[User:Rasa8877]] https://esolangs.org/w/index.php?diff=164625&oldid=164624 * Rasa8877 * (+0) /* User:Rasa8877 */ 12:31:08 [[User:Rasa8877]] https://esolangs.org/w/index.php?diff=164626&oldid=164625 * Rasa8877 * (-2) /* About Me */ 13:07:10 [[User talk:Rasa8877]] https://esolangs.org/w/index.php?diff=164627&oldid=164623 * PrySigneToFry * (+252) /* Collaborative programming language */ new section 13:07:37 [[User talk:Rasa8877]] https://esolangs.org/w/index.php?diff=164628&oldid=164627 * PrySigneToFry * (+0) 13:14:33 -!- isabella has changed nick to izabera. 13:24:19 -!- amby has joined. 15:34:39 -!- lisbeths has joined. 15:35:54 -!- lisbeths has quit (Client Quit). 15:53:11 korvo and anyone else interested: I finished my blog post about how linear logic's ? can be used to model Rust's shared references (warning: it's very long for a blog post): http://ais523.me.uk/blog/logic-of-shared-references.html 15:53:47 -!- DOS_User has joined. 15:54:29 Put on the pile, thanks. 16:09:59 -!- DOS_User has quit (Remote host closed the connection). 16:35:39 ais523: "C except that the only type is an int/pointer union" => isn't that the original IOCCC form of Bellard's self-hosting tiny C compiler? 16:37:31 ais523: IIUC tcc has three different dereferencing operators: *(int *), *(char *), and *(int (*)()) 16:37:39 so it can read/write characters as a built-in 16:38:00 whereas W just has some very small library functions to read or write characters 16:38:35 it makes sense to have three separate dereferencing operators, because there's just one type, so the type can't encode what sort of pointer you want 16:39:38 http://www.ioccc.org/2001/bellard/index.html 16:54:40 [[R + S]] M https://esolangs.org/w/index.php?diff=164629&oldid=163855 * C++DSUCKER * (+2) 16:55:12 [[R + S]] https://esolangs.org/w/index.php?diff=164630&oldid=164629 * C++DSUCKER * (+16) 17:01:54 it makes sense to have three separate dereferencing operators, because there's just one type, so the type can't encode what sort of pointer you want ← right 17:02:14 but B avoids that problem because it has just one type, so any pointer must be a pointer to that type 17:02:46 I think the language implicitly assumes function pointers and data pointers are the same size (and functions are always called via function pointer, which removes that ambiguity) 17:17:44 -!- efrain has joined. 17:26:40 ais523: TCC only compiles for one architecture as target, x866_32, where int, data pointer, and function pointer are the same size 17:26:45 sorry, I mean OTCC 17:26:56 the full TCC might do more, this is about OTCC, the IOCCC entry 17:27:18 (the full TCC supports different types, including pointers to different structures0 17:27:21 ) 17:29:43 oh yeah, there's Forth. Forth also has just one type. 17:29:55 (there's of course an IOCCC version of that too) 17:43:50 I've written C for a DSP where basically all the types were the same 17:44:03 it had 32 bit char, short, int and pointer, probably long too 17:44:13 (and I'm not sure the compiler supported C99 so it may not have supported long long) 17:44:30 the compiler was a modified gcc but possibly a very old one 17:48:59 hmm, didn't the first C compiler port for Magic-1 do that? 17:49:08 [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=164631&oldid=164455 * Rasa8877 * (+194) 17:49:45 it was an existing compiler ported to a new system, since Magic-1 has a unique CPU (though now there are two hardware copies so it's not entirely unique) 17:53:38 -!- rheaplex has joined. 17:59:02 [[Special:Log/newusers]] create * EsotericLanguagesBituf * New user account 18:23:07 -!- rheaplex has quit (Ping timeout: 260 seconds). 18:27:45 [[User talk:Aadenboy]] https://esolangs.org/w/index.php?diff=164632&oldid=161188 * Aadenboy * (+127) 18:51:47 [[Special:Log/newusers]] create * Alwaqad * New user account 19:01:01 10 PRINT "Good Night, World!" 19:10:43 night 19:10:45 -!- ais523 has quit (Quit: quit). 19:15:37 -!- tromp has joined. 19:20:01 -!- Sgeo has joined. 19:29:46 [[User:]] https://esolangs.org/w/index.php?diff=164633&oldid=164428 * * (+51) 20:00:12 [[Special:Log/newusers]] create * Iloveunicorns * New user account 21:28:00 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=164634&oldid=164618 * Wasabi134 * (+188) /* Introductions */ 21:37:26 [[R + S]] https://esolangs.org/w/index.php?diff=164635&oldid=164630 * C++DSUCKER * (+12) 21:41:12 Would a tutorial on group theory from 1979 still be useful? 21:42:13 I wonder what educational material from the 70s is still worthwhile. 21:46:45 The basics haven't changed since then. It might be incommensurate with modern language, depending on whether it follows Bourbaki. (Or am I thinking of rings?) 21:50:58 Some stuff might be out of date; for example, it might list the Classification of finite simple groups as an open problem. 21:51:13 It's currently going over stuff like what cyclic subgroups are 21:51:17 But the basics really haven't changed, at all. 21:51:34 Not even didactically, I'd think. 21:54:19 Maybe some students get to play with tools like GAP early these days, depending on the preferences of the lecturer. 21:54:35 Its definition of isomorphism between groups is that there's a one-to-one correspondence, AB implies A'B', and A'B' implies AB. I guess.. for some reason I was thinking just one to one correspondence, but this makes sense 21:55:05 That's the main thing that I think has changed... we have much better tools to work with concrete groups using computers. 21:56:19 Hmm, it accepted a lowercase c for one question but rejected it in the next 21:58:40 "implies" is the wrong word 21:59:18 Hmm? 22:00:04 "AB implies A'B'" makes no sense 22:00:14 It defines a homomorphic groups as being a many-to-one. Does that mean homomorphism itself is directional? 22:00:35 I assume it's the same as "If AB then A'B'" 22:01:50 Given two groups G and H a homomorphism from G to H is usually defined as a function h: G -> H that satisfies h(xy) = h(x)h(y) for all x,y in G. You can write h(x) as x' and it becomes (AB)' = A'B' 22:01:52 It's now talking about faithful and unfaithful matrix representations 22:02:13 But those are group elements, not propositions, so "implies" makes no sense. 22:02:45 Not also that xy is using G's group operation while h(x)h(y) is using that of H. 22:03:20 Oops, I miswrote what the lesson said 22:03:26 | write established between their elements such that 22:03:26 | 22:03:26 | AB = C implies that A'B' = C', and ALSO 22:03:26 | 22:03:26 | A'B'= C' implies that AB = C. 22:03:41 Okay, that is fine. 22:04:54 The differene between "AB = C implies A'B' = C'" and (AB)' = A'B' is that it's giving AB a name. 22:07:15 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=164636&oldid=164634 * Iloveunicorns * (+178) 22:08:20 * Sgeo might want to try 0ibmcur in a bit. Retrocomputing to learn retrocomputting 22:09:42 Not allowed to inspect it (on Cyber1. I'm sure I could inspect it on a local CYBIS) 22:20:26 There's also a BASIC simulator, and the help makes it seem like it's simulating a specific BASIC, but I can't figure out which one. There's a USING statement that runs one different line, but people keep getting confused with PRINT USING when I describe it 22:20:37 https://github.com/Sgeo/0basim 22:22:45 I think the biggest thing in group theory since the 70s is Abelian and additive categories; there's structure to group homomorphisms and exact sequences which was only known then for specific situations ((co)homology mostly) which gets its own treatment today. 22:23:50 The lesson defines Abelian categories (as meaning that the operation is commutative) 22:23:54 Last I checked, the classification of finite simple groups was still not complete. The folks involved all believe that the core lemmas are proven, but there's no rack of books that one can put on their shelf and say "and this shelf holds the complete classification." It's certainly not fully formalized in e.g. Lean yet. 22:23:59 *Alebian groups 22:24:43 Yeah. An Abelian category is a category like the category Ab of Abelian groups; it generalizes Abelian-group theory to other contexts. 22:24:46 -!- molson has joined. 22:26:37 Oh hey, there's a Chess variant on this thing 22:26:38 In this learning activity the student works with algebraic 22:26:38 chess notation and with elementary checkmates. The student 22:26:38 may also play a chess variant, "Alice in Wonderland Chess," 22:26:38 which has two boards. 22:30:51 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 22:31:20 https://gist.github.com/Sgeo/db3d720455e651bb3323f4a22e58d368 23:02:58 -!- FreeFull has quit. 23:11:16 Can't believe I have to wait four more hours before I can give feedback on this blog post. Maybe tamales will help. 23:15:09 Sgeo: initially, will one of the boards be empty? 23:15:49 int-e, yes, botttom board is empty 23:16:06 the one fun thing is that a queen by itself can capture a king 23:16:33 All I figured out is that a typical chess opening is probably a really bad idea. Leaves king or queen exposed 23:16:45 hmm, or does this only work in one parity, hmm 23:17:18 Eh I won't think about it much. 23:18:30 if queen and king are on opposite planes then the queen can chase down the king and move on top of it, and capture it on the next move 23:18:55 so that's kind of cute. also completely unlike chess 23:19:30 (I'm looking at this on the queen's move) 23:20:36 (I'm assuming that the usual rules about moving into check are not in effect and replaced by capturing the king) 23:39:00 I can certainly try it out. Or read the source. I don't think this one supports remote multiplayer though 23:40:55 Oops tried to check black but forgot my queen would fall 23:41:26 It let me move the king into check 23:42:30 Uh. I tried to capture with black king with the white queen. The black king survived, the white queen didn't. Unless I typoed 23:43:38 It's not enforcing which player can move which pieces 23:44:33 There's stuff in the help about some rules not being enforced