01:30:10 Does anybody happen to know of syntax traditions for Hoare logic that aren't typeset nicely and that operate over abstract domains? I know about e.g. TLA+. 01:30:45 I'm puzzling over how to do conditions for a compiler where I might want to only generate code when I know that a certain flag is true, or when I know that the flag is either false or undefined. 01:31:36 Right now I'm saying e.g. `.pre b` for a flag being true, or `.pre ~b` for false/undefined (that is, the complement of true) or `.pre !b` for false, but that's ad-hoc and grungy. 01:32:01 It does give me a way to express `.pre ~!b`, for when the flag is either true or undefined (the complement of false). 01:38:54 My overall idea is that I can embed optimizations as abstract interpretation into a META II system by encoding the abstract domain as a bunch of postconditional assignments. The preconditions are used to steer code generation. 01:40:17 Like, say I have a parse flag `pf`. I might start the parser with `.post { pf }` to set it true, and then `.pre { ~pf } .do { .out('self.pf = True' .nl) } .post { pf }`. 01:47:58 I vaguely remember seeing a notion that has preconditions before a function, surrounded by some sort of grouping character (I forget which one), and likewise postconditions afterwards 01:48:08 but I'm not sure it came with a notation for the logical operators 01:48:57 meanwhile, I've been continuing to try to write Rust macros-by-example, becoming increasingly convinced it's an esolang as time went on 01:49:45 I got fed up with the number of times I'd implemented a foreach loop by hand, and decided to write foreach itself as a macro – but then I struggled to write the part which substitutes the loop variable into the output 01:50:33 trying to work out what sort of code I'd need in order to do that generically, I realised it was basically the same problem as trying to build up a string from a template in Underload (you have the same basic operations available), so for a while I was seriously writing an Underload interpreter in Rust macros-by-example in order to make this work 01:50:47 but I was worried about hitting the tail-recursion limit (which is actually fairly low) 01:51:31 and think I found an alternative method of combining all the foreach loops into one or two big loops, which seems like a better option 01:52:25 anyway, this got me thinking: just like in Underload, one of the main things it looks like you can't do using macros-by-example is to compare two identifiers with each other, which is something that I mildly want to do 01:53:26 but it turns out that it actually is possible, by ridiculous means – you can test to see if an identifier matches an arbitrary hardcoded identifier – so "all" you have to do is to get the macro to output a macro definition that hardcodes the identifier in order to do a comparison! 01:53:29 Hm. Shades of execline, which has a similar set of limitations at a higher level. 01:53:45 (this only works in item context, because a macro definition is an item) 01:54:55 Weird to think that META II spoils me here, but it has a register that stores the most-recently-parsed token, and that's sufficient for *emitting* an identifier into a new context without actually comparing it. META II assumes that some other compiler will bother with building a name/label table. 01:56:14 the same technique could probably be used to generate my foreach loops – if you create a macro that generates foreach loops, rather than a macro that implements them, then the substitution part of things is really easy 01:56:55 Yeah. Also, equations are overpowered; I'm assuming that you're not allowing yourself any intermediate assignments of runtime objects, just pure macro expansion? 01:56:59 (hopefully all this will be obsolete in a couple of years – there are plans to add foreach loops to the macro lnaguage) 01:57:30 I'm doing a lot of generation of compile-time objects, to make things easier 01:58:04 but I'd like to avoid having, e.g., unnecessary extra traits just to work around deficiencies in the macros' parsing ability 02:00:08 this started as an attempt to write a serious program (well, library) – but the issue is that it's a code generator, and I don't want it to be a separate executable because that makes the build system more complicated, so I'm trying to implement it by exploiting Turing-complete behaviours of the Rust compiler to do all the code generation at compile time 02:00:44 and then it turned into an esoprogram because these behaviours weren't designed to be used with that level of computational power 02:01:53 I know that feeling. I started with a need for a JSON parser and now I've got a metalanguage. 02:02:36 I've decided to just let it happen, maybe I'll create something that's useful for the future, maybe I'll learn something 02:02:44 although I'm about six levels deep recursing through the process by this point 02:03:15 (fortunately it appears to be a convergent series) 02:06:55 aww… I tried to get a macro to generate a macro that shadowed itself, but Rust treats both macro definitions as visible and errors on the ambiguity when you try to use it 02:07:58 (I'm not even sure if I was trying to accomplish anything in particular there, I just wanted to see if it was possible before I spent time trying to figure out whether it was useful or not) 03:47:10 ais523: what? you can output a macro definition and use it in the same stage of compilation? 03:47:42 b_jonas: apparently 04:37:46 [[User talk:TenBillionPlusOne]] N https://esolangs.org/w/index.php?oldid=156187 * I am islptng * (+631) Created page with "Who Are You? ~~~~" 05:08:41 [[User talk:TenBillionPlusOne]] https://esolangs.org/w/index.php?diff=156188&oldid=156187 * I am islptng * (+103) 05:10:35 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=156189&oldid=154769 * I am islptng * (+71) 05:25:10 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=156190&oldid=156189 * I am islptng * (+29) 05:52:22 [[Dis]] https://esolangs.org/w/index.php?diff=156191&oldid=126977 * Tpaefawzen * (+98) /* Sample programs */ 05:58:52 -!- ais523 has quit (Ping timeout: 244 seconds). 06:04:11 [[257-wrap brainfuck]] https://esolangs.org/w/index.php?diff=156192&oldid=155328 * Tpaefawzen * (+10) My dialect 06:10:21 -!- ais523 has joined. 06:11:58 -!- ais523 has quit (Client Quit). 06:17:20 esolangs: who are the most famous esoteric language programmers that everyone should know about 06:17:40 (actually, this might run up against gemma's anti-doxxing protections.) 06:17:46 strerror: While the field is vast, some key figures stand out: * **Ben Rudiak-Gould:** Known for Lazy K, Kayak, and AviSynth, he bridges esoteric and practical programming. * **Alan Mycroft:** Co-author of Haskell is not not ML, contributing to functional programming's esoteric roots. * **Simon Peyton Jones:** Another Haskell co-author, he's a prominent... 06:17:46 figure in functional programming and language design. These individuals have shaped the landscape of esoteric programming, influencing languages and research. 06:22:57 [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=156193&oldid=156148 * Hotcrystal0 * (+36) 06:41:23 Hi 06:43:02 -!- amadaluzia_ has quit (Ping timeout: 252 seconds). 06:48:25 -!- tromp has joined. 06:54:36 [[Vague]] https://esolangs.org/w/index.php?diff=156194&oldid=156112 * JHSHernandez-ZBH * (+143) no, but that edit lets me hide a concept based on it 06:56:00 [[Unvague]] https://esolangs.org/w/index.php?diff=156195&oldid=156102 * JHSHernandez-ZBH * (+76) 07:09:43 -!- impomatic has joined. 07:14:26 [[Unvague]] https://esolangs.org/w/index.php?diff=156196&oldid=156195 * JHSHernandez-ZBH * (-11) 07:15:40 [[Unvague]] https://esolangs.org/w/index.php?diff=156197&oldid=156196 * JHSHernandez-ZBH * (+6) 07:18:11 [[Unvague]] https://esolangs.org/w/index.php?diff=156198&oldid=156197 * JHSHernandez-ZBH * (-2) 07:19:46 -!- Lord_of_Life_ has joined. 07:20:50 -!- Lord_of_Life has quit (Ping timeout: 265 seconds). 07:21:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 07:22:01 [[Unvague]] https://esolangs.org/w/index.php?diff=156199&oldid=156198 * JHSHernandez-ZBH * (+2) 08:07:05 [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=156200&oldid=156193 * PrySigneToFry * (+427) 08:10:12 [[Unvague]] https://esolangs.org/w/index.php?diff=156201&oldid=156199 * JHSHernandez-ZBH * (+0) 08:11:05 [[Unvague]] https://esolangs.org/w/index.php?diff=156202&oldid=156201 * JHSHernandez-ZBH * (+0) 08:11:34 [[Unvague]] https://esolangs.org/w/index.php?diff=156203&oldid=156202 * JHSHernandez-ZBH * (+6) 08:12:02 [[WaifuScript]] https://esolangs.org/w/index.php?diff=156204&oldid=154145 * PrySigneToFry * (+33) 08:12:04 [[Unvague]] https://esolangs.org/w/index.php?diff=156205&oldid=156203 * JHSHernandez-ZBH * (-9) 08:17:14 [[Unvague]] https://esolangs.org/w/index.php?diff=156206&oldid=156205 * JHSHernandez-ZBH * (-93) test 08:17:51 [[Unvague]] https://esolangs.org/w/index.php?diff=156207&oldid=156206 * JHSHernandez-ZBH * (+1) 08:18:30 [[Unvague]] https://esolangs.org/w/index.php?diff=156208&oldid=156207 * JHSHernandez-ZBH * (+2) 08:19:09 [[Unvague]] https://esolangs.org/w/index.php?diff=156209&oldid=156208 * JHSHernandez-ZBH * (+93) 09:01:36 -!- amadaluzia_ has joined. 09:06:50 [[OREO Conversion Sheet]] https://esolangs.org/w/index.php?diff=156210&oldid=117270 * JHSHernandez-ZBH * (+290) 09:08:18 [[OREO Conversion Sheet]] https://esolangs.org/w/index.php?diff=156211&oldid=156210 * JHSHernandez-ZBH * (+36) 09:09:12 [[OREO Conversion Sheet]] https://esolangs.org/w/index.php?diff=156212&oldid=156211 * JHSHernandez-ZBH * (+32) 09:21:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 09:22:12 -!- amadaluzia_ has quit (Ping timeout: 272 seconds). 09:25:10 -!- amadaluzia_ has joined. 09:30:19 -!- tromp has joined. 09:48:10 -!- Sgeo has quit (Read error: Connection reset by peer). 09:51:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 10:04:10 -!- tromp has joined. 10:34:00 -!- amadaluzia has quit (Remote host closed the connection). 11:30:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 11:40:11 [[Talk:Loop preventing brainfuck]] https://esolangs.org/w/index.php?diff=156213&oldid=156093 * C++DSUCKER * (-133) 11:47:30 [[Loop preventing brainfuck]] https://esolangs.org/w/index.php?diff=156214&oldid=156142 * C++DSUCKER * (-56) 12:03:55 [[BitChanger Busy beaver]] https://esolangs.org/w/index.php?diff=156215&oldid=156153 * C++DSUCKER * (+42) 12:05:23 -!- amadaluzia_ has quit (Ping timeout: 245 seconds). 12:35:29 [[BitChanger Busy beaver]] https://esolangs.org/w/index.php?diff=156216&oldid=156215 * C++DSUCKER * (+30) 12:35:47 [[BitChanger Busy beaver]] https://esolangs.org/w/index.php?diff=156217&oldid=156216 * C++DSUCKER * (+13) 12:52:39 -!- tromp has joined. 13:28:50 [[User talk:Stkptr]] https://esolangs.org/w/index.php?diff=156218&oldid=155311 * Cycwin * (+127) /* My question */ new section 14:06:45 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=156219&oldid=156154 * PrySigneToFry * (+1045) /* Mke even scir!!!! */ new section 14:23:33 [[R + S]] https://esolangs.org/w/index.php?diff=156220&oldid=154743 * C++DSUCKER * (+205) 14:26:42 [[R + S]] https://esolangs.org/w/index.php?diff=156221&oldid=156220 * C++DSUCKER * (+221) 14:55:40 [[R + S]] https://esolangs.org/w/index.php?diff=156222&oldid=156221 * C++DSUCKER * (+3) 15:17:28 [[R + S]] https://esolangs.org/w/index.php?diff=156223&oldid=156222 * C++DSUCKER * (+1150) 16:07:19 -!- amadaluzia has joined. 16:15:43 [[User talk:Stkptr]] https://esolangs.org/w/index.php?diff=156224&oldid=156218 * Stkptr * (+502) 16:17:15 [[WaifuScript]] https://esolangs.org/w/index.php?diff=156225&oldid=156204 * Stkptr * (+80) 16:53:57 -!- impomatic72 has joined. 16:55:42 -!- impomatic has quit (Ping timeout: 240 seconds). 16:59:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 17:05:50 Hm. Using Neighbors' convention for META II extended tokens, where e.g. `.lm+` and `.lm-` adjust the left margin (think Python INDENT and DEDENT), I think I'm going to add a flag which toggles the output buffer, and manage it with `.o+` and `.o-`. 17:06:32 My syntax from last night wasn't a complete disaster, but it could be clearer. I could require booleans to be written as `+b` or `-b`. This is starting to feel like design principles. 17:16:14 -!- tromp has joined. 17:19:38 -!- \a has quit (Quit: ZNC 1.9.1 - https://znc.in). 17:20:16 -!- Noisytoot has joined. 17:26:13 -!- Noisytoot has quit (Remote host closed the connection). 17:26:39 -!- Noisytoot has joined. 18:09:50 -!- ais523 has joined. 18:28:20 [[BitChanger Busy beaver]] https://esolangs.org/w/index.php?diff=156226&oldid=156217 * C++DSUCKER * (+44) 18:49:10 -!- Sgeo has joined. 18:57:27 -!- impomatic72 has quit (Quit: Client closed). 18:59:14 -!- impomatic has joined. 19:51:17 [[Zaddy]] N https://esolangs.org/w/index.php?oldid=156227 * Corbin * (+700) Stub the META II dialect I've been hacking on this week. 20:25:07 Where does the phrase "computational class" come from? 20:31:43 Do we have a "see also on Wikipedia" template? I thought we maybe did, but perhaps it was in a dream. 20:35:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 20:43:24 -!- chiselfuse has quit (Ping timeout: 264 seconds). 20:44:42 -!- chiselfuse has joined. 20:47:45 [[META II]] https://esolangs.org/w/index.php?diff=156228&oldid=156176 * Corbin * (+761) Add a couple important quotes about parsing power. Also give the ACM ref for Long 2014, because it's a single-click operation on ACM's website now. 20:51:33 [[META II]] https://esolangs.org/w/index.php?diff=156229&oldid=156228 * Corbin * (+109) Bluelinks and expand intro. 20:55:12 [[AGL]] N https://esolangs.org/w/index.php?oldid=156230 * Helpeesl * (+3442) Created page with "== Intro == AGL was made by [[users:helpeesl]] on April 19 2025 and was inspired by APL, and trying to be a minimalist golfing language. == Commands == AGLs commands have 2 forms based on how many inputs the have. === 1 input === {| class="wikitable" |+ Commands |- ! Symb 20:56:30 [[User:Helpeesl]] https://esolangs.org/w/index.php?diff=156231&oldid=154043 * Helpeesl * (+28) 21:02:30 -!- amadaluzia has quit (Ping timeout: 265 seconds). 21:24:19 [[Metacompiler]] M https://esolangs.org/w/index.php?diff=156232&oldid=156036 * Corbin * (+18) 21:30:07 [[Ralative 1 Bit, a quarter byte]] N https://esolangs.org/w/index.php?oldid=156233 * Krolkrol * (+818) Created page with "'''Ralative 1 Bit''' is a variant of [[1 Bit, a quarter byte]] that has unbounded memory. =Instructions= The instructions stay relativly unchanged from the original, the only difference is that '''1 inverts the next bit instead of the other one'' 21:30:44 [[Ralative 1 Bit, a quarter byte]] M https://esolangs.org/w/index.php?diff=156234&oldid=156233 * Krolkrol * (-40) 21:31:57 [[Special:Log/move]] move * Krolkrol * moved [[Ralative 1 Bit, a quarter byte]] to [[Ralative 1 Bit]]: Misspelled title 21:36:48 [[Ralative 1 Bit]] https://esolangs.org/w/index.php?diff=156237&oldid=156235 * Krolkrol * (+71) 21:48:10 Where does the phrase "computational class" come from? ← I'm not sure where I learned it, but the wiki has been using it ever since I first got into esolangs 21:50:48 [[Ralative 1 Bit]] M https://esolangs.org/w/index.php?diff=156238&oldid=156237 * Krolkrol * (+201) fixed the interpreter 21:52:32 ais523: I wonder if it's a transatlantic situation. Over here, it's always "complexity class". 22:21:43 -!- Ae` has changed nick to Ae. 22:23:08 [[Ralative 1 Bit]] https://esolangs.org/w/index.php?diff=156239&oldid=156238 * Stkptr * (+62) 22:26:37 [[Ralative 1 Bit]] https://esolangs.org/w/index.php?diff=156240&oldid=156239 * Stkptr * (+19) 22:29:26 [[Ralative 1 Bit]] https://esolangs.org/w/index.php?diff=156241&oldid=156240 * Stkptr * (+28) 22:29:38 [[Ralative 1 Bit]] https://esolangs.org/w/index.php?diff=156242&oldid=156241 * Stkptr * (+0) 23:28:23 -!- tromp has joined. 23:29:10 -!- tromp has quit (Client Quit). 23:53:03 [[Chefs Kiss]] https://esolangs.org/w/index.php?diff=156243&oldid=117871 * Kaveh Yousefi * (+3419) Added an interpreter implementation in Common Lisp. 23:54:43 [[Chefs Kiss]] https://esolangs.org/w/index.php?diff=156244&oldid=156243 * Kaveh Yousefi * (+1598) Introduced an examples section comprehending one incipial member in a Hello, World! program.