2025-02-01: 00:01:50 > ~# :# ,# 2# 5# *# -# _@ 00:01:51 :1:1: error: parse error on input ‘~#’ 00:02:25 oops 00:02:59 -!- mtm has quit (Ping timeout: 260 seconds). 00:03:12 Lykaina: doesn't one of the later befunge variants let you have an arbitrary speed, so you can jump past a long sequence in one step? 00:05:14 -!- mtm has joined. 00:06:15 i don't know 00:06:44 but this code works: >~# :# ,# 2# 5# *# -# _@ 00:15:26 we should have a unefunge-executing bot 00:19:41 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 00:20:35 what is lambdabot for? 00:22:47 > take 5 [2..] 00:22:49 [2,3,4,5,6] 00:22:57 Haskell, IIRC. 00:43:11 `` /bin/sed -n 's/\([^ ]*\)([0-9]lambdabot).*/\1/p' /hackenv/share/whatis | shuf -n 12 # Lykaina: it has a lot of commands, but @run (which evaluates haskell) is the most frequently used. 00:43:13 djinn-del \ todo \ leet \ pl \ unpointless \ auto-reply? \ choice-add \ letlpaste \ time \ hoogle+ \ wn \ faq 00:44:11 also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which is still present here in perlbot 00:44:11 b_jonas: Stored also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which is still present here in 00:44:20 no, bad bot 00:44:45 perlbot forget also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which 00:44:45 b_jonas: Forgot also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which 00:44:48 perlbot forget also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which 00:44:49 b_jonas: Forgot also it's IMO badly designed compose function inspired me to invent buubot's crazy compose system, which 00:46:53 well it was. now it's kind of ruined by some recent changes. 01:06:31 here's a cat program: >~# , #~< 01:11:01 here's an even smaller cat program: ~, 01:18:48 -!- ais523 has quit (Quit: quit). 01:35:50 There's some befunge (and since it's a subset, unefunge) interpreters on HackEso. 01:36:22 `! befunge ".olleh">:#,_@ 01:36:25 hello. 01:38:42 For multi-line programs you'd likely have to feed them directly rather than through the `! interface. 01:40:02 (Also does befunge98 on some probably pretty ancient version of cfunge.) 01:42:15 Technically fungot can also execute befunge, but it's an admin-only command, because it doesn't have an actual interpreter, it just writes the code onto the playfield and directs the execution there. 01:42:36 I don't think I've managed to use it without crashing even once. At least to do any actual operation. 01:43:09 Oh, fungot's not even here. 01:44:08 -!- fungot has joined. 01:44:43 fungot: Would you characterise yourself as an Unefunge-executing bot? 01:44:43 fizzie: ( nyx here being part of the reset expression is simply the ' fnord 01:46:21 In Unefunge loops, it's always very satisfying when you end up being able to use some of the instructions when going both ways. 01:48:18 `! befunge "!dlrow ,olleH">:#,_@ 01:48:21 Hello, world! 01:50:02 `! befunge 25*"!dlrow ,olleH">:#,_@ 01:50:06 Hello, world! 01:54:26 `! befunge "?em gnirehtob uoy era yhw :aniakyL">:#,_@ 01:54:28 Lykaina: why are you bothering me? 01:55:08 fungot: what's the worst that could happen? 01:55:09 korvo: he needs help with a scheme48 exec script, which saves the image to the screen a second of silence, then repeat) and it will show up 02:11:59 `! befunge 94*1+99*92*+698*>:#,_@ 02:12:02 Hc% 02:12:44 let's attribute that to bad math 02:13:08 `! befunge 94*1+99*92*+6+98*>:#,_@ 02:13:10 Hi% 02:13:35 `! befunge 95*1+99*92*+6+98*>:#,_@ 02:13:37 Hi. 02:25:22 `! befunge 84*1+99*92+1+99*93*+99*93*+6+99*93*+3+99*6+84*95*1-99*93*+3+99*93*+99*93*+99*92*+2+98*>:#,_@ 02:25:34 No output. 02:28:00 better debug 02:31:16 [[Stackfish]] https://esolangs.org/w/index.php?diff=151112&oldid=151106 * I am islptng * (-134) 02:32:15 `! befunge98 84*1+99*92+1+99*93*+99*93*+6+99*93*+3+99*6+84*95*1-99*93*+3+99*93*+99*93*+99*92*+2+98*>:#,_@ 02:32:17 Hello, WorlQ! 02:32:35 It was 92 characters long, that's too much for the standard 80x25 playfield of Befunge-93. 02:35:44 `! befunge98 84*1+99*92*+1+99*93*+99*93*+6+99*93*+3+99*6+84*95*1-99*93*+3+99*93*+99*93*+99*92*+2+98*>:#,_@ 02:35:46 Hello, World! 02:39:19 i set the playfield on my interpreter to 160x12 to test that 02:39:34 thanks 02:40:37 i mean, 160x2 02:41:18 -!- nitrix has quit (Quit: ZNC 1.8.2 - https://znc.in). 02:42:37 -!- nitrix has joined. 02:59:06 -!- FreeFull has quit (Quit: Lost terminal). 03:03:14 started a partly-compliant version of befunge-98 03:10:22 i mean, started working on the python script 03:12:53 [[Stackfish]] M https://esolangs.org/w/index.php?diff=151113&oldid=151112 * Calculus is fun * (-71) Updated MMRPN esointerpreter 03:19:57 [[Fixed Repeating Output]] M https://esolangs.org/w/index.php?diff=151114&oldid=150782 * Calculus is fun * (+75) /* MoreMathRPN */ 03:47:25 -!- craigo has joined. 03:51:33 -!- somefan has joined. 05:00:45 About what object identifiers I meant, the one I meant is: 1.3.6.1.4.1.1722.12.2 05:04:02 [[NB]] N https://esolangs.org/w/index.php?oldid=151115 * None1 * (+3513) Created page with "NB is an esolang invented by [[User:None1]], that uses only 2 non-whitespace characters: N and B. It is case-insensitive. ==Syntax== ===Number constant=== NB uses unary for number constants, but instead of zeros or ones, NB is used: NBNBNBNBNB represents 5 ===Output=== N [[Language list]] https://esolangs.org/w/index.php?diff=151116&oldid=150931 * None1 * (+9) /* N */ 05:25:58 -!- Guest76 has joined. 05:26:05 Hello there 05:29:05 Hi. 05:29:40 Irc chats always seem to be quiet places 05:30:36 I bet that the big channels are loud. But the average channel is quiet in the long tail. 05:32:55 True but they are more confusing to get to (accounts and whatnot) 05:36:19 -!- Guest4798 has joined. 05:36:23 -!- Guest4798 has quit (Client Quit). 05:38:12 -!- somefan has left. 05:45:30 -!- Guest76 has quit (Quit: Client closed). 05:56:39 -!- Sgeo has quit (Read error: Connection reset by peer). 06:01:06 -!- Sgeo has joined. 06:03:27 stopping for the night 06:03:45 -!- Lykaina has quit (Quit: Leaving). 07:24:04 -!- FreeFull has joined. 08:34:15 [[User:Ractangle/Sandbox]] https://esolangs.org/w/index.php?diff=151117&oldid=151095 * 47 * (-156) /* The first esolang before finding esolangs.org website. */ 09:08:20 [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=151118&oldid=151049 * PrySigneToFry * (+1016) /* ? */ new section 09:09:43 -!- DOS_User_webchat has joined. 09:11:41 [[Talk:Child Script]] https://esolangs.org/w/index.php?diff=151119&oldid=140580 * PrySigneToFry * (+17) 09:19:54 [[]] https://esolangs.org/w/index.php?diff=151120&oldid=150992 * PrySigneToFry * (+418) 09:22:31 -!- DOS_User_webchat has quit (Remote host closed the connection). 09:44:54 [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=151121&oldid=151118 * Ractangle * (+358) /* ? */ 11:25:58 -!- chomwitt has joined. 11:34:24 [[Categorial]] https://esolangs.org/w/index.php?diff=151122&oldid=145688 * PrySigneToFry * (+12) Add nore mewlines to make the command list not be hidden 11:34:43 [[Categorial]] M https://esolangs.org/w/index.php?diff=151123&oldid=151122 * PrySigneToFry * (+43) 11:45:05 -!- Sgeo has quit (Read error: Connection reset by peer). 11:45:21 [[AnyGolf]] https://esolangs.org/w/index.php?diff=151124&oldid=132583 * PrySigneToFry * (+440) 12:00:24 [[Infinite commands???]] https://esolangs.org/w/index.php?diff=151125&oldid=135462 * PrySigneToFry * (+720) 12:03:33 -!- mtm has quit (Ping timeout: 248 seconds). 12:04:40 [[AH'TALIQUAE ENGLISH]] https://esolangs.org/w/index.php?diff=151126&oldid=148343 * PrySigneToFry * (+8) 12:06:23 -!- mtm has joined. 12:31:39 [[User:Hakerh400]] M https://esolangs.org/w/index.php?diff=151127&oldid=149383 * Hakerh400 * (+0) 12:35:19 -!- ais523 has joined. 12:40:03 [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=151128&oldid=151121 * Ais523 * (+1086) /* ? */ what happened 12:44:08 [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=151129&oldid=151128 * Ais523 * (+589) /* ? */ repetitive admin actions are fast to do with practice 12:51:30 -!- amby has joined. 12:54:59 Hi 13:12:01 [[Special:Log/newusers]] create * Hsxiaobai * New user account 13:20:24 hi APic 13:20:48 Heya ais523 13:20:53 * APic → Public Swimming Hall 13:20:53 cya 13:20:55 *wave* 13:21:57 I guess waves are one thing you'd find in a public swimming hall 13:22:14 I used to go to one that had a wave machine, but I never figured out what prompted them to turn it on 13:44:20 [[User talk:A]] https://esolangs.org/w/index.php?diff=151130&oldid=146497 * PrySigneToFry * (+948) 14:19:58 [[X-script]] https://esolangs.org/w/index.php?diff=151131&oldid=150739 * PrySigneToFry * (+0) 14:22:39 [[AnyGolf]] https://esolangs.org/w/index.php?diff=151132&oldid=151124 * PrySigneToFry * (+27) 14:32:40 [[]] N https://esolangs.org/w/index.php?oldid=151133 * PrySigneToFry * (+9972) Created page with " is an Esoteric Programming Language designed by PrySigneToFry. You're free to edit this esoteric language. = Language overview = is a programming language, it's Turing-complete, High-level, and very usable but esoteric. This language is also called "United Esolang". 14:33:29 [[Language list]] https://esolangs.org/w/index.php?diff=151134&oldid=151116 * PrySigneToFry * (+19) 14:35:54 [[User talk:None1]] https://esolangs.org/w/index.php?diff=151135&oldid=151024 * PrySigneToFry * (+1163) 14:36:29 [[User talk:None1]] https://esolangs.org/w/index.php?diff=151136&oldid=151135 * PrySigneToFry * (+13) 15:02:19 -!- FreeFull has quit (Ping timeout: 260 seconds). 15:11:47 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=151137&oldid=151023 * Hsxiaobai * (+231) /* Introductions */ 15:12:23 -!- Lykaina has joined. 15:47:03 as for my befunge98 implementation, i'm setting it aside indefinitely. 15:48:19 though there are some improvements to the code that should be used in the befunge-93 interpreter 16:02:26 -!- FreeFull has joined. 16:38:17 Lykaina: Good times. Don't be afraid to abstract and share code between interpreters. 16:39:27 At some point, you might want to check out RPython, for making your Python programs fast. They abstracted and shared an entire JIT-compiling translator from Python 2.7 to C. For example, here's a DIVSPL interpreter that emits pretty good machine code: https://github.com/rpypkgs/rpypkgs/blob/main/divspl/divspl.py 16:40:40 -!- DOS_User_webchat has joined. 16:44:07 i program in python 3, not python 2.7 16:44:45 and i program in commodore basic so cant help either 16:45:00 Sure. If you don't already know Python 2.7, then it might not seem worthwhile. I only bother because RPython is good. 16:52:33 -!- DOS_User_webchat has quit (Remote host closed the connection). 16:53:02 -!- DOS_User_webchat has joined. 16:54:51 [[User talk:Hsxiaobai]] N https://esolangs.org/w/index.php?oldid=151138 * I am islptng * (+582) Created page with "Are you chinese? If so, what's your name (*?) ~~~~" 17:00:33 [[User talk:Calculus is fun]] N https://esolangs.org/w/index.php?oldid=151139 * I am islptng * (+566) Created page with "Do you think MMRPN can do anything? ~~~~" 17:03:48 -!- SGautam has joined. 17:21:17 -!- DOS_User_webchat has quit (Remote host closed the connection). 17:57:37 -!- craigo has quit (Ping timeout: 248 seconds). 18:22:49 -!- Lord_of_Life_ has joined. 18:23:46 -!- Lord_of_Life has quit (Ping timeout: 248 seconds). 18:25:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 18:57:13 [[Talk:Fungeball]] N https://esolangs.org/w/index.php?oldid=151140 * Lykaina * (+311) May restart work on Fungeball. 18:58:45 -!- ais523 has quit (Ping timeout: 244 seconds). 20:30:30 [[G Sharp]] https://esolangs.org/w/index.php?diff=151141&oldid=150658 * Ractangle * (-5) /* Functions */ 20:34:09 [[G Sharp]] https://esolangs.org/w/index.php?diff=151142&oldid=151141 * Ractangle * (+196) /* Functions */ 20:34:37 [[0]] https://esolangs.org/w/index.php?diff=151143&oldid=146113 * Ractangle * (+46) /* G# */ 20:39:16 [[0 Bits, 0 Bytes]] https://esolangs.org/w/index.php?diff=151144&oldid=143803 * Ractangle * (-37) /* C++ */ 20:39:43 [[0 Bits, 0 Bytes]] https://esolangs.org/w/index.php?diff=151145&oldid=151144 * Ractangle * (-5) /* Python */ 20:40:37 -!- Noisytoot has quit (Excess Flood). 20:46:52 -!- Noisytoot has joined. 20:47:42 -!- Sgeo has joined. 20:57:55 -!- Guest2 has joined. 20:58:33 -!- Guest2 has quit (Client Quit). 20:59:58 attempting to make a threaded befunge-93 variant, adds commands 'n', 'q', 't', and 'z' from funge-98 21:01:24 i'll use the name I appropriated for a similar project, "Fungeball", for it. 21:03:18 -!- Noisytoot has quit (Remote host closed the connection). 21:11:58 -!- Noisytoot has joined. 21:12:56 i mean, Fungeball was an attempt to do the same thing a long time ago 21:13:08 *attempt by me 21:20:49 -!- Noisytoot has quit (Remote host closed the connection). 21:24:21 -!- Noisytoot has joined. 21:33:01 [[Queue-based esolang]] https://esolangs.org/w/index.php?diff=151146&oldid=149402 * Ractangle * (+31) /* See also */ 21:33:28 [[Queue-based esolang]] https://esolangs.org/w/index.php?diff=151147&oldid=151146 * Ractangle * (-1) /* See also */ 21:34:46 -!- Noisytoot has quit (Excess Flood). 21:35:29 -!- chomwitt has quit (Ping timeout: 252 seconds). 21:37:36 [[Queue-based esolang++]] N https://esolangs.org/w/index.php?oldid=151148 * Ractangle * (+221) Created page with "{{Stub}} {{lowercase}}'''queue-based esolang++''' is an extension of the [[queue-based esolang]] created by [[User:Emelang]]. We do not have much information about QBE++ due to the fact that there is no interpreter for it" 21:45:16 [[Language list]] M https://esolangs.org/w/index.php?diff=151149&oldid=151134 * Buckets * (+11) 21:45:29 [[Snub]] N https://esolangs.org/w/index.php?oldid=151150 * Buckets * (+834) Created page with "Hey, Future [[User:Buckets]]! It's not Snub, It's Stub. Snub isn't an Esoteric programming language created by [[User:Buckets]] in 2020, The original name was Kotery, but [[User:Buckets]] keeps forgetting the word ''Stub'' and Types ''Snub'' instead, so this is a pretty g 21:46:13 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151151&oldid=150862 * Buckets * (+13) 21:49:33 [[Fungeball]] https://esolangs.org/w/index.php?diff=151152&oldid=151105 * Lykaina * (+393) Adding history and clarifying some things. 21:53:22 How does https://esolangs.org/wiki/Fungeball look? 21:55:46 -!- Noisytoot has joined. 21:59:28 Great stub. Thanks for documenting your progress. At some point, ponder {{infobox proglang}}, since the information it asks for (year that it appeared, languages which inspired you, link to reference implementation) are the same information that readers want. 22:02:03 Lykaina: If you need an example/inspiration, check out https://esolangs.org/wiki/Game_of_Life first paragraph and infobox. It turns out that we don't know exactly which year Conway found it! 22:03:27 Documenting such things now can prevent them from becoming lost later. 22:20:07 someone should set a password 22:29:27 [[Fungeball]] https://esolangs.org/w/index.php?diff=151153&oldid=151152 * Lykaina * (+2) adding an infobox 22:30:15 how now? 22:35:22 oh...should I mark it as a stub? 22:37:38 [[User:Tommyaweosme/a python quine]] N https://esolangs.org/w/index.php?oldid=151154 * Tommyaweosme * (+129) Created page with "
ERROR! Traceback (most recent call last):   File "", line 1     ERROR!          ^ SyntaxError: invalid syntax
" 22:41:12 [[Talk:Fungeball]] https://esolangs.org/w/index.php?diff=151155&oldid=151140 * Lykaina * (+142) 22:42:45 [[User:Tommyaweosme/bf self interpreter]] N https://esolangs.org/w/index.php?oldid=151156 * Tommyaweosme * (+477) Created page with "
[+>>>-[.]<<<,[-]>>[+<-]>>>>]>>>>+[[-][<]>>[-][+<.]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-][++>-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>
22:48:44 -!- DOS_User_webchat has joined.
22:50:21 -!- DOS_User_webchat has quit (Remote host closed the connection).
22:51:07  [[User:Lykaina]]  https://esolangs.org/w/index.php?diff=151157&oldid=151104 * Lykaina * (+31) Updating...
22:54:20  [[Fungeball]] M https://esolangs.org/w/index.php?diff=151158&oldid=151153 * Lykaina * (+10) Marking the stub as a stub.
22:57:50 -!- Ae` has changed nick to Ae.
23:05:36  "W ,olleH">:#,_#vt@
23:05:36  @_,#:<"orld!"*25<
23:05:36  Unknown command, try @list
23:07:09  oh...of course that won't work
23:09:01  [[Special:Log/newusers]] create  * Jburns22 *  New user account
23:12:46  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151159&oldid=151137 * Jburns22 * (+275) 
23:21:49  [[Onesharp]] N https://esolangs.org/w/index.php?oldid=151160 * Jburns22 * (+172) Created page with "'''Onesharp''' is a minimalistic programming language created as a teaching tool by Larry Moss. It is designed to run on a register machine using only two symbols, 1 and #."
23:39:06  https://lykaina.sdf.org/esolangs/fungeball/helloworld.bft is the test of "Hello World" for Fungeball
23:39:34  should run in befunge-98
23:43:26  if you have an interpreter published, link it from the wiki
23:45:49  right
23:45:52 -!- isabella has quit (Quit: WeeChat 3.5).
23:46:08 -!- izabera has joined.
23:46:12 -!- izabera has changed nick to isabella.
23:46:22 -!- isabella has changed hostmask to izabera@user/meow/izabera.
23:58:20  adding a copyright notice to the code
23:58:25  mit license

2025-02-02:

00:03:54 -!- mtm has quit (Ping timeout: 246 seconds).
00:06:01 -!- mtm has joined.
00:14:18  [[Onesharp]]  https://esolangs.org/w/index.php?diff=151161&oldid=151160 * Jburns22 * (+1346) 
00:14:32  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151162&oldid=151158 * Lykaina * (+57) adding link to python file
00:14:56  [[Onesharp]] M https://esolangs.org/w/index.php?diff=151163&oldid=151161 * Jburns22 * (-2) 
00:15:21  [[Onesharp]] M https://esolangs.org/w/index.php?diff=151164&oldid=151163 * Jburns22 * (+6) 
00:15:36  [[Onesharp]]  https://esolangs.org/w/index.php?diff=151165&oldid=151164 * Jburns22 * (+0) 
00:16:04  how does https://esolangs.org/wiki/Fungeball now?
00:16:35  [[Onesharp]]  https://esolangs.org/w/index.php?diff=151166&oldid=151165 * Jburns22 * (+206) 
00:16:45  I mean, how does https://esolangs.org/wiki/Fungeball look now?
00:19:34  [[Onesharp]]  https://esolangs.org/w/index.php?diff=151167&oldid=151166 * Jburns22 * (-64) 
00:21:13  [[Onesharp]] M https://esolangs.org/w/index.php?diff=151168&oldid=151167 * Jburns22 * (+3) 
00:27:33  [[Snub]] M https://esolangs.org/w/index.php?diff=151169&oldid=151150 * Buckets * (+2) 
01:22:56 -!- ais523 has joined.
01:23:24  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151170&oldid=151162 * Lykaina * (+658) Added some content, self-unmarking as stub.
01:24:43  I'll add more to https://esolangs.org/wiki/Fungeball in a little bit
01:26:33  [[User talk:Hsxiaobai]]  https://esolangs.org/w/index.php?diff=151171&oldid=151138 * Hsxiaobai * (+85) 
01:26:58  [[User talk:Hsxiaobai]]  https://esolangs.org/w/index.php?diff=151172&oldid=151171 * Hsxiaobai * (+89) 
01:31:13  [[User:Hsxiaobai/Sandbox]] N https://esolangs.org/w/index.php?oldid=151173 * Hsxiaobai * (+78) Created page with "'''Bold text''' ''Italic text'' [https://github.com A external link to Github]"
01:32:16  [[User:Hsxiaobai/Sandbox]]  https://esolangs.org/w/index.php?diff=151174&oldid=151173 * Hsxiaobai * (+8) 
01:34:04  [[User:Hsxiaobai/Sandbox]]  https://esolangs.org/w/index.php?diff=151175&oldid=151174 * Hsxiaobai * (+86) 
01:34:36  [[User:Hsxiaobai/Sandbox]]  https://esolangs.org/w/index.php?diff=151176&oldid=151175 * Hsxiaobai * (-6) 
01:36:09  [[User:Hsxiaobai/Sandbox]]  https://esolangs.org/w/index.php?diff=151177&oldid=151176 * Hsxiaobai * (+6) 
01:38:32  [[User:Hsxiaobai/Sandbox]]  https://esolangs.org/w/index.php?diff=151178&oldid=151177 * Hsxiaobai * (+1) 
01:46:17  [[Onesharp]] M https://esolangs.org/w/index.php?diff=151179&oldid=151168 * Jburns22 * (-4) 
01:50:32  [[User talk:Hsxiaobai]] M https://esolangs.org/w/index.php?diff=151180&oldid=151172 * Aadenboy * (+1) add line break
01:57:21  [[Brainfffffuck]] N https://esolangs.org/w/index.php?oldid=151181 * Hsxiaobai * (+23) Created page with "[[:Category:Languages]]"
01:57:55  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151182&oldid=151181 * Hsxiaobai * (-1) 
01:59:45 -!- Artea has quit (Ping timeout: 246 seconds).
02:02:24  [[]]  https://esolangs.org/w/index.php?diff=151183&oldid=151120 * None1 * (+20) /* Simple Example */
02:04:22 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:05:17  `learn The password of the month is 99.964%
02:05:24  Relearned 'password': The password of the month is 99.964%
02:06:42  [[User talk:Hsxiaobai]]  https://esolangs.org/w/index.php?diff=151184&oldid=151180 * PrySigneToFry * (+1225) 
02:10:55  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151185&oldid=151170 * Lykaina * (+540) /* Implementation Notes */
02:12:30  found a bug in Fungeball 1.0b0
02:12:39  a big one
02:13:50  gotta patch it
02:20:47  hmm, Fungeball may be Turing-complete, even though Befunge-93 isn't
02:21:05  I think you can use the multiple threads' stacks as a way to store unlimited amount of data, and the playfield for them to communicate with each other
02:22:50  right, it's fairly easy to implement The Waterfall Model in that – you use one thread for each waterclock plus a separate control thread that tells the other threads when to run (by changing >< infinite loops into >> to release the thread) – it'd be TC even if there were no timing guarantees
02:23:35  Lykaina: you should probably clarify whether q and @ quit the entire program or the current thread
02:25:54  this needs a memory model
02:26:40  int-e: isn't it just shared playfield and thread-specific stacks?
02:28:31  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151186&oldid=151185 * Lykaina * (+31) Updated url
02:29:45  well you still need something like g and p of all threads being sequenceable and respecting their thread's order of operations (to start at the strong end) don't you
02:30:42  what's a "cycle"
02:33:08  I guess that means threads synchronize after every operation?
02:34:22  The thing is, I feel that I'm reading between the lines to try to figure that out so it's grossly underspecified.
02:34:57  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151187&oldid=151186 * Lykaina * (+225) /* Instructions */ Clarified q and @
02:36:24  Not that it'll matter for TC-ness; you can make two threads manage a stack each to get a Turing machine. Or a counter, which IIUC is essentially what you're suggesting for TWM
02:38:20  right – using the stack as a stack gets you StackFlow rather than The Waterfall Model, but why bother with the excess complexity (except for performance reasons, I guess)
02:38:22  Lykaina: Anyway. Assuming lockstep execution, what do you want to happen if two threads write or write and read the same location?
02:38:55  I'm assuming a sequentially consistent model, due to the assumed lockstep execution
02:38:58  ais523: The only reason is working closer to traditional computability theory (two stacks = one tape)
02:39:14  well, two counters = four counters = two stacks = one tape
02:39:22  sure
02:39:32  assuming you have a state machine for control flow in both cases
02:39:41  getting rid of that state machine has been one of my main innovations in TCness proving
02:39:47  I don't care. When I first read what you wrote I thought you're creating an unbounded horde of threads.
02:40:00  ah, I see
02:40:01  Which would have severe issues.
02:40:16  that needs better synchronisation requirements for TCness, I thiink
02:41:02  like, if you have a gate that lets just one thread through, it's probably doable (although even then it seems nontrivial)
02:41:38  Anyway. I still feel that it's worth saying something about simultaneous writes and reads... having them crash the program (undefined behavior) is an option of course.
02:42:14  let's say we have a fungeoid with normal <>^v# IP movement commands, a thread split command, and a door that can be opened (maybe by hitting it from the side) that lets one thread through then closes
02:43:05  Yeah. I was looking for something that would synchronize threads in that way, and there's nothing. :)
02:43:07  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151188&oldid=151187 * Lykaina * (+261) /* Threading */ Added more about threading.
02:43:17  assuming randomly ordered sequentially consistent execution, and no stacks/values on the threads, I think that probably *isn't* enough but am not totally sure
02:43:43  int-e: fwiw, with threaded esolangs, I typically assume alternating lockstep execution (i.e. there is one command run from thread 0, then one command from thread 1, etc.)
02:43:50  which doesn't have any trouble with simultaneous actions
02:43:56  Lykaina: thanks. "in series" -- I assume the order is unspecified though?
02:44:06  correct
02:44:09  cool
02:48:39  each tread has it's own stack
02:48:45  *thread
02:49:39  Somehow I got that. I guess that's because that matches the standard notion of threads in mainstream OSs.
02:49:44  OK, so the model I just discussed is sub-TC because if you removed a thread mid-program-execution, the program would have no reliable way to determine that you had done that – any code that might check for that might instead have been running continuously without the removed thread running
02:50:37  they are not actual threads
02:50:38  thus, the program would have to be written in such a way that removing any subset of threads would cause it to enter an infinite loop, which effectively gives it only finite data storage
02:51:27  they are 'threads'.
02:51:28  it reminds me of unordered Fractran (and may in fact actually be equivalent)
02:53:45  OK, yes, this trivially compiles into unordered Fractran and thus can't be TC – and the compilation still works even if the threads can carry values, as long as they have only finite storage
02:55:07  (unordered Fractran is a bounded-storage machine – it can implement regular Fractran given some hardcoded limit on how high each factor can go, but can't handle unlimited storage)
02:55:43  stacks have no max length yet
02:56:13  Lykaina: So I'd like to suggest two minor clarifications. 1) say "with a copy of its parent's thread's stack" instead of "the same stack as its parent thread" to avoid possible confusion about sharing, and 2) add "in some unspecified order" after "in series".
02:56:59  int-e: doing that now
03:01:59  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151189&oldid=151188 * Lykaina * (+18) /* Implementation Notes */ made the edits to the threading section that were recommended to me.
03:03:49  do i need to add a full command list or let people reference the Befunge-93 list on the wiki?
03:04:06  I actually prefer the reference
03:04:42  so, the way it is now?
03:05:04  (The downside of making a copy is that it means you have to check for differences if you want to be really sure about semantics.)
03:05:04 -!- op_4 has quit (Remote host closed the connection).
03:05:34 -!- op_4 has joined.
03:06:16  Yeah the way it's now is good, in my opinion.
03:06:49  Maybe if the reference was three levels deep rather than one I'd change my mind? I don't know.
03:07:47  Hmm.
03:08:43  If you downloaded 1.0b0, you need to replace it with 1.0b1.
03:08:57  I just realized that you reference Funge-98 and I never followed *that* link.
03:09:51 -!- Sgeo has quit (Read error: Connection reset by peer).
03:10:10  (That's a me problem.)
03:12:09  Fungeball is backwards compatible with Befunge-93, but not forwards compatible with Funge-98.
03:12:57  Ugh, do the Funge-98 threads share a stack? This IP list description is tricky.
03:13:13  i don't know
03:17:27  "When a child IP is borne unto Funge-Space thus, its location, storage offset, and stack are all copied verbatim from the parent IP's." https://codeberg.org/catseye/Funge-98/src/branch/master/doc/funge98.markdown#user-content-concurrent-funge-98
03:17:50  So the wiki section is incomplete, good to know.
03:18:16  (Or maybe I'd have to cross-reference what exactly an IP is.)
03:20:25  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151190&oldid=151189 * Lykaina * (+244) /* Implementation Notes */ added notes about compatibility.
03:21:30  Fungeball doesn't have a storage offset
03:22:48  That's a Funge-98 thing
03:24:43  Lykaina: I got that :)
03:25:07  Each Fungeball thread has a stack, a location, a direction, and an indicator for whether String Mode is active.
03:25:16  At that point I was looking for clarification about what Funge-98 does with the stack.
03:25:30  Fungeball is clear about that.
03:25:41  (And different which is fine.)
03:27:52  Hmm, does it actually only copy the top stack of the stack stack (in Concurrent Funge-98)?
03:28:19  A sentence elsewhere in the spec: "In the case of Funge-98, however, /the stack/ refers to the topmost stack on the stack stack."
03:28:47  i couldn't understand the stack stack of Funge-98
03:31:19  fizzie: for sake of sanity I'd assume that this particular "stack" that's copied means the full stack stack.
03:34:11  That seems to be what cfunge does, duplicates the entire stack stack.
03:34:38  It's just that, the other part seems to be very... definition-y, for /the stack/.
03:34:50 -!- Artea has joined.
03:35:07  it would be interesting to know in which order these sections were added
03:36:36  (They could be independent additions? And then this interaction between them was missed... I don't know!)
03:37:41  I really don't know how many cooks Funge-98 had.
03:38:47 -!- Lykaina has quit (Read error: Connection reset by peer).
03:39:03 -!- Lykaina has joined.
03:39:04  I'm not a huge fan of how Funge-98 combines the stack stack operations with the storage offset ones.
03:40:23  I don't think fungot uses anything except the topmost stack.
03:40:24  fizzie: how do you know who taht was? is
03:41:18  Hmm I didn't fancy "taht" being common enough to make it into the dictionary.
03:41:48  `"
03:41:51  1/1:808)  The reason it isn't more popular is because I wrote it today. \ 851) [on Diplomacy]  man, that doesn't even mention greece at all [...]  oh, this is about a game, not world war i.
03:43:15 -!- SGautam has quit (Quit: Connection closed for inactivity).
03:43:45 -!- Lykaina has quit (Ping timeout: 248 seconds).
03:46:02 -!- Lykaina has joined.
03:46:20  fsck
03:46:32  my router just died
03:47:22  connected via phone wifi
03:47:41  fun :/
03:51:32 -!- Lykaina_ has joined.
03:52:11 -!- Lykaina has quit (Killed (NickServ (GHOST command used by Lykaina_))).
03:52:21 -!- Lykaina_ has changed nick to Lykaina.
03:56:06  ugh
04:04:03  Hm. So threads can't communicate after spawning? It would seem to be the same sort of non-determinism as when simulating automata, where each different thread is essentially a separate subinterpreter that doesn't know about the others.
04:04:24  there's shared storage
04:04:42  shared playfield
04:05:33  Sorry, forgive my extreme weakness with Befunge. I thought that the playfield was immutable? Are `g` and `p` the shared storage? Shared stack?
04:06:06  g and p access the playfield
04:07:20  Huh, okay. Well, then ais523's point about memory models is still relevant. Suppose that we have threads X and Y. During a single cycle, suppose X executes before Y; X does a write and then Y does a read. Does Y always read what X wrote?
04:07:36  IOW what does the playfield look like *during* a cycle?
04:07:41  Well, it's been clarified.
04:07:49  (And that wasn't ais523 :P)
04:08:29  Operations are sequentialized.
04:09:12  Oh, I misread, sorry. int-e, you're entirely correct. But even with sequential threading, it's not clear whether access to the playfield is uncached, and the current phrasing even warns against doing multiple `p` per cycle.
04:10:01  well that's just because you won't know which one of them "sticks"
04:10:03 * int-e shrugs
04:11:25  I believe they're not threads but 'threads' for a reason... the resulting execution is single-threaded and you don't need a memory model for that, or rather, there's a standard memory model for that where all writes are visible to future reads but not past ones..
04:11:52  totally ordered memory or whatever the proper terminology is
04:12:42  Yeah, with LWW ("last write wins").
04:13:51  also a read concurrent with writes will see the original value or one of the values written
04:13:57  but you don't know which
04:17:18   Hmm I didn't fancy "taht" being common enough to make it into the dictionary. ← my list of "all words that appear anywhere in Google Ngrams, sorted by frequency" has it at #494442, appearing 5584 times ("that" is at #12, appearing 3870260345 times) – note that the first entry is the empty string, so you might want to subtract 1 from the positions
04:18:00  three billion different uses of the word "that" is hard to comprehend, even though it is a very common word
04:19:45  that includes "flathat", doesn't it :)
04:19:57  (no I don't think that explains the high number)
04:20:12  int-e: no, compound words and superstrings have separate entries
04:20:31  although, "flathat" did not appear often enough to make the list
04:20:36  So it's not n-gram frequency?
04:20:55  it's 1-gram frequency
04:21:10  oh
04:21:14  I just downloaded all the 1gram data from Google Ngrams and added it together
04:21:33  sorry, I assumed letter-based, not word-based frequencies
04:21:51  that'd be ngraphs rater than ngrams, wouldn't it?
04:22:10  I don't know.
04:22:31  (It's a distinction I've never made)
04:23:26  My exposure to this is a bit weird... coming from Markov chains and data compression with no strong linguistic connection.
04:23:50  the reason I got hold of the data was to inform the creation of compression algorithms, especially for golfing languages
04:24:15  I realised that "every word in Google Ngrams apart from likely OCR errors" would make for a good dictionary to use for compressed strings
04:24:36  especially as it has things like foreign words in there, just at lower frequency
04:24:56  FWIW, Wikipedia says "An n-gram is a sequence of n adjacent symbols in particular order." Which matches my understanding... you have to agree on a set of symbols (and if you assume it you can get it wrong)
04:25:14  It even says that using whole words is rare ;-)
04:30:23  fair enough
04:30:34  probably on letters, both "n-gram" and "n-graph" are correct, in that case
04:32:40 -!- craigo has joined.
04:33:31  I believe I've never heard the term "n-graph" for this.
04:33:45  well, "digraph" and "trigraph" are commonly used
04:34:06  although, by following the usual rules, the general term would be "polygraph" which already means something else
04:34:22  a digraph is a directed graph... scnr
04:34:48  I mean the terminology makes sense
04:36:13  Hehehe, more confusion: https://www.sciencedirect.com/science/article/pii/0012365X88902282
05:15:25 -!- Guest25 has joined.
05:15:40 -!- Guest25 has quit (Client Quit).
05:29:58  night
05:30:10 -!- Lykaina has quit (Quit: Leaving).
05:37:19 -!- HackEso has quit (Ping timeout: 260 seconds).
05:37:31 -!- dbohdan has quit (Quit: ZNC 1.8.2+deb3.1 - https://znc.in).
05:37:32 -!- m5zs7k has quit (Quit: m5zs7k).
05:37:49 -!- dbohdan has joined.
05:38:05 -!- m5zs7k has joined.
05:55:09 -!- HackEso has joined.
05:56:25 -!- Lykaina has joined.
05:57:56  wifi clearly works again
05:58:14  morning? ;-)
05:59:11  (FWIW I'd probably play with the router too instead of going to bed.)
06:01:06  i made variants of both the befunge-93 and the fungeball interpreters that use print() and input() instead of opening file streams.
06:02:13  course, with those, execution pauses on input...
06:05:10  they were made for micropython, not cpython
06:06:25  i have them on my new Pico 2 W
06:41:34 -!- Sgeo has joined.
06:51:10 -!- Sgeo has quit (Read error: Connection reset by peer).
06:53:13 -!- Sgeo has joined.
07:03:11 -!- myname has quit (Quit: WeeChat 3.8).
07:05:33 -!- myname has joined.
07:14:43  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151191&oldid=151182 * Hsxiaobai * (+939) 
07:29:26  [[User:Tommyaweosme/bf self interpreter]]  https://esolangs.org/w/index.php?diff=151192&oldid=151156 * I am islptng * (+101) 
07:29:27  [[User:Tommyaweosme/bf self interpreter]]  https://esolangs.org/w/index.php?diff=151193&oldid=151192 * I am islptng * (+0) Replaced content with "Obfuscating dbfi is definitely not a good idea! ~~~~"
07:31:31  [[25 bytes o:]]  https://esolangs.org/w/index.php?diff=151194&oldid=143452 * Ractangle * (-2) /* python intepreter */ the interpreter doesn't like the unnecessary semicolons
07:32:11  [[25 bytes o:]]  https://esolangs.org/w/index.php?diff=151195&oldid=151194 * Ractangle * (+2) /* python intepreter */  nvn
07:46:43  [[Language list]]  https://esolangs.org/w/index.php?diff=151196&oldid=151149 * Hsxiaobai * (+20) /* B */
09:04:29  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151197&oldid=151191 * Hsxiaobai * (+27) 
09:15:03  Lykaina: opening? the standard streams are open already, and python has its io wrappers open to them already by default.
09:20:10  ais523, int-e: I have considered the question of inter-thread memory model for multi-threaded Consumer Society. I concluded that I won't define it, whoever makes a multi-threading extension can figure it out, all I need to define is one very simple library function that allows me to write thread-safe code, where that library function is trivial to implement in single-threaded consumer society (it's 
09:20:16  basically a no-op), and if someone implements multi-threaded Consumer Society then it won't be hard for them to implement this function as a built-in in their interpreter.
09:20:59  Whoever wants a multi-threaded Consumer Society will have to define the actual memory model, some inter-thread synchronization functions, and probably a way to create threads.
09:24:30  (You could have something low-level where you can't create threads, you have a fixed number of threads, and you just need a way to initialize them so they start executing your code.)
09:24:46 -!- chomwitt has joined.
09:25:23  But this is easier than this befunge-variant because Consumer Society is already Turing-complete in a single thread.
09:25:40  (In theory, obviously; a practical implementation will have a memory limit.)
09:29:01  I guess my view on memory limits is along the lines of "my interpreter is written in a theoretically TC language and would define a Turing-complete language if run in an implementation of the outside language that actually implemented that language correctly"
09:29:36  I struggled so much with whether or not to add -Mbigint to my Perl implementation of Three Star Programmer and the I/D machine
09:30:10  (the point being that the memory is formed entirely of addresses, so there's no reason to use a bigint because the total amount of memory used will overflow before the value in any particular cell of it does)
09:32:02  For that you'll want a bigint implementation that's more efficient in the special case when most of your numbers are fixints. In this case you'd use fixints but when you incrememnt a cell you check if it's (close to) overflowing and replace it with a bigint if it is.
09:32:24  The bigint module won't do that.
09:33:08  (There's also a semantic difference in that Math::Bigint's methods won't be available for fixints, but that shouldn't be a problem for your applications.)
09:33:09  b_jonas: so in the I/D machine, once you increment a cell, you can't leave that cell without dereferencing it
09:33:29  Yeah, but you can dereference it twice to get to zero again
09:33:38  and thus any value overflow necessarily also indicates a memory overflow, because Perl scalars are large enough to hold all memory addresses
09:34:02  b_jonas: ah, so your idea is to treat the values above the memory space as all zero unless you try to increment them, to save memory
09:34:14  for I/D machine yes
09:34:32  I guess this is one of those cases where an implementation really wants to be an optimising decompiler, so that it can run the program more efficiently in time and space
09:35:29  yes, if you're not optimizing then you can use 64-bit fixints, they won't have time to overflow if you only increment them by small numbers
09:35:46  so it would be pointless to have the upgrade to bigints
09:37:18  oh right, that optimisation
09:37:22  I really want to formalise it some day
09:37:41  it is something that could potentially make a lot of programs in safe languages more efficient, but it is hard to formalise the situations under which it's sound
09:38:40  one thing I noticed in Rust is that the overflow check on Rc is actually pretty slow; and, if Rcs were unleakable, it would be impossible for it to ever matter (because you'd run out of memory due to it being full of Rcs before the counter would overflow)
09:39:07  so it might be possible to get a decent performance boost by optimising it out, but Rust has a rule that allows anything to leak, and creating and leaking Rcs in a loop would be able to overflow it on 32-bit systems
09:40:02  yeah, that's two slightly different cases, one where you guarantee no overflow by incrementing a counter only by 1 and only from a single thread; the other where the reference count counts distinct real references from other objects and that's why it can't overflow
09:40:26  wait, you mean Rc and not Arc?
09:40:37  so it's incremented from single-thread only
09:40:40  well, either, I'm just more used to Rc
09:40:58  yeah, I guess it doesn't make a difference
09:41:07  it's rare for me to want to access refcounted things from multiple threads at once, multithreading only really gives significant savings if there's no contention
09:41:24  because it's a single atomic reference count value, not multiple values incremented separately and then added together
09:42:00  yep
09:42:13  the savings would be bigger for arc, I think
09:43:01  if you have a function that clones and then drops an arc, it has to read and test the refcount in order to preserve the panic behaviour when the refcount is almost maxed out, so it can't optimise out the refcount changes
09:43:22  I see
09:43:22  and atomic adjusting of memory is actually really slow by CPU instruction standards, it's somewhere around 40 arithmetic instructions IIRC on modern processors
09:44:08  [[Postrado]]  https://esolangs.org/w/index.php?diff=151198&oldid=150270 * Ractangle * (+270) /* Truth-machine */
09:44:09  when relying on the "this *can't* overflow" model, you can just leave the refcount alone as long as you have at least one strong reference to ensure that changes in other threads can't set the value to 0
09:44:21  isn't that because it has to access main memory or L3 cache, can't be done locally in the L2 cache, and that's slow even if not atomic?
09:44:35  (Rc has a "number of strong references" method; I'm not sure whether Arc does too; those methods would hae to be removed for this optimistion to work)
09:45:18  I think ideally you'd want to change that to a method that tells you if the strong reference count is exactly 1
09:45:26  [[Postrado]]  https://esolangs.org/w/index.php?diff=151199&oldid=151198 * Ractangle * (+8) /* With functions */
09:45:55  [[Postrado]]  https://esolangs.org/w/index.php?diff=151200&oldid=151199 * Ractangle * (+2) /* With functions */
09:46:41  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151201&oldid=151197 * Ractangle * (+0) /* Syntax */
09:47:03  I haven't realized that rust had this problem because I was thinking of reference counts mostly in the context of a high-level language where, although you might be able to leak a refernece, you can do so only if the object that holds the reference actually consumes memory
09:47:18  so leaking doesn't make it much easier to overflow the reference count
09:52:20  I guess this would be a problem with C++'s shared_ptr too
09:52:48  [[Queue-based esolang]]  https://esolangs.org/w/index.php?diff=151202&oldid=151147 * Ractangle * (+0) /* See also */  oops
09:53:08  or not because maybe there you don't need to insist on always panicing on overflow
10:06:12  though I also wasn't thinking much about eliding overflow checks. more like keeping overflow checks but allowing to panic when the counter overflows. eg. suppose I have a simulation videogame that is not distributed, the game state is computed on a single core of a single server (there may still be multiple players on the network with their machines rendering UI separately, that doesn't matter). in the 
10:06:18  game state sometimes an object is created. then I'm allowed to just use a single 63-bit counter that I increment whenever an object is created, and use that counter as the unique ID of the object that I use in representation. then I don't have to handle that counter overflowing, even if objecs can be destroyed and the game state can be saved and later loaded.
10:06:36  that can simplify the code even if I do check for overflow, because handling the overflow could be harder to implement.
10:07:13  obviously this isn't always how you want to assign IDs, sometimes you want them to be a 32-bit index into an array for example, but sometimes the single counter can be useful.
10:08:06  it's useful if you want to make sure that an object id isn't ever reused, so a weak reference can just be an object id.
10:09:21  or the weak reference can be a pointer that you can safely dereference even if it's stale (eg. an array index) plus the object id, and you store the object id in the representation of the object, when you dereference you check if the object the pointer points to is alive and that the object id matches and if it does then the weak pointer is still alive.
10:13:42  another case is if I'm caching something in every object, and sometimes I do a change that means I have to invalidate the cache in all objects, and when I access the cached value I need to know if it's up to date, then I can have a single global invalidate counter whose value I store with the cache, and since that invalidate counter is never reused this works
10:13:54  a value for the invalidate counter is never reused
10:26:50 -!- Sgeo has quit (Read error: Connection reset by peer).
10:30:14 -!- DOS_User_webchat has joined.
10:30:31 -!- Sgeo has joined.
10:30:48 -!- DOS_User_webchat has quit (Remote host closed the connection).
10:38:05  [[Special:Log/newusers]] create  * Syuparn *  New user account
10:38:22  b_jonas: yes, I like those use-cases too; it would be great to have some way a compiler could prove they were safe
10:38:38  probably along the lines of some sort of "this counts as a tick" annotation and a global limit for how many ticks there could be
10:44:36  you could have the programmer annotate with a specific type, a 64-bit integer that you can only set to zero or increment by one or convert to a normal integer
10:44:43  or clone
10:45:37  I guess that would help the programmer, not the compiler
10:46:00  for the compiler we already have an addition that's undefined behavior if it overflows
10:48:37  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151203&oldid=151159 * Syuparn * (+172) 
10:59:26  [[25 bytes o:]]  https://esolangs.org/w/index.php?diff=151204&oldid=151195 * PrySigneToFry * (+138) 
10:59:29  b_jonas: so the issue here is that we're talking about an "inherently unsound optimisation" in that it always changes the semantics of the program, by adding a time limit
10:59:43  so we need to make sure that the time limit is actually not going to be a problem in the actual application
11:00:57  [[Talk:25 bytes o:]]  https://esolangs.org/w/index.php?diff=151205&oldid=147860 * PrySigneToFry * (+886) /* sqrt(25) bytes o: */ new section
11:01:40  it's the extreme ultrafinitist approach to programming
11:02:52  Hi
11:07:33  [[+]]  https://esolangs.org/w/index.php?diff=151206&oldid=128515 * PrySigneToFry * (+229) 
11:08:06  b_jonas: so my main concern is with things like «for _ in 0..1000000000 { x.add_one() }» which the compiler will optimise into a single addition, but then the number can overflow
11:09:04  [[]] M https://esolangs.org/w/index.php?diff=151207&oldid=151133 * PrySigneToFry * (+164) 
11:09:23  [[]]  https://esolangs.org/w/index.php?diff=151208&oldid=151207 * PrySigneToFry * (+0) 
11:11:54  ais523: I see! so would a specific integer type help with that? it's not easy because the compiler would need to propagate some of the info all the way down to the backend
11:13:24  you could do "an addition that can't be optimised" but at least in the Rc example, that's not actually what you want
11:13:52  I don't have a solution to this (and in fact I'm not 100% sure I fully understand nature of the problem)
11:15:23  [[Infinite commands???]]  https://esolangs.org/w/index.php?diff=151209&oldid=151125 * PrySigneToFry * (+235) 
11:18:19  [[Infinite commands???]]  https://esolangs.org/w/index.php?diff=151210&oldid=151209 * PrySigneToFry * (+163) 
11:19:10  sure, you don't just want a black-box addition
11:23:03  [[]]  https://esolangs.org/w/index.php?diff=151211&oldid=147613 * PrySigneToFry * (+328) 
11:23:15  there's also the cryptographic version of these optimizations, like when you assume that an adversary can't find hash collisions in a 256-bit hash, or if I generate any number of 224-bit long random keys and insert it into a database and replicate the database to any number of my servers and an adversary can query those database servers in parallel then they'll never guess any keys of which I don't 
11:23:21  reveal information (this probably still works with 192 bits)
11:25:52  those sort of optimisations are hard to automatically apply to programs to get "free" performance gains, though
11:26:07  other than, perhaps, the "if we use sufficiently many bits in a random number we'll never generate the same one twice" optimisation
11:26:36  [[-25 bytes (O o)]]  https://esolangs.org/w/index.php?diff=151212&oldid=144546 * PrySigneToFry * (-245) 
11:27:12  the one that disturbs me the most is how big an authentication tag you need to validate a message
11:27:34  sure, they're not automatic optimizations for free performance gains
11:28:17  but at some point you need to decide what sizes you need, and most of the time it doesn't matter if you use a too large size but sometimes for a large service it can matter
11:29:42  when it comes to cryptography, the problem is that the sizes you need depend on a) your adversaries' brute-forcing performance and b) what breaks in the cryptography they will become aware of through the useful life of the service
11:29:58  and both of those are hard to predict, which is why it's usual to rely on very large safety marginsg
11:30:39  yes, the numbers I mentioned only work if the cryptographic primitives that you use don't have weaknesses
11:30:50  [[Talk:-25 bytes (O o)]]  https://esolangs.org/w/index.php?diff=151213&oldid=144571 * PrySigneToFry * (+1623) 
11:31:04  and there are multiple different numbers because you have to assume that your adversary may have much more computing power than you do
11:31:18  [[Talk:-25 bytes (O o)]]  https://esolangs.org/w/index.php?diff=151214&oldid=151213 * PrySigneToFry * (+1) 
11:34:41  [[O()]]  https://esolangs.org/w/index.php?diff=151215&oldid=146088 * PrySigneToFry * (+143) 
11:36:59  [[Free Esolang]]  https://esolangs.org/w/index.php?diff=151216&oldid=151048 * PrySigneToFry * (+52) 
11:43:18 -!- Sgeo has quit (Read error: Connection reset by peer).
11:55:19  [[Cholc]] N https://esolangs.org/w/index.php?oldid=151217 * Syuparn * (+4874) Created page with "'''Cholc''' is an esoteric programming language made up of sequences of musical chords.  ==Examples== ===Hello world===   A A A A A A A A A  |: F G E Am :|  F Fm  |: C C C C C C C C A A A B Em :|  C Cm X  |: Db Eb Eb Eb Eb Eb C C C Fm :|  C C X  |: C C#m :|  Cm Cm X X  C 
12:02:47 -!- mtm has quit (Ping timeout: 244 seconds).
12:05:39 -!- mtm has joined.
12:49:37  [[Talk:25 bytes o:]]  https://esolangs.org/w/index.php?diff=151218&oldid=151205 * PkmnQ * (+338) 
13:07:58  [[Recursive]]  https://esolangs.org/w/index.php?diff=151219&oldid=150854 * PkmnQ * (+285) /* Example programs */ Just realized that this is also a thing Recursive can do
13:17:35  [[User:Unname4798]]  https://esolangs.org/w/index.php?diff=151220&oldid=151030 * Unname4798 * (+2) 
13:18:21 -!- amby has joined.
13:18:36  [[User:Unname4798]]  https://esolangs.org/w/index.php?diff=151221&oldid=151220 * Unname4798 * (-10) 
14:27:04  [[Cholc]]  https://esolangs.org/w/index.php?diff=151222&oldid=151217 * MihaiEso * (-3) 
14:39:38  [[PythBrSc]]  https://esolangs.org/w/index.php?diff=151223&oldid=144022 * MihaiEso * (+1) 
15:09:52 -!- ais523 has quit (Quit: quit).
15:14:16  [[3switchBF]]  https://esolangs.org/w/index.php?diff=151224&oldid=88530 * Ractangle * (-5) /* Translator to brainfuck */  sorted variables by type
15:15:07  [[3switchBF]]  https://esolangs.org/w/index.php?diff=151225&oldid=151224 * Ractangle * (+5) /* Translator to brainfuck */  c gets redefined so
15:19:11  [[Postrado]]  https://esolangs.org/w/index.php?diff=151226&oldid=151200 * Ractangle * (-104) /* Commands */
15:20:15  [[Postrado]]  https://esolangs.org/w/index.php?diff=151227&oldid=151226 * Ractangle * (+11) /* Without functions */
15:31:01  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=151228&oldid=60454 * Kaveh Yousefi * (+183) Added a hyperlink to my implementation of the Bitwise Scanner programming language on GitHub and altered the Unimplemented category tag to Implemented.
15:35:51  [[Bitwise Scanner]] M https://esolangs.org/w/index.php?diff=151229&oldid=151228 * Kaveh Yousefi * (+308) Reformatted the instruction listing as a table, introducing the operations' expected arguments.
15:46:15  [[User:TheCanon2]] M https://esolangs.org/w/index.php?diff=151230&oldid=150403 * TheCanon2 * (+31) 
16:05:24  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151231&oldid=151190 * Lykaina * (+46) Updated url and version info
16:14:38  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151232&oldid=151231 * Lykaina * (+159) /* Threading */ added a little clarification here about I/O being shared.
16:50:36 -!- ais523 has joined.
17:02:48  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151233&oldid=151232 * Lykaina * (+65) Updated url and version info, current version is 1.0b3
17:03:44  [[User talk:Calculus is fun]] M https://esolangs.org/w/index.php?diff=151234&oldid=151139 * Calculus is fun * (+197) reply to user "I am islptng"
17:07:46  split the fungeball script file into two: library and wrapper
17:16:34 -!- mich181189 has quit (Ping timeout: 248 seconds).
17:16:45 -!- mich181189 has joined.
17:18:58  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151235&oldid=151082 * Calculus is fun * (+294) Added query command, reorganized to match website
17:33:31  the library is compatible with micropython and cpython
17:33:47  the wrapper is designed for cpython
18:07:48  [[Special:Log/newusers]] create  * Compiler12o *  New user account
18:13:04  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151236&oldid=151203 * Compiler12o * (+173) /* Introductions */
18:13:24  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151237&oldid=151233 * Lykaina * (-41) Changed url to match the repository on my personal gitea.
18:14:34  [[+-]]  https://esolangs.org/w/index.php?diff=151238&oldid=98506 * Compiler12o * (+3015) /* Interpreters */
18:16:53  [[+-]]  https://esolangs.org/w/index.php?diff=151239&oldid=151238 * Compiler12o * (-3015) /* C++ 20 */
18:17:44  [[+-]]  https://esolangs.org/w/index.php?diff=151240&oldid=151239 * Compiler12o * (+3019) /* Interpreters */
18:18:09  [[+-]]  https://esolangs.org/w/index.php?diff=151241&oldid=151240 * Compiler12o * (-4) /* C++ 20 */
18:18:44  [[+-]]  https://esolangs.org/w/index.php?diff=151242&oldid=151241 * Compiler12o * (+21) /* C++ 20 */
18:23:27  fungeball has it's own git repository now
18:24:05 -!- Lord_of_Life_ has joined.
18:24:44 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
18:25:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:34:22  Good times.
18:47:19  [[+-]]  https://esolangs.org/w/index.php?diff=151243&oldid=151242 * Compiler12o * (-3036) /* C++ 20 */
19:04:19  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151244&oldid=151235 * Calculus is fun * (+208) Added breakpoints
19:11:35  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151245&oldid=151244 * Calculus is fun * (+90) Added error command
19:14:31  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151246&oldid=151245 * Calculus is fun * (-7) /* Checks and comparisons */
19:22:25  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151247&oldid=151246 * Calculus is fun * (+24) Changed 2nd sentence
19:32:32  [[Funciton]] M https://esolangs.org/w/index.php?diff=151248&oldid=151079 * Timwi * (+71) sort function
19:35:53 -!- Sgeo has joined.
20:00:18  hi Sgeo
20:26:41  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151249&oldid=151237 * Lykaina * (-7) Updating url due to moving public repo to GitHub
20:35:08  Hi Lykaina 
20:36:43 -!- chomwitt has quit (Ping timeout: 252 seconds).
20:44:51  copied the repo from my private gitea to github
20:52:08  [[6 bytes of useless element]]  https://esolangs.org/w/index.php?diff=151250&oldid=149153 * Ractangle * (-60) /* Interpreters */
20:55:32 -!- Lord_of_Life has quit (Excess Flood).
20:56:29 -!- Lord_of_Life has joined.
21:14:26 -!- DOS_User_webchat has joined.
21:26:51  I've been playing Redactle again recently, at https://redactle.net/ , in case anyone's interested
21:27:38 -!- DOS_User_webchat has quit (Remote host closed the connection).
22:06:44 -!- moony7 has quit (Quit: Ping timeout (120 seconds)).
22:07:23 -!- moony has joined.
22:14:12  [[Fungeball]] M https://esolangs.org/w/index.php?diff=151251&oldid=151249 * Lykaina * (+0) Changed a url from the GitHub Repository to the GitHub Pages site.
22:16:26 -!- ais523 has quit (Quit: quit).
22:52:03  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151252&oldid=151251 * Lykaina * (+173) /* Versions */ Adding distinction between GitHub Versions and Pre-GitHub Versions
23:06:09 -!- craigo has quit (Ping timeout: 260 seconds).
23:38:36  [[6 bytes of useless element]] M https://esolangs.org/w/index.php?diff=151253&oldid=151250 * Calculus is fun * (+203) /* Interpreters */
23:53:16 -!- supercode has joined.
23:54:52  [[Fun Video Game]] M https://esolangs.org/w/index.php?diff=151254&oldid=135671 * Calculus is fun * (+149) MoreMathRPN example
23:58:27 -!- molson_ has joined.

2025-02-03:

00:02:09 -!- molson has quit (Ping timeout: 260 seconds).
00:02:11  [[Fun Video Game]] M https://esolangs.org/w/index.php?diff=151255&oldid=151254 * Calculus is fun * (+9) Alphabetized implementations
00:02:44 -!- mtm has quit (Ping timeout: 260 seconds).
00:06:09 -!- mtm has joined.
00:28:00 -!- supercode has quit (Quit: Client closed).
00:56:54 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
00:57:19 -!- Lord_of_Life has joined.
01:54:57 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:44:18  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151256&oldid=151252 * Lykaina * (+276) /* Hello, World! */ added a new example
02:55:33  the second hello world example on the Fungeball page shows how much timing must be wasted so that the response is correct.
02:57:17  well, wasted isn't the right word
02:58:36  any fewer 'z's or arrows and the output is nonsense
02:59:02  [[Talk:25 bytes o:]]  https://esolangs.org/w/index.php?diff=151257&oldid=151218 * PrySigneToFry * (+926) 
02:59:29  [[Talk:25 bytes o:]]  https://esolangs.org/w/index.php?diff=151258&oldid=151257 * PrySigneToFry * (+12) 
03:12:40  [[-25 bytes (O o)]]  https://esolangs.org/w/index.php?diff=151259&oldid=151212 * PrySigneToFry * (+421) 
03:18:34  [[Collabi]]  https://esolangs.org/w/index.php?diff=151260&oldid=138037 * PrySigneToFry * (+332) 
03:42:44  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151261&oldid=151256 * Lykaina * (+137) /* Hello, World! */ 'rephrased' my point in the second example with a third example.
03:46:14 -!- m5zs7k has quit (Ping timeout: 245 seconds).
03:50:16  [[Ting Vit/Examples]] N https://esolangs.org/w/index.php?oldid=151262 * PrySigneToFry * (+2939) Created page with "{{Back|Ting Vit}}  Here are some example for Ting Vit.  == Hello, world! ==  In "Xin cho, th gii!".  == A+B Problem ==  Nhp hai s nguyn t ngi dng, sau  in tng ca chng.  == Quine ==  In m ngun ca chng trnh ny. UINEGIXNGAEIUgxiue giu giuXGPIUAXIUGXIUp ghse
03:51:33  [[Ting Vit]]  https://esolangs.org/w/index.php?diff=151263&oldid=148565 * PrySigneToFry * (+146) 
03:59:07 -!- m5zs7k has joined.
04:11:05  should take 56 cycles from the start of 'thread' 2 for 'thread' 1 to end. it should then be safe for 'thread' 2 to enter the output loop. However, it instead takes 65 cycles before output loop for the correct output to appear from 'thread' 2.
04:13:38 -!- m5zs7k has quit (Ping timeout: 248 seconds).
04:14:10  [[Talk:MoreMathRPN]] N https://esolangs.org/w/index.php?oldid=151264 * Calculus is fun * (+388) Created discussion page
04:15:21  I think I reasoned the existence of a bug. My guess is that the String Mode is not implemented correctly.
04:31:56 -!- m5zs7k has joined.
04:32:59  [[GeoFuck]] N https://esolangs.org/w/index.php?oldid=151265 * None1 * (+1380) Created page with "{{lang|a=User:None1|i=[[PoeticFuck]]}}  What a program does only depends on where you are and the length of the program. ==Translation== GeoFuck first takes your exact latitude and longitude as a pair of real numbers (north and east are positive, south and west are negati
04:33:25  [[Language list]]  https://esolangs.org/w/index.php?diff=151266&oldid=151196 * None1 * (+14) /* G */
04:34:17  [[User:None1]]  https://esolangs.org/w/index.php?diff=151267&oldid=151028 * None1 * (+64) /* My Esolangs */
04:36:02  [[GeoFuck]]  https://esolangs.org/w/index.php?diff=151268&oldid=151265 * None1 * (+130) /* Translation */
04:36:51  [[GeoFuck]]  https://esolangs.org/w/index.php?diff=151269&oldid=151268 * None1 * (+4) /* Translation */
04:41:28  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151270&oldid=151201 * Hsxiaobai * (+31) 
05:05:40 -!- m5zs7k has quit (Ping timeout: 252 seconds).
05:12:55  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151271&oldid=151270 * Hsxiaobai * (+9) 
05:15:39 -!- m5zs7k has joined.
05:16:25  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151272&oldid=151271 * Hsxiaobai * (+59) 
05:52:23  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151273&oldid=151261 * Lykaina * (-99) Fixed a big bug, so updated examples and added v1.0-beta4 to version history.
06:11:57  OMG. That bug made no sense.
06:22:32  night
06:22:40 -!- Lykaina has quit (Quit: Leaving).
07:16:42  [[Frackit]] N https://esolangs.org/w/index.php?oldid=151274 * I am islptng * (+673) Created page with "Frackit is an esolang created by islptng. It operates on fractions. It has a stack.  == Commands == {|class=wikitable ! Command !! Meaning |- | #n || push(n) (n is a positive integer) |- | / || push(1/pop()) |- | ! || pop() |- | < || insert(0,pop()) |-
07:44:05 -!- craigo has joined.
07:53:46  [[User:I am islptng]]  https://esolangs.org/w/index.php?diff=151275&oldid=151075 * I am islptng * (+35) /* My esolangs */
08:26:14 -!- craigo_ has joined.
08:29:27 -!- craigo has quit (Ping timeout: 252 seconds).
08:32:58 -!- Sgeo has quit (Read error: Connection reset by peer).
08:59:57 -!- chomwitt has joined.
09:00:59 -!- chomwitt has quit (Remote host closed the connection).
09:13:18 -!- esolangs has quit (Ping timeout: 246 seconds).
09:13:57 -!- esolangs has joined.
09:13:57 -!- ChanServ has set channel mode: +v esolangs.
09:14:21 -!- riv has quit (Ping timeout: 246 seconds).
09:15:31 -!- riv has joined.
09:19:26  [[User talk:I am islptng]]  https://esolangs.org/w/index.php?diff=151276&oldid=149610 * Cycwin * (+124) /* why am i here */ new section
09:30:35  [[Frackit]]  https://esolangs.org/w/index.php?diff=151277&oldid=151274 * I am islptng * (+982) interpreter
09:39:17  [[Frackit]]  https://esolangs.org/w/index.php?diff=151278&oldid=151277 * I am islptng * (+104) 
09:43:03  [[Talk:Frackit]] N https://esolangs.org/w/index.php?oldid=151279 * Calculus is fun * (+205) Created Talk:Frackit
09:48:51  [[Frackit]]  https://esolangs.org/w/index.php?diff=151280&oldid=151278 * I am islptng * (+28) /* Commands */
09:55:33  [[File:MoreMathLogo.png]] M https://esolangs.org/w/index.php?diff=151281&oldid=149221 * Calculus is fun * (+43) Changed description
10:03:31  [[Special:Log/upload]] upload  * ClearLimediWater *  uploaded "[[File:20250128.png]]"
10:05:06  [[User:ClearLimediWater]] M https://esolangs.org/w/index.php?diff=151283&oldid=150396 * ClearLimediWater * (-1390) 
10:05:28 -!- SGautam has joined.
10:13:26  [[Frackit]]  https://esolangs.org/w/index.php?diff=151284&oldid=151280 * I am islptng * (+57) 
10:16:46  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151285&oldid=151279 * I am islptng * (+586) 
10:26:25  [[Talk:Nice]] M https://esolangs.org/w/index.php?diff=151286&oldid=148733 * UrnEn * (+231) 
10:37:10  [[Frackit]]  https://esolangs.org/w/index.php?diff=151287&oldid=151284 * I am islptng * (+12) /* Interpreter */
10:48:43 -!- Lord_of_Life has quit (Excess Flood).
10:50:24 -!- Lord_of_Life has joined.
10:53:56  [[Frackit]]  https://esolangs.org/w/index.php?diff=151288&oldid=151287 * I am islptng * (+76) 
10:58:18  [[Talk:Unary]] M https://esolangs.org/w/index.php?diff=151289&oldid=113702 * UrnEn * (+272) 
11:01:21  [[Befunge]]  https://esolangs.org/w/index.php?diff=151290&oldid=151045 * B jonas * (+100) /* Instructions */
11:13:10  `"
11:13:15  1/1:351)  Sanity is insufficient by itself. Many other things are also important. \ 2)  Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened...   More practice is in order.
11:17:36  [[Frackit]]  https://esolangs.org/w/index.php?diff=151291&oldid=151288 * Cycwin * (+33) 
11:19:58  [[AnyGolf]]  https://esolangs.org/w/index.php?diff=151292&oldid=151132 * PrySigneToFry * (+4) 
11:27:37  [[1CP=1ICL]]  https://esolangs.org/w/index.php?diff=151293&oldid=140746 * PrySigneToFry * (+557) 
11:30:33  [[Vague]]  https://esolangs.org/w/index.php?diff=151294&oldid=137325 * PrySigneToFry * (+54) 
11:32:26  [[Talk:Vaguest]]  https://esolangs.org/w/index.php?diff=151295&oldid=136515 * PrySigneToFry * (+840) 
11:37:31  [[Esolang talk:Categorization]]  https://esolangs.org/w/index.php?diff=151296&oldid=150867 * PrySigneToFry * (+1157) /* Category: Collaborative programming language */ new section
11:56:54  [[User talk:PrySigneToFry]] M https://esolangs.org/w/index.php?diff=151297&oldid=151061 * UrnEn * (+417) 
12:02:38 -!- mtm has quit (Ping timeout: 272 seconds).
12:05:40 -!- mtm has joined.
12:19:09  [[User talk:I am islptng]] M https://esolangs.org/w/index.php?diff=151298&oldid=151276 * UrnEn * (+123) /* why am i here */
12:30:54  [[User talk:None1]]  https://esolangs.org/w/index.php?diff=151299&oldid=151136 * PrySigneToFry * (+904) /* Do you want to create a programming language with me? */ new section
12:32:58  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151300&oldid=151297 * PrySigneToFry * (+953) 
12:34:23  [[Vaguest]]  https://esolangs.org/w/index.php?diff=151301&oldid=136493 * PrySigneToFry * (+59) 
12:36:30  [[Vaguest]]  https://esolangs.org/w/index.php?diff=151302&oldid=151301 * PrySigneToFry * (+23) 
12:39:21 -!- SGautam has quit (Quit: Connection closed for inactivity).
12:41:11  [[Dig straight down like an idiot]]  https://esolangs.org/w/index.php?diff=151303&oldid=75626 * PrySigneToFry * (+189) 
12:43:50  [[EA Script, It's in the code.]]  https://esolangs.org/w/index.php?diff=151304&oldid=141116 * PrySigneToFry * (+83) 
12:47:17  [[User talk:Cycwin]] N https://esolangs.org/w/index.php?oldid=151305 * I am islptng * (+606) Created page with " ~~~~"
12:47:31  [[User talk:Cycwin]]  https://esolangs.org/w/index.php?diff=151306&oldid=151305 * I am islptng * (-9) 
13:00:13  [[Talk:Ting Vit]] M https://esolangs.org/w/index.php?diff=151307&oldid=141935 * UrnEn * (+168) 
13:07:44  [[Frackit]] M https://esolangs.org/w/index.php?diff=151308&oldid=151291 * UrnEn * (+170) /* Examples */
13:27:56  [[Talk:16 bytes :P]]  https://esolangs.org/w/index.php?diff=151309&oldid=141258 * PrySigneToFry * (+26) /* 5 bytes :P */ new section
13:29:53  [[Talk:1 byte :5]] N https://esolangs.org/w/index.php?oldid=151310 * PrySigneToFry * (+890) /* All APLWSI interpreters are 1 byte :5 interpreters. */ new section
13:33:00  [[Joke language list]]  https://esolangs.org/w/index.php?diff=151311&oldid=151027 * PrySigneToFry * (+172) 
13:35:44 -!- wib_jonas has joined.
13:47:19  [[!lyriclydemoteestablishcommunism!]]  https://esolangs.org/w/index.php?diff=151312&oldid=149397 * PrySigneToFry * (+102) 
13:53:23  [[User:Magnogen]]  https://esolangs.org/w/index.php?diff=151313&oldid=89373 * Magnogen * (-69) remove reddit and add other sites
14:10:48  [[Frackit]]  https://esolangs.org/w/index.php?diff=151314&oldid=151308 * I am islptng * (+212) 
14:56:18 -!- Lymee has joined.
14:56:33 -!- Lymia has quit (Ping timeout: 276 seconds).
15:10:58  [[Brainfffffuck]]  https://esolangs.org/w/index.php?diff=151315&oldid=151272 * Ractangle * (-31) 
15:22:49  [[]]  https://esolangs.org/w/index.php?diff=151316&oldid=151183 * PrySigneToFry * (+487) 
15:25:02  [[]]  https://esolangs.org/w/index.php?diff=151317&oldid=151316 * PrySigneToFry * (+124) 
15:29:37  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151318&oldid=151285 * Calculus is fun * (+180) 
15:29:51  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151319&oldid=151318 * Calculus is fun * (+109) 
15:29:58 -!- Lykaina has joined.
15:43:18 -!- zzo38 has quit (Ping timeout: 245 seconds).
15:48:22  [[Frackit]]  https://esolangs.org/w/index.php?diff=151320&oldid=151314 * I am islptng * (+212) 
16:02:31  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151321&oldid=151319 * I am islptng * (+731) 
16:04:33 -!- supercode has joined.
16:22:59  [[Truth-machine]]  https://esolangs.org/w/index.php?diff=151322&oldid=150972 * I am islptng * (-101) /* (InDev) */
16:24:35 -!- wib_jonas has quit (Quit: Client closed).
16:24:49  [[User:I am islptng/Sandbox]]  https://esolangs.org/w/index.php?diff=151323&oldid=150985 * I am islptng * (+4526) 
16:26:34  [[Special:Log/move]] move  * I am islptng *  moved [[User:I am islptng/Sandbox]] to [[]]: I want it to move out!
16:28:35  [[]]  https://esolangs.org/w/index.php?diff=151326&oldid=151324 * I am islptng * (-19) 
16:29:34  [[Truth-machine]]  https://esolangs.org/w/index.php?diff=151327&oldid=151322 * I am islptng * (+101) Undo revision [[Special:Diff/151322|151322]] by [[Special:Contributions/I am islptng|I am islptng]] ([[User talk:I am islptng|talk]])
16:32:55  [[]]  https://esolangs.org/w/index.php?diff=151328&oldid=151317 * I am islptng * (-29) 
16:40:03  [[User:I am islptng/Sandbox]]  https://esolangs.org/w/index.php?diff=151329&oldid=151325 * I am islptng * (-20) Removed redirect to [[]]
16:55:04  [[Talk:Frackit]] M https://esolangs.org/w/index.php?diff=151330&oldid=151321 * Aadenboy * (+4) fix link
18:24:36 -!- Lord_of_Life_ has joined.
18:24:54 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
18:25:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:31:33  [[!lyriclydemoteestablishcommunism!]]  https://esolangs.org/w/index.php?diff=151331&oldid=151312 * Ractangle * (+4) /* Implementations */
18:33:39  [[Template:H]]  https://esolangs.org/w/index.php?diff=151332&oldid=143308 * Ractangle * (+30) 
18:34:23  [[!lyriclydemoteestablishcommunism!]]  https://esolangs.org/w/index.php?diff=151333&oldid=151331 * Ractangle * (+4) /* Implementations */
18:35:41  [[Empty Program]]  https://esolangs.org/w/index.php?diff=151334&oldid=150656 * Ractangle * (+29) /* Befunge */
18:37:02  [[Empty Program]]  https://esolangs.org/w/index.php?diff=151335&oldid=151334 * Ractangle * (-20) /* G# */  you don't need a main class anymore since the language now runs the latest defined function
18:37:48  [[Empty Program]]  https://esolangs.org/w/index.php?diff=151336&oldid=151335 * Ractangle * (+2) /* Brainfuck,JS,Python and many other languages */
18:38:16  [[G Sharp]]  https://esolangs.org/w/index.php?diff=151337&oldid=151142 * Ractangle * (-20) /* Empty Program */
19:19:31 -!- supercode has quit (Quit: Client closed).
19:44:10 -!- zzo38 has joined.
21:12:17 -!- craigo_ has quit (Ping timeout: 248 seconds).
21:59:30 -!- DOS_User_webchat has joined.
22:04:16 -!- DOS_User_webchat has quit (Remote host closed the connection).
22:06:07  [[]]  https://esolangs.org/w/index.php?diff=151338&oldid=151326 * Ractangle * (+1) /* Judge if a number is even or odd */
22:11:33  [[Fun Video Game]]  https://esolangs.org/w/index.php?diff=151339&oldid=151255 * Ractangle * (+7) /* BASE */
22:12:20  [[BAL]]  https://esolangs.org/w/index.php?diff=151340&oldid=145053 * Ractangle * (-13) /* Truth-machine */
22:12:54  [[BAL]]  https://esolangs.org/w/index.php?diff=151341&oldid=151340 * Ractangle * (+6) /* Truth-machine */
22:19:13 -!- Lykaina has quit (Quit: Leaving).
22:31:06 -!- FreeFull has quit.
22:43:24 -!- amby has joined.
23:03:50 -!- DOS_User_webchat has joined.

2025-02-04:

00:03:21 -!- mtm has quit (Ping timeout: 246 seconds).
00:06:24 -!- mtm has joined.
00:13:54 -!- DOS_User_webchat has quit (Remote host closed the connection).
00:14:14 -!- DOS_User_webchat has joined.
00:15:58 -!- Hooloovoo has quit (Ping timeout: 265 seconds).
00:24:17 -!- DOS_User_webchat has quit (Remote host closed the connection).
00:25:01 -!- Sgeo has joined.
00:41:46  [[Talk:Frackit]] M https://esolangs.org/w/index.php?diff=151342&oldid=151330 * Calculus is fun * (+136) 
00:43:11 -!- Hooloovoo has joined.
01:29:58 -!- m5zs7k has quit (Ping timeout: 252 seconds).
01:37:02 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
01:38:48 -!- m5zs7k has joined.
02:22:20  [[User talk:I am islptng]]  https://esolangs.org/w/index.php?diff=151343&oldid=151298 * Cycwin * (+47) /* why am i here */
02:27:20  [[User talk:Cycwin]]  https://esolangs.org/w/index.php?diff=151344&oldid=151306 * Cycwin * (+211) /* Just some weird words */ new section
03:20:46  [[]]  https://esolangs.org/w/index.php?diff=151345&oldid=151328 * PrySigneToFry * (+1173) 
03:21:23  [[]]  https://esolangs.org/w/index.php?diff=151346&oldid=151345 * PrySigneToFry * (+11) 
03:23:09  [[]]  https://esolangs.org/w/index.php?diff=151347&oldid=151338 * PrySigneToFry * (+21) 
03:48:38  [[User talk:None1]]  https://esolangs.org/w/index.php?diff=151348&oldid=151299 * None1 * (+281) /* Do you want to create a programming language with me? */
03:53:03  [[Ting Vit]]  https://esolangs.org/w/index.php?diff=151349&oldid=151263 * PrySigneToFry * (+167) 
05:13:30  [[Onesharp]] M https://esolangs.org/w/index.php?diff=151350&oldid=151179 * Jburns22 * (-22) 
05:15:37 -!- Sgeo has quit (Read error: Connection reset by peer).
05:27:53 -!- Sgeo has joined.
05:46:40  [[Normalcalc]] M https://esolangs.org/w/index.php?diff=151351&oldid=141473 * Itoh Shimon * (+0) rename github user name
05:47:23  [[Normalcalc]] M https://esolangs.org/w/index.php?diff=151352&oldid=151351 * Itoh Shimon * (+0) /* External resources */ rename github user name
05:48:15  [[User:Itoh Shimon]] M https://esolangs.org/w/index.php?diff=151353&oldid=134420 * Itoh Shimon * (+0) rename github user name
05:48:35  [[Frackit]] M https://esolangs.org/w/index.php?diff=151354&oldid=151320 * UrnEn * (-1) /* Truth Machine */
05:51:02  [[Frackit]]  https://esolangs.org/w/index.php?diff=151355&oldid=151354 * I am islptng * (+1) Undo revision [[Special:Diff/151354|151354]] by [[Special:Contributions/UrnEn|UrnEn]] ([[User talk:UrnEn|talk]])
07:03:02  [[User talk:None1]]  https://esolangs.org/w/index.php?diff=151356&oldid=151348 * PrySigneToFry * (+939) 
07:03:55  [[]]  https://esolangs.org/w/index.php?diff=151357&oldid=151347 * PrySigneToFry * (+1) 
07:06:34 -!- Sgeo has quit (Read error: Connection reset by peer).
07:13:49  [[]]  https://esolangs.org/w/index.php?diff=151358&oldid=151346 * PrySigneToFry * (+47) 
07:15:44  [[]]  https://esolangs.org/w/index.php?diff=151359&oldid=151358 * PrySigneToFry * (+136) 
07:18:46  [[]]  https://esolangs.org/w/index.php?diff=151360&oldid=151359 * PrySigneToFry * (+180) 
07:23:50  [[]]  https://esolangs.org/w/index.php?diff=151361&oldid=151360 * PrySigneToFry * (+145) 
07:24:33  [[]]  https://esolangs.org/w/index.php?diff=151362&oldid=151361 * PrySigneToFry * (+31) 
07:28:08  [[]]  https://esolangs.org/w/index.php?diff=151363&oldid=151362 * PrySigneToFry * (+642) 
07:41:42 -!- Sgeo has joined.
08:12:31 -!- Sgeo has quit (Read error: Connection reset by peer).
08:44:21 -!- fria has joined.
08:44:36 -!- fria has left.
09:09:50  [[Fun Video Game]]  https://esolangs.org/w/index.php?diff=151364&oldid=151339 * PrySigneToFry * (+1973) 
09:10:34  [[Fun Video Game]]  https://esolangs.org/w/index.php?diff=151365&oldid=151364 * PrySigneToFry * (+56) 
10:08:26 -!- craigo has joined.
10:29:25  [[User:B jonas/List]]  https://esolangs.org/w/index.php?diff=151366&oldid=150883 * B jonas * (+19) [[Funge-98]]
10:49:41  [[Piet]]  https://esolangs.org/w/index.php?diff=151367&oldid=148755 * B jonas * (+204) /* External resources */
11:00:01  [[Talk:Scratch]]  https://esolangs.org/w/index.php?diff=151368&oldid=147676 * PrySigneToFry * (+1772) 
11:29:42 -!- m5zs7k has quit (Ping timeout: 246 seconds).
11:35:46 -!- m5zs7k has joined.
12:02:28 -!- mtm has quit (Ping timeout: 252 seconds).
12:05:31 -!- mtm has joined.
12:11:16  Hi
12:34:25 -!- leah2 has quit (Ping timeout: 244 seconds).
12:47:18 -!- leah2 has joined.
13:09:33 -!- leah2 has quit (Ping timeout: 252 seconds).
13:23:29 -!- leah2 has joined.
15:10:30 -!- FreeFull has joined.
15:13:31  [[]]  https://esolangs.org/w/index.php?diff=151369&oldid=151363 * PrySigneToFry * (+183) 
15:24:03  [[]]  https://esolangs.org/w/index.php?diff=151370&oldid=151369 * PrySigneToFry * (+374) 
15:59:20  [[]]  https://esolangs.org/w/index.php?diff=151371&oldid=151357 * I am islptng * (+150) 
17:19:42 -!- amby has joined.
18:25:17 -!- Lord_of_Life_ has joined.
18:26:00 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:26:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:31:25  [['Python' is not recognized as an internal or external command, operable program or batch file.]]  https://esolangs.org/w/index.php?diff=151372&oldid=145284 * 47 * (-74) 
19:33:28  [['Python' is not recognized]]  https://esolangs.org/w/index.php?diff=151373&oldid=150295 * 47 * (-29) /* Syntax */
19:51:30 -!- supercode has joined.
20:00:55  [[Bear]]  https://esolangs.org/w/index.php?diff=151374&oldid=147610 * Headless-Axolotl * (+167) 
20:01:23  [[Bear]] M https://esolangs.org/w/index.php?diff=151375&oldid=151374 * Headless-Axolotl * (+4) fibonacci number heading mistake fix
20:02:04 -!- m5zs7k has quit (Ping timeout: 252 seconds).
20:06:28 -!- m5zs7k has joined.
20:37:33 -!- supercode has quit (Quit: Client closed).
22:13:48  I think the ASN.1 REAL type does not consider trailing zeros to be significant, and usually they probably aren't significant, but sometimes it is, e.g. in case the number of sigfigs is relevant. It could be made perhaps by a SCIENTIFIC type, which has the same type number as REAL but has a different DER encoding (which will still be compatible with the existing BER encoding, though).
22:14:12  This can also be true of other things e.g. time zones; for some applications it will be significant but for some it will not be significant.
22:17:05  (Also, I think that scientific notation should always be used if it needs to know the number of sigfigs; trying to do such a thing without scientific notation does not work very well, in my opinion.)
22:19:42  (However, another problem with sigfigs is in case the significance is not a power of ten; I don't know how relevant that is in most science.)
22:49:57  [[Triangular numbers]] N https://esolangs.org/w/index.php?oldid=151376 * Aadenboy * (+1521) create with implementations listed by search (also implement one for [[Iterate]])
22:50:49  [[Iterate]] M https://esolangs.org/w/index.php?diff=151377&oldid=150736 * Aadenboy * (+239) /* Example programs */
22:51:02  [[Iterate]] M https://esolangs.org/w/index.php?diff=151378&oldid=151377 * Aadenboy * (+2) /* Triangle numbers */
22:51:26  [[Triangle numbers]] N https://esolangs.org/w/index.php?oldid=151379 * Aadenboy * (+32) Redirected page to [[Triangular numbers]]
23:11:05 -!- amby has quit (Read error: Connection reset by peer).
23:11:23 -!- amby has joined.
23:35:37  cu

2025-02-05:

00:04:02 -!- mtm has quit (Ping timeout: 248 seconds).
00:05:02 -!- Sgeo has joined.
00:05:48 -!- mtm has joined.
00:41:20  [[Special:Log/newusers]] create  * PurplrIsSus1985 *  New user account
00:44:26  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151380&oldid=151236 * PurplrIsSus1985 * (+250) 
00:44:58  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151381&oldid=151380 * PurplrIsSus1985 * (+1) 
01:09:21 -!- amby has quit (Remote host closed the connection).
01:09:44 -!- amby has joined.
01:17:59 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
01:26:31  [[Omniglot]] N https://esolangs.org/w/index.php?oldid=151382 * Tommyaweosme * (+1007) Created page with "an omniglot is a hypothetical [[polyglot]] that does the same thing in every language. omniglots are impossible, due to the conflicting nature of the following languages: == omniglot d1 == commands:  a - print hello world  e - end every other symbol throws an erro
01:37:01  [[Talk:Polyglot]]  https://esolangs.org/w/index.php?diff=151383&oldid=83944 * PrySigneToFry * (+173) /* Polyglot Empty Program */ new section
01:40:51  [[Unmatched (]]  https://esolangs.org/w/index.php?diff=151384&oldid=144070 * PrySigneToFry * (+50) 
01:43:27  [[Baselang]]  https://esolangs.org/w/index.php?diff=151385&oldid=139606 * PrySigneToFry * (+57) 
01:45:39  [[Nil]]  https://esolangs.org/w/index.php?diff=151386&oldid=124270 * PrySigneToFry * (+32) 
02:54:12  [[Special:Log/newusers]] create  * Undalevein *  New user account
03:04:39  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151387&oldid=151381 * Undalevein * (+344) Added introduction
03:11:48  [[Category:Generated by AI]]  https://esolangs.org/w/index.php?diff=151388&oldid=145096 * PrySigneToFry * (+10) 
03:30:31  [[Talk:Omniglot]] N https://esolangs.org/w/index.php?oldid=151389 * PkmnQ * (+163) Created page with "I have an omniglot. 
 
It runs the "successfully run this program" program. -~~~~" 06:16:29 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=151390&oldid=151296 * Ais523 * (+637) /* Category: Collaborative programming language */ a) not opposed to this but b) the name is ambiguous and I'd prefer an unambiguous name 07:55:59 [[Unmatched (]] https://esolangs.org/w/index.php?diff=151391&oldid=151384 * Ractangle * (-49) /* Examples */ this is pointless 07:58:38 [[Category:Generated by AI]] https://esolangs.org/w/index.php?diff=151392&oldid=151388 * Ractangle * (-117) decided to remove some ai programs... What is the point of adding several ai softwares? 08:15:12 -!- chiselfuse has quit (Ping timeout: 264 seconds). 08:16:19 -!- chiselfuse has joined. 08:18:30 [[Masqualia]] N https://esolangs.org/w/index.php?oldid=151393 * PrySigneToFry * (+4388) Created page with "Masqualia is designed by PSTF. = Language Overview = Masqualia is based on Brainfuck, is extended version of Brainfuck. Masqualia supports conditional jumps, loops, arithmetics, I/O, has a tape, a stack, four accumulators, and can access the register. Masquali 08:19:32 [[Language list]] https://esolangs.org/w/index.php?diff=151394&oldid=151266 * PrySigneToFry * (+16) 08:20:28 [[Category:Generated by AI]] https://esolangs.org/w/index.php?diff=151395&oldid=151392 * PrySigneToFry * (+10) 08:40:32 [[Talk:Omniglot]] M https://esolangs.org/w/index.php?diff=151396&oldid=151389 * YufangTSTSU * (+121) 08:47:29 [[9 bytes :I]] https://esolangs.org/w/index.php?diff=151397&oldid=139773 * PrySigneToFry * (-6) 08:50:36 -!- leah2 has quit (Ping timeout: 252 seconds). 08:57:06 -!- b_jonas has quit (Quit: leaving). 08:57:59 [[Talk:Omniglot]] https://esolangs.org/w/index.php?diff=151398&oldid=151396 * PkmnQ * (+177) 09:00:17 [[Talk:UwU: A cute esolang]] N https://esolangs.org/w/index.php?oldid=151399 * PrySigneToFry * (+59) Created page with "This can actually write in normal English, or even Anglisc." 09:00:23 -!- Sgeo has quit (Read error: Connection reset by peer). 09:03:39 -!- leah2 has joined. 09:07:10 [[Alphabetack]] N https://esolangs.org/w/index.php?oldid=151400 * I am islptng * (+674) Created page with "{{WIP}} '''Alphabetack''' is an esolang created by islptng. It's plan is to use all 26 characters.
It has a stack and a box. The box can hold any rational. == Commands ==
 a add (box += pop()) b break c continue d divide (box /= pop()) e else (used fo
09:12:09  [[Alphabetack]]  https://esolangs.org/w/index.php?diff=151401&oldid=151400 * I am islptng * (+139) 
10:11:57  [[Masqualia]]  https://esolangs.org/w/index.php?diff=151402&oldid=151393 * PrySigneToFry * (-28) 
11:07:19  [[Alphabetack]]  https://esolangs.org/w/index.php?diff=151403&oldid=151401 * I am islptng * (-54) 
11:18:51  [[Tom Murphy VII]]  https://esolangs.org/w/index.php?diff=151404&oldid=125979 * B jonas * (+75) /* Links */
11:34:11 -!- supercode has joined.
11:43:47  [[User talk:None1]]  https://esolangs.org/w/index.php?diff=151405&oldid=151356 * None1 * (+291) /* Do you want to create a programming language with me? */
11:44:29  [[User:None1]]  https://esolangs.org/w/index.php?diff=151406&oldid=151267 * None1 * (+37) 
12:03:25 -!- mtm has quit (Ping timeout: 265 seconds).
12:06:00 -!- mtm has joined.
12:24:28  [[Aphasia]] N https://esolangs.org/w/index.php?oldid=151407 * B jonas * (+1119) Created page with "Aphasia is a functional programming language that [[Tom Murphy VII]] created and uses for his internal projects, such as his blog engine.  Aphasia is functional with side effects, statically typed with algebraic types and function closures, and as such is inspired by ML
12:24:54  [[Tom Murphy VII]]  https://esolangs.org/w/index.php?diff=151408&oldid=151404 * B jonas * (+14) [[Aphasia]]
12:41:08  [[Masqualia]]  https://esolangs.org/w/index.php?diff=151409&oldid=151402 * PrySigneToFry * (+1236) 
12:48:26  [[Special:Log/newusers]] create  * Wound theology *  New user account
12:50:21  [[Aphasia]]  https://esolangs.org/w/index.php?diff=151410&oldid=151407 * B jonas * (+129) categories
13:01:29  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151411&oldid=151387 * Wound theology * (+296) 
13:01:51  [[Trithemius]] N https://esolangs.org/w/index.php?oldid=151412 * Wound theology * (+606) Created page with "'''Trithemius''' is an in-development [[esoteric programming language]] by [[User:Wound theology]], who under a different account, designed the [[:Category:Joke languages|joke language]] [[Brainfuck]] in 2017. Trithemius aims to simulate the look and feel of me
13:04:03  [[Trithemius]]  https://esolangs.org/w/index.php?diff=151413&oldid=151412 * Wound theology * (+19) 
13:04:22  [[Trithemius]]  https://esolangs.org/w/index.php?diff=151414&oldid=151413 * Wound theology * (-1) 
13:22:09  [[Bouncy Counters]]  https://esolangs.org/w/index.php?diff=151415&oldid=141734 * B jonas * (+1) /* Starting and stopping the program */ mistake?
13:40:29 -!- amby has joined.
13:47:07  [[Language list]]  https://esolangs.org/w/index.php?diff=151416&oldid=151394 * B jonas * (+24) [[UE1]], [[Aphasia]]
13:51:52  Hi
15:33:14 -!- supercode has quit (Quit: Client closed).
17:02:45  [[Special:Log/newusers]] create  * Calliwag *  New user account
18:18:35  [[Category:Generated by AI]]  https://esolangs.org/w/index.php?diff=151417&oldid=151395 * Ais523 * (-33) probably no need to list generative AIs and large language models, just use the general name for them
18:22:59  [[Vaguest]]  https://esolangs.org/w/index.php?diff=151418&oldid=151302 * Ais523 * (-82) undo two revisions  the purpose of this wiki is to describe esoteric programming languages, and where it's the first source, we assume that the description by the language creator is correct unless it's obviously in error  editing a description to add commands therefore doesn't ch
18:26:27 -!- Lord_of_Life_ has joined.
18:26:58 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
18:27:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:36:41  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151419&oldid=151300 * Ais523 * (+862) /*  */ please be careful when editing the specifications of other people's languages
18:37:02 -!- ais523 has joined.
18:37:21  fizzie: how's the wiki holding up after I hid all those revisions – did the crawlers give up, or are they still causing trouble on other pages?
18:42:23  As measured by CPU load on the wiki server, it comes and goes in bursts: https://zem.fi/tmp/cpu2.png
18:43:10  From nginx measurements, looks like it's actually started lagging/failing a little just over the last hour or so, though not as badly as it was.
18:46:47  The current problematic pages seem to be [[Language list]] and [[Joke language list]] but hiding revisions for those probably isn't great.
18:47:59  (Haven't looked further into the "allow diffs only when logged in" idea.)
18:50:57  Yeah, crawling those two language list pages started almost exactly at 16:00 local time, which lines up with the lag spiking.
18:51:00 -!- b_jonas has joined.
18:55:54  I'll be in a "fun event" (we're having a work thing) rest of the day, so I've done that "return 503s" thing for language list & joke language list diff pages temporarily, to make it less likely it'll keel over while I'm out. Hopefully nobody organically needs that in the next couple of hours. I'll unroll it when I get home.
18:59:58  I did need the diff for the language list organically earlier today, to check that my edit was correct, but that's over now
19:01:55  fizzie: your temporary change doesn't seem to have worked, I'm still getting 200 and a diff output for https://esolangs.org/w/index.php?title=Language_list&diff=148777&oldid=148584
19:02:15  That's because you've listed the title before the diff parameter.
19:02:29  The URL expression that triggers the 503 is  "diff=.*title=(?:Language_list|Joke_language_list)"  so if you put the parameters in that order it'll work.
19:02:45  I don't know where these URLs are coming from, but they consistently have the parameters in that order.
19:03:48  To me https://esolangs.org/w/index.php?diff=148777&oldid=148584&title=Language_list "correctly" serves a 503.
19:04:42  If MediaWiki-generated URLs have it the other way around, that's even better, it will probably mean most people will never even notice there's a block.
19:05:10  (Although it raises the question, what *are* these crawlers -- or whatever they are -- doing to generate the requests...)
19:05:23  Anyway, I really need to head off to the fun.
19:58:40  I guess old language list revisions aren't so useful, but if the parameter order blocking helps, so much the better
20:16:29  [[SpecialRandom]] N https://esolangs.org/w/index.php?oldid=151420 * Buckets * (+28) Redirected page to [[Special:Random]]
20:18:25  I guess whatever tools they're using for the fetching might be sorting the CGI params in URLs or something.
20:18:49  (Still at the fun.)
20:30:26  huh, the order of the parameters? I wonder if they're tools made mostly for scraping Wikia wikis, since they have a lot of features that would make scraping easier disabled
20:30:33  or not enabled
20:31:15  incidentally, where the main page says "the complete list of languages", shouldn't we remove "complete" since that's a lie?
21:13:21 -!- ajal has joined.
21:18:10 -!- Melvar has quit (Ping timeout: 252 seconds).
21:18:10 -!- APic has quit (Ping timeout: 252 seconds).
21:18:10 -!- b_jonas has quit (Ping timeout: 252 seconds).
21:18:10 -!- amby has quit (Ping timeout: 252 seconds).
21:22:49 -!- b_jonas has joined.
21:28:54 -!- APic has joined.
21:29:13 -!- Melvar has joined.
21:32:11  [[Zyzzogeton]] N https://esolangs.org/w/index.php?oldid=151421 * Buckets * (+2006) Created page with "Zyzzogeton is both an Esoteric programming language is also the last entry word in the Marriam-Webster Dictionary. Zyzzogeton is a 3D Esolang, most of the time though it's 2D. Also created by [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instruction
21:50:50  [[Zyzzogeton]]  https://esolangs.org/w/index.php?diff=151422&oldid=151421 * Buckets * (+144) 
21:53:13  [[Language list]] M https://esolangs.org/w/index.php?diff=151423&oldid=151416 * Buckets * (+17) 
21:53:57  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151424&oldid=151151 * Buckets * (+17) 
21:54:41  [[Zyzzogeton]] M https://esolangs.org/w/index.php?diff=151425&oldid=151422 * Buckets * (+0) 
22:02:22  [[Truth Machine (language)]] M https://esolangs.org/w/index.php?diff=151426&oldid=136736 * Buckets * (+0) 
22:22:23 -!- visilii_ has joined.
22:22:45 -!- visilii has quit (Ping timeout: 248 seconds).
22:35:51 -!- amby has joined.
22:36:59 -!- ajal has quit (Read error: Connection reset by peer).
22:57:50  [[Coffee is the answer]] N https://esolangs.org/w/index.php?oldid=151427 * Tommyaweosme * (+458) Created page with "coffee is the answer is an esolang created for [https://websim.ai/@Louis9987/get-verified|this] with 3 commands. == commands ==  create() - creates a string  x.attach(y) - adds y prefixed with a space to x, unless it is the first then there is no prefix
22:57:59  [[Coffee is the answer]]  https://esolangs.org/w/index.php?diff=151428&oldid=151427 * Tommyaweosme * (+0) 
22:58:08  [[Special:Log/delete]] delete  * Ais523 *  deleted "[[SpecialRandom]]": cross-namespace redirect (not an esolang description page) and thus inappropriate for mainspace
22:59:11  b_jonas: I'm really confused about why a bot might *intentionally* be trying to scrape all possible diffs – it looks quite intentional at this point, rather than the bot being lost in pages that aren't useful for it
22:59:23  perhaps it's trying to learn what sort of edits human wiki editors make? that's the only thing I can think of
23:26:17 -!- Sgeo has joined.
23:40:31  if I meet them, I'll tell them that they can download the full history using either Special:Export or /w/api.php
23:40:41  no need for tons of separate queries

2025-02-06:

00:02:54 -!- mtm has quit (Ping timeout: 260 seconds).
00:05:44 -!- mtm has joined.
00:38:29 -!- craigo has quit (Ping timeout: 260 seconds).
01:30:27 -!- Lykaina has joined.
01:39:21 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:00:40 -!- ais523 has quit (Quit: quit).
02:32:35  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151429&oldid=151419 * PrySigneToFry * (+184) 
02:33:09  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151430&oldid=151247 * Calculus is fun * (-2) /* Instructions */
03:53:24 -!- Lykaina has quit (Quit: Leaving).
04:05:32  Oops I found a mistake in the newest version of the Magic: the Gathering rules, which is that the line before rule 702.177 has a space
04:19:34  [[Alphabetack]]  https://esolangs.org/w/index.php?diff=151431&oldid=151403 * I am islptng * (+0) 
04:32:04 -!- lisbeths has joined.
05:10:29  [[User:PrySigneToFry/Sandbox/StormLang discussion]] N https://esolangs.org/w/index.php?oldid=151432 * PrySigneToFry * (+133) Created page with "Here is a discussion page for the programming language that will be designed both by PrySigneToFry and None-One.  = Discussion area ="
05:11:34  [[User talk:None1]]  https://esolangs.org/w/index.php?diff=151433&oldid=151405 * PrySigneToFry * (+950) 
05:17:52  [[-5 bytes ;)]]  https://esolangs.org/w/index.php?diff=151434&oldid=145098 * PrySigneToFry * (-86) 
05:27:49  [[Talk:B sharp]]  https://esolangs.org/w/index.php?diff=151435&oldid=105865 * PrySigneToFry * (+170) 
07:08:12  [[User talk:PrySigneToFry/Sandbox/StormLang discussion]] N https://esolangs.org/w/index.php?oldid=151436 * Ractangle * (+193) Created page with "Talk pages exist you idiot~~~"
08:15:27  [[User talk:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151437&oldid=151436 * PrySigneToFry * (+948) 
08:19:51  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151438&oldid=151432 * PrySigneToFry * (+254) 
08:25:56  [[Talk:Binary combinatory logic]]  https://esolangs.org/w/index.php?diff=151439&oldid=8453 * Blashyrkh * (+1178) I/O proposal for BCL
08:26:15  [[Talk:Binary combinatory logic]]  https://esolangs.org/w/index.php?diff=151440&oldid=151439 * Blashyrkh * (+91) 
09:07:01  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151441&oldid=151342 * Cycwin * (+519) /* What a great idea! */ new section
09:09:55  [[User:Cycwin]]  https://esolangs.org/w/index.php?diff=151442&oldid=148631 * Cycwin * (+15) 
09:15:08  [[Talk:Frackit]]  https://esolangs.org/w/index.php?diff=151443&oldid=151441 * Cycwin * (+60) /* What a great idea! */
09:59:45  [[Talk:Binary combinatory logic]]  https://esolangs.org/w/index.php?diff=151444&oldid=151440 * Blashyrkh * (+128) /* Input-output specification */ Detailed process of program execution and production of program's output
10:01:27 -!- Sgeo has quit (Read error: Connection reset by peer).
10:10:26  [[Talk:Binary combinatory logic]] M https://esolangs.org/w/index.php?diff=151445&oldid=151444 * Blashyrkh * (-1) /* Input-output specification */ 
12:01:10 -!- amby has joined.
12:04:30 -!- mtm has quit (Ping timeout: 272 seconds).
12:05:28 -!- mtm has joined.
12:52:11  Hi
13:05:43 -!- craigo has joined.
17:07:45 -!- ais523 has joined.
17:23:48 -!- Sgeo has joined.
18:25:15 -!- craigo_ has joined.
18:27:54 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
18:28:33 -!- craigo has quit (Ping timeout: 248 seconds).
18:29:32 -!- Lord_of_Life has joined.
19:08:20 -!- ais523 has quit (Quit: quit).
20:54:19 -!- shikhin has quit (Remote host closed the connection).
20:54:21 -!- Ae` has joined.
20:54:27 -!- Ae has quit (Read error: Connection reset by peer).
20:54:30 -!- Ae` has changed nick to Ae.
20:54:31 -!- shikhin has joined.
21:07:48  cu
21:09:19 -!- Lord_of_Life has quit (Excess Flood).
21:13:35  [[Sulbimate]] N https://esolangs.org/w/index.php?oldid=151446 * Buckets * (+1348) Created page with "Sulbimate is an Esoteric programming language created by [[User:Buckets]] in 2024, They thought about punch cards to much and thought about punch cards a dimension lower, a paper tape, A ''Flimsy'' Paper tape and thought "Can I do Control flow with only folding the pa
21:14:36  [[Language list]] M https://esolangs.org/w/index.php?diff=151447&oldid=151423 * Buckets * (+16) 
21:14:46 -!- Lord_of_Life has joined.
21:15:22  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151448&oldid=151424 * Buckets * (+17) 
21:16:49  [[Sulbimate]] M https://esolangs.org/w/index.php?diff=151449&oldid=151446 * Buckets * (+126) 
21:17:09  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151450&oldid=151448 * Buckets * (+1) 
21:46:39  [[Tueue]]  https://esolangs.org/w/index.php?diff=151451&oldid=108484 * Kaveh Yousefi * (+570) Rectified the Bitwise Cyclic Tag interpreter and introduced a looping counter as a further example.
21:49:04  [[Tueue]]  https://esolangs.org/w/index.php?diff=151452&oldid=151451 * Kaveh Yousefi * (+193) Added a hyperlink to my implementation of the Tueue programming language on GitHub and supplemented the Implemented category tag.
21:54:49 -!- ais523 has joined.
22:04:13  [[MoreMathRPN/Implicit plotter]] N https://esolangs.org/w/index.php?oldid=151453 * Calculus is fun * (+4222) Added implicit plotter example
22:09:47  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151454&oldid=151430 * Calculus is fun * (+131) /* Quine */
22:51:01 -!- Lykaina has joined.
22:51:51 -!- shikhin has quit (Quit: Quittin'.).
22:53:36 -!- Lykaina has quit (Read error: Connection reset by peer).
22:53:42 -!- Lykaina_ has joined.
22:53:58 -!- shikhin has joined.
22:55:17 -!- shikhin has changed hostmask to ~shikhin@offtopia/offtopian.
22:55:49 -!- Lykaina_ has changed nick to Lykaina.
23:52:21 -!- Ae has changed nick to Guest2971.

2025-02-07:

00:02:31 -!- mtm has quit (Ping timeout: 244 seconds).
00:05:24 -!- mtm has joined.
00:58:14 -!- thebigh has joined.
00:59:03 -!- thebigh has quit (Client Quit).
01:15:05 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:00:22 -!- ais523 has quit (Quit: quit).
02:26:37 -!- janewila has joined.
02:39:45 -!- janewila has quit (Quit: Client closed).
03:01:46 -!- Sgeo_ has joined.
03:05:00 -!- Sgeo has quit (Ping timeout: 252 seconds).
03:32:01 -!- user3456 has quit (Ping timeout: 248 seconds).
03:35:33 -!- craigo_ has quit (Quit: Leaving).
03:50:21 -!- user3456 has joined.
03:50:42 -!- Lykaina has quit (Quit: Leaving).
04:06:04  [[SATire]] N https://esolangs.org/w/index.php?oldid=151455 * BoundedBeans * (+19108) Created page with "SATire is an esolang by [[User:BoundedBeans]] made to look like the math section of a standardized test. It was lost due to accidental deletion, but this is a recreation with a lot of extra functionality.  ==Syntax== Before processing anything else, any text betwee
04:06:36  [[Language list]]  https://esolangs.org/w/index.php?diff=151456&oldid=151447 * BoundedBeans * (+13) 
04:06:50  [[User:BoundedBeans]]  https://esolangs.org/w/index.php?diff=151457&oldid=150123 * BoundedBeans * (+12) 
04:55:49  [[Special:Log/newusers]] create  * TKDKid1000 *  New user account
04:59:17  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151458&oldid=151411 * TKDKid1000 * (+200) 
05:11:43  Discard your hand, and then draw seven cards. (You cannot draw anything if you do not have a hand to hold the pencil.)
06:00:24  [[Iframe]] M https://esolangs.org/w/index.php?diff=151459&oldid=138159 * PkmnQ * (+0) /* Alternating between B and C */
06:00:37  [[Iframe]] M https://esolangs.org/w/index.php?diff=151460&oldid=151459 * PkmnQ * (+0) /* Alternating between C and H */
06:36:20  With category of matrices, the zero-object is zero rows/columns, and the zero-morphisms is all numbers within the matrix are zero. Since there is also a monad (which I called the Finalize monad) for each final object, and a comonad (which I called the Initialize comonad) for each initial object, this means that category of matrices also has a Finalize monad and a Initialize comonad, I think.
06:40:35  (I don't know if there are other common names for these monads/comonads; do you know?)
06:45:56 * korvo redraws their hand
06:50:19  I haven't heard of these monads before. How are they set up? I could guess: for a category C with terminal object 1, let Arr(C,1) be the arrow category, and let the carrying functor C -> Arr(C,1) be the obvious isomorphism that matches objects X with (X,!).
06:50:58  The monad carried by that functor is equivalent to the identity monad, with the quirk that terminal objects need not be unique, and thus this monad is only *naturally equivalent* to the identity monad, up to unique isomorphism.
06:51:12  It is not what I meant.
06:51:33  Ah, no worries. Sorry for guessing.
06:52:34  But to answer the second part of your thought: yes, zero objects can be used as terminal or initial objects, so that category of matrices would have the same Finalize and Initialize.
06:52:38  What I meant is the functor that makes everything into the identity morphism of the final object (and then the two natural transformations clearly have only one possibility)
06:55:04  (In Haskell:  data Finalize a = Finalize deriving (Functor); instance Monad Finalize where { return _ = Finalize; Finalize >>= _ = Finalize; };)
06:58:10  Oh, huh. I think that there's some specialized terminology I could look up for the overall pattern, but I don't think I've ever seen a name for this particular functor.
07:03:53  [[User:PrySigneToFry/Sandbox]]  https://esolangs.org/w/index.php?diff=151461&oldid=150035 * PrySigneToFry * (+75) 
07:05:36  It looks like it's known to be terminal in a nice-enough category of monads, but I'm having trouble finding a good citation or any name besides "terminal monad".
07:05:42  [[User:PrySigneToFry/Sandbox/My words]]  https://esolangs.org/w/index.php?diff=151462&oldid=141226 * PrySigneToFry * (+49) 
07:07:42  [[User:PrySigneToFry/Sandbox/My Rate to the user that I know]]  https://esolangs.org/w/index.php?diff=151463&oldid=149927 * PrySigneToFry * (-53) 
09:01:44 -!- mcfrdy has joined.
09:18:33  [[Stackfish]]  https://esolangs.org/w/index.php?diff=151464&oldid=151113 * Cycwin * (+50) 
09:26:12 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:29:24  [[-5 bytes ;)]]  https://esolangs.org/w/index.php?diff=151465&oldid=151434 * Ractangle * (-5) /* Factorial */  fixed the factorial
09:30:18  [[-5 bytes ;)]]  https://esolangs.org/w/index.php?diff=151466&oldid=151465 * Ractangle * (-7) /* Factorial */ EasyJet
09:31:40 -!- m5zs7k has quit (Ping timeout: 244 seconds).
09:36:45 -!- m5zs7k has joined.
10:20:31 -!- ais523 has joined.
11:09:13  Hi
11:09:15  Yo ais523    😌
11:11:51  hi
11:29:42  [[-5 bytes ;)]]  https://esolangs.org/w/index.php?diff=151467&oldid=151466 * PrySigneToFry * (+88) 
11:33:42  [[(PSTF)]]  https://esolangs.org/w/index.php?diff=151468&oldid=148922 * PrySigneToFry * (+867) 
11:34:57  [[Poetic (Mihai Popa)]]  https://esolangs.org/w/index.php?diff=151469&oldid=148421 * PrySigneToFry * (-4) 
11:59:08  [[EsoInterpreters]]  https://esolangs.org/w/index.php?diff=151470&oldid=150413 * WinslowJosiah * (+565) Add EsoInterpreter of brainfuck in Bespoke
12:03:00 -!- mtm has quit (Ping timeout: 246 seconds).
12:05:36 -!- mtm has joined.
13:44:38 -!- chomwitt has joined.
13:51:51 -!- amby has joined.
14:11:52 -!- Artea has quit (Quit: ZNC 1.9.1 - https://znc.in).
14:35:50  [[Onechar]]  https://esolangs.org/w/index.php?diff=151471&oldid=148690 * Cycwin * (+44) 
14:38:13  [[Onechar]]  https://esolangs.org/w/index.php?diff=151472&oldid=151471 * Cycwin * (+2) /* The Syntax */
14:45:59 -!- Artea has joined.
15:14:17 -!- m5zs7k has quit (Ping timeout: 268 seconds).
15:15:08  `"
15:15:14  1/1:1031)  i think delivery sushi is one of those habits that can rapidly consume all of one's money   like cocaine \ 1248)  MAHJONG TILE AUTUMN / HIRAGANA LETTER YA / SNOWMAN WITHOUT SNOW
15:16:25  `w
15:16:28  ​grue//grue is the colour of the trees and the ocean
15:19:41 * ais523 vaguely wonders why that particular hiragana letter was chosen
15:24:30  [[Talk:Binary combinatory logic]] M https://esolangs.org/w/index.php?diff=151473&oldid=151445 * Blashyrkh * (+51) /* Input-output specification */ Minor clarifications
15:27:50  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151474&oldid=151458 * WoodyFan3412 * (+178) Added missing info
15:29:02  [[User:WoodyFan3412]]  https://esolangs.org/w/index.php?diff=151475&oldid=146387 * WoodyFan3412 * (-59) i quitted
15:29:29  I wonder where the wiki-scrapers pull their fake UA strings from, because some of these are pretty ancient at this point. (Firefox/4.0b8 on OS X 10.6?)
15:31:13  [[User:WoodyFan3412]]  https://esolangs.org/w/index.php?diff=151476&oldid=151475 * WoodyFan3412 * (-59) 
15:31:54  Also one of them *starts* with "Chrome/15.0.860.0", in place of the usual "Mozilla/5.0", which I don't think is even a thing.
15:33:33  This one is quite a gem as well: "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10"
15:33:41  (So... an iPad running Windows XP, then?)
15:35:35 -!- m5zs7k has joined.
15:36:02  . o O ( what happens if you ask DeepSeek for plausible User-Agent strings )
15:37:04  Yeah, some of these look like LLM hallucinations. I remember couple of months back when I was looking they were even worse, with a lot of other random-looking numbers in place of CPU identifiers like "i686".
15:37:12  Maybe they've switched to a better model.
15:37:49  But you'd think it would be cheaper to just use a list of most common UAs from somewhere instead of bothering to use an LLM to generate unique ones.
15:40:48 -!- wib_jonas has joined.
15:41:56  [[Talk:Trow]] N https://esolangs.org/w/index.php?oldid=151477 * WoodyFan3412 * (+196) Created page with "https://perchance.org/ There's a website with a language that does something very similar to this. ~~~~"
15:45:59  fizzie: I can understand when the UA strings refer to very old browsers, because it was only back with very old browsers when any server-side programs cared about the UA string on server-side, so old libraries on the client-side may have been hard-coded to eg. lie that they are IE4 because some servers serve the wrong thing for IE3 clients, and
15:46:00  nobody bothered to change that because claiming to be IE4 doesn't break anything on new servers, and similarly old libraries on the server-side might be hard-coded to serve something different for anyone who doesn't claim to be IE4 because their normal output was found to be broken on the still popular IE3 clients, and nobody bothered to change it
15:46:01  since because every modern browser lies that they are IE4-compatible so the CEOs don't complain that they can't access the site.
15:47:33  I love the "(KHTML, like Gecko)" bit that Chrome-family user agents have.
15:48:02  Presumably just to get the substring "Gecko" in there.
15:48:31  probably actually IE6 vs IE7, I'm not sure IE3 ever existed
15:51:33 -!- lisbeths has quit (Quit: Connection closed for inactivity).
16:08:41 -!- craigo has joined.
16:20:41 -!- Sgeo has joined.
16:33:57 -!- wib_jonas has quit (Quit: Client closed).
17:24:10  [[Talk:Binary combinatory logic]]  https://esolangs.org/w/index.php?diff=151478&oldid=151473 * Blashyrkh * (+919) /* Input-output specification */ Hopeless idea?
17:42:43  [[Talk:Binary combinatory logic]] M https://esolangs.org/w/index.php?diff=151479&oldid=151478 * Blashyrkh * (+70) /* Input-output specification */ clarification
18:27:28 -!- Lord_of_Life_ has joined.
18:28:31 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
18:28:33  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151480&oldid=151474 * Ais523 * (-178) Undo revision [[Special:Diff/151474|151474]] by [[Special:Contributions/WoodyFan3412|WoodyFan3412]] ([[User talk:WoodyFan3412|talk]])  vandalises another user's introduction and was introduced already, thus there's no reason to do it again
18:28:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:06:36  fizzie: the fun thing about all the substring hacks is that they're actually useful on the sniffing side – you don't really care about what the browser actually is, just what features it supports, and if it's saying it supports the relevant features of another browser it probably does
19:07:59  b_jonas: I used to use an early IE at school, I can't remember whether it was IE4 or IE5
19:08:34  sure, that's why some version of IE had "Mozilla" in their default User-Agent
19:08:57  I think sniffing was mostly used for frameset support, which very few websites actually use nowadays
19:09:09  I'm not sure what the replacement is, or whether it just went out of style to do websites that way
19:09:20  I guess it'd be easy enough to reproduce with CSS and iframes
19:12:33  [[Stackfish]]  https://esolangs.org/w/index.php?diff=151481&oldid=151464 * 47 * (+18) /* Interpreter */
19:18:06  ais523: the replacement is that now every browser difference is handled on client-side. it started with magic conditional comments that allowed to run code conditionally to distinguish between IE6, IE7, IE8, IE9. but these days we don't even need that.
19:20:02  b_jonas: but what if I need the page to run on both Mozilla and Mosaic?
19:20:15  I think pretty much all "normal browsers" still start with "Mozilla/5.0 ...".
19:20:21  Though (just checked) Lynx and w3m don't. But they hardly qualify as normal.
19:20:48  fizzie: that is probably intentional, Lynx and w3m likely actively don't want whatever website features that user-agent would enable
19:21:08  my "make the page work on Mosaic" is not 100% hypothetical, it's exactly the sort of thing you would expect an INTERCAL website to do
19:21:37  for a while one of the main INTERCAL websites was only available using Gopher over IPv6, I can't remember why, I assume there was a good reason at the time
19:21:58  ais523: yes, that's why for old browsers it was server-side dispatching
19:23:28  though of course you'd also look at the Accept header to see if the browser can display png images if that comes up
19:24:39 * ais523 has a vague idea of just rendering the images with loads and loads of overlapping colored 
s 19:25:10 I actually did that for a program I wrote using HTML+CSS+JS when I was younger (on a computer that wasn't online, it was just using a web browser for rendering) 19:25:44 young me hadn't figured out how to make the
s small enough, so I overlapped them so that only the relevant numbers of pixels would be visible and the rest would be covered by a
to its right or below it 19:28:49 [[PUDDING! 25]] N https://esolangs.org/w/index.php?oldid=151482 * Win7HE * (+102) Created page with "Coming Soon! PUDDING! 25 was made by [[User:Win7HE]]. == why "PUDDING"? == That just came in my mind." 19:29:51 ais523:
bgcolor=#08C colspan=3>
bgcolor=#C80>
19:31:28 this wouldn't be so terse in old browsers because COLGROUP is new, but it' 19:31:30 s still possible 19:32:38 [[User:Win7HE]] https://esolangs.org/w/index.php?diff=151483&oldid=150623 * Win7HE * (+34) /* check out these */ 20:03:07 FYI: I've extended the "block diffs with unexpected parameter order" rule to cover all pages, because the wiki was again timing out, this time I think due to the hello-world-in-esoteric-languages pages, and I didn't want to keep playing whack-a-mole with it. Let me know if you run into it from just using the wiki as normal. 20:03:09 (Over the weekend I'll try to see how much it would take to kludge in a logged-in requirement into the diff page.) 20:04:18 ok 20:05:27 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151484&oldid=151450 * Buckets * (+47) 20:20:26 -!- sprout has quit (Remote host closed the connection). 20:23:39 (CPU use on the wiki-server dropped from 80% to 20% just from turning that on.) 20:25:32 Nice! 20:34:14 [[Sleep.]] N https://esolangs.org/w/index.php?oldid=151485 * Buckets * (+1844) Created page with ": ''Not to be confused with [[Sleep]]'' Sleep. Is an esoteric programming language created by [[User:Buckets]], just about Sleeping made in 2024. {| class="wikitable" |- ! Command !! Instruction |- | Sleep || Sleep |} Sleep: Sleep Extra Sleep: Sleep Sleep This progr 20:34:41 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151486&oldid=151484 * Buckets * (+12) 20:36:33 [[Language list]] M https://esolangs.org/w/index.php?diff=151487&oldid=151456 * Buckets * (+25) 20:39:25 -!- chomwitt has quit (Ping timeout: 244 seconds). 20:43:08 -!- sprout has joined. 20:51:21 -!- Ae` has joined. 20:52:22 -!- Guest2971 has quit (Ping timeout: 252 seconds). 20:54:23 [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=151488&oldid=151085 * Ractangle * (+0) /* Hello, world! */ 20:57:06 [[Sleep.]] M https://esolangs.org/w/index.php?diff=151489&oldid=151485 * Buckets * (+96) 21:00:56 [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=151490&oldid=151488 * Ractangle * (+0) /* Interpreter */ 21:01:17 [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=151491&oldid=151490 * Ractangle * (-2) /* Hello, world! */ 21:02:33 [[Hello world program in esoteric languages (H-M)]] https://esolangs.org/w/index.php?diff=151492&oldid=151107 * Ractangle * (-2) /* How dare you fuck the brain */ 21:09:46 -!- Ae` has changed nick to Ae. 21:11:50 -!- Ae has changed nick to Guest2975. 21:53:40 [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=151493&oldid=151491 * Ractangle * (-2) /* Hello, world! */ 21:55:31 [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=151494&oldid=151493 * Ractangle * (-696) /* Interpreter */ 21:56:05 [[Hello world program in esoteric languages (H-M)]] https://esolangs.org/w/index.php?diff=151495&oldid=151492 * Ractangle * (-2) /* How dare you fuck the brain */ 22:28:35 [[Talk:Binary combinatory logic]] https://esolangs.org/w/index.php?diff=151496&oldid=151479 * Blashyrkh * (+721) /* Input-output specification */ solution? 22:34:48 [[Tanstore]] https://esolangs.org/w/index.php?diff=151497&oldid=135571 * Kaveh Yousefi * (+3615) Added an implementation of an encoder and a decoder in Common Lisp. 22:36:24 [[Talk:Binary combinatory logic]] M https://esolangs.org/w/index.php?diff=151498&oldid=151496 * Blashyrkh * (+120) /* Input-output specification */ 22:37:15 [[Tanstore]] https://esolangs.org/w/index.php?diff=151499&oldid=151497 * Kaveh Yousefi * (+1188) Supplemented a more detailed tabulation of the symbols and their Tanstore character codes. 22:46:38 [[Comment]] https://esolangs.org/w/index.php?diff=151500&oldid=149126 * Ractangle * (-32) /* bog prok */ 22:48:31 [[Comment]] https://esolangs.org/w/index.php?diff=151501&oldid=151500 * Ractangle * (-401) /* How dare you fuck the brain */ 22:48:32 -!- Lykaina has joined. 22:49:17 [[Comment]] https://esolangs.org/w/index.php?diff=151502&oldid=151501 * Ractangle * (+19) /* How dare you fuck the brain */ 22:49:38 [[Comment]] https://esolangs.org/w/index.php?diff=151503&oldid=151502 * Ractangle * (-78) /* Hum */ 22:51:51 [[Comment]] https://esolangs.org/w/index.php?diff=151504&oldid=151503 * Ractangle * (+50) /* MarkupL */ 22:52:40 [[Comment]] https://esolangs.org/w/index.php?diff=151505&oldid=151504 * Ractangle * (+5) /* MarkupL */ 22:55:13 [[Empty Program]] https://esolangs.org/w/index.php?diff=151506&oldid=151336 * Ractangle * (+3) /* true */ 23:05:00 bought a device for debugging based on the rp2350...oops 23:11:52 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151507&oldid=151486 * Buckets * (+8) 23:22:31 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151508&oldid=151507 * Buckets * (-8) 23:22:48 [[User:PrySigneToFry/Sandbox/StormLang discussion]] https://esolangs.org/w/index.php?diff=151509&oldid=151438 * None1 * (+158) /* None1's Design */ 23:29:24 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151510&oldid=151508 * Buckets * (+8) 23:29:33 [[6A]] N https://esolangs.org/w/index.php?oldid=151511 * Buckets * (+1290) Created page with "6A is an Esoteric programming language created by [[User:Buckets]] in 2024. {| class="wikitable" |- ! Header text !! Header text |- | ' ' || Prints what is inside of the single quotes. |- | j || Multiplies 2 to the current number. |- | / || Multiplies 2 then plus the number 23:30:15 [[Language list]] M https://esolangs.org/w/index.php?diff=151512&oldid=151487 * Buckets * (+9) 23:51:50 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in). 23:55:34 -!- slavfox has joined. 2025-02-08: 00:03:46 -!- mtm has quit (Ping timeout: 252 seconds). 00:05:48 -!- mtm has joined. 01:03:56 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:07:51 hi 01:08:42 thinking of adding a common stack to fungeball in addition 01:09:29 for inter-thread communication 01:18:48 `olist 1318 01:18:51 olist : shachaf oerjan Sgeo boily nortti b_jonas Noisytoot 01:23:19 I saw it but forgot about olisting :( 01:24:33 don't worry, I've done that for some strips too 02:00:33 -!- ais523 has quit (Quit: quit). 02:06:33 -!- Lykaina has quit (Quit: Leaving). 02:14:00 [[Truth-machine]] https://esolangs.org/w/index.php?diff=151513&oldid=151327 * WikiRasp * (+159) Added truth-machine implementation for Pascal. 03:06:34 [[Category:Medium-level]] https://esolangs.org/w/index.php?diff=151514&oldid=126291 * PrySigneToFry * (+127) 04:22:50 [[X-ASM]] N https://esolangs.org/w/index.php?oldid=151515 * PrySigneToFry * (+6188) Created page with "{{WIP}} X-ASM is an Assembly-like programming language designed by PSTF. = Language Overview = X-ASM is a variant of Assembly Language, but it is not real Assembly Language(such as like x86, ARM, MASM, etc.), thus it is a Medium-level language. It is inspired by [ 04:23:30 [[Language list]] https://esolangs.org/w/index.php?diff=151516&oldid=151512 * PrySigneToFry * (+12) /* X */ 04:27:59 [[]] https://esolangs.org/w/index.php?diff=151517&oldid=131368 * PrySigneToFry * (+52) 04:32:45 [[User:PrySigneToFry/Sandbox/StormLang discussion]] https://esolangs.org/w/index.php?diff=151518&oldid=151509 * PrySigneToFry * (+105) 04:35:29 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=151519&oldid=151343 * PrySigneToFry * (+602) /* User:PrySigneToFry/Sandbox/StormLang discussion */ new section 04:36:33 [[Fungeball]] https://esolangs.org/w/index.php?diff=151520&oldid=151273 * Lykaina * (+323) /* Instructions */ Added new instructions that contradict Funge-98 04:41:42 [[Fungeball]] https://esolangs.org/w/index.php?diff=151521&oldid=151520 * Lykaina * (+248) /* Hello, World! */ Added new examples. 04:44:01 [[Fungeball]] https://esolangs.org/w/index.php?diff=151522&oldid=151521 * Lykaina * (+79) /* GitHub Versions */ 05:09:32 [[Fungeball]] M https://esolangs.org/w/index.php?diff=151523&oldid=151522 * Lykaina * (-17) /* GitHub Versions */ Removing notice that latest version is not available because it is. 05:10:41 -!- craigo has quit (Ping timeout: 248 seconds). 05:27:02 [[Empty Program]] https://esolangs.org/w/index.php?diff=151524&oldid=151506 * PrySigneToFry * (+135) 05:31:28 [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]] https://esolangs.org/w/index.php?diff=151525&oldid=150023 * PrySigneToFry * (+113) 05:35:16 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=151526&oldid=149486 * PrySigneToFry * (+102) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */ new section 05:39:14 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151527&oldid=150973 * PrySigneToFry * (+101) 05:39:52 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151528&oldid=151527 * PrySigneToFry * (+4) 05:46:23 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151529&oldid=151528 * PrySigneToFry * (+455) 05:47:02 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151530&oldid=151529 * PrySigneToFry * (+0) 05:49:44 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151531&oldid=151530 * PrySigneToFry * (-398) 05:55:08 [[fuck]] https://esolangs.org/w/index.php?diff=151532&oldid=149642 * PrySigneToFry * (+3757) 05:57:30 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=151533&oldid=151531 * PrySigneToFry * (+84) 06:01:11 [[Translated /PSTF Again5]] https://esolangs.org/w/index.php?diff=151534&oldid=150390 * PrySigneToFry * (+17) 06:27:42 [[Translated LOLCODE]] N https://esolangs.org/w/index.php?oldid=151535 * PrySigneToFry * (+2413) Created page with "Translated LOLCODE is designed by PSTF. It is LOLCODE but formalized and horribly translated. 1. Take this program related to stack:
 HAI 1.3 O HAI IM pile I HAS A length ITZ 0 I HAS A max ITZ -1  HOW IZ I pushin YR item DIFFRINT ME'Z max AN BIGGR
06:28:30  [[Joke language list]]  https://esolangs.org/w/index.php?diff=151536&oldid=151311 * PrySigneToFry * (+25) 
06:45:08  [[1CP=1ICL]]  https://esolangs.org/w/index.php?diff=151537&oldid=151293 * PrySigneToFry * (+184) Fixed description
06:49:02  [[1CP=1ICL]]  https://esolangs.org/w/index.php?diff=151538&oldid=151537 * PrySigneToFry * (+123) 
06:52:57 -!- chomwitt has joined.
06:55:43  [[Free Esolang]]  https://esolangs.org/w/index.php?diff=151539&oldid=151216 * PrySigneToFry * (+2) 
07:05:51  [[Everyonelang]]  https://esolangs.org/w/index.php?diff=151540&oldid=145095 * PrySigneToFry * (+334) 
07:17:01  [[User:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151541&oldid=151533 * PrySigneToFry * (+300) 
07:31:27  [[User talk:Ais523]]  https://esolangs.org/w/index.php?diff=151542&oldid=151129 * PrySigneToFry * (+1923) /* Decode my message on here and you'll get things I say. */ new section
07:36:40 -!- nitrix has quit (Quit: ZNC 1.8.2 - https://znc.in).
07:38:01 -!- nitrix has joined.
08:41:44  [[PUDDING! 25]]  https://esolangs.org/w/index.php?diff=151543&oldid=151482 * Win7HE * (-93) Replaced content with "Cancelled"
08:45:18  [[SLet]]  https://esolangs.org/w/index.php?diff=151544&oldid=151050 * I am islptng * (+59) 
08:47:10  [[User:I am islptng]]  https://esolangs.org/w/index.php?diff=151545&oldid=151275 * I am islptng * (-5) 
09:12:17 -!- chomwitt has quit (Ping timeout: 248 seconds).
10:12:52 -!- Sgeo has quit (Read error: Connection reset by peer).
10:35:25  [[Talk:Array?]] N https://esolangs.org/w/index.php?oldid=151546 * Ractangle * (+283) Created page with "okay i am trying to rebrand this as UNAI, let's see how long is it gonna take for me to make syntax for the language~~~"
10:50:38  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151547&oldid=151429 * I am islptng * (+703) /*  */
10:59:33 -!- arbe has joined.
11:01:45  [[User:Hakerh400/Question for AI models]] N https://esolangs.org/w/index.php?oldid=151548 * Hakerh400 * (+11624) Created page with "We devised a simple question for testing AI models:  :''Is there a combinator X in SKI calculus, such that XK reduces to S and XS reduces to K?''  So far, all known AI models answered negatively to this question and provided a "proof" th
11:02:11  [[User:Hakerh400]]  https://esolangs.org/w/index.php?diff=151549&oldid=151127 * Hakerh400 * (+67) /* Articles */
11:04:06  [[User:Hakerh400/Question for AI models]]  https://esolangs.org/w/index.php?diff=151550&oldid=151548 * Hakerh400 * (-1) 
11:07:38 -!- arbe has quit (Quit: leaving).
11:36:35  Hi
12:03:00 -!- mtm has quit (Ping timeout: 244 seconds).
12:05:33 -!- mtm has joined.
12:19:07 -!- chomwitt has joined.
13:35:28  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151551&oldid=151547 * PrySigneToFry * (+206) 
13:45:21 -!- amby has joined.
14:24:24  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151552&oldid=151518 * None1 * (+61) /* None1's Design */
15:34:47 -!- FreeFull has quit (Quit: rebooting).
15:35:35 -!- FreeFull has joined.
17:47:35 -!- chomwitt has quit (Ping timeout: 265 seconds).
18:06:36  [[User talk:Hakerh400/Question for AI models]] N https://esolangs.org/w/index.php?oldid=151553 * Ais523 * (+1170) how I reason when solving this problem
18:20:58  ...Okay, this question for AI models is the third push. I'm going to build a Gödel machine that uses Metamath for proofs.
18:21:08  Maybe not today, but clearly it's needed.
18:28:47 -!- Lord_of_Life_ has joined.
18:29:16 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:30:14 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:56:19 -!- craigo has joined.
20:13:41 -!- Lykaina has joined.
20:45:58  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151554&oldid=151523 * Lykaina * (+438) /* Instructions */ updating for future release v1.0-beta5a
20:50:55  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151555&oldid=151554 * Lykaina * (+41) /* Hello, World! */ updating for release v1.0-beta5a
20:53:42  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151556&oldid=151555 * Lykaina * (+15) /* Threading */ updating
20:54:21 -!- Sgeo has joined.
21:07:37  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151557&oldid=151556 * Lykaina * (+81) /* GitHub Versions */ adding v1.0-beta5a to list.
21:07:47  hi Sgeo
21:08:27  check out https://esolangs.org/wiki/Fungeball
21:23:44  Hi
21:24:11  Bought some adapters to fit some old HDs into my computer, so going to be imaging them and will be off of IRC a bit
21:26:51  I feel a bit too unfamiliar with Befunge-93
21:43:28  no time like the present to learn
21:45:13 -!- Sgeo has quit (Read error: Connection reset by peer).
21:45:39  oops
22:05:12 -!- Sgeo has joined.
22:05:34  HD+Adapter doesn't actually fit into my computer. Should have guessed.
22:07:59  When Firefox displays an error message such as "The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression." why doesn't it display the details (e.g. what invalid form of compression?) within that error message?
22:09:10  (In this specific case, the compression type seems to be gzip as far as I can tell, which is supported, but perhaps it is not a valid gzip file. It also says it is a 503 error, so I suppose that is not the only problem anyways.)
22:10:23  ♥
22:10:44  zzo38: Just elimiate all the Problems
22:10:52  zzo38: If some persist, submit a Patch to fix them
22:10:55  Good Night *
22:10:56  😴
22:22:40  this is a fungeball single-threaded hello world program: "Hello, World!"a>:#i #0_>0# o# :#,_@
22:31:10  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151558&oldid=151557 * Lykaina * (+78) /* Hello, World! */ added single-threaded one-line example
22:34:44  I'm not clear what a "common stack" is, and if there's many common stacks (not sure why else you'd specify a common stack number)
22:34:58  16
22:36:06  common stack means stack that is usable by all threads, not the thread stack
22:38:21  it's to simplify inter-stack communication
22:39:04  since there's no way for a 'thread' to know which 'thread' it is
22:43:19  i mean, inter-'thread' communication
22:48:32  Sgeo: thanks for asking. I'll update the wiki to reflect it.
22:54:55  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151559&oldid=151558 * Lykaina * (+236) /* Implementation Notes */ Adding notes on Common Stacks.
23:10:55  the next command i am going to add will likely be 'r', for both read and for reset
23:11:35  reads in 2000 bytes and stores that to grid
23:12:14  and restarts with that grid
23:20:59  not sure though
23:25:48  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151560&oldid=151454 * Calculus is fun * (+453) Notes on recursion.
23:26:18  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151561&oldid=151560 * Calculus is fun * (+2) /* Notes on recursion */
23:30:06  I was wondering if there needed to be synchronization primitives other than wait, but I guess careful counting of when a thread would end up using a shared resource makes that unnecessary
23:33:28  maybe w should take an argument for the maximum amount of other 'threads' that can be present for continuing
23:34:05  Why do some Linux systems attempt to verify TLS server certificates even if you tell it not to, and this feature does not seem to be documented? It does not hvae this problem on my computer (which also has Linux).
23:34:06  One way to work around this, when using "openssl s_client", is to pass the -showcerts option and redirect the output to a file, and then use the -CAfile option with the file that you sent the output to, and then it will accept it, even though the file contains all sorts of error messages in addition to the certificates.
23:36:29  the current function of w would then be 0w.
23:39:10  I guess I'm a bit unsure of the use, and thinking more along the lines of if there should be a lock thing, like locking on 1 and if another thread has a lock on 1, then wait for the lock to be release.d
23:39:33  good idea
23:48:18  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=151562&oldid=151561 * Calculus is fun * (+89) /* Notes on recursion */
23:48:39  i see a way to do that.
23:50:05 -!- citrons has quit (Ping timeout: 265 seconds).
23:50:15 -!- citrons has joined.
23:52:06  (It is not only openssl s_client that does this on some systems; ncat also does this on some systems. The documentation says it is not supposed to do this, and on my computer neither program does this (so it works as documented).)
23:52:17  [[I'm lime]] N https://esolangs.org/w/index.php?oldid=151563 * Buckets * (+1596) Created page with "I'm lime was created by [[User:Buckets]] in 2025 with the purpose of either making Art block worse or potentially better. (You cannot use 0-9 numbers, instead you must use a different way of displaying numbers, for examples: English words, Spanish words and Roman numer
23:52:26  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151564&oldid=151510 * Buckets * (+13) 
23:52:42  zz038: ncat or netcat?
23:53:08  [[Language list]] M https://esolangs.org/w/index.php?diff=151565&oldid=151516 * Buckets * (+15) 
23:54:07  It is ncat. (netcat or nc does not use TLS)
23:54:49  i didn't know ncat did
23:54:49  [[I'm lime]] M https://esolangs.org/w/index.php?diff=151566&oldid=151563 * Buckets * (+10) 
23:55:33  [[I'm lime]] M https://esolangs.org/w/index.php?diff=151567&oldid=151566 * Buckets * (+2) 
23:55:49  there are two different and incompatible netcats
23:56:05  only two? 
23:56:13  I thought there were like three
23:56:29  really?
23:56:31  they differ on how you tell what port to listen on at least
23:56:43  On my computer it does not verify unless --ssl-verify is specified. However, on some other computers I have tried, it seems to try to verify it even if --ssl-verify is not specified, and there does not seem to be any way to disable this.
23:57:26  what os (and if linux, what distro)?
23:58:56  I think there were two Linux systems, at least one of which is Raspberry Pi (I don't remember if the other one also is)
23:59:26  raspberry pi is debian

2025-02-09:

00:00:00  or a kind of hardware
00:01:17  [[Sleep.]] M https://esolangs.org/w/index.php?diff=151568&oldid=151489 * Buckets * (+40) 
00:03:24  I know it is the hardware, but I thought it has its own distribution too which is configured to use on that hardware, but maybe it is Debian.
00:03:24  brb
00:04:46  raspbian / raspberry pi os is a debian-based distro
00:04:46 -!- mtm has quit (Ping timeout: 252 seconds).
00:05:58 -!- mtm_ has joined.
00:07:42  OK
00:13:18  [[Pointing]] N https://esolangs.org/w/index.php?oldid=151569 * Calculus is fun * (+491) Created Pointing
00:13:32  [[Pointing]] M https://esolangs.org/w/index.php?diff=151570&oldid=151569 * Calculus is fun * (+1) 
00:16:24 -!- myname has quit (Ping timeout: 272 seconds).
00:16:41 -!- myname has joined.
00:17:28 -!- b_jonas has quit (Ping timeout: 268 seconds).
00:19:05 -!- b_jonas has joined.
00:49:36  [[Special:Log/newusers]] create  * NNlk05 *  New user account
00:51:53  [[Special:Log/newusers]] create  * NNlk05IsTaken *  New user account
00:55:27  [[FXYT]]  https://esolangs.org/w/index.php?diff=151571&oldid=144499 * Susam * (+13) Include IPA notation
01:11:16  [[Special:Log/delete]] delete  * Ais523 *  deleted "[[Category:Medium-level]]": unapproved category
01:21:39  [[Divmeq]] M https://esolangs.org/w/index.php?diff=151572&oldid=148301 * TheCanon2 * (+129) digital root
01:24:17  with regards to Fungeball, for v1.0-beta6, i'm making the change i wanted to with 'w' and adding 'h'ex, 'k'eep at, and 'l'abel
01:30:29  2k would activate wait mode on that thread until there were no threads left that had previously used the 2l sequence, and so on.
01:32:28  let me retype that:
01:33:20  2k would activate wait mode on that thread until there were no threads left that had used the 2l sequence and no other ?l sequences after, and so on.
01:36:21  42h would put the (decimal) number 66 on the thread stack
01:36:41  aka the char 'B'
01:38:13  'x' is like 'h', but forces 8-bit number
01:41:52  12h3h puts 291 on the thread stack, while 12x3x puts 35 on the thread stack
01:55:40  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151573&oldid=151559 * Lykaina * (+368) /* Instructions */ update for v1.0-beta6
01:58:08  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151574&oldid=151573 * Lykaina * (-4) /* Hello, World! */ update for v1.0-beta6
01:59:46 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:00:38  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151575&oldid=151574 * Lykaina * (+66) /* GitHub Versions */ adding v1.0-beta6
02:01:39  now i need to upload the code for v1.0-beta6...
02:14:27  [[Special:Log/move]] move  * None1 *  moved [[TM]] to [[TM (I am islptng)]]: There are 2 languages named TM now
02:15:13  [[User talk:Ais523]]  https://esolangs.org/w/index.php?diff=151578&oldid=151542 * PrySigneToFry * (+92) /* So do I need to move out all pages from the deleted category "Medium-Level"? */ new section
02:16:15  [[CreativeASM]]  https://esolangs.org/w/index.php?diff=151579&oldid=150094 * PrySigneToFry * (-26) Removed un-exist category
02:17:22  [[X-ASM]]  https://esolangs.org/w/index.php?diff=151580&oldid=151515 * PrySigneToFry * (-26) [[Category:Turing complete]]
02:18:50  [[TM]]  https://esolangs.org/w/index.php?diff=151581&oldid=151577 * None1 * (+172) Removed redirect to [[TM (I am islptng)]]
02:20:18  [[10 digits, 100 digytes]] N https://esolangs.org/w/index.php?oldid=151582 * PrySigneToFry * (+6410) Created page with "10 digits, 100 digytes is a programming lnaguage designed by PSTF.  1 digyte is 10 digits, so its memory is very big. Programs are dumped in memory.  = Command Set = Every cell is signed integer between -(1064) to 1064. But it 
02:20:58  [[Language list]]  https://esolangs.org/w/index.php?diff=151583&oldid=151565 * PrySigneToFry * (+29) 
02:22:15  [[Esolang talk:Categorization]]  https://esolangs.org/w/index.php?diff=151584&oldid=151390 * PrySigneToFry * (+901) /* Category: Collaborative programming language */
02:22:17  [[]]  https://esolangs.org/w/index.php?diff=151585&oldid=150927 * None1 * (+392) /* Type 46 */
02:24:53  ...v1.0-beta6 is online
02:26:43  [[]]  https://esolangs.org/w/index.php?diff=151586&oldid=151585 * None1 * (+259) /* Example Programs */
02:27:25  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151587&oldid=151552 * PrySigneToFry * (+129) 
02:30:35  [[]]  https://esolangs.org/w/index.php?diff=151588&oldid=151586 * None1 * (+721) /* Interpreters */
02:31:07  [[]]  https://esolangs.org/w/index.php?diff=151589&oldid=151588 * None1 * (+27) /* Categories and References */  Some are not implemented yet
02:33:21  [[]]  https://esolangs.org/w/index.php?diff=151590&oldid=151589 * None1 * (+79) 
02:33:31  [[]]  https://esolangs.org/w/index.php?diff=151591&oldid=151590 * None1 * (-1) 
02:39:52 -!- Lykaina has quit (Quit: Leaving).
02:40:55  [[]]  https://esolangs.org/w/index.php?diff=151592&oldid=151591 * None1 * (+1014) /* Type 14 */
02:41:41  [[]]  https://esolangs.org/w/index.php?diff=151593&oldid=151592 * None1 * (-945) /* Type 28 */
02:41:57  [[]]  https://esolangs.org/w/index.php?diff=151594&oldid=151593 * None1 * (+1014) /* Type 18 */
02:46:45  [[]]  https://esolangs.org/w/index.php?diff=151595&oldid=151594 * None1 * (+630) 
02:49:27  [[Programming abillities of different esolangs]]  https://esolangs.org/w/index.php?diff=151596&oldid=141008 * None1 * (+81) /*  */
03:05:04 -!- op_4 has quit (Remote host closed the connection).
03:05:35 -!- op_4 has joined.
03:14:42  [[Pointing]]  https://esolangs.org/w/index.php?diff=151597&oldid=151570 * Calculus is fun * (+3131) Added a heap of definitions
03:23:57  [[Pointing]] M https://esolangs.org/w/index.php?diff=151598&oldid=151597 * Calculus is fun * (+243) /* Statements */
03:26:37  [[Pointing]] M https://esolangs.org/w/index.php?diff=151599&oldid=151598 * Calculus is fun * (+112) extended preamble
03:30:31  [[Pointing]] M https://esolangs.org/w/index.php?diff=151600&oldid=151599 * Calculus is fun * (+63) /* Instructions */
03:30:57  [[Pointing]] M https://esolangs.org/w/index.php?diff=151601&oldid=151600 * Calculus is fun * (-10) /* Instructions */
03:33:02  [[Pointing]] M https://esolangs.org/w/index.php?diff=151602&oldid=151601 * Calculus is fun * (+46) /* Instructions */
04:11:11  [[Pointing]] M https://esolangs.org/w/index.php?diff=151603&oldid=151602 * Calculus is fun * (+38) /* Statements */
04:22:06 -!- lynndotpy6 has quit (Quit: bye bye).
04:22:26 -!- lynndotpy6 has joined.
04:23:46 -!- lynndotpy6 has quit (Client Quit).
04:25:08 -!- lynndotpy6 has joined.
04:27:14  [[Pointing]]  https://esolangs.org/w/index.php?diff=151604&oldid=151603 * Calculus is fun * (+373) Added output commands
04:32:02  [[Pointing]] M https://esolangs.org/w/index.php?diff=151605&oldid=151604 * Calculus is fun * (+320) Added hello, world
04:39:06  [[TM (I am islptng)]]  https://esolangs.org/w/index.php?diff=151606&oldid=151576 * I am islptng * (+46) 
04:39:46  [[Pointing]]  https://esolangs.org/w/index.php?diff=151607&oldid=151605 * Calculus is fun * (+11) /* Instructions */
04:42:21  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151608&oldid=151587 * I am islptng * (+118) 
04:43:03  [[Pointing]] M https://esolangs.org/w/index.php?diff=151609&oldid=151607 * Calculus is fun * (+42) /* Statements */
04:44:17  [[]] M https://esolangs.org/w/index.php?diff=151610&oldid=151595 * PkmnQ * (+5) 48 can interpret a language with a Truth machine, but can't itself make a Truth machine.
04:45:37  [[Pointing]] M https://esolangs.org/w/index.php?diff=151611&oldid=151609 * Calculus is fun * (+51) Changed behavior of free
04:55:16  [[Pointing]]  https://esolangs.org/w/index.php?diff=151612&oldid=151611 * Calculus is fun * (+153) Added cat example
04:55:43  [[Pointing]] M https://esolangs.org/w/index.php?diff=151613&oldid=151612 * Calculus is fun * (+1) /* Cat */
04:56:09  [[Pointing]] M https://esolangs.org/w/index.php?diff=151614&oldid=151613 * Calculus is fun * (+4) /* Statements */
04:58:54  [[Pointing]]  https://esolangs.org/w/index.php?diff=151615&oldid=151614 * Calculus is fun * (+134) /* Cat */
04:59:50  [[Pointing]] M https://esolangs.org/w/index.php?diff=151616&oldid=151615 * Calculus is fun * (+1) /* Cat */
05:03:57  [[Pointing]] M https://esolangs.org/w/index.php?diff=151617&oldid=151616 * Calculus is fun * (+78) added global constants
05:04:58  [[]]  https://esolangs.org/w/index.php?diff=151618&oldid=151610 * PrySigneToFry * (+623) 
05:12:34  [[Programming abillities of different esolangs]] M https://esolangs.org/w/index.php?diff=151619&oldid=151596 * Calculus is fun * (+308) Added MoreMathRPN
05:22:23  [[Language list]] M https://esolangs.org/w/index.php?diff=151620&oldid=151583 * Calculus is fun * (+15) Added pointing
05:26:59  [[Programming abillities of different esolangs]]  https://esolangs.org/w/index.php?diff=151621&oldid=151619 * I am islptng * (-332) 
05:27:17 -!- lisbeths has joined.
05:28:35  [[Pointing]]  https://esolangs.org/w/index.php?diff=151622&oldid=151617 * Calculus is fun * (+189) Added functions
05:33:25  [[Programming abillities of different esolangs]]  https://esolangs.org/w/index.php?diff=151623&oldid=151621 * I am islptng * (-82) 
06:01:12 -!- chiselfuse has quit (Remote host closed the connection).
06:01:28 -!- chiselfuse has joined.
06:25:33  [[Pointing]] M https://esolangs.org/w/index.php?diff=151624&oldid=151622 * Calculus is fun * (+64) Added transfer
06:26:51  [[Pointing]] M https://esolangs.org/w/index.php?diff=151625&oldid=151624 * Calculus is fun * (+27) /* Expressions */
06:28:31  [[Pointing]] M https://esolangs.org/w/index.php?diff=151626&oldid=151625 * Calculus is fun * (+3) /* Cat */
06:29:49  [[Pointing]] M https://esolangs.org/w/index.php?diff=151627&oldid=151626 * Calculus is fun * (+2) /* Cat */
06:30:43  [[Pointing]] M https://esolangs.org/w/index.php?diff=151628&oldid=151627 * Calculus is fun * (+3) /* Statements */
06:31:11  [[Pointing]] M https://esolangs.org/w/index.php?diff=151629&oldid=151628 * Calculus is fun * (+0) /* Statements */
06:49:18  [[Pointing]]  https://esolangs.org/w/index.php?diff=151630&oldid=151629 * Calculus is fun * (+541) Simple linked list example
06:52:41  [[Pointing]]  https://esolangs.org/w/index.php?diff=151631&oldid=151630 * Calculus is fun * (+18) /* Statements */
07:02:49  [[Pointing]] M https://esolangs.org/w/index.php?diff=151632&oldid=151631 * Calculus is fun * (+7) Added tossing value operator
07:06:05  [[Pointing]] M https://esolangs.org/w/index.php?diff=151633&oldid=151632 * Calculus is fun * (+35) /* Expressions */
07:07:25  [[Pointing]] M https://esolangs.org/w/index.php?diff=151634&oldid=151633 * Calculus is fun * (+2) /* Linked List */
07:09:02  [[Pointing]]  https://esolangs.org/w/index.php?diff=151635&oldid=151634 * Calculus is fun * (+82) /* Linked List */
07:09:25  [[Pointing]] M https://esolangs.org/w/index.php?diff=151636&oldid=151635 * Calculus is fun * (-1) /* Linked List */
07:59:59  Hi
08:10:11 -!- chomwitt has joined.
08:35:40 -!- craigo has quit (Quit: Leaving).
08:38:38 -!- Trigon has joined.
08:40:40 -!- Trigon has left (Leaving).
08:41:30 -!- Trigon has joined.
08:42:48 -!- chiselfuse has quit (Ping timeout: 264 seconds).
08:44:05 -!- chiselfuse has joined.
09:01:03  [[Talk:Where is my esolang?]] N https://esolangs.org/w/index.php?oldid=151637 * PrySigneToFry * (+54) Created page with ""
09:03:00  [[User:PrySigneToFry/Sandbox/My Rate to the user that I know]]  https://esolangs.org/w/index.php?diff=151638&oldid=151463 * PrySigneToFry * (+270) 
09:03:58  [[User:PrySigneToFry/Sandbox/My Rate to the user that I know]]  https://esolangs.org/w/index.php?diff=151639&oldid=151638 * PrySigneToFry * (+33) 
09:09:26  [[]]  https://esolangs.org/w/index.php?diff=151640&oldid=151370 * PrySigneToFry * (+171) 
09:16:13  [[User:I am islptng/List of "x bits, y bytes"]]  https://esolangs.org/w/index.php?diff=151641&oldid=149598 * PrySigneToFry * (+30) 
10:32:02  [[Talk:9 bytes :I]]  https://esolangs.org/w/index.php?diff=151642&oldid=113213 * PrySigneToFry * (+54) 
10:35:07  [[Nope. with no quine]]  https://esolangs.org/w/index.php?diff=151643&oldid=138136 * PrySigneToFry * (+155) 
11:23:43  [[Uhidklol]]  https://esolangs.org/w/index.php?diff=151644&oldid=149788 * Juanp32 * (+47) /* other info */ im still alive as you can see
11:24:16  [[Just talk]]  https://esolangs.org/w/index.php?diff=151645&oldid=146793 * PrySigneToFry * (+49) 
11:25:37  [[Nope. with no quine]]  https://esolangs.org/w/index.php?diff=151646&oldid=151643 * 47 * (-91) that counts as an invisible charecter so, fail
11:26:26 -!- arbe has joined.
11:37:49 -!- ais523 has joined.
11:45:59  [[User talk:Ais523]]  https://esolangs.org/w/index.php?diff=151647&oldid=151578 * Ais523 * (+228) /* So do I need to move out all pages from the deleted category "Medium-Level"? */ I would recommend that
12:04:09 -!- mtm_ has quit (Ping timeout: 252 seconds).
12:05:19 -!- mtm has joined.
12:24:18 -!- Sgeo has quit (Read error: Connection reset by peer).
12:42:08  [[Jp32]] N https://esolangs.org/w/index.php?oldid=151648 * Juanp32 * (+293) Created page with "bf but its [[User:Juanp32]] texting insstead lol {| class="wikitable" ! jp32 !! bf |- | ok guys go left || < |- | ok guys go right || > |- | im a dot lol || . |- | its a comma. thats it || , |- | left side of box || [ |- | right side of box || ] |- | LINE FTW || - |- | that
12:42:25  [[Jp32]]  https://esolangs.org/w/index.php?diff=151649&oldid=151648 * Juanp32 * (-1) tyop
12:43:44  [[User:Juanp32]]  https://esolangs.org/w/index.php?diff=151650&oldid=149952 * Juanp32 * (+71) 
13:10:32 -!- m5zs7k has quit (Ping timeout: 252 seconds).
13:27:48 -!- FreeFull has quit.
13:30:33 -!- FreeFull has joined.
13:32:04 -!- m5zs7k has joined.
13:50:22 -!- amby has joined.
14:11:03  [[Nope. with no quine]]  https://esolangs.org/w/index.php?diff=151651&oldid=151646 * PrySigneToFry * (+162) 
14:24:08 -!- molson__ has joined.
14:27:34 -!- molson_ has quit (Ping timeout: 260 seconds).
14:37:13  [[User talk:UrnEn]]  https://esolangs.org/w/index.php?diff=151652&oldid=150394 * Cycwin * (+84) /* ??? */ new section
14:38:14  [[User talk:UrnEn]]  https://esolangs.org/w/index.php?diff=151653&oldid=151652 * Cycwin * (+17) /* ??? */
14:43:28  [[SLet]]  https://esolangs.org/w/index.php?diff=151654&oldid=151544 * Cycwin * (+82) /* Examples */
15:13:25 -!- coat has joined.
15:18:32  [[WaifuScript]]  https://esolangs.org/w/index.php?diff=151655&oldid=149953 * Juanp32 * (+63) 
15:18:47  [[WaifuScript]]  https://esolangs.org/w/index.php?diff=151656&oldid=151655 * Juanp32 * (+2) /* hello world */
16:07:45 -!- arbe has quit (Ping timeout: 268 seconds).
16:35:51 -!- craigo has joined.
16:45:56 -!- arbe has joined.
16:47:08 -!- molson__ has quit (Quit: Leaving).
16:47:36 -!- molson has joined.
16:55:17 -!- lisbeths has quit (Quit: Connection closed for inactivity).
17:19:37  [[Scratch]]  https://esolangs.org/w/index.php?diff=151657&oldid=149297 * Win7HE * (+10) 
17:20:51  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151658&oldid=148465 * Win7HE * (+97) 
17:23:26  [[User:(()())]] N https://esolangs.org/w/index.php?oldid=151659 * (()()) * (+36) Created page with "I create esolangs. (()())"
17:23:53  [[User:(()())]]  https://esolangs.org/w/index.php?diff=151660&oldid=151659 * (()()) * (-11) 
17:27:01  [[User:Win7HE/randpage]] N https://esolangs.org/w/index.php?oldid=151661 * Win7HE * (+18) Created page with "{{:Special:Random}"
17:27:18  [[User:Win7HE/randpage]]  https://esolangs.org/w/index.php?diff=151662&oldid=151661 * Win7HE * (+1) 
17:28:37  [[User:Win7HE/randpage]]  https://esolangs.org/w/index.php?diff=151663&oldid=151662 * Win7HE * (+7) 
17:29:09  [[User talk:(()())]] N https://esolangs.org/w/index.php?oldid=151664 * Win7HE * (+91) Created page with "yes you do--~~~~"
17:39:21  [[User:Win7HE]]  https://esolangs.org/w/index.php?diff=151665&oldid=151483 * Win7HE * (-34) /* [Coming Soon] PUDDING! 25 */
18:10:06  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151666&oldid=151575 * Lykaina * (+70) /* GitHub Versions */ adding v1.0-beta7
18:20:53  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151667&oldid=151666 * Lykaina * (+73) /* Examples */ adding 'k' and 'l' threading test.
18:21:21 -!- Lykaina has joined.
18:28:56 -!- Lord_of_Life_ has joined.
18:29:50 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
18:30:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:32:30  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151668&oldid=151667 * Lykaina * (+458) /* Instructions */ Updating for v1.0-beta7.
19:01:01  [[User:Squareroot12621]]  https://esolangs.org/w/index.php?diff=151669&oldid=135332 * Squareroot12621 * (+66) Added Foldy.
19:07:56  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151670&oldid=151668 * Lykaina * (+88) /* Instructions */ Filling in documentation for the "Experimental Commands" that should not need testing.
19:08:45  [[true]]  https://esolangs.org/w/index.php?diff=151671&oldid=150500 * 47 * (+54) /* Implementations */
19:19:00  [[Foldy]] N https://esolangs.org/w/index.php?oldid=151672 * Squareroot12621 * (+2075) Created Foldy.
19:22:55  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151673&oldid=151670 * Lykaina * (+141) /* Instructions */ Filling in blanks I forgot to fill in.
19:26:15  [[Foldy]]  https://esolangs.org/w/index.php?diff=151674&oldid=151672 * Squareroot12621 * (+40) 
19:31:45  [[Foldy]]  https://esolangs.org/w/index.php?diff=151675&oldid=151674 * Squareroot12621 * (-16) 
19:35:17  [[Foldy]]  https://esolangs.org/w/index.php?diff=151676&oldid=151675 * Squareroot12621 * (+278) 
19:56:03  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151677&oldid=151673 * Lykaina * (-15) /* Instructions */ 'j' works properly.
20:00:44 -!- atrapado has joined.
20:04:55  [[Xx]] M https://esolangs.org/w/index.php?diff=151678&oldid=147272 * Buckets * (+0) 
20:08:23  [[Language list]] M https://esolangs.org/w/index.php?diff=151679&oldid=151620 * Buckets * (+15) 
20:08:29  [[Xx]] M https://esolangs.org/w/index.php?diff=151680&oldid=151678 * Buckets * (+23) 
20:08:50  cu
20:25:31 -!- Sgeo has joined.
20:29:06  [[User:TheCanon2]] M https://esolangs.org/w/index.php?diff=151681&oldid=151230 * TheCanon2 * (-31) idea forgotten
20:49:57 -!- atrapado has quit (Quit: leaving).
21:19:58  [[Talk:Foldy]] N https://esolangs.org/w/index.php?oldid=151682 * Calculus is fun * (+356) Created page with "So what happens if I wrote this?  1234}}}5678   1234}      }      }      5      6      7      8    1234}  8765}}      8     7     6  123?}  <- Here     }} Does it error? Does it overwrite the 4? Does the 4 stay? Does the machine running it explode?  ~~~~"
21:26:49  [[Fungeball]]  https://esolangs.org/w/index.php?diff=151683&oldid=151677 * Lykaina * (+188) Added "External Links"
21:29:56 -!- chomwitt has quit (Ping timeout: 252 seconds).
23:06:22 -!- arbe has quit (Ping timeout: 252 seconds).
23:11:46  I had ideas about design of version control system. Fossil has the global state stored as a unordered collection of artifacts, identified by their hash.
23:12:36  I would do something a bit different, where in addition to that, there is also a set of subsets of that, which specify which ones are treated as structural artifacts (rather than automatically doing or not doing according to their contents).
23:15:15  (These separate subsets are "sub-repositories"; this way you can have multiple sub-repositories that share the same content artifacts if desired. Sub-repositories can still mention non-structural artifacts, but only structural artifacts will be specified within this subset. Probably most repositories don't need more than one sub-repository.)
23:45:38 -!- ais523 has quit (Quit: quit).

2025-02-10:

00:04:13 -!- mtm has quit (Ping timeout: 244 seconds).
00:06:01 -!- mtm has joined.
00:18:24  [[Special:Log/upload]] upload  * Calculus is fun *  uploaded "[[File:Pointing logo.png]]": A maroon to red gradient, and in blue, a capital p with an asterisk to it's right and a right pointing arrow above.
00:22:49  [[Pointing]] M https://esolangs.org/w/index.php?diff=151685&oldid=151636 * Calculus is fun * (+136) Added logo
00:27:18  [[Pointing]] M https://esolangs.org/w/index.php?diff=151686&oldid=151685 * Calculus is fun * (+153) added infobox
00:30:05  [[Pointing]] M https://esolangs.org/w/index.php?diff=151687&oldid=151686 * Calculus is fun * (-11) Changed number syntax
00:46:01  [[Pointing]]  https://esolangs.org/w/index.php?diff=151688&oldid=151687 * Calculus is fun * (+293) How pointers in pointing work
00:49:35  [[Pointing]] M https://esolangs.org/w/index.php?diff=151689&oldid=151688 * Calculus is fun * (-2) /* Pointer manipulation */
00:54:48  [[Pointing]] M https://esolangs.org/w/index.php?diff=151690&oldid=151689 * Calculus is fun * (+0) /* Pointer manipulation */
01:16:20  [[Pointing]] M https://esolangs.org/w/index.php?diff=151691&oldid=151690 * Calculus is fun * (-19) remove exponentiation
01:21:34 -!- molson has quit (Quit: Leaving).
01:25:59  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151692&oldid=151608 * I am islptng * (+556) /* islptng's suggestions */
01:29:52 -!- molson has joined.
01:32:40 -!- molson has quit (Client Quit).
01:37:24 -!- amby has quit (Remote host closed the connection).
01:44:08 -!- molson has joined.
02:16:46  [[Pointing]] M https://esolangs.org/w/index.php?diff=151693&oldid=151691 * Calculus is fun * (-1) /* Instructions */
02:55:14 -!- GregorR has quit (Quit: Ping timeout (120 seconds)).
02:55:45 -!- GregorR has joined.
03:29:35  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151694&oldid=151658 * PrySigneToFry * (+2020) 
03:29:51  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151695&oldid=151694 * PrySigneToFry * (+4) 
03:34:42 -!- Lykaina has quit (Quit: Leaving).
03:35:24  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151696&oldid=151692 * PrySigneToFry * (+549) 
03:42:10  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151697&oldid=151696 * PrySigneToFry * (+390) 
03:53:21 -!- Guest4 has joined.
04:00:03 -!- Taneb has quit (Quit: I seem to have stopped.).
04:01:15 -!- Taneb has joined.
04:20:33  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151698&oldid=151695 * I am islptng * (+564) 
04:33:39  [[Special:Log/newusers]] create  * 1392 *  New user account
04:36:04  [[Indicode]]  https://esolangs.org/w/index.php?diff=151699&oldid=117127 * Gilbert189 * (+197) 
04:38:38  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151700&oldid=151480 * 1392 * (+118) 
05:39:09 -!- arbe has joined.
05:56:33 -!- Guest4 has quit (Quit: Client closed).
06:00:22 -!- Celeo has joined.
06:04:34 -!- craigo has quit (Ping timeout: 248 seconds).
06:13:37  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151701&oldid=151698 * PrySigneToFry * (+2706) 
06:17:09  [[Nope. with no quine]]  https://esolangs.org/w/index.php?diff=151702&oldid=151651 * PrySigneToFry * (+133) 
06:36:09 -!- lisbeths has joined.
06:41:03  [[10 digits, 100 digytes]]  https://esolangs.org/w/index.php?diff=151703&oldid=151582 * PrySigneToFry * (+100) 
06:47:22  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151704&oldid=151697 * PrySigneToFry * (+539) 
07:10:19 -!- Celeo has quit (Quit: Celeo).
07:29:04  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151705&oldid=151701 * I am islptng * (+1308) 
07:32:04  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151706&oldid=151705 * I am islptng * (+3266) 
07:32:37 -!- arbe has quit (Ping timeout: 248 seconds).
07:32:55  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151707&oldid=151706 * I am islptng * (+26) 
08:10:19  [[Talk:Albuquerque challenge]]  https://esolangs.org/w/index.php?diff=151708&oldid=151707 * PrySigneToFry * (+6596) 
08:18:12 -!- Sgeo has quit (Read error: Connection reset by peer).
08:20:13 -!- arbe has joined.
08:21:18  [[Talk:^Romn]]  https://esolangs.org/w/index.php?diff=151709&oldid=149722 * PrySigneToFry * (+80) 
08:22:27  [[User talk:MihaiEso]]  https://esolangs.org/w/index.php?diff=151710&oldid=151084 * PrySigneToFry * (+113) /* ^Romn */ new section
08:24:34  [[`Romn]] N https://esolangs.org/w/index.php?oldid=151711 * PrySigneToFry * (+372) Created page with "`Romn is an Pseudonatural language designed by PSTF.  Because [[^Romn]] is occupied, I had to use different symbol(In my design it was left brocket but it is invalid).  == Syntax == Just Romanian.  == Examples ==  == Categories and References == [[Category:Languages]
08:26:25 -!- sprock has quit (Ping timeout: 244 seconds).
08:28:09  [[`Romn/Examples]] N https://esolangs.org/w/index.php?oldid=151712 * PrySigneToFry * (+1056) Created page with "{{Back|`Romn}}  == Hello, world! ==  Ieire "Bun oameni buni!". == A+B Problem ==  Introducei dou numere ntregi de la utilizator i apoi imprimai suma lor. == Collatz sequence == 
 Introducei un numr ntreg de la utilizator, apoi atribuii-l lui x. Repetai 
08:28:57  [[`Romn]]  https://esolangs.org/w/index.php?diff=151713&oldid=151711 * PrySigneToFry * (+102) 
08:29:48  [[Language list]]  https://esolangs.org/w/index.php?diff=151714&oldid=151679 * PrySigneToFry * (+32) 
08:32:59  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151715&oldid=151704 * PrySigneToFry * (+80) 
08:38:09 -!- sprock has joined.
09:44:01  [[User talk:Page crapper from explain xkcd 2]]  https://esolangs.org/w/index.php?diff=151716&oldid=137007 * PrySigneToFry * (+1131) 
12:03:09 -!- mtm has quit (Ping timeout: 260 seconds).
12:05:47 -!- mtm has joined.
12:21:24  [[SLet]]  https://esolangs.org/w/index.php?diff=151717&oldid=151654 * I am islptng * (+287) 
12:55:32  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151718&oldid=140615 * Cycwin * (+170) 
12:57:44 -!- arbe has quit (Ping timeout: 268 seconds).
12:58:20  [[MSFE++]] M https://esolangs.org/w/index.php?diff=151719&oldid=151718 * Cycwin * (-4) 
12:59:48  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151720&oldid=151719 * Cycwin * (-10) 
13:08:22  Moin
13:28:16 -!- arbe has joined.
14:27:20  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151721&oldid=151715 * None1 * (+42) /* None1's Design */
16:20:54  [[User talk:/w/wiki/index.php/Talk:index.php/Main page]]  https://esolangs.org/w/index.php?diff=151722&oldid=150989 * EvyLah * (+237) lipu linwuli [url] li toki ante instruction
16:41:24 -!- arbe has quit (Ping timeout: 276 seconds).
16:55:32 -!- arbe has joined.
18:10:28  [[Talk:Scratch]]  https://esolangs.org/w/index.php?diff=151723&oldid=151368 * Rdococ * (+129) /* Unimplemented??? */ new section
18:12:45 -!- Celeo has joined.
18:12:45 -!- Celeo has quit (Max SendQ exceeded).
18:16:14 -!- Celeo has joined.
18:27:03 -!- chomwitt has joined.
18:29:33 -!- Lord_of_Life_ has joined.
18:29:37 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
18:31:15 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:39:15 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:40:29 -!- Lord_of_Life has joined.
18:51:09  [[Talk:Scratch]]  https://esolangs.org/w/index.php?diff=151724&oldid=151723 * 47 * (+68) /* Unimplemented??? */
18:51:18  [[Talk:Scratch]]  https://esolangs.org/w/index.php?diff=151725&oldid=151724 * 47 * (+21) /* Unimplemented??? */
18:54:52  [[Recs]] M https://esolangs.org/w/index.php?diff=151726&oldid=150574 * Jan jelo * (+52) /* pair left right */
19:21:22 -!- perlbot has quit (Ping timeout: 248 seconds).
19:21:33 -!- simcop2387 has quit (Ping timeout: 244 seconds).
19:23:05 -!- simcop2387 has joined.
19:26:35 -!- perlbot has joined.
19:49:19 -!- sprock has quit (Quit: brb).
19:53:35 -!- sprock has joined.
19:58:37  [[Special:Log/move]] move  * 47 *  moved [[Pascgolf]] to [[Compass]]
20:07:10  [[Compass]]  https://esolangs.org/w/index.php?diff=151729&oldid=151727 * 47 * (+29) 
20:24:04 -!- amby has joined.
20:35:55 -!- chomwitt has quit (Ping timeout: 268 seconds).
21:21:21  [[User:Ractangle/Sandbox]]  https://esolangs.org/w/index.php?diff=151730&oldid=151117 * Ractangle * (-1) /* Stuff to continue */
21:29:04  [[Compass]]  https://esolangs.org/w/index.php?diff=151731&oldid=151729 * Ractangle * (-1) /* Implementation */
21:35:00 -!- mtm has quit (Read error: Connection reset by peer).
22:01:05  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151732&oldid=151564 * Buckets * (+17) 
22:01:15  [[Language list]] M https://esolangs.org/w/index.php?diff=151733&oldid=151714 * Buckets * (+12) 
22:01:28  [[Diner]] N https://esolangs.org/w/index.php?oldid=151734 * Buckets * (+1843) Created page with "Diner is an Esoteric programming language created by [[User:Buckets]] in 2022, where you are at a Diner. {| class="wikitable" |+ Caption text |- ! Commands !! Instructions |- | A number 1-9 || Pushes 1-9 on top of the stack. |- | Uh || Adds the top two values. |- | Um || 
22:02:20  [[Diner]] M https://esolangs.org/w/index.php?diff=151735&oldid=151734 * Buckets * (+6) 
22:02:53  [[Diner]] M https://esolangs.org/w/index.php?diff=151736&oldid=151735 * Buckets * (+4) 
22:03:45  [[Diner]] M https://esolangs.org/w/index.php?diff=151737&oldid=151736 * Buckets * (-10) 
22:03:52  Night
22:04:03  Peace.
22:04:04  [[Diner]] M https://esolangs.org/w/index.php?diff=151738&oldid=151737 * Buckets * (+1) 
22:06:08  [[Compass]]  https://esolangs.org/w/index.php?diff=151739&oldid=151731 * Ractangle * (+84) /* Examples */
22:55:00 -!- Celeo has quit (Quit: Celeo).
23:28:38 -!- arbe has quit (Ping timeout: 252 seconds).
23:53:47 -!- Sgeo has joined.

2025-02-11:

00:19:58 -!- b_jonas has quit (Ping timeout: 252 seconds).
00:34:04 -!- b_jonas has joined.
00:44:28 -!- amby has quit (Remote host closed the connection).
00:58:25 -!- user3456 has quit (Ping timeout: 265 seconds).
01:18:54 -!- user3456 has joined.
01:35:46  bash_macros(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ;
01:43:28  Some sort of feeder for awk scripts?
01:44:29  esolangs: What is an example of a computation that cannot be expressed with a pushdown automaton?
01:45:04  korvo: A classic example of a computation not expressible by a pushdown automaton is the **Halting Problem**. This problem asks whether a given program will eventually halt (finish execution) or run forever. A pushdown automaton can only process finite state machines, and the Halting Problem involves determining the halting behavior of an arbitrary...
01:45:04  program, which requires an infinite amount of information.
01:45:34  esolangs: What is an example of a computation that cannot be expressed with a Turing-complete automaton?
01:45:50  korvo: A computation that cannot be expressed with a Turing-complete automaton is the halting problem. This problem asks whether a given program will eventually halt (stop running) or run forever. There's no algorithm that can definitively answer this question for all programs, making it a fundamental undecidable problem.
01:47:29  esolangs: What is an example of a computation that cannot be expressed with a Turing-complete automaton, even with an oracle for the Halting Problem?
01:48:12  korvo: The halting problem itself is a classic example. A Turing-complete automaton can't definitively determine if any given program will halt or loop forever. This is because the Halting Problem is undecidable, meaning there's no algorithm that can solve it for all programs. Even with an oracle for the Halting Problem, the automaton would still be...
01:48:12  unable to solve the problem for all programs.
01:55:26  esolangs: What is the Turing degree of the Halting Problem?
01:57:06  korvo: The Halting Problem is **undecidable** in the sense that there is no algorithm that can determine, for any given program and input, whether the program will halt or run forever. Therefore, the Halting Problem is **not Turing-complete**. It's a fundamental problem in computer science, demonstrating the limits of what can be computed by a Turing...
01:57:06  machine.
02:22:47 -!- molson_ has joined.
02:23:40 -!- dbohdan has quit (Quit: ZNC 1.8.2+deb3.1 - https://znc.in).
02:23:58 -!- dbohdan has joined.
02:25:53 -!- molson has quit (Ping timeout: 248 seconds).
02:36:12  [[Talk:]]  https://esolangs.org/w/index.php?diff=151740&oldid=150309 * Cycwin * (+224) /* No Tag */ new section
02:40:12  [[Talk:]]  https://esolangs.org/w/index.php?diff=151741&oldid=151740 * Cycwin * (+113) /* No Tag */
02:40:42  [[User talk:Aadenboy]]  https://esolangs.org/w/index.php?diff=151742&oldid=150799 * PrySigneToFry * (+159) 
02:43:03  [[User:PrySigneToFry/About more Categories]]  https://esolangs.org/w/index.php?diff=151743&oldid=136940 * PrySigneToFry * (+135) 
02:47:31  [[User:PrySigneToFry/Sandbox/Some useless code]]  https://esolangs.org/w/index.php?diff=151744&oldid=150033 * PrySigneToFry * (+115) 
02:50:04  Hm.
02:50:18  esolangs: What is the Turing degree of the Beeping Busy Beaver Problem?
02:50:22  This might not be in the wiki.
02:50:33  korvo: The Beeping Busy Beaver Problem is **incomputable** in the Turing degree. Here's why: * **The problem:** It involves a program that runs forever, and its halting problem is undecidable. * **Turing degree:** The Turing degree measures the complexity of a problem. A problem is considered "incomputable" if it cannot be solved by any Turing machine. *...
02:50:33  **Conclusion:** The Beeping Busy Beaver Problem is a classic example of a problem that cannot be solved by any Turing machine, making it incomputable.
02:51:04  I was hoping for "one" and "two" respectively. Oh well.
02:53:11  [[Talk:Ook!]]  https://esolangs.org/w/index.php?diff=151745&oldid=101131 * PrySigneToFry * (+23) 
02:53:37 -!- craigo has joined.
02:53:56 -!- m5zs7k has quit (Ping timeout: 268 seconds).
03:01:05 -!- chiselfuse has quit (Remote host closed the connection).
03:01:26 -!- chiselfuse has joined.
03:03:27  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151746&oldid=151720 * Cycwin * (+265) 
03:05:15  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151747&oldid=151746 * Cycwin * (-1) /* Truth Machine */
03:33:34 -!- m5zs7k has joined.
04:06:50  [[Talk:Memorial language list]]  https://esolangs.org/w/index.php?diff=151748&oldid=146042 * PrySigneToFry * (+269) /* Criticism to this list */ new section
04:09:11  [[`Romn/Examples]]  https://esolangs.org/w/index.php?diff=151749&oldid=151712 * MihaiEso * (+57) 
04:11:42  [[`Romn/Examples]]  https://esolangs.org/w/index.php?diff=151750&oldid=151749 * MihaiEso * (+5) 
04:13:20  [[!Romanian]]  https://esolangs.org/w/index.php?diff=151751&oldid=141398 * MihaiEso * (+110) /* Hello, world! */
04:13:38  [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]]  https://esolangs.org/w/index.php?diff=151752&oldid=151525 * PrySigneToFry * (+47) 
04:17:47  [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]]  https://esolangs.org/w/index.php?diff=151753&oldid=151752 * PrySigneToFry * (+930) 
04:20:09  [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]]  https://esolangs.org/w/index.php?diff=151754&oldid=151753 * PrySigneToFry * (+11291) 
04:54:10 -!- m5zs7k has quit (Ping timeout: 248 seconds).
04:58:53 -!- m5zs7k has joined.
05:42:40  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151755&oldid=151747 * Cycwin * (+7) /* Cat program */
05:44:28  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151756&oldid=151755 * Cycwin * (-39) /* Examples */
05:47:40  [[MSFE++]] M https://esolangs.org/w/index.php?diff=151757&oldid=151756 * Cycwin * (+114) /* Examples */
05:50:28  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151758&oldid=151757 * Cycwin * (+138) /* Interpreter */
05:51:32  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151759&oldid=151758 * Cycwin * (-4) /* Interpreter */
05:52:07  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151760&oldid=151759 * Cycwin * (+0) /* Interpreter */
05:59:43  [[Infinite commands???]]  https://esolangs.org/w/index.php?diff=151761&oldid=151210 * PrySigneToFry * (+52) 
07:33:51  [[Special:Log/upload]] overwrite  * 47 *  uploaded a new version of "[[File:My github profile read me.png]]": how many times did i chainge this image again?
07:46:57  [[SLet]]  https://esolangs.org/w/index.php?diff=151763&oldid=151717 * I am islptng * (+71) 
07:47:06 -!- chomwitt has joined.
08:15:42  [[Talk:Memorial language list]]  https://esolangs.org/w/index.php?diff=151764&oldid=151748 * 47 * (+82) /* Criticism to this list */
08:17:15  [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]]  https://esolangs.org/w/index.php?diff=151765&oldid=151754 * 47 * (-12221) pointless bytes removed
08:31:14 -!- chomwitt has quit (Ping timeout: 244 seconds).
08:43:41 -!- arbe has joined.
08:45:23 -!- Sgeo has quit (Read error: Connection reset by peer).
08:57:47  [[User:Tommyaweosme/BRING BACK THE OLD SANDBOX]]  https://esolangs.org/w/index.php?diff=151766&oldid=151765 * PrySigneToFry * (+15) This garbled text is more in line with the code style of the language.
09:28:57  [[Compass]]  https://esolangs.org/w/index.php?diff=151767&oldid=151739 * Ractangle * (+110) /* Language syntax */
09:30:48  [[Compass]]  https://esolangs.org/w/index.php?diff=151768&oldid=151767 * Ractangle * (+75) /* Hello, world! */
09:40:26 -!- wib_jonas has joined.
09:56:03  ``` pkg-config --cflags --libs cairo
09:56:05  Package cairo was not found in the pkg-config search path. \ Perhaps you should add the directory containing `cairo.pc' \ to the PKG_CONFIG_PATH environment variable \ No package 'cairo' found
09:56:35  ``` find /usr/include -iname "*cairo*"
09:56:37  No output.
09:56:51  ``` find /usr/include /usr/lib -iname "*cairo*"; echo all done
09:57:02  hmm why would hackeso have cairo
09:57:14  ​/usr/lib/x86_64-linux-gnu/libcairo.so.2.11600.0 \ /usr/lib/x86_64-linux-gnu/libcairo.so.2 \ /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 \ /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4200.3 \ all done
09:58:21  ``` /bin/ls -aF /usr/lib/pkgconfig
09:58:23  ​./ \ ../
09:58:26  ``` /bin/ls -aF /usr/local
09:58:27  ​./ \ ../ \ bin/ \ etc/ \ games/ \ include/ \ lib/ \ man@ \ sbin/ \ share/ \ src/
09:58:40  ``` /bin/ls -dl /usr/local
09:58:41  drwxrwsr-x 10 0 50 4096 Apr  6  2018 /usr/local
09:59:00  ``` /bin/ls -aF /usr/local/lib
09:59:01  ​./ \ ../ \ python2.7/ \ python3.7/
09:59:04  ``` /bin/ls -aF /usr/local/include
09:59:06  ​./ \ ../
09:59:11  ``` /bin/ls -aF /usr/local/share
09:59:12  ​./ \ ../ \ ca-certificates/ \ fonts/ \ man/ \ pkgconfig/
09:59:21  ``` /bin/ls -aF /usr/local/share/pkgconfig
09:59:22  ​./ \ ../
09:59:25  ``` /bin/ls -aF /usr/share/pkgconfig
09:59:26  ​./ \ ../ \ gnome-icon-theme.pc \ shared-mime-info.pc \ swipl.pc \ systemd.pc
09:59:47  ``` /bin/ls -ld /usr/include
09:59:48  drwxr-xr-x 41 0 0 16384 Jul  1  2024 /usr/include
09:59:54  ``` /bin/ls -ld /usr/share
09:59:56  drwxr-xr-x 107 0 0 4096 May  1  2022 /usr/share
10:00:02  ``` /bin/ls -aF /usr/share
10:00:05  ​./ \ ../ \ X11/ \ aclocal/ \ aclocal-1.16/ \ adduser/ \ alsa/ \ applications/ \ apport/ \ apps/ \ autoconf/ \ automake-1.16/ \ base-files/ \ base-passwd/ \ bash-completion/ \ binfmts/ \ bison/ \ bug/ \ build-essential/ \ ca-certificates/ \ ca-certificates-java/ \ calendar/ \ cdbs/ \ common-licenses/ \ dbus-1/ \ debconf/ \ debhelper/ \ debianutils/ \ dh-autoreconf/ \ dict/ \ distro-info/ \ doc/ \ doc-base/ \ dpkg/ \ emacs/ \ emacsen-common/ \ exim4/ \ fi
10:00:18  ``` /bin/ls -aF /usr/share | tail -n+20
10:00:19  ca-certificates/ \ ca-certificates-java/ \ calendar/ \ cdbs/ \ common-licenses/ \ dbus-1/ \ debconf/ \ debhelper/ \ debianutils/ \ dh-autoreconf/ \ dict/ \ distro-info/ \ doc/ \ doc-base/ \ dpkg/ \ emacs/ \ emacsen-common/ \ exim4/ \ file/ \ fontconfig/ \ fonts/ \ games/ \ gcc-8/ \ gcj/ \ gdb/ \ gettext/ \ gettext-0.19.8/ \ gforth/ \ git-core/ \ gitweb/ \ glib-2.0/ \ gnupg/ \ groff/ \ guile/ \ i18n/ \ icons/ \ icu/ \ info/ \ initramfs-tools/ \ intltool-deb
10:00:24  ``` /bin/ls -aF /usr/share | tail -n+40
10:00:25  fonts/ \ games/ \ gcc-8/ \ gcj/ \ gdb/ \ gettext/ \ gettext-0.19.8/ \ gforth/ \ git-core/ \ gitweb/ \ glib-2.0/ \ gnupg/ \ groff/ \ guile/ \ i18n/ \ icons/ \ icu/ \ info/ \ initramfs-tools/ \ intltool-debian/ \ java/ \ javascript/ \ keyrings/ \ libc-bin/ \ libthai/ \ libtool/ \ lintian/ \ locale/ \ man/ \ man-db/ \ maven-repo/ \ menu/ \ mercurial/ \ metainfo/ \ mime/ \ misc/ \ mysql-common/ \ numpy3/ \ pam/ \ pam-configs/ \ perl/ \ perl5/ \ pixmaps/ \ pkg-
10:00:32  ``` /bin/ls -aF /usr/include
10:00:33  ​./ \ ../ \ FlexLexer.h \ X11/ \ aio.h \ aliases.h \ alloca.h \ ar.h \ argp.h \ argz.h \ arpa/ \ asm-generic/ \ assert.h \ bsd/ \ byteswap.h \ c++/ \ complex.h \ cpio.h \ crypt.h \ ctype.h \ curses.h \ cursesapp.h \ cursesf.h \ cursesm.h \ cursesp.h \ cursesw.h \ cursslk.h \ dialog.h \ dirent.h \ dlfcn.h \ dlg_colors.h \ dlg_config.h \ dlg_keys.h \ editline/ \ elf.h \ endian.h \ envz.h \ err.h \ errno.h \ error.h \ eti.h \ etip.h \ execinfo.h \ fcntl.h \
10:02:41  sorry, I should have done that in private message
10:17:53 -!- arbe has quit (Ping timeout: 248 seconds).
10:21:59 -!- ManDeJan has quit (Remote host closed the connection).
10:21:59 -!- dcreager has quit (Remote host closed the connection).
10:22:02 -!- ursa-major has quit (Remote host closed the connection).
10:38:41  [[User talk:PrySigneToFry/Sandbox/Some useless code]] N https://esolangs.org/w/index.php?oldid=151769 * I am islptng * (+91) Created page with " ++c=c++ + ++c;   warning: multiple unsequenced modifications to 'C' C=C*2+6"
10:53:10 -!- arbe has joined.
11:10:23  Hi
11:35:03 -!- dcreager has joined.
11:35:07 -!- ManDeJan has joined.
11:35:10 -!- ursa-major has joined.
11:40:09  [[User:Ractangle]]  https://esolangs.org/w/index.php?diff=151770&oldid=151101 * PrySigneToFry * (-1) Fix typo
11:45:52 -!- arbe has quit (Read error: Connection reset by peer).
11:49:57  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151771&oldid=151721 * PrySigneToFry * (+669) 
11:53:20  web.Tomos: points -42.10, score 0.81, rank 47/47
12:16:40 -!- wib_jonas has quit (Quit: Client closed).
12:33:33  https://github.com/memesmith0/mcrsh
12:46:52  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151772&oldid=151771 * None1 * (+174) /* None1's Design */
13:10:52 -!- tromp has joined.
13:41:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:50:56  web.Tomos: points -28.83, score 3.80, rank 47/47 (--)
13:52:08  Every time someone posts a program I get this warning in the logs: "Deprecation warning: Beginning with version 2.2.0, Channel#msg should not be used anymore. Use Channel#send instead."
13:58:00  web.Invincible: points -21.83, score 7.16, rank 47/47
14:11:57 -!- ais523 has joined.
14:13:52  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151773&oldid=151772 * PrySigneToFry * (+824) 
14:14:59  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151774&oldid=151773 * PrySigneToFry * (+20) 
14:17:51  [[User talk:PrySigneToFry/Sandbox/Some useless code]]  https://esolangs.org/w/index.php?diff=151775&oldid=151769 * PrySigneToFry * (+112) 
14:33:54 -!- tromp has joined.
14:43:11  [[Talk:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151776&oldid=129436 * PrySigneToFry * (+1051) /*  */ new section
14:43:37  [[Talk:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151777&oldid=151776 * PrySigneToFry * (+0) 
14:45:30  [[IPAfuck]]  https://esolangs.org/w/index.php?diff=151778&oldid=124840 * PrySigneToFry * (+9) 
15:28:11 -!- craigo has quit (Ping timeout: 252 seconds).
15:59:18 -!- chomwitt has joined.
16:03:19 -!- FreeFull has quit (Ping timeout: 260 seconds).
16:03:52 -!- FreeFull has joined.
16:06:50 -!- wib_jonas has joined.
16:11:04  ok, I found something weird about Windows. so on my work notebook, Windows 10 was originally installed with hungarian selected as UI language. I changed the UI language to english in settings long ago. Most of the interface of programs shipped with windows shows up correctly in english.
16:14:43  in the main windows of File Explorer, if I show the system menu either by left-clicking on the icon in the top left corner of the title bar or pressing alt+space or shift+right clicking the tray icon of the windows, the system menu of that window has its labels in hungarian. BUT if I right-click the title-bar, it shows the system menu with its
16:14:43  labels in english, and from that point on something changes about that specific file explorer window, and if I later show the system menu of the same window in any of the previous mentioned way, it shows up with labels in english. this doesn't affect other File Explorer windows.
16:15:21 -!- FreeFull has quit.
16:20:21  I had noticed earlier that the language of the system menu is inconsistent between programs, but I assumed it just depended on which program or window it was.
16:21:19  This is mostly cosmetic except in case of cmd consoles, that's why I wasn't paying attention to it.
16:22:43  [[Morshu]]  https://esolangs.org/w/index.php?diff=151779&oldid=120871 * Squidmanescape * (+1248) 
16:38:09 -!- dawids has joined.
17:19:59 -!- wib_jonas has quit (Quit: Client closed).
17:38:35  ais523: I now found a very epic Sokoban-Solver named „Festival“, which works together very nicely with the GUI YASC
17:38:51  ais523: Win64 though, but works epically well under WINE    😌
17:39:11  ais523: Thanks for Your previous Hints regarding Sokoban (‑ aaaaand Sudoku also     😉)
17:39:15  *purrrrrr*      😸   =^.^=
17:45:10 -!- dawids has quit (Quit: Leaving).
18:05:47 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:17:39 -!- chomwitt has quit (Remote host closed the connection).
18:18:00 -!- tromp has joined.
18:24:48 -!- lisbeths has quit (Quit: Connection closed for inactivity).
18:30:33 -!- Celeo has joined.
18:39:55 -!- Lord_of_Life_ has joined.
18:40:48 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:41:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:01:34  Apic: I assume you know about the sokoban level generator https://www.linusakesson.net/games/autosokoban/
19:10:13  b_jonas: No, but i can imagine     😌
19:54:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:57:20  b_jonas: I have some level of academic interest in Sokoban generators, but haven't seen that one
19:57:28  I had a plan of my own but didn't fully get it to work
19:59:05  ais523: mostly unrelated to sokoban, have you ever found out if there's a fast algorithm to find two walks that share both endpoints in an input digraph?
19:59:44  b_jonas: no, I think I discussed that with you a while ago but didn't think about it more since
20:00:45  ok
20:00:48  my actual problem was more complicated and that was one possible approach towards an approximate solution
20:00:59  yes, you asked that question here and we discussed it
20:01:14  but it didn't seem any easier than the alternative routes
20:01:58 -!- amby has joined.
20:02:02  (the more general problem I am trying to solve is the problem of compressing the reachability relation of a directed graph, in a way that's small on disk and efficient to query)
20:15:53 -!- tromp has joined.
20:27:32  b_jonas: hmm, I'm not too impressed by that Sokoban generator, I didn't find a difficult puzzle until puzzle 21, and that one was only difficult because it was hard to figure out which boxes are entirely trapped/useless to the solution and which ones aren't
20:27:49  these puzzles have lots of parts of the solution that are entirely independent of other parts, which seems inelegant to me
20:29:05  of course, the puzzles are random so you won't see the same ones I do (but I am using seed 2001748222, so you could check that way)
20:35:18  I don't like to play sokoban so I can't really judge their quality
20:36:58  but these levels are mostly solvable by the strategy of "avoid making moves that make the game unwinnable"
20:37:17  and just differ in how obvious the causes of unwinnability are
20:40:38  I once spent a month very ill and hardly able to do anything, I solved (handmade) Sokoban puzzles to pass the time – a month doing almost nothing but Sokoban gives you quite some insights into it
20:45:57  hmm, 26 is good
20:46:22  the first proper storage puzzle I've seen, and those are really the heart of Sokoban
20:46:45  (the problem being finding places to put boxes temporarily so that you can move boxes past them and then put them back)
20:54:50  [[User:BoundedBeans]]  https://esolangs.org/w/index.php?diff=151780&oldid=151457 * BoundedBeans * (+36) 
20:58:07  Can other puzzles such as Hero Hearts puzzles be generated also?
21:11:46  28 is the first one that feels anything like a traditional Sokoban puzzle
21:13:03  and 29 is trivially easy, so the difficulty curving doesn't seem to be going so well
21:15:13  30 is also quite easy, and gave me quite some insight into the algorithm (it looks like the sort of problem a computer might incorrectly think is hard)
21:15:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:21:32  [[Compass]]  https://esolangs.org/w/index.php?diff=151781&oldid=151768 * Ractangle * (-16) /* Language syntax */
21:21:55  [[Compass]]  https://esolangs.org/w/index.php?diff=151782&oldid=151781 * Ractangle * (-2) /* Hello, world! */
22:00:01  after a row of moderate-difficult puzzles, 40 was really really easy
22:04:38  I skipped ahead to 100 and 1000, neither of those was too hard either
22:04:56  I think that algorithm probably isn't the way forward when it comes to making interesting Sokobans, only a small proportion are interesting
22:11:36 -!- zzo38 has quit (Ping timeout: 246 seconds).
22:12:04  1001 is pretty good though
22:13:05 -!- zzo38 has joined.
22:17:06  I see
22:42:25  ☺
22:42:28  Good Night!
23:45:10  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151783&oldid=151700 * NNlk05 * (+69) /* Introductions */
23:45:17  [[StereotypeAssembly]] N https://esolangs.org/w/index.php?oldid=151784 * NNlk05 * (+150) Created page with "{{WIP}}  StereotypeAssembly is a stereotype, hackerly language built to resemble assembly language by [[User:NNlk05]].  [[Category:Works-in-Progress]]"

2025-02-12:

00:11:37 -!- Sgeo has joined.
00:24:57 -!- fungot has quit (Ping timeout: 246 seconds).
00:36:27 -!- Celeo has quit (Quit: Celeo).
00:49:56 -!- Noisytoot has quit (Killed (tantalum.libera.chat (Nickname regained by services))).
00:50:00 -!- Noisytoot has joined.
01:07:03 -!- Lykaina has joined.
01:55:40 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
01:56:18 -!- simcop2387 has quit (Ping timeout: 252 seconds).
01:56:31 -!- simcop2387_ has joined.
01:57:59 -!- simcop2387_ has changed nick to simcop2387.
02:16:08  [[Interlude]]  https://esolangs.org/w/index.php?diff=151785&oldid=81264 * Kaveh Yousefi * (+7) Rectified the Hello, world! and truth-machine examples, which seemed to impute a stack rather than a queue, supplanted the cat program, which also relied on a last-in first-out (LIFO) data structure, by a perpetual variant, and amended the claim about a stack's involvement 
02:18:08  [[Interlude]]  https://esolangs.org/w/index.php?diff=151786&oldid=151785 * Kaveh Yousefi * (+170) Added a hyperlink to my implementation of the Interlude programming language on GitHub.
02:19:03  [[SLet]]  https://esolangs.org/w/index.php?diff=151787&oldid=151763 * I am islptng * (+180) 
02:35:18 -!- ais523 has quit (Quit: quit).
03:14:12 -!- molson_ has quit (Ping timeout: 268 seconds).
04:22:23 -!- Lykaina has quit (Quit: Leaving).
04:23:26  [[Translated ZhongWen/PSTF Again Chapter VII]] N https://esolangs.org/w/index.php?oldid=151788 * PrySigneToFry * (+5255) Created page with "[[Translated ZhongWen/Mihai Again8]] is still not enough, so let's make it CRZIER!!!! ah..."
04:23:58 -!- molson has joined.
04:24:24  [[Translated ZhongWen/Mihai Again8]]  https://esolangs.org/w/index.php?diff=151789&oldid=141860 * PrySigneToFry * (+93) 
07:38:01  [[Translated ZhongWen/islptng]] N https://esolangs.org/w/index.php?oldid=151790 * I am islptng * (+1521) Created page with "1. [[Translated_ZhongWen/PSTF_Again_Chapter_VII|]] 
  1696 Tnt  1709    n4mEasy Some   N4M CRF   1696  1 2  1696 Tnt     n4m  crf 1696 Tnt  n4m  DN 1709 crf  [[Translated ZhongWen/islptng]]  https://esolangs.org/w/index.php?diff=151791&oldid=151790 * I am islptng * (+2335) 
07:45:57  [[Translated ZhongWen/islptng]]  https://esolangs.org/w/index.php?diff=151792&oldid=151791 * I am islptng * (+33) 
07:51:52  [[Translated ZhongWen/islptng]]  https://esolangs.org/w/index.php?diff=151793&oldid=151792 * I am islptng * (+407) 
07:54:30  [[Translated ZhongWen/islptng]]  https://esolangs.org/w/index.php?diff=151794&oldid=151793 * I am islptng * (+408) 
07:58:50 -!- craigo has joined.
07:58:50 -!- craigo has quit (Client Quit).
07:59:49 -!- craigo has joined.
08:09:09 -!- molson_ has joined.
08:12:39 -!- molson has quit (Ping timeout: 260 seconds).
08:13:49  [[User:I am islptng/Sandbox]]  https://esolangs.org/w/index.php?diff=151795&oldid=151329 * I am islptng * (+1892) 
08:14:56 -!- lisbeths has joined.
08:42:48 -!- Sgeo has quit (Read error: Connection reset by peer).
08:55:08  [[Translated ZhongWen/PSTF Again Chapter VII]]  https://esolangs.org/w/index.php?diff=151796&oldid=151788 * I am islptng * (+77) 
10:04:48  [[Translated ZhongWen/PSTF Again Chapter VIII]] N https://esolangs.org/w/index.php?oldid=151797 * PrySigneToFry * (+6069) Created page with "1. [[Translated ZhongWen/islptng|]] 
  16961122 HN2 1696 HN2polya J2C  1709  HN 2CRF ZF 2 FIV ..."
10:05:23  [[Translated ZhongWen/islptng]]  https://esolangs.org/w/index.php?diff=151798&oldid=151794 * PrySigneToFry * (+51) 
10:06:37  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151799&oldid=151774 * PrySigneToFry * (+18) 
10:38:37 -!- tromp has joined.
11:38:23 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:21:55 -!- ais523 has joined.
12:24:26 -!- amby has joined.
12:36:47  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151800&oldid=151783 * Allen123456hello * (+164) /* Introductions */
12:42:06  [[99 bottles of beer]]  https://esolangs.org/w/index.php?diff=151801&oldid=150808 * Allen123456hello * (+1355) /* List of implementations */ add  Language
12:44:14  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151802&oldid=151799 * I am islptng * (+0) MY NAME IS NOT ISLPTNG IT'S islptng PUT MY NAME DOWN ARGHHHHHHHHHHH
12:47:23  [[User:XKCD Random Number]]  https://esolangs.org/w/index.php?diff=151803&oldid=150375 * Allen123456hello * (+297) /* Implementations */ add  language
12:47:41  [[SickPig]]  https://esolangs.org/w/index.php?diff=151804&oldid=101568 * PrySigneToFry * (+193) 
12:50:52  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151805&oldid=151802 * PrySigneToFry * (+119) I'm sorry to have entered your username incorrectly. However, I always thought that your username was actually an abbreviation, so I used capitalization. If you ignore the case, this username is also correct.
12:53:35  Hi
12:53:42  [[User:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151806&oldid=151541 * PrySigneToFry * (+209) 
12:55:26  [[User:PrySigneToFry/Sandbox/My words]]  https://esolangs.org/w/index.php?diff=151807&oldid=151462 * PrySigneToFry * (+1) 
13:00:25  hi
13:03:45  [[JC-0715]] N https://esolangs.org/w/index.php?oldid=151808 * Allen123456hello * (+505) new esolang
13:04:05  [[JC-0715]]  https://esolangs.org/w/index.php?diff=151809&oldid=151808 * Allen123456hello * (+12) /* Commands */
13:05:03  [[Language list]]  https://esolangs.org/w/index.php?diff=151810&oldid=151733 * Allen123456hello * (+14) /* J */
13:06:02  [[JC-0715]]  https://esolangs.org/w/index.php?diff=151811&oldid=151809 * Allen123456hello * (+9) /* JC-0715 */
13:07:06  [[JC-0715]]  https://esolangs.org/w/index.php?diff=151812&oldid=151811 * Allen123456hello * (-9) /* JC-0715 */
13:14:26  [[User:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151813&oldid=151806 * PrySigneToFry * (+168) 
13:31:20 -!- tromp has joined.
14:09:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:10:51 -!- tromp has joined.
14:28:13  [[OwOlang]] N https://esolangs.org/w/index.php?oldid=151814 * BrainFuckGirl * (+3408) Created Page for OwOlang
14:29:03  [[OwOlang]] M https://esolangs.org/w/index.php?diff=151815&oldid=151814 * BrainFuckGirl * (-1) 
14:46:56  [[User:PrySigneToFry/Sandbox/StormLang discussion]]  https://esolangs.org/w/index.php?diff=151816&oldid=151805 * PrySigneToFry * (+7) 
15:05:44 -!- Sgeo has joined.
15:08:55 -!- ais523 has quit (Ping timeout: 268 seconds).
15:43:57 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:17:13 -!- ais523 has joined.
16:21:56 -!- FreeFull has joined.
16:36:40  [[Zudjn]]  https://esolangs.org/w/index.php?diff=151817&oldid=145864 * DevThatCodes * (+2122) /* Links */
16:39:43  [[Zudjn]]  https://esolangs.org/w/index.php?diff=151818&oldid=151817 * DevThatCodes * (-21) 
16:53:30 -!- tromp has joined.
17:38:40 -!- craigo has quit (Quit: Leaving).
17:47:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:48:38 -!- tromp has joined.
18:40:50 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
18:40:56 -!- Lord_of_Life_ has joined.
18:42:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:00:20 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:38:56 -!- tromp has joined.
20:17:19  [[Diner]] M https://esolangs.org/w/index.php?diff=151819&oldid=151738 * Buckets * (+16) 
20:17:35  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151820&oldid=151732 * Buckets * (+1) 
20:23:17  [[Language list]] M https://esolangs.org/w/index.php?diff=151821&oldid=151810 * Buckets * (+18) 
20:23:27  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151822&oldid=151820 * Buckets * (+17) 
20:23:31  [[,*"':;!?.+]] N https://esolangs.org/w/index.php?oldid=151823 * Buckets * (+3285) Created page with "{{wrongtitle|title=,*"':;!?.+_}} ,*"':;!?.+_ is an Esoteric programming language created by [[User:Buckets]] in 2024, To be specific It wasn't named But It's just The order of the Commands Shown. {| class="wikitable" |- ! Commands in order !! Instructions, also in or
20:24:32  [[Sipes]] M https://esolangs.org/w/index.php?diff=151824&oldid=150654 * Buckets * (+2) 
20:25:19  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151825&oldid=151822 * Buckets * (+1) 
20:26:45  [[-1]] M https://esolangs.org/w/index.php?diff=151826&oldid=150886 * Buckets * (+33) 
20:27:14  [[-1]] M https://esolangs.org/w/index.php?diff=151827&oldid=151826 * Buckets * (+1) 
20:37:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:43:23 -!- tromp has joined.
20:46:11  I'm trying to think about languages that can be implemented with either of two different type systems, and what advantages and drawbacks this has, and which combinations there are good example for.
20:48:12  So let's say at first approximation that there are three possible type systems. Untyped means that neither the compile time nor the runtime tries to follow what type values have, and so there's no type dispatching, if you want both an integer addition and a floating-point addition function you need to use different names for them. Typical examples are x86 machine code or forth. 
20:49:14  Dynamically typed means that the runtime tries to follow what type each value has, and so you may be able to dispatch on the type of input values, or at least check them to catch type errors at runtime. A typical example is Cpython.
20:50:29  Statically typed means that you figure out the type of values at compile time, and then you typically don't need to tag them at runtime, you can do dispatching between integer and floating point addition at compile time, and at runtime the code that you compiled to already knows which of these two operations you need.
20:53:04  Now if you have an untyped language, then it's usually not hard to make a dynamically typed interpreter for it. The dynamically typed interpreter is less efficient, but more easily able to catch type errors in the code. Sometimes you also want to make the dynamically typed interpreter memory safe too, which is easy in most cases, but can be hard if the program that was originally written for a language 
20:53:10  designed to be untyped does some scary tricks like casting an integer to a pointer.
20:53:52  Something that does not quite match, but is similar, to the first and second, is MESH:Hero and Free Hero Mesh; MESH:Hero uses the first kind, but operations can usually be mapped directly to Free Hero Mesh which uses the second kind. It is like the example you specify, actually.
20:54:19  If you have a dynamically typed language then you often can't make an untyped interpreter for it, because the code will sometimes deliberately want to use the type tagging information as a free distinguished union. 
20:55:04  However, some things will result in "type mismatch" errors that do not do so in MESH:Hero, but this usually indicates a bug. (A case where it doesn't is using the address of objects for random numbers, although this is usually undesirable anyways.)
20:55:26  So to design a language that can be ran either untyped or dynamically typed, you just design it as untyped but forbid most of the cases when the program would use the wrong type -- you can still allow some of them, which the dynamic interpreter may have to support with implicit conversions.
20:55:34  But, you are right, and they are the kind of things I had noticed when designing Free Hero Mesh, actually.
20:55:46  And, it does work much like what you described.
20:58:28  Now if you start from a statically typed language, you can usually *compile* it to an untyped language, but you may not be able to *interpret* it with an untyped interpreter, because there can be compile-time type dispatching necessary to distinguish between overloaded functions.
20:59:55  But if you design a new language, you can design it to work as either untyped or statically typed. The program will be more verbose because it can't use compile-time type dispatching, but will still often need some type annotations, such as to give the type of parameters for a function definition.
21:02:22  If you start from a statically typed language, then of course you can compile it to dynamically typed, but you can very often also *interpret* it dynamically typed. You can dispatch on the types of function arguments in a way that gives the same results for the two ways to interpret the language, though you can't dispatch on the return types only, because that's possible only in a statically typed 
21:02:25  OK, I suppose that will work, and may be useful for some kind of uses. (It might be useful for some kinds of intermediate code that is meant to be either interpreted or compiled, and be portable to multiple types of computers, maybe.)
21:02:28  language.
21:02:40  (I mean for one that is designed to be either untyped or statically typed)
21:03:02  But it's possible to design a language to work as either statically typed or dynamically typed, in which case again the program will need type annotations for the statically typed version.
21:03:13  (Olvashato does this by the way.)
21:05:31  It may also be possible to make it so that a compiler supports combining them, e.g. that anything that does not have a type annotation will use a tagged union and run less efficiently when compiled to statically typed code.
21:06:04  I was thinking about this mostly because I want to design the esolang whose gimmick is using columns in the source code as variable names, and I want to figure out what type system that language has. I want to support at least two types, as in fixed-size integer and array of those integers, so I need some type system. Once I have two types working it's easy to extend the language with more types later.
21:06:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:08:25  This isn't the only problem, there are other things that I have to decide about this language.
21:11:14  I also want to add the additional gimmick that you can make the source code right-aligned and have programmer-defined tab stops, which makes this esoteric because there is probably no existing editor that supports that in full generality.
21:11:23 -!- tromp has joined.
21:12:29 -!- tromp has quit (Client Quit).
21:14:43 -!- tromp has joined.
21:17:24  [[Zudjn]]  https://esolangs.org/w/index.php?diff=151828&oldid=151818 * DevThatCodes * (-31) 
21:19:13  [[Zudjn]]  https://esolangs.org/w/index.php?diff=151829&oldid=151828 * DevThatCodes * (+4) 
21:22:27  [[Zudjn]]  https://esolangs.org/w/index.php?diff=151830&oldid=151829 * DevThatCodes * (+47) 
21:32:54 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:41:59 -!- tromp has joined.
21:50:38 -!- Celeo has joined.
21:51:43  Static typing has the advantage that it can allow for better optimizations, especially the program wants to be portable and compiled to different platforms, and it allows you to use existing optimizing compiler backends.
21:53:09  I could of course have two variants, so if you write your program without type annotations then it only works interpreted, but if you add type annotations (and get your types consistent in first place) then you can also use a hypothetical statically typed compiler.
22:08:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:15:54  If I want to allow both untyping and dynamic typing, that actually makes static typing easier to add, because the untyping means functions can't dispatch on types, so I rarely need type annotations. If a value either comes from a return value of an ordinary function or is passed as an argument to an ordinary function then its type is fixed. I only need type annotations when the value is both created and 
22:16:00  consumed only by builtins that can handle generic types.
22:18:07  The reason why I don't want too many type annotations is that I want every function definition to know at compile time how many parameters and return values it has, because I do want to dispatch function calls at compile time on the number of arguments and return values. (Functions are named only, not first-class values.)
22:18:25  Ok, that's not a very clear explanation admittedly.
22:18:30  And it might even be wrong.
22:18:53  I'll have to think more about this.
22:22:42  I think I have an idea. What I should do is that function arguments and return values should be listed in the same place, at the function head, rather than listing return values at a return statement or the end of the function scope or something like that. The drawback is that it makes the function head and return statements look less like an ordinary call syntactically, but that's fine.
22:24:09  Sorry, I know this monologing is hard to follow.
22:30:03  of course some of this works because this is to be a small toy language
22:32:23 -!- tromp has joined.
23:20:50  b_jonas: re: your typing discussion: I have been seriously considering "a statically typed language that uses monomorphization, but the debug builds compile into a dynamically typed language instead to save compile time"
23:21:11  like, if you aren't doing a properly optimizing build, you save monomorphization time by just using dynamic typing instead
23:21:57  hmm, does type erasure count as / imply dynamic typing?
23:22:16  I guess it has to, a type-erased value needs to carry a vtable around so that you can actually call methods on it
23:23:04  also, Prolog famoulsy has arguments and return values all mixed together in the function head (and even in the function call)
23:23:18  it makes complex expressions a little awkward to write
23:23:46  e.g. length_plus_one(List, LengthPlusOne) :- length(List, Length), LengthPlusOne is Length + 1.
23:24:20  have to have two separate "statements" to do the length measurement and the addition because the function doesn't have a traditional return value to add 1 to
23:26:23  Also, the multiple distinct type systems don't have to be related to each other. They don't even have to have the same signature for the type-checking function.
23:49:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).

2025-02-13:

00:04:47 -!- Celeo has quit (Quit: Celeo).
00:13:38 -!- Noisytoot has quit (Quit: ZNC 1.9.1 - https://znc.in).
00:14:39 -!- Noisytoot has joined.
00:19:35  [[Special:Log/newusers]] create  * Luihum *  New user account
00:24:11  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151831&oldid=151800 * Luihum * (+176) introduction
00:43:22  On GitHub, why is payload.preloadedQueries[0].result.data.repository.search.pageInfo.hasNextPage is always true and hasPreviousPage is always false, regardless of the page number?
00:57:22 -!- amby has quit (Remote host closed the connection).
01:19:59  [[TMIDL]] N https://esolangs.org/w/index.php?oldid=151832 * Luihum * (+1531) created the page, with infobox and interpreter directive list
01:23:41 -!- ais523 has quit (Quit: quit).
03:29:49  [[TMIDL]]  https://esolangs.org/w/index.php?diff=151833&oldid=151832 * Luihum * (+604) added more stuff about extensions
04:14:40  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151834&oldid=150935 * I am islptng * (+607) /* Commands */
04:17:22  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151835&oldid=151834 * I am islptng * (+239) 
04:29:32  [[Special:Log/newusers]] create  * Yunasha Hotora *  New user account
04:56:52  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151836&oldid=151831 * Yunasha Hotora * (+217) /* Introductions */
05:16:25 -!- Celeo has joined.
05:17:21 -!- Celeo has quit (Client Quit).
05:17:52 -!- Celeo has joined.
05:42:39  [[Translated ZhongWen/PSTF Again Chapter VIII]]  https://esolangs.org/w/index.php?diff=151837&oldid=151797 * MihaiEso * (+56) 
05:42:58  [[Translated ZhongWen/PSTF Again Chapter VIII]]  https://esolangs.org/w/index.php?diff=151838&oldid=151837 * MihaiEso * (+0) 
05:50:30  [[Translated ZhongWen/Mihai Again Chapter IX]] N https://esolangs.org/w/index.php?oldid=151839 * MihaiEso * (+6376) Created page with "1. Put this: [[Translated ZhongWen/PSTF Again Chapter VIII|]] in the machine 
        ..."
05:50:55  [[Translated ZhongWen/Mihai Again Chapter IX]]  https://esolangs.org/w/index.php?diff=151840&oldid=151839 * MihaiEso * (+17) 
05:54:26 -!- Celeo has quit (Quit: Celeo).
06:04:43 -!- Celeo has joined.
06:15:06  [[Translated ZhongWen/Mihai Again Chapter IX]]  https://esolangs.org/w/index.php?diff=151841&oldid=151840 * I am islptng * (-33) Translation
06:15:24  [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] N https://esolangs.org/w/index.php?oldid=151842 * PrySigneToFry * (+3038) Created page with "Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8, or Nya~-r%23kcd#TbjSV\d\\\\zESGmcdips is designed by PSTF.  = Language Overview = Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8 is turing complete, uses an accumulator, a tape with 114514 cells, a stack, a buffer, and 
06:16:32  [[Language list]]  https://esolangs.org/w/index.php?diff=151843&oldid=151821 * PrySigneToFry * (+62) 
06:47:34  korvo: yes, you could have a language where in the memory safe dynamically typed version adding an offset to a pointer calls a different function than adding integers, while in another untyped version they call the same function since there's no way to tell if the input is an integer or pointer.
06:48:20  b_jonas: That's very close to a real example for me!
06:48:23  or similarly you can have a language like C where the same integer (used as an array index) or pointer type can have different sizes on different implementations, 32-bit on one and 64 bits on another
06:48:58  you write "long" and windows will use a 32-bit integer while linux will use a 64-bit integer
06:49:12  RPython has its own type system which checks that the FFI is internally sane and that the foreign primitives are C-compilable. But that's not the same thing as the C linker's type system which is used during the final compilation step.
06:49:12  similarly for long double
06:50:06  And neither of those are Pyflakes' name-oriented syntax checker, which I used up until it broke Python 2.7 support a few years ago. So much more useful than any other linter IMO.
06:50:30  ...RPython also has its own idea of "long". They support Win32, you see.
06:52:11  also C++ and Rust allow calling C functions natively, but they and C have three different ideas of the type restrictions on what function types are equal and what type you are allowed to use to call a function, and their interactions are not really well documented
06:54:13  in the case of C and C++ this is because both the C and C++ language standard committees refuse to try to document the interactions, so the only documentation there is are the non-portable ones for ABIs of specific implementations; in the case of Rust the specification is still somewhat lacking but that probably will get fixed in time
06:56:09  I'm not even sure there's a sane consistent description of how C and C++ function calls should work at the language typing level (as opposed to what actually happens at ABI level after the compiler discards the detailed type information and the linker links C and C++ compilation units) 
06:56:49  I mean there is, but it would require relaxing the C++-only rules a lot too
06:57:57  so if you want to write a type-checking linker (which could be useful to check if your program is portable to possible future implementations with strange ABI rules) you'd have to figure this out
06:58:10  I was wondering about this recently
07:02:09  That's actually a really nasty example, because IIRC Rust and C have different ideas of what an "enum" looks like.
07:26:43  korvo: I think enums are mostly fine. Rust now allows the repr attribute for enums which gives a specific representation for them, while C enums are just of an ordinary integer type. C++ class enums would be a problem, but then C++ has lots of other non-C types that don't have a representation fixed enough that you could interact with it through a C abi, so that's also fine.
07:30:40  b_jonas: Sure. All types are ctypes, etc.
07:30:48  ...Sorry. I'm not sour at you. I'm sour at C.
07:40:56 -!- tromp has joined.
07:47:33  https://github.com/memesmith0/mcr3sh
07:50:02  Lovely art, thanks.
07:54:41  [[Translated ZhongWen/PSTF Again Chapter IX]] N https://esolangs.org/w/index.php?oldid=151844 * PrySigneToFry * (+6285) Created page with "Translated ZhongWen/Mihai Again Chapter IX|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F  ?~#?~nDl$ ? ?\$#\$ 3\$?D$$H$$  ??D$03D$(
07:55:19  [[Translated ZhongWen/Mihai Again Chapter IX]]  https://esolangs.org/w/index.php?diff=151845&oldid=151841 * PrySigneToFry * (+49) 
07:58:10 -!- Celeo has quit (Quit: Celeo).
08:25:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:32:06  [[User:PrySigneToFry/Sandbox/Users that is also on other place]] N https://esolangs.org/w/index.php?oldid=151846 * PrySigneToFry * (+1314) Created page with "Here shows users that is also on other place.  # PrySigneToFry: PrySigneToFry(Backrooms Fandom, Esolang Wiki), LittleLWSS(Conway's game of life Wiki/Forum), Xdi8Loverian(Xdi8 Wiki), (Whole Miraheze, including Mu
08:40:18  [[User:PrySigneToFry/Sandbox]]  https://esolangs.org/w/index.php?diff=151847&oldid=151461 * PrySigneToFry * (+330) 
08:42:07 -!- Sgeo has quit (Read error: Connection reset by peer).
08:55:31  [[Translated ZhongWen/PSTF Again Chapter IX]]  https://esolangs.org/w/index.php?diff=151848&oldid=151844 * MihaiEso * (+46) 
09:00:12  [[Translated ZhongWen/Mihai Again Chapter X]] N https://esolangs.org/w/index.php?oldid=151849 * MihaiEso * (+5510) Created page with "Translated ZhongWen/Mihai Again Chapter IX|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F  ?~#?~nDl$ ? ?\$#\$ 3\$?D$$H$$  ??D$03D$(? D$$
09:01:05  [[Translated ZhongWen/Mihai Again Chapter X]]  https://esolangs.org/w/index.php?diff=151850&oldid=151849 * MihaiEso * (-1) 
09:03:29  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151851&oldid=151846 * I am islptng * (+33) 
09:15:45  [[Translated ZhongWen/islptng Zwei]] N https://esolangs.org/w/index.php?oldid=151852 * I am islptng * (+5412) Created page with "Translated ZhongWen/PSTF Again Chapter IX|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F  ?~#?~nDl$ ? ?\$#\$ 3\$?D$$H$$  ??D$03D$(? D$$(..."
09:16:41  [[Translated ZhongWen/islptng Zwei]]  https://esolangs.org/w/index.php?diff=151853&oldid=151852 * I am islptng * (-4) 
09:17:36  [[Translated ZhongWen/islptng Zwei]]  https://esolangs.org/w/index.php?diff=151854&oldid=151853 * I am islptng * (-18) 
09:18:49  [[Translated ZhongWen/Mihai Again Chapter X]]  https://esolangs.org/w/index.php?diff=151855&oldid=151850 * I am islptng * (+97) 
10:31:40  [[Translated ZhongWen/islptng Zwei]]  https://esolangs.org/w/index.php?diff=151856&oldid=151854 * MihaiEso * (+47) 
10:36:36  [[Translated ZhongWen/Mihai Again Chapter XI]] N https://esolangs.org/w/index.php?oldid=151857 * MihaiEso * (+5624) Created page with "1. [[Translated ZhongWen/islptng Zwei|]]Esolang:undefined1234|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F  ?~#?~nDl$ ? ?\$#\$ 3\$?D$
10:51:19  [[MSFE++]]  https://esolangs.org/w/index.php?diff=151858&oldid=151760 * Cycwin * (+1) /* Interpreter */
11:02:16 -!- tromp has joined.
11:12:10  [[User:Yayimhere/an esolang for my puter]] N https://esolangs.org/w/index.php?oldid=151859 * Yayimhere * (+788) Created page with "{{WIP}} SOOOOO i had this idea. whats the simplest computer i can make. like what parts do i need to make a turing machine(technically it would never be a turing machine cuz memory but uknow), and so i set out for a quest. can u build a l
11:38:51  there seems to be alot of bots in this channel
11:40:07  Hi
11:40:09  True
11:40:09  `? prefixes
11:40:11  Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ? or > , thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot =, velik \.
11:40:47  (half of those are gone, and some of the bots don't have commands)
11:41:11  I have implemented a full reader macro system in posix shell in 3 lines
11:41:27  and so you can change the notation of your posix shell at will in the middle of writing your programs
11:41:47  as far as i know it works on a read only filesystem
11:41:58  so it should run on many routers
11:58:49  related: https://www.ioccc.org/1987/biggar/index.html /home/bf3/bat/space/esoteric/ioccc/ https://www.ioccc.org/1993/lmfjyh/index.html
11:58:56  grmbl
11:59:11  related: https://www.ioccc.org/1987/biggar/index.html https://www.ioccc.org/1988/spinellis/index.html https://www.ioccc.org/1993/lmfjyh/index.html
12:07:38 -!- craigo has joined.
12:24:12 -!- chiselfuse has quit (Ping timeout: 264 seconds).
12:25:26 -!- wib_jonas has joined.
12:25:58 -!- chiselfuse has joined.
12:34:34  korvo: so I actually think C is the one that handles this the best, while C++ is the evil one, and rust is on the good path and will probably be fine in the future but there are some holes still. let me try to explain.
12:36:47  what the C++ standard says is that you are allowed to call a function only if where you're calling it it has the exact same function type as where it was defined. that means if a struct type is mentioned in the function type, even through pointer indirection, then it has to be the same struct type, with the same name in the same namespace.
12:37:48  but the standard also says that if the same struct type is defined in multiple compilation units, then its two definitions must be exactly the same, token by token, and they must reference the same thing in both definitions (eg. if it mentions another type then that has to be the same type).
12:40:43  now if you want to pass/return a struct by value to/from a function, then that struct type must be defined in both compilation units. this makes it effectively impossible to call such a function if it's not defined in C++, but in eg. rust or haskell FFI or anything else, because you can't have the exact same function type with the same definition
12:40:44  in those languages. and depending on how the definitions work, it's probably close to impossible to even call such a function if it's defined in C or zig or an older version of the C++ standard or C++ with certain compiler options different, because those can change the meaning of the struct definition.
12:41:56  the situation is slightly better if you are only passing/returning a pointer to a struct when you're calling a function in C++, but it's still not good. in this case what you can do is to make sure that one of the two compilation units has the struct type declared but not defined, in which case the definition needn't be the same. and at either the
12:41:57  call or the function definition, you can cast the pointer to struct into a pointer to another struct.
12:42:57  casting the pointer is fine, though I don't quite understand the arcane C++ rules of when exactly you can use one C++ struct type to access the contents of a struct of another C++ struct type, but I think you can mostly make this work. \
12:47:50  but that still involves a cast (however safe) to a different pointer type, which kind of breaks type safety, plus it's not even clear if it still works if the function is defined in rust or some other non-C-like language. C and rust can access or define variables and functions in the global C namespace, but C doesn't have a concept of structure
12:47:50  types whose names are valid outside of a source file, and while rust has global struct types matching between compilation units, they can only have names in the rust namespace. so if you define a function in rust or C that takes a pointer to a struct, that struct can't be the same at the definition and the caller.
12:50:11  The C standard has very different rules, and those rules work better with non-C compilation units.
12:51:42  C++ and Rust do basically the same thing here, don't they, namely, they treat C as an FFI target... extern "C" for C++; repr(C) and #[link(name = ...)] extern { ... } for Rust.
12:51:50  So C says that when you call a function, the call site and the definition site only needs similar enough types for that function, they don't need to be the same type. Crucially, if the function takes/returns a structure by value, they don't have to be of the same type (it's probably not even meaningful to ask if two struct types from two
12:51:51  compilation units are the same in C), they only have to be similar enough.
12:52:03 -!- ais523 has joined.
12:52:33  And that's supported by things like the System V ABI which defines representations and calling conventions for C.
12:52:36  The names of those structs don't matter for this, because the struct names in C are necessarily local to the compilation units, only the list of types of the members and stuff like that matters.
12:54:03   in the case of C and C++ this is because both the C and C++ language standard committees refuse to try to document the interactions, so the only documentation there is are the non-portable ones for ABIs of specific implementations; in the case of Rust the specification is still somewhat lacking but that probably will get fixed in time ← this has been something of a problem for Rust because in some cases the C and C++ implementations aren't 
12:54:04  compatible with each other and thus it's unclear what Rust should do to be compatible with them
12:54:09  I vaguely remember something about the alignment of u128
12:54:26  And if you pass/return a struct by pointer then you don't even need similar struct types, all pointers to struct are represented the same (pointers to void/char can differ from that, that's on purpose), so as long as the layout of the two structs are the same this will just work.
12:56:38  https://blog.rust-lang.org/2024/03/30/i128-layout-update.html
12:56:48  What C is trying to do is to give a portable enough definition to say when the ABI of the two function types must be the same on all implementations, while they obviously don't try to fix the same ABI. This can be subtle but I think they got it right: you can access a float through a struct{unsigned char[sizeof float]c;} and that preserves its
12:56:49  value, but if a function parameter is float then you can't call that function with a struct{unsigned char[sizeof float]c;} instead, which makes sense because on real ABIs the float can be passed in a floating-point hardware register.
12:56:54  apparently it was fixed by persuading clang to change to be compatible with gcc, then making Rust compatible with the new stanadrd
12:57:34  the persuasion wasn't too hard because clang was trying to be compatible with gcc anyway, so from their point of view it was a bugfix
12:58:54  wib_jonas: in practice, "the function pointer type must match exactly" is normally a fairly easy rule for programmers to stick to and sufficient to meet the C requirements
12:59:01  so I didn't bother learning the situations in which it's allowed to be slightly different
13:00:00  ais523: yeah, that reminds me of how gcc at one point had to change the C++ linux name mangling of certain functions whose type involve an xmm/ymm vector type. that means C++ programs compiled with the new rules may be ABI-incompatible with ones compiled with the old rules, but this had to happen because the old rules were broken and could mangle
13:00:00  different overloaded functions to the same name which is a bug.
13:00:45  ais523: it's an easy rule if all your source code is in the same language, but it gets much harder if the function definition and call are in different languages.
13:01:30  ah right, I see
13:01:48  most language's FFIs are defined in terms of C types in an attempt to make the problem manageable
13:02:11  that might potentially be a mistake, although I'm not sure (I'm pretty sure the reliance on libc for all OS interaction is a mistake, but am less sure about the FFI ABI situation)
13:03:14  ais523: yes, rust and haskell is doing that, though there are some gaps that aren't handle yet. but C++ is not doing this in theory. specific C++ ABIs do, but you can't write a C++-C combo in a way that's guaranteed to be portable to future implementations because the general rules aren't written down in a way that C and rust writes down what they
13:03:15  try to guarantee even in future ABIs.
13:04:15  hmm, does C++ allow equivalent-but-not-token-identical multiple definitions of extern "C" structs?
13:05:01  rust has in particular improved this recently (like in the last two years): they wrote a new document that talks about when function types are compatible (similar to C), and added new ABI guarantees to certain library types, most importantly UnsafeCell and Cell
13:05:27  ais523: extern "C" structs don't exist. extern "C" only applies to function definitions and *maybe* function pointer types.
13:06:04  huh, I thought it was more general than that
13:06:07  for function definitions what it does is put the (declared external or defined) function into the non-mangled C namespace, so it can be the same *function* as a C function
13:06:58  and the standard either says or used to say that this can also change the ABI of that function, which is why it could technically modify the type of a function pointer, but I think that was never a thing in popular C++ implementations, mostly because the same people write the C and C++ compilers for any one ABI.
13:07:04  I guess maybe C++ needs a "C-like structure" concept, the same way that Rust has a "C-like enum" concept (i.e. "the subset of C++ structures that are valid C", just like Rust has "the subset of Rust enums that are valid C")
13:07:16  in rust this is a thing by the way, function pointers carry their ABI.
13:07:23  carry the function's call  ABI.
13:07:46  right, any use of the function pointer has to know the ABI to be usable
13:07:46 -!- wib_jonas has quit (Quit: Client closed).
13:08:11 -!- wib_jonas has joined.
13:08:17  oh by the way it's also a thing in C/C++, with the stdcall ABI for some windows architecture, it was just not a thing where C++ has a different default ABI or available ABIs from C.
13:15:29  I was going to say that it is quite common in practice for C compilers to support multiple ABIs and for function pointers to carry the ABI, even though that behaviour isn't required by the standard
13:16:24  incidentally, I think it is a mistake for compilers to have observable ABIs for all functions by default – it would be more efficient for the programmer to manually mark functions they wanted to be able to take a pointer to, and for the ABIs of the others to be adjusted by the optimiser as necessary, without necessarily being a standard ABI
13:16:29  one small hole is that the new rust document forgot to mention that passing a MaybeUninit by value to a foreign function is safe, and you may need that for passing/returning a structure by value in a typesafe way if some struct members may be uninitialized, which is fine for C and a C ABI can reasonably require it, especially if it's in a more
13:16:29  typesafe C++ style library.
13:17:38  a simple example is that leaf functions can often be compiled to preserve more registers than the ABI says they should, which could be relied on by the calling function to reduce the need to spill
13:18:27  in particular, it usually doesn't cost anything for a leaf function to preserve the argument registers, and the caller often cares about the values it provided as arguments
13:18:38  I guess making extra guarantees is a function-pointer-compatible ABI change, though
13:18:49  ais523: that is already effectively done. in rust by default the ABI of functions and even user-defined structs can change between compiler versions, so you might not be able to pass a struct or call a function from a file compiled in one version of rust to a file compiled in another. you usually need an explicit repr attribute for a user-defined
13:18:50  struct to have a definite ABI, and some other attribute for a function.
13:19:13  wib_jonas: in Rust, yes, the spec does that (although I'm not convinced the implementation actually does yet)
13:19:17  I was thinking about langauges in general though
13:19:30  [[]]  https://esolangs.org/w/index.php?diff=151860&oldid=132471 * Allen123456hello * (+131) /* Example */
13:20:08  I am still upset about the &T as *const T cast, though – it is mostly useless and blocks a significant optimisation
13:20:22  and both modern C and C++ and rust can often prove that you can't access a certain function from another compilation unit, in which case it can use a different ABI, and the compilers can even specialize an exported function with a different ABI for local calls as long as it exports a suitable wrapper.
13:20:29  (it isn't so useless that you can backwards-compatibly remove it, but it is normally possible to write programs to avoid it)
13:20:42  (especially now that we have the &raw operator)
13:21:44   and both modern C and C++ and rust can often prove that you can't access a certain function from another compilation unit ← I disagree, don't default settings export basically every function, at least on Linux?
13:22:25  you at least need a default visibility option (together with options to override it for any functions that are actually used by other shared objects)
13:22:53  in C functions are exported by default, but you can declare them static or, in non-old versions of C, declare them inline, in which case they're not exported.
13:23:07  wib_jonas: what if you pass a static function to qsort or the like?
13:23:55  also the inline declaration doesn't help – by default inline functions also need an out-of-line version so that code calling from outside has something to call
13:23:59  you can do that, and then the compiler knows that you are taking the address of the function at that call site and will either compiler the function with the standard ABI, or, for a more complicated compiler, at least emit a wrapper function with the standard ABI
13:24:00  you can fix that using static inline, but then you still have a static
13:24:20  so I think it's specifically static (+ compiler-specific attributes) that matter there
13:24:44  oh hmm, C++ has "standard layout types" but the link to C ABI is that the x86_64 SysV ABI refers to https://itanium-cxx-abi.github.io/cxx-abi/abi.html#pod ?
13:25:12  it's kind of the same as when you take the address of a local variable and pass it to a function from another compilation unit: the compiler has to notice that and know that the value of that variable can change later from a different function call
13:25:17  gcc has __attribute__(visibility(internal)) which does what we want, I think
13:25:26  (and, I guess, most other 64 bit ABIs, as far as Linux is concerned)
13:25:40  (the semantics being "this function is never called from another module, not even by function pointer")
13:25:57  the more common visibility(hidden) does not ban indirect calls by function pointer, so wouldn't allow an ABI change
13:26:02  int-e: yes, and those help with accessing a struct by the wrong type of pointer, they aren't enough to pass structs by value, only for passing structs by pointer
13:26:04  But I think it's still fair to say that the *intent* of standard-layout types is that their representation matches that of C.
13:26:18  and in fact, the documentation for visibility(internal) says that it's primarily useful to allow the optimiser to change the ABI
13:26:34  wib_jonas: that's fair but what's there is enough for interoperability
13:26:38  barely.
13:27:11 -!- amby has joined.
13:28:43  int-e: I guess the principle here is "what we have already necessarily works at least well enough to make writing software possible, otherwise we wouldn't have any software – but there is no guarantee that it works any better than that"
13:29:39  meanwhile, a bigger hole is atomic types. there are at least three sets of these, possibly more: the C atomics, the C++ atomics, and the rust atomics. the C++ and rust folks both always insist that you can do atomic access only on atomic types, don't even try to think of doing it on a value declared with an ordinary type. but the at least three
13:29:40  atomic types are different. so from rust code you can't directly access a C or C++ atomic variable, even though this is exactly the kind of low-level operation that you want to be able to do directly without calling an opaque wrapper function.
13:31:11  now admittedly the C++ atomics have different semantics in that std::atomic is a wrapper template that for sufficiently complicated values isn't lock-safe and basically translates to locking a value with an inter-thread mutex. but most of the time you use it for actual lock-safe atomics, and there's still no way to share those between C++ and rust.
13:31:35  rust is working on it, https://github.com/rust-lang/rust/issues/76314
13:32:02  ideally I'd want not only that but inter-thread mutexes and condition variables that you can access between languages, but that's harder to solve.
13:32:06  int-e: ooh, let me look at that
13:32:14  [[ToArrowScript]] N https://esolangs.org/w/index.php?oldid=151861 * Cycwin * (+3920) Created page with "ToArrowScript(or TAS, AS) is a language created by [[User:Cycwin]].This language is partly inspired by the => (arrow) symbol in JavaScript. == Syntax of TAS == Use the ampersand symbol to separate each line of command.  Each command is composed in a format similar 
13:33:00  from the Rust documentation, this seems to be the incompatibility: "Since atomic loads might be implemented using compare-exchange operations, even a load can fault on read-only memory."
13:33:38  int-e: ah yes, they're working on accessing non-atomic variables atomically. but that's still some low-level magic that I rarely want to touch, I'd prefer to just have, uh, "high level" atomic types that I can use from both C++ and rust.
13:33:42  [[User:Cycwin]]  https://esolangs.org/w/index.php?diff=151862&oldid=151442 * Cycwin * (+17) 
13:34:22  ais523: I see
13:34:28  it's unclear to me how a load could be implemented using compare-exchange unless you have a separate version number / timestamp field that acts as the atomic version of a lock, to ensure that the value hasn't changed, and even then I'm not sure how writes would work
13:34:33  wib_jonas: well if you're paranoid about it, you have to do it all in C and access it through FFI.
13:34:55  because there's no guarantees that link atomic access in C to atomic access in the other languages
13:35:22  but realistically, you can share locations by going through a pointer to the underlying non-atomic value and it'll work
13:35:43  And that RFC / nightly feature allows you to do that.
13:36:50  (if there are such guarantees and I've missed them I'm all ears)
13:37:51  int-e: yes, no guarantees so it's fine if the current types can be different. but rust could define a new library type that is guaranteed to be the same as C atomic_uintptr_t, and another library type that's the same as C++ std::atomic, and similar for atomic bools and atomic 32-bit integers.
13:37:51  this comment explains what's incompatible on the C++ side: https://github.com/rust-lang/rust/issues/76314#issuecomment-955150595
13:38:20  it does not reasonably seem possible to be compatible with that behaviour while maintaining a reasonable API
13:41:36  ooh, a discussion lower down there possibly answered a question I've been wondering about for a while: how to safely read from map-shared memory in Rust, RalfJung said you can do it via an &UnsafeCell which is an option I hadn't thought of but makes a lot of sense
13:41:50  (raw pointers work too, obviously)
13:42:22  Goddamnit Firefox. Please say that the certificate is expired (and when) instead of "The website is either misconfigured or your computer clock is set to the wrong time."
13:43:06  ais523: that comment is talking about the C++ library type atomic_ref which is so new that I hadn't even heard of, and you C++ already had way to handle atomic pointers before that, with std::atomic
13:44:07  ah, C++ changes the official way to do things so often that I just assumed it was the only/standard way nowadays
13:44:37  it might be convenient, I don't know that
13:45:29  I don't even insist on the specific C and C++ types that I mentioned earlier. Figure out some semantics that you can support natively in all three, and if it needs to use new types that's fine too.
13:46:08  one of my desires for Rust is a function read_race that takes in a raw pointer, and reads the value there into a MaybeUninit, but is not UB if the memory is mutably referenced or being concurrently changed by another thread (rather, it returns uninitialised data in that case)
13:46:44  I think this is required for certain atomic algorithms to work correctly – if your algorithm is lock-free you can't make any guarantees about what other threads might do with the memory, but you can check after you read it to see if any other thread wrote it or not
13:46:59  But the plus side is that a few years ago we had the same problem if you want to pass xmm/ymm vector types by value to a function, but that is now solved, rust has a stable way to represent those (with possibly some remaining issue concerning the two bits concerning denormals in the xmm floating-point status registers)
13:47:11  so the idea is, you read it first (without looking at the value), then do some checks of atomic variables to see whether or not you read a usable value or not, if you didn't you discard it
13:47:23  I don't think it's possible to do that in Rust atm without UB or inline asm
13:47:36  Anyway. I doubt this will ever happen for C++'s atomic types, but maybe C's atomic types have a chance.
13:48:10  ais523: hmm...
13:48:31  int-e: fwiw, Rust doesn't appear to have a rule against doing atomic accesses to non-atomic memory – just to have a rule against mixing atomic and non-atomic accesses to the same memory, which is currently enforced by making atomic and non-atomic memory different
13:48:43  Rust is still fairly young (quite a few details aren't fully fleshed out), and from what I've seen they care about interoperability with C.
13:49:01  ais523: Yeah, that too.
13:49:36  this makes it likely that Rust atomics can be made compatible with C atomics, although it'll probably rely on a lot of unsafe
13:49:45  int-e: C's atomic types could be kind of fine, because I think you can access those from C++, even if it's not quite standard C++, but it works just as well as accessing unix system calls from C++
13:50:21  int-e: exactly, I see lots of examples of rust getting improved, which is what makes me want to invest more in it, because I know it will be better in the future;
13:51:06  and they care about compatibility between versions of rust, even when this costs significant time for the compiler developers, so they can actually improve a lot of things that aren't currently supported even when they seem to require breaking changes\
13:53:07  ais523: re access any memory atomically as long as all accesses to it are atomic => that does actually sound similar to the other parts of rust memory model
13:55:48  ais523: is that read_race thing that you mention possible in C or C++ with their modern memory models?
13:56:15  wib_jonas: I assumed it would be legal in C with just a regular read, but am not 100% certain
13:56:35  obviously C doesn't care about the value being mutably referenced, but it might care about it being changed by another thread
13:56:44  yeah
13:56:45  actually I think that probably is UB in C
13:57:16  which doesn't really have a distinction between "you get UB" and "this isn't undefined behaviour but you read garbage data"
13:58:04  C doesn't have that distinction?
13:59:05  well, it does to some extent, I think there are places in the C standard where it says "the value might be a trap representation", which is very close
13:59:41  but it doesn't like making assumptions about, e.g., which values for pointers might crash the program merely by being stored in a pointer register, even if you don't use them
14:00:00  you can probably get reasonable guarantees for unsigned integer types, but likely not anything else
14:04:01  I see, so you're saying that C doesn't like to say that you get garbage data, it says either that you get UB, or that you get a valid but unpredictable value?
14:16:28 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:16:33  wib_jonas: you have language like "If there is ambiguity about which side effect to a non-atomic object is visible, then there is a data race and the behavior is undefined." or "Any [...] data race results in undefined behavior."
14:19:25  oh I see! so that discussion thread that ais523 linked to about rust atomics, what it says is that on x86_32, u64 is only aligned to 4 bytes, but atomic u64 must be aligned to 8 bytes, so you can't have an API that lets you access any &mut u64 atomically, even if you guarantee that that's not concurrent with normal non-atomic accesses. that makes
14:19:25  sense.
14:19:27  And "undefined behavior" is basically limitless.
14:23:47  wib_jonas: right, "atomic u64 must be 8-byte aligned" is a processor rule on the x86 series (this affects both x86 and x86-64, but it doesn't matter on typical x86-64 ABIs because u64 is 8-byte-aligned there anyway)
14:24:18  and the rule makes sense because the processor is only able to atomically access a single cache line at a time, so it requires the data to be naturally aligned to guarantee that it exists within a single cache line
14:25:09  atomic u128 is 16-byte aligned on x86-64 for the same reason, and is one of the only commands that requires aligned data and doesn't have a matching command that works on unaligned data
14:26:01  (x86-64 has some aligned-only memory copy instructions for backwards compatibility, but they're no more efficient than the unaligned memory copy instructions are at operating on aligned data)
14:27:26  yeah
14:27:45  it's actually an interesting question as to whether compilers should generate aligned or unaligned memory copy instructions; I think the current consensus is "if you know it's aligned, generate an aligned instruction as a free assert"
14:29:37  that could even depend on whether you're reading or writing
14:29:57  ok, maybe not
14:30:24  well, it's usually desirable for a program to crash on invalid inputs, rather than try to process them anyway, although it depends somewhat on the purpose of the program
14:32:28  I usually program in fields where fail-fast is definitely what you want, though
14:35:48  wib_jonas: Oh I should've mentioned that the second quote about data races was about mixing atomic and non-atomic operations on atomic types. So rather than "one of the written values" or "an unspecified value" you potentially get arbitrary behavior from the program.
14:50:15  [[Pointing]]  https://esolangs.org/w/index.php?diff=151863&oldid=151693 * Calculus is fun * (-2) Changed xor symbol
14:54:14  [[ToArrowScript]] M https://esolangs.org/w/index.php?diff=151864&oldid=151861 * Cycwin * (+28) /* Syntax of TAS */
15:00:21  [[ToArrowScript]] M https://esolangs.org/w/index.php?diff=151865&oldid=151864 * Cycwin * (+26) /* Syntax of TAS */
15:00:30  The C standard does make the distinction between /undefined behavior/ ("this International Standard imposes no requirements") and /unspecified behavior/ ("this International Standard provides two or more possibilities and imposes no further requirements on which is chosen"). And there are some instances when you get an /unspecified value/, which cannot be a trap representation.
15:00:40  (Such as C11 6.2.6.1p6: "When a value is stored in an object of structure or union type -- the bytes of the object representation that correspond to any padding bytes take unspecified values.")
15:01:16  Trap representations themselves are technically only "safe" (i.e., not undefined) for character types; other integer types (even unsigned) would be allowed to have combinations of padding bits that would trigger fully undefined behavior when accessed.
15:01:32  (C11 6.2.6.1p5: "If the stored value of an object has [a trap] representation and is read by an lvalue expression that does not have character type, the behavior is undefined.")
15:02:10  There's also an interesting quirk in that reading an uninitialized variable doesn't merely produce something that might be a trap representation (which would render it "okay" for character types), but is explicitly undefined behavior, but only for a subset of situations.
15:02:18  (C11 6.3.2.1p2: "If the lvalue [undergoing lvalue conversion] designates an object of automatic storage duration that could have been declared with the `register` storage class (never had its address taken), and that object is uninitialized --, the behavior is undefined.")
15:02:36  [[Pointing]] M https://esolangs.org/w/index.php?diff=151866&oldid=151863 * Calculus is fun * (-3) /* Instructions */
15:03:16  fizzie: which one is it when you convert an integer to a smaller signed integer type that it overflows?
15:04:51  That's the *third* kind, /implementation-defined/, which is the same as unspecified except that the implementation is required to document how the choice is made.
15:04:55  (C11 6.3.1.3p3: "Otherwise, the new type is signed and the value cannot be represented in it; either the result is implementation-defined or an implementation-defined signal is raised.")
15:05:21 -!- tromp has joined.
15:06:12  That's also an interesting edge case in itself: a *conversion* result that cannot be represented is implementation-defined, while a result of an arithmetic operation (of a signed integer type) that cannot be represented in its type is undefined behavior.
15:06:17  some arithmetic like those integer conversions, shifts, and float to integer conversions get tricky. I think there are differences between C and C++ and between older and newer versions of C++. Conversion to a smaller integer type at least has an easy workaround: I always just convert to the same sized unsigned type first, and from that to the
15:06:18  unsigned type, because both of those steps are well-defined with the expected result.
15:08:40  @seen fungot
15:08:40  I saw fungot leaving #esolangs 1d 14h 43m 43s ago.
15:09:14  There's a similar implementation-defined vs. undefined dichotomy in (C) bitwise shift operations, where `E1 << E2` is undefined behavior if E1 has a signed type but a negative value, but `E1 >> E2` has an implementation-defined result.
15:09:31  . o O ( you're playing with fire if you're mixing singed types with unsinged types )
15:09:52  so C++20 changed conversion to a smaller signed type well-defined, probably because they already started to require two's complement types, and every two's complement implementation already does this, and there's an easy but silly workaround already.
15:10:23  wib_jonas: hmm, which workaround are you thinking of?
15:10:25  Oh, right, I forgot about fungot. There was a brief internet outage at home the other day.
15:10:47  I cam think of a few possibilities but am not 100% confident in which of them would be legal
15:10:50  * I can
15:10:53  (Or technically it was "planned maintenance", though they didn't actually bother to let me know in advance.)
15:11:03  ais523: convert to the same sized unsigned type first. so instead of (int32_t)x write (int32_t)(uint32_t)x, and similarly for 16-bit or 8-bit
15:11:36  this is assuming that x is an integer type
15:12:19  wib_jonas: big-unsigned-to-small-signed casts are defined even if they overflow?
15:12:30  oh, wait, other way roudn
15:12:38  you're casting to small unsigned and then to small signed
15:12:42  yep, that works I think
15:12:54  (assuming 2's complement)
15:13:43  yes, x can be either signed or unsigned. it needn't be bigger, but the hard case is when it's bigger, sometimes I just want to write code that works regardless of what size long x is.
15:13:49 -!- fungot has joined.
15:15:04  fungot: welcome back
15:15:05  ais523: you press f7 to use it,
15:16:04  Hmm, I do wonder what "it" was in that.
15:17:17   You press F7 to use it, F6 to resotre the keybindings.
15:18:39  Apparently some sort of ELisp module for structural editing of Scheme code (or S-expressions in general, perhaps).
15:19:27  also the standards say that if you convert from floating-point type to integer type then an overflow is undefined behavior. the partial workaround for that is to call the lrint or llrint functions. but that doesn't let you convert to an unsigned integer type, and doesn't let you convert to int32_t when long is 64 bits long (as in on linux x86_64)
15:23:24  this does come up kind of often and is annoying. another workaround is to clamp the floating point value to some range before I convert.
15:25:34 -!- wib_jonas80 has joined.
15:28:10 -!- wib_jonas has quit (Ping timeout: 240 seconds).
15:35:17 -!- b_jonas has quit (Killed (NickServ (GHOST command used by wib_jonas80!~wib_jonas@business-37-191-60-209.business.broadband.hu))).
15:35:21 -!- wib_jonas80 has changed nick to wib_jonas.
15:36:47 -!- craigo has quit (Quit: Leaving).
15:41:43  hmm. lrint and llrint has the semantics that if there would be an overflow then you get a valid but implementation-defined value. this can be useful. I wonder if there's an interface to do the same in rust. rust has changed the `as` operator so that if you use it to convert from floating-point to integer it guarantees correct rounding towards zero
15:41:43  even on an overflow, which is nice, but it can come with a runtime penalty. x86 has the SSE2 instruction CVTPD2DQ to convert double to int64_t but it doesn't have this semantics: a positive overflow returns INT64_MIN rather than the correctly rounded INT64_MAX.
15:43:27  oh, and the CVTPD2DQ instruction also rounds according to the rounding mode in the XMM status word, while the rust `as` conversion rounds towards zero, so they're different even without underflow.
15:46:11  this will be partly solved in future x86 by AVX512 providing a higher variety of floating point to integer conversion instructions.
15:46:25  but apparently floating point to integer conversion is still a partly unsolved problem.
15:48:58  TIL (I think I knew this, but had forgotten): while `ls -l` lists the logical file sizes, `ls -sh` lists the size required on disk, which may be quite different (with holes, but also with ZFS datasets with compression enabled).
15:49:01  Got a little confused by this file that was alternatingly showing up as 743243776 and "407M".
15:49:48  yes, and du -a also lists the size required on disk (or at least what the file system driver lies about it, I think for modern file systems the size required on disk isn't really well-defined)
15:52:33   a positive overflow returns INT64_MIN rather than the correctly rounded INT64_MAX ← does a negative overflow do that too? if so, it almost looks like it's using the "INT_MIN Is a sentinel value and not part of the integer range" convention
15:53:32  yes, it uses INT_MIN to indicate overflow in either direction
15:54:01  I'm reminded of a (separate) discussion about float-to-smaller-float conversions, talking about whether the rounding mode should affect whether an out-of-range finite value rounds to the largest finite value or +inf
15:57:09  slightly related but more obscure is https://www.exploringbinary.com/numbers-greater-than-dbl-max-should-convert-to-dbl-max-when-rounding-toward-zero/ about scanning a decimal string to floating-point and how it handles an overflow
15:57:43  maybe that's what I was thinking of
15:58:44  the other way you can get wrong results for overflow faster is when you want to convert from double to 32-bit int but the CPU only has instructions to convert double to 64-bit int, so you just use that and then truncate the integer.
15:59:03  I think that's still the case in AVX512 but I'm not entirely sure
15:59:48  I also don't understand how you're supposed to convert from float to int64_t on x86. do you have to upgrade to double?
16:03:40  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151867&oldid=151836 * H33T33 * (+154) /* Introductions */
16:04:26  hold on!
16:04:43  is there an easy way to print a float as a hexfloat in Perl?
16:04:57  I could probably figure out a difficult way involving multiple calls to pack and unpack
16:05:20  I was wrong above. so the SSE2 instruction CVTPD2DQ actually gives not INT_MIN but -1 on an onverflow.
16:05:31  overflow
16:05:55  -1 isn't a very sensible overflow result unless it is outputting unsigned integers
16:07:33  the docs do say that the result is all-bits-1 if a floating-point invalid exception is raised and masked, though
16:07:39  and the AVX512 floating point to integer instructions also all give -1 on overflow in any direction if I am reading the intel manual right
16:07:50  you do have CVTPS2SQ for converting single-precision floats, though
16:08:13  wib_jonas: for floats, -1 or all-bits-1? those are different for floats I think
16:08:35  I'm talking about floating point to integer conversion, you get an integer -1
16:09:25  ah, you said "in any direction" but you were talking about positive vs. negative overflow, not float-to-int vs. int-to-float
16:09:57  and I think I'm fine with this, because I think most of the time when I want a floating point to integer conversion I'm okay with an implementation-defined result (but not an UB) for overflow. if I want a well-defined result then I'm probably going to clamp the floating-point to some specific range that is usually smaller than the size of the
16:09:57  integer type that I'm using
16:10:05  yes, sorry, it's overflow with any sign
16:10:46 -!- wib_jonas29 has joined.
16:10:52  there's also CVTTPD2DQ which appears to be the same instruction with more sensible overflow behaviour?
16:11:04 -!- wib_jonas29 has changed nick to b_jonas.
16:12:13  ais523: not as far as I understand.
16:13:06  well, the differences are a) overflow behaviour, b) CVTT is always round-to-zero and ignores the floating-point status word
16:14:06  I am wondering if CVTPD2DQ's overflow behaviour is a typo that ended up getting implemented, it says 2w-1 but that may have originally been a typo for 2w-1
16:14:12  as I see, there's a full set CVT{T,}PD2{DQ,UDQ,QQ,UQQ} to convert double to any of those four integer types, and they all give integer -1 result on an overflow. CVT{T,}PD2DQ is old, it's from SSE2, while the other six are from AVX512 but they form a consistent full set. the extra T means that it ignores the rounding mode from the status bit and
16:14:12  always rounds towards zero, but that's only when there's no overflow
16:14:40 -!- wib_jonas has quit (Ping timeout: 240 seconds).
16:14:53 -!- b_jonas has changed nick to wib_jonas.
16:15:00  oops
16:15:06  I'm not supposed to be b_jonas from this connection
16:15:12   If a converted result is larger than the maximum signed doubleword integer, the floating-point invalid exception is raised, and if this exception is masked, the indefinite integer value (80000000H) is returned.
16:16:11  CVTPD2DQ also specifies its error return value as "the indefinite integer value", but defines it as 2w-1
16:16:21  what the
16:16:24  which would be a weird use of "the" if they're both intentional
16:16:46  so out of the eight instructions that convert from double to some integer type, *one* gives a different result on overflow?
16:17:25  CVTTPD2DQ also uses the 0x80000000 return
16:17:36  in addition to CVTTPS2DQ
16:18:04  yes, I said the eight instructions that convert from double, so I didn't look at CVTTPS2DQ
16:18:10  ah, right
16:18:13  eight conversions from double was already enough to look up in the manual
16:18:17  the others are documented as 2w-1
16:18:33  I do care about the float to integer conversions too but I can't turn the virtual pages of the manual fast enough
16:18:41  I think it's probably worth trying these out on an actual processor (but I don't have one that runs AVX-512)
16:19:14  it's a little nontrivial to run arbitrary asm and print the result, maybe a C wrapper would be easiest
16:19:38  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151868&oldid=151851 * Ractangle * (+18) 
16:20:01  anyway, to me, the only logical explanation is that the documentation is a typo for 2w-1 but I don't know whether the typoed version got implemented or not
16:20:12  gcc and clang might know anyway, don't they compile intrinsics for future AVX512 code into equivalent (but possibly slow) code that works on the older target CPU?
16:23:09  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151869&oldid=151868 * Ractangle * (+54) 
16:23:10  if gcc/clang doesn't know then the other place to look at is in an AMD manual
16:23:56  in theory qemu should know too but I know it has bugs about modern x86 floating-point operations so I don't trust it
16:26:04  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151870&oldid=151869 * Ractangle * (+26) 
16:26:15  wib_jonas: cvtpd2dq returns INT_MIN on overflow (despite the documentation), I just tested
16:26:31  did you test with both signs?
16:27:15  no, give me a moment
16:27:35  OK, tested with both signs, INT_MIN in both cases
16:27:35  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151871&oldid=151870 * Ractangle * (+0) 
16:27:43  I would have been surprised if they were different
16:27:53  I think the documentation is just typoed
16:28:13  hmm, we should download the latest update to the manual first
16:28:28  I'm looking at one from 2023-12
16:28:48  webpage is https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
16:29:44  something else is bothering me a lot – the conversion produces 32-bit numbers, so why does the name end in DQ?
16:30:13  I guess it's D for 32-bit and the Q means something else?
16:30:41  huh... good question
16:30:55  [[Topple]] N https://esolangs.org/w/index.php?oldid=151872 * H33T33 * (+3681) Created page with "Topple is developed in C. The entire language is made up of single characters.  Topple (conditionally) ignores whitespace, which means you can cram everything into one line. Good luck with that though. ==Overview==  {| class="wikitable" !Command !Description !Example !Out
16:31:04 -!- Lykaina has joined.
16:32:37  i just thought up a funge/forth hybrid with 8836 possible commands
16:32:56  need to learn forth first though
16:33:01  I was impressed with gcc allowing me to take an integer from an xmm register, anyway
16:33:29  I'm testing using this (+ a stdio.h include): int main(void) { double d=-1e10; unsigned long long i; asm("cvtpd2dq %1, %0" : "=x" (i) : "x" (d)); printf("%llu\n", i); }
16:34:45  https://github.com/memesmith0/mcr4
16:35:08  Lykaina: I have a suspicion that esolang ideas that require learning Forth first are likely to be interesting
16:36:01  I meant I need to learn Forth
16:36:50  and the other weird part is that the double to int32_t conversion instructions are lane-crossing, they convert four doubles in a YMM register to four int32_t in the bottom half of a YMM register, or eight doubles in a ZMM register to eight int32_t in the bottom half of a ZMM register. x86 usually tries to avoid that.
16:37:09  OK, that is weird
16:37:34  8836 = 94^2
16:37:42  having some lane-crossing instructions is useful, but they are slower so it generally makes sense to only lane-cross when explicitly requested to
16:37:44  it's possible that I'm reading the ZMM case wrong, the description is confusing, so don't trust me
16:38:55  and I haven't checked all the tons of instructions -- apparently all combinations of {float16, float, double} to {int32, uint32, int64, uint64} with {current rounding mode, truncated} exist, plus AVX512 adds its stupid extra tricks over that
16:40:42  "allowing me to take an integer from an xmm register" => SSE2 is actually designed to try to make that easy and I like that
16:42:15  I'm not surprised that the processor allows it (I knew it did), but i was surprised that gcc inserted the conversion for me
16:43:16 -!- Celeo has joined.
16:43:31  i can't believe raspberry pi thinks they will be making the 32-bit rp2350 in 2045. nothing 32-bit will survive 2038
16:43:59 -!- Celeo has quit (Client Quit).
16:44:14 -!- Celeo has joined.
16:44:35 -!- Celeo has quit (Client Quit).
16:44:54 -!- Celeo has joined.
16:45:12  Lykaina: you can (and should) use 64-bit time_t on 32-bit systems
16:45:28  point taken
16:45:33  I don't know whether that's the default yet, but it really should be
16:47:00  so many programming languages will have to have their time libraries changed from outputting a long to outputting a long long
16:48:57  if they haven't done so already
16:50:18  brb
16:50:45  glibc has a _TIME_BITS define that controls the size of time_t
16:52:19  back
16:53:52  [[Topple]]  https://esolangs.org/w/index.php?diff=151873&oldid=151872 * H33T33 * (-54) Topple Esolang Info
16:56:16  [[Scoop]]  https://esolangs.org/w/index.php?diff=151874&oldid=96633 * Anthonykozar * (-2) Remove the header before the introduction plus some light editing for readability.
16:56:26  hmm no avx512 here to test
16:56:29  64-bit time_t is the default for newer distributions, but I think the kernel and libc folks had to do the transition without having to recompile every program and library immediately
16:59:02  i built a router
16:59:54  out of an N100 w/ 16 GiB ram and OpenWRT's x86-64 build
17:00:17  got sick of replacing them
17:00:31  it's kind of a similar problem to what largefiles (64-bit file offsets for seeking and 64-bit file sizes for statting) used to be
17:05:59  But I can conclude that the documentation of CVTSS2SI with a 64 bit target is wrong.
17:06:02 * int-e shrugs
17:06:25  These instruction sets are such a mess.
17:08:37  int-e: isn't CVTSS2SI an mmx-only instruction and so almost obsolete now?
17:09:34  I'm more interested about the SSE2/AVX512 instructions like CVT{,T}{PS,PD}2{DQ,UDQ,QQ,UQQ}
17:15:28  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151875&oldid=151871 * Ractangle * (+19) 
17:15:46  I'm almost happy to let MMX die, and I think its only remaining applications are esoteric only
17:20:51  Debian had a big "t64 transition" to move to 64-bit `time_t` on 32-bit platforms last year.
17:22:09  It generated a lot of noise also on 64-bit platforms because of some quirk of Debian package management, something around library sonames having to be identical across ports and needing them to change on the 32-bit ones to enable a more gradual migration.
17:22:52  https://wiki.debian.org/ReleaseGoals/64bit-time has some details in case anyone's curious.
17:24:08  Oh, they didn't actually do it for i386 (on the basis that it exists mostly to run old 32-bit binaries, and that wouldn't really work if they made a big ABI change like that).
17:25:40  fizzie: really? I assumed they did it for x86_32 but in a way where macros or other magic dispatch everything to either 32-bit or 64-bit time depending on some compile-time options
17:25:48  wib_jonas: It's the only instruction with a 64 bit target that I have :P CVTPS2DQ also uses 0x80...00
17:25:57  but x86_64 at least had 64-bit time_t from the start, right?
17:28:00  and VCVTPS2DQ is the same too
17:28:21  (tbh it would be insane to change that between sse2 and avx)
17:28:24  Yes, x86-64 (or amd64 as Debian calls it) was 64-bit from the start.
17:28:56  As for i386, what they say is: "The i386 port will be left with the existing 32-bit time_t, as a compatibility architecture for existing x86 binaries. A new 'i686' x86 ABI/architecture using 64-bit time, and potentially newer ISA features, could be created if there was sufficient enthusiasm for dragging 32-bit x86 into its now very limited future."
17:29:02  (And also: "i386 is 32-bit but has been excluded from the 64-bit time_t transition because its major purpose this decade is running legacy 32-bit binaries, a purpose that would no longer be possible if it broke ABI"0
17:29:30  I'm kind of expecting that by the time time_t overflows 31 bits there won't be any x86_32 systems around, but there will still be file system formats and other binary formats that have 32-bit time_t type fields, or other representations of time that will overflow. In particular FAT has a time that will overflow several decades after this problem,
17:29:30  but I'm not sure when FAT will ever be gone, because all the cameras and mobile phones and cash registers etc still use FAT, but then that rollover is far enough in the future that it might not matter by that time.
17:29:51  wib_jonas: basically all the rest you're asking abouyt are avx512 so not available to me :P
17:30:12  wib_jonas: I imagine the U version actually use 2^w - 1.
17:30:22  rather than 2^(w-1)
17:30:34  I may try to look at that floating point to integer thing later, I can't at the moment
17:31:41  and meh I hate piecing together compiler intrinsics for these things
17:31:46  (it's so slow)
17:32:03  we'll be able to find someone on the internet who has a new enough intel CPU
17:33:28  wib_jonas: I'm not sure it's just "new enough", IIRC Intel aren't putting AVX-512 into even most of their new CPUs
17:35:34  [[User:Anthonykozar/Sandbox]] N https://esolangs.org/w/index.php?oldid=151876 * Anthonykozar * (+145) Testing for Markdown support
17:37:39  I think it's divided to three tiers, and some of these instructions, namely those that use YMM registers rather than ZMM, are available in the lowest tier, and new enough CPUs support those. Perhaps even more, just not at the full speed, in that the instructions with ZMM instructions work but you can't get the full speedup that you'd expect from a
17:37:39  CPU that's designed with 512-bit vectors from the start.
17:37:50  I mean AVX512 is divided into three tiers
17:40:17  but first I'll want to double-check the latest version of the intel manual, and look at whether there's an AMD manual that talks about this
17:40:44  obviously there must be for the SSE2 instructions at least
17:42:30  wib_jonas: https://int-e.eu/~bf3/tmp/avx512%3f.png -- it's even more complicated, see the footnote
17:43:27  (fairly recent SDM, I downloaded it in December)
17:49:32  int-e: yeah, it's complicated and the CPU architecture manual has to support the worst most complicated cases too, but I don't think that's a problem for such a test
17:50:08  sure. this was about the three tiers
17:51:01  yeah
17:52:33  "I hate piecing together compiler intrinsics for these things" => you could use inline assembly
17:56:07 -!- wib_jonas has quit (Quit: Client closed).
18:19:39 -!- chomwitt_alt has joined.
18:27:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:41:58 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:42:00 -!- Lord_of_Life_ has joined.
18:43:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:45:15 -!- tromp has joined.
18:55:03 -!- ais523 has quit (Quit: quit).
19:07:40  I gotta talk about mcr4
19:08:48  Go for it. I'd be interested in understanding the bigger picture.
19:15:19 -!- b_jonas has joined.
19:39:43 -!- Sgeo has joined.
20:15:44  mcr4 is a very lightweight reader macro system that lets you change the notation of languages like c# while the language is runnign live on the machine
20:16:14  it was designed  so that I could extend the notation of bash
20:16:26  I spent 12 years researching to develop it
20:22:44  mcr4 is based in posix compliant sh and awk so it runs on almost any machine out in the wild even routers with read only file systems and even in some bioses
20:23:12  it is similar to the idea of a very lightweight very portable version of gnu m4 only it has features that m4 seemingly does not
20:24:18  Is there a document?
20:24:51  no but I can answer questions about it
20:25:08  I have alot of experience tutoring in code I was a c++ tutor at everett community college
20:25:26  i teach people to code for fun
20:25:39  https://github.com/memesmith0/mcr4/blob/main/README.md
20:26:41  very very smol system
20:26:43 -!- chomwitt_alt has quit (Ping timeout: 244 seconds).
20:27:12  theres also this bad boy https://github.com/memesmith0/mcr
20:27:54  mcr is alot easier to grok than mcr4 but it isnt as performant or safe
20:33:48 -!- Lykaina has quit (Quit: Leaving).
20:34:42  what the first mcr does is put a line of awk between you and the terminal so that every line you type into the terminal passes through a line of awk before the terminal executes it
20:35:14  you can call mcr multiple times to cause your input to pass through awk multiple times. thus you can transform how the interpreter interprets things while ti is running
20:38:15  12 years of research and not a single example
20:38:17  lisbeths: you should probably write something about this on the esolangs wiki
20:38:35  but 4 versions in 2 days
20:38:50  if I write something I can give you license to use my text on the wiki
20:39:05  sure, that can work too
20:39:14  ive been codding all day every day for 4 weeks
20:39:24  i havent showered or shaved or changed my clothes
20:39:37  i havent slept in 2 days
20:39:47  that sounds like a bad idea
20:40:28  eh i am just focused on getting fastlisp done
20:40:39  it has thrown a wrench in my plants because I didnt expect to implement mcr
20:40:42  sorry? what is fastlisp
20:40:50  those poor plants
20:40:55  fastlisp is a lisp written in pure lambda calculus
20:41:05  it only consits of lambdas, strings, and comments
20:41:17  the specification fits into a qr code
20:41:23  the interpreter fits into the boot sector of a floppy disc
20:41:25  are there variables?
20:41:36  no there are only constants. but there is a way to simulate variables
20:41:58  that sounds like https://esolangs.org/wiki/Sectorlisp
20:42:17  its based on sectorlisp and is designed to be fully compatible with sectorlisp
20:42:23  it compiles to sectorlambda
20:42:25  wait, how do the lambda expressions work if there are no variables? that doesn't sound like lambda calculus
20:42:43  lambdas dont have variabesl they have constants
20:43:19  i guess you could think of them like variables
20:43:27  wait, so you do have variables that the lambdas abstract over, and functions that are closed over upvalues, you're just using strange terminology for them?
20:43:33  that sounds more reasonable
20:43:34  nah, the standard terminology is that lambda terms have variables; they can be bound or unbound; closed lambda terms only have bound variables
20:43:56  but I'm still confused about the "only consits of lambdas, strings, and comments"
20:44:09  yeah so
20:44:15  this comes from mathematics where variables aren't mutable
20:44:33  there is a sectorlisp-like way to code with lambdas where it works alot like scheme
20:44:39  its hard to describe in irc
20:44:48  I mean you could have a language that the value of an expression can only be a function or a string, but then how do comments come up?
20:46:02  in fastlisp version 5 comments are just lines that begin with #
20:46:11  are there any birds involved?
20:46:25  yeah I have the iota combinator tattoed on my arm
20:47:36  fastlisp isnt really ready to show whereas mcr and mcr4 are working 2day
20:47:51  I can show you some fastlisp sources
20:47:56  ``` welcome lisbeths # wow we really are magnets for strange people here
20:47:58  lisbeths: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
20:48:24  https://github.com/memesmith0/fastlisp/blob/main/celestial/holy9.fastlisp
20:49:03  fastlisp code fits into one of four categories; subterranian, terrestrial, telestial, and celestial
20:49:45  the entire haskell compiler should be dumpable directly into fastlisp
20:50:27  fastlisp has some of the smallest compiled file sizes in the world, so its kind of good as like an embedded haskell although thats not what its for
20:58:08  i would sho u my website which has some very homeschooled code but it is problematic
21:02:32  eh I guess i dont care view-source:https://podlife.neocities.org/
21:11:52  Is a remote proxy server available for connecting to TLS 1.3 from clients that do not support TLS?
21:23:49  int-e: Tangent: English doesn't have a good way to express the idea that an idea might have been slowly developing over the course of a long time, in small increments, without constant effort, I think.
21:24:33  ...Wait, I was going to phrase that as a question. But I don't remember how I was going to ask it.
21:25:15 -!- Celeo has quit (Ping timeout: 260 seconds).
21:27:01  zzo38: Like stunnel? Or the other direction?
21:30:20  korvo: I don't know what direction you mean. What I mean is that a remote computer might accept a unencrypted connection and then communicate with another remote computer securely, that requires TLS 1.3 (or other versions of TLS, or if they require older versions of SSL), even if the client does not support it.
21:31:29  Ah, I don't know of any public proxies like that.
21:47:20  IIRC, some HTTP proxy softwares support remote GET requests like 'GET https://example.org/ HTTP/1.1'. I haven't seen raw TLS though.
22:00:32  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151877&oldid=151875 * Aadenboy * (+130) add various places
22:06:42  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151878&oldid=151825 * Buckets * (+10) 
22:06:52  [[Language list]] M https://esolangs.org/w/index.php?diff=151879&oldid=151843 * Buckets * (+11) 
22:07:09  [[!@a*]] N https://esolangs.org/w/index.php?oldid=151880 * Buckets * (+1073) Created page with "!@a* (Pronounced Bang-at-a-star) is an Esoteric programming language created by [[User:Buckets]] in 2020 about shooting stars with guns. (Extinguished Stars = 0.) {| class="wikitable" |- ! Commands !! Instructions |- | ^ || Moves up the pointer of the list of Every single 
22:09:41  [[User talk:PrySigneToFry/Sandbox/Users that is also on other place]] N https://esolangs.org/w/index.php?oldid=151881 * Ractangle * (+199) Created page with "THERE IS A LITERAL BEEPBOX WIKI?~~~"
22:11:20  [[User talk:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151882&oldid=151881 * Aadenboy * (+338) yep!
22:22:20  [[User:PrySigneToFry/Sandbox/Users that is also on other place]] M https://esolangs.org/w/index.php?diff=151883&oldid=151877 * Aadenboy * (-42) might as well remove those if I don't use them
22:30:41  [[Topple]] M https://esolangs.org/w/index.php?diff=151884&oldid=151873 * H33T33 * (+0) 
22:47:01  [[Special:Log/newusers]] create  * Hotcrystal0 *  New user account
22:49:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:50:13  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=151885&oldid=151867 * Hotcrystal0 * (+285) 
22:50:45  [[User:Hotcrystal0]] N https://esolangs.org/w/index.php?oldid=151886 * Hotcrystal0 * (+225) Created page with "I'm User:Hotcrystal0. I have lurked the wiki without an account for some time, and several people I know from [https://conwaylife.com/forums/index.php the CGoL forums] are here. I want to create and add esolangs to this wiki."
22:52:01  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151887&oldid=151835 * Hotcrystal0 * (-40) I have an account now.
22:52:43  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151888&oldid=151887 * Hotcrystal0 * (+2) 
22:54:22  [[Anti-Plushie language]]  https://esolangs.org/w/index.php?diff=151889&oldid=150738 * Hotcrystal0 * (+34) Adding a missing category
22:56:21 -!- Celeo has joined.
22:59:42 -!- ais523 has joined.
23:11:43  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151890&oldid=151888 * Hotcrystal0 * (+569) Added more commands
23:44:16  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151891&oldid=151890 * Hotcrystal0 * (-2) 
23:49:29  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151892&oldid=151891 * Hotcrystal0 * (+475) 
23:57:28  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151893&oldid=151892 * Hotcrystal0 * (+126) 
23:57:52  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151894&oldid=151893 * Hotcrystal0 * (-6) 
23:58:03 -!- Celeo has left.

2025-02-14:

00:05:49  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151895&oldid=151894 * Hotcrystal0 * (+67) 
00:16:35  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151896&oldid=151895 * Hotcrystal0 * (+145) 
00:36:47 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
00:39:03  [[User:I am islptng]]  https://esolangs.org/w/index.php?diff=151897&oldid=151545 * I am islptng * (+48) /* My esolangs */
00:42:09 -!- nitrix has quit (Remote host closed the connection).
00:42:35  [[User:I am islptng/List of the users that is also in conwaylife.com]]  https://esolangs.org/w/index.php?diff=151898&oldid=151020 * I am islptng * (-515) Blanked the page
01:47:25  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151899&oldid=151883 * PrySigneToFry * (+0) Fixed account
01:50:08  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151900&oldid=151899 * PrySigneToFry * (+22) 
01:53:28  [[User:Aadenboy/Draft]]  https://esolangs.org/w/index.php?diff=151901&oldid=149690 * Aadenboy * (-1580) stepmania-inspired language concept
01:59:51  [[Translated ZhongWen/PSTF Again ]] N https://esolangs.org/w/index.php?oldid=151902 * PrySigneToFry * (+5994) Created page with "1. [[Translated ZhongWen/islptng Zwei|]]Special:Contributions/PrySigneToFry|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F  ?~#?~nD
02:00:33  [[Translated ZhongWen/Mihai Again Chapter XI]]  https://esolangs.org/w/index.php?diff=151903&oldid=151857 * PrySigneToFry * (+43) 
02:04:12  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151904&oldid=151896 * PrySigneToFry * (+372) 
02:05:12  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151905&oldid=151904 * PrySigneToFry * (+35) 
02:07:01  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151906&oldid=151551 * I am islptng * (+596) /*  */
02:07:40 -!- ais523 has quit (Quit: quit).
02:16:22  [[User:I am islptng/Sandbox]]  https://esolangs.org/w/index.php?diff=151907&oldid=151795 * I am islptng * (-1895) Blanked the page
02:22:10  [[User:I am islptng/Game:Nonsense]] N https://esolangs.org/w/index.php?oldid=151908 * I am islptng * (+1927) Created page with "I personally think that spaghetti should be mixed with #42 concrete, because the length of screws can easily affect the excavator's torque. When you strike it in, it will instantly produce a large amount of high-energy proteins, known as UFO
02:23:51  [[Translated ZhongWen/islptng Zwei]]  https://esolangs.org/w/index.php?diff=151909&oldid=151856 * I am islptng * (-1412) 
02:53:46  [[List of ideas]]  https://esolangs.org/w/index.php?diff=151910&oldid=150727 * Gilbert189 * (+153) /* Partially Silly Ideas */
03:08:17  [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=151911&oldid=151064 * Aadenboy * (+26) /* anything else */
03:12:16  [[User talk:PrySigneToFry]]  https://esolangs.org/w/index.php?diff=151912&oldid=151906 * PrySigneToFry * (+849) 
03:19:04  [[Translated ZhongWen/PSTF Again ]]  https://esolangs.org/w/index.php?diff=151913&oldid=151902 * PrySigneToFry * (+10) 
03:21:25  [[Topple]] M https://esolangs.org/w/index.php?diff=151914&oldid=151884 * H33T33 * (+5) 
03:59:44  [[User:Yunasha Hotora]] N https://esolangs.org/w/index.php?oldid=151915 * Yunasha Hotora * (+145) Created page with "Yunash Hotor Ushiyra / Atash Newurashka  16 | 26 Feb 2008  ADHD Stuff: - Conlang - Esolang - Worldbuilding - Architecture - Music - Art"
04:04:53  [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]]  https://esolangs.org/w/index.php?diff=151916&oldid=151842 * PrySigneToFry * (+90) 
04:05:05  [[User:Yunasha Hotora]] M https://esolangs.org/w/index.php?diff=151917&oldid=151915 * Yunasha Hotora * (+60) 
04:06:08  [[User:Yunasha Hotora]] M https://esolangs.org/w/index.php?diff=151918&oldid=151917 * Yunasha Hotora * (+21) 
04:06:51  [[User:PrySigneToFry/Sandbox/Users that is also on other place]]  https://esolangs.org/w/index.php?diff=151919&oldid=151900 * PrySigneToFry * (+28) 
04:14:43  [[User:Yunasha Hotora/Sandbox]] N https://esolangs.org/w/index.php?oldid=151920 * Yunasha Hotora * (+301) Created page with "=Header i guess=  
 code (code=code; code++){     code.Code(code["code"]);     code{[code, code - code] -> (         code[code] = code;         code (code == code) {code | code};     )}; } 
{| ! Header 1 !! Header 2 |- | Row 1, Cell 04:18:25 [[User:Yunasha Hotora/Sandbox]] https://esolangs.org/w/index.php?diff=151921&oldid=151920 * Yunasha Hotora * (+9) 04:18:57 [[Topple]] M https://esolangs.org/w/index.php?diff=151922&oldid=151914 * H33T33 * (+0) 04:19:57 [[Topple]] M https://esolangs.org/w/index.php?diff=151923&oldid=151922 * H33T33 * (+15) 04:21:31 [[User:Yunasha Hotora/Sandbox]] M https://esolangs.org/w/index.php?diff=151924&oldid=151921 * Yunasha Hotora * (+101) 04:23:45 [[Topple]] M https://esolangs.org/w/index.php?diff=151925&oldid=151923 * H33T33 * (-59) 04:35:28 -!- lisbeths has quit (Quit: Connection closed for inactivity). 04:37:33 [[Tri-Tru-Eso]] N https://esolangs.org/w/index.php?oldid=151926 * Yunasha Hotora * (+291) Created page with "{{Stub}} ''Not to be confused with [[Tri]].'' Tri-Tru-Eso is an esolang created by [[User:Yunasha_Hotora]]. Originaly uploaded to [https://github.com/Yunasha/tri-tru-eso Github] at July, 2024. [[Category:2025]] =External Links= * [https://github.com/Yunasha 05:05:17 [[ToArrowScript]] https://esolangs.org/w/index.php?diff=151927&oldid=151865 * Cycwin * (+227) /* Examples */ 05:06:33 [[ToArrowScript]] M https://esolangs.org/w/index.php?diff=151928&oldid=151927 * Cycwin * (+9) /* Calculate 5! */ 05:30:40 -!- chomwitt_alt has joined. 05:35:55 korvo: I'm arguably being a bit snobbish and mincing words... all I can think of is the cooking idiom (an idea has been simmering for a while). And I'd prefer "study" over "research" if it includes learning basics. 05:37:57 korvo: I really mind the total absence of even a single example though, because that would make the details of the code much easier to grasp. The general gist of it is... kind of boring I think. More or less: Meta programming in a language that has an eval builtin. 05:40:16 Why do the struct types have to be the same by token by token? I should think that using different tokens should sometimes be acceptable, e.g. if the number of elements in an array is written as 1+1 or as 2 then it should be considered to match, isn't it? (Debugging information might be different maybe (I don't know), but that should not affect the execution of the program.) 05:42:07 int-e: Oh, I think it's a completely reasonable complaint about English. It had occurred to me that e.g. Lojban has {ru'inai}, a time tense which indicates gaps, pauses, discontinuities. It's a good match for projects which are completed at a rate of weekends/year. 05:42:21 C wants to give compiler writers maximal freedom... so if they want to align each member at a 16 byte boundary, that's fair game. 05:43:21 korvo: the "snobbish" part alludes to having been in academia which comes with a fairly narrow idea of "research". The use of the word has become quite a bit wider to the point where reading a news article is included :P 05:44:15 Aha. 05:45:23 So, I agree that it's boring, but I think metaprogramming is still quite cool in general. What bores me about SectorLisp is that its size limitations ensure that it can't have any interesting codegen. There's no magic wand that will fit all of the complexity of 6502, let alone any of its x86 children, into a single sector. 05:46:11 I think it's valuable to be small, but also valuable to use all of the different parts of the CPU. If a compiler wants to omit part of an ISA, then I think it ought to show that some other part of the ISA dominates it. 05:47:08 I also am not super-thrilled about Lisp semantics, but that's asking for the argument clinic. 05:47:58 -!- chomwitt_alt has quit (Ping timeout: 265 seconds). 05:49:24 korvo: I guess I'm too affected by the fancy word soup used to advertise the mcr* thing. (I haven't looked at sectorlisp, which may be a mistake in that it sounds like a more fleshed out thing) 05:50:19 SectorLisp is literally what it says on the tin: a sector-sized Lisp-like interactive environment. It's a very cool tech demo but not a serious platform for building other stuff. 05:50:39 That's fine, especially for here. 05:51:31 Young me once wrote an exponential time sorting routine unironically (in a code golfing context) 05:59:15 -!- Noisytoot has quit (Remote host closed the connection). 06:00:34 -!- Noisytoot has joined. 06:03:59 [[Tri-Tru-Eso]] https://esolangs.org/w/index.php?diff=151929&oldid=151926 * Yunasha Hotora * (+2537) 06:08:43 Hmm, do I still remember? I think it went like this: https://paste.debian.net/1349933/ 06:17:20 I had to look up `scas`. Is this a bubble sort? 06:18:45 No, it's worse. 06:24:06 It carries an extra element and starts swapping that almost blindly with the array elements one by one, as long as the extra element (after the swap) is the largest of all the array elements. So when sorting 1 2 3 [255], you swap with the 1, 255 2 3 [1], that's out of order; you start over. Swap again, 1 2 3 [255], and again, 1 255 3 [2], that's out of order, start over. A swap, a restart, 3... 06:24:12 ...swaps, a restart, 1 swap, a restart, 2 swaps, a restart, and 3 more swaps and you're done. 06:26:08 Interesting. I guess that makes it a sort of slow sort. Not literally related to slowsort, which is pessimal quicksort, but more like a pessimal bubble sort. 06:27:42 If my analysis back then is correct it's Theta(2^n) worst case (easy to verify), Theta(2^n/n) average case and Theta(n^2) worst case if all sorted elements are distinct. You only get down further with equal elements. I suspect that also means it's O(n^256) or maybe O(n^255) if you use it on bytes. 06:28:23 A simplexity theorist (somebody who tries to waste time/space) would be proud. 06:28:26 Anyway. It's really designed around `scasb` being a one-byte instruction at the time. 06:29:02 And, I can't stress this enough, it's useless. 06:29:38 Except for entertainment purposes of course :) 06:30:25 It's less artificial than bogosort :) 06:31:05 Did I say "worst case" twice... meh. 06:31:08 Oh, sure. Pessimal algorithms are very natural. Who hasn't seen a warehouse employee performing a slow search, checking every place where something isn't? 06:31:26 The best case is starting with a reverse sorted array. 06:32:01 korvo: Ah the Sherlock Holmes method. 06:32:44 (Probably the most objectionable part of that franchise... the idea that you could actually exhaust all possible explanations for a phenomenon.) 06:34:07 IIRC slowsort guarantees Omega(n^3) in the "best" case. It does this via the dual of divide-and-conquer, which IIRC is called multiply-and-give-up; it sets up a very large number of recursive calls regardless of whether the input array is sorted. 06:40:02 korvo: The thing that this does that isn't bubble-sort like is this... you can think of the extra element at sitting in the gap between the last seen array element and the next one. Then the combination of xchg and scasb does nothing to the list (the next array element becomes the extra element and vice versa, but then the extra element moves to the right). In this view the update happens on... 06:40:08 ...restarts, when all the initial array elements are moved to the right as the extra element is moved to the very front. 06:40:17 at sitting -> as sitting 06:41:31 Hm. `scasb` isn't `rep scasb`, is it? `loop` is decrementing, so the outer loop should be leaving sorted elements at the end... 06:41:36 The inspiration certainly came from bubble sort though. 06:41:44 [[Tri-Tru-Eso]] https://esolangs.org/w/index.php?diff=151930&oldid=151929 * Yunasha Hotora * (+1503) 06:41:46 The more I look at this, the worse it gets. I think I'm going to have dreams about this. 06:41:55 Maybe I 06:42:17 ...Maybe I should type slower and let SSH catch up. 06:42:47 korvo: `scasb` is a single iteration of what `rep scasb` does. It still increments the di register, but the `rep` prefix is what decrements the counter, which in this code is done by `loop` instead. 06:43:08 where counter = cx register 06:43:28 x86 is weird. 06:43:38 (other people say CISC ;-) ) 06:45:06 But this was the assembly language that I grew up with so I'm used to this particular weirdness. It's cozy, up to a point. I never really got into all the vector instructions, and those are growing more crazy with each generation. 06:48:13 I have an intuition for like `rep stosb` but I've never had to generalize it. First and last time I wrote for this sort of arch was undergrad. 06:49:30 I'm kind of seeing it. Thanks for explaining. 06:52:36 [[Tri-Tru-Eso]] M https://esolangs.org/w/index.php?diff=151931&oldid=151930 * Yunasha Hotora * (+3) 07:10:07 -!- Noisytoot has quit (Remote host closed the connection). 07:10:33 -!- Noisytoot has joined. 07:13:38 -!- Noisytoot has quit (Remote host closed the connection). 07:14:05 -!- Noisytoot has joined. 07:19:55 -!- Noisytoot has quit (Remote host closed the connection). 07:20:40 -!- Noisytoot has joined. 08:03:18 -!- tromp has joined. 08:07:29 -!- lisbeths has joined. 08:10:37 zzo38: I think the idea of the people who wrote the standard is that if you want to use the definition in multiple compilation units then you'll put it into a header file that you #include in both compilation units, to avoid stupid mistakes where you change the definition in one place but not the other, and so token by token match isn't hard. 08:12:14 [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151932&oldid=151916 * PrySigneToFry * (+140) 08:13:05 [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151933&oldid=151932 * PrySigneToFry * (+98) 08:13:05 also this applies to a struct/class/union definition, it does not apply to a typedef or a type synonym defined by using, nor to importing a symbol to another namespace with using, those type aliases and symbol aliases are still compilation unit local and don't need to match at all 08:21:15 ok so this mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ; is mcr 08:21:48 mcr allows you to change the syntax of your terminal at will if it is a posix terminal 08:22:45 the syntax is at your terminal prompt you type: mcr 'some_awk_program' 08:23:57 int-e: so this sorts only arrays of bytes? because that makes it useless not only because of the slowness but because you ... oh wait, I can't say that, I just sorted the bytes of tens of thousands of words to find anagrams, never mind then 08:24:18 so an implementation of gnu cat is: mcr '{print $0}' 08:25:45 the idea is mcr is not safe enough to use in a production environment but mcr4 is being developed to be safer for those systems 08:26:18 mcr likely cannot be used in production becuase of its use of eval 08:26:37 b_jonas: Well it's easy to adjust this to sort larger words, as long as there's a scas variant for it. So... I don't think that's the main issue :) 08:27:15 but the context in which I wrote this was asking to sort bytes 08:27:55 ah, that's better then 08:28:18 lisbeths: well you claim this is a macro system, so an example that does some actual macro expansion would go a long way to support that claim and also force you to do something at least moderately nontrivial with mcr 08:28:44 yeah so that example of gnu cat is an example let me show you another example 08:29:10 b_jonas: and I think I added enough disclaimers about lack of usefulness above :) 08:31:26 b_jonas: and I can't even think of a place other than this channel where I would bring this, hmm, creation up at all 08:31:44 eh my example I was thinking of tunred out to be a harder macro than I thought 08:31:58 let me show you some simple postfix but this isnt going to be a useful macro 08:32:32 -!- moony4 has joined. 08:32:35 I used a custom macro system to preprocess my source code into C source code at one point. The custom macro system used a simple sed script to preprocess my source code into an intermediate ed script, such that everything except specially marked ed directives were just appended to the output, and then I ran that intermediate code through ed to get the C source code. Then in my source file I had 08:32:41 directives to put some bookmarks to mark a region, copy that region to another place, and do some string substitution on the copied version of the lines, or something like that. Fortunately I probably don't have a copy of that one anymore, so it's hard to definitely prove that this was a stupid way to write that code and that it wouldn't have been trivial to just write a C program the normal way. 08:32:50 mcr '{if(substr($0,1,1)=="+"){print ($2 + $3)}else{print}' 08:32:51 int-e: yeah 08:33:02 so this macro should implemnet a very basic not so useful prefix addition in bash 08:34:25 -!- moony has quit (Ping timeout: 248 seconds). 08:34:26 -!- moony4 has changed nick to moony. 08:36:14 mcr '{if(substr($0,length($0),1)=="+"){print ($(NF - 2) - $(NF - 1))}else{print}}' 08:36:30 if this doesnt work I think length($0) must be changed to length($0)-1 08:36:48 this should implement a very crued postfix addition in the shell 08:37:10 don't you want to work with $1 instead 08:37:25 hmm? 08:37:51 ``` awk '{if($1=="+"){print ($2 + $3)}else{print}}' <<<"+ 1 2" 08:37:53 3 08:37:56 $1 is not mcr 08:38:37 how cat being used 08:38:39 show 08:39:54 oh thats similar to how mcr works 08:40:58 ```mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ; mcr '{print $0}'; fosdijfodsjfi 08:40:59 ​``mcr(){? No such file or directory 08:41:13 mcr doesnt work on the bot 08:41:50 I wonder if I should recreate that sed|ed abomination some day, but I can't really think of an esoteric application where I'd want to make repeating but modified text that way, I don't want to do it in a serious non-esoteric context, and if I want such repetition in an esoteric way I have several other choices of preprocessor now. 08:42:13 But maybe I'll want to generate some repetitive SVG file where the repetition can't just be handled with symbol elements 08:42:27 or repetitive html or something 08:42:35 lisbeths: sometimes, whitespace matters 08:43:05 ```echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; mcr '{print \$0}'; fosdijfodsjfi" | sh 08:43:06 ​``echo? No such file or directory 08:43:25 indeed 08:43:52 do you have a bash bot? 08:44:18 ``` echo $SHELL 08:44:19 ​/bin/sh 08:44:26 hmm 08:44:29 ``` echo $BASH 08:44:30 ​/bin/bash 08:44:32 ``` echo $BASH_VERSION 08:44:32 5.0.3(1)-release 08:44:54 ``` help [[ 08:44:55 ​[[ ... ]]: [[ expression ]] \ Execute conditional command. \ \ Returns a status of 0 or 1 depending on the evaluation of the conditional \ expression EXPRESSION. Expressions are composed of the same primaries used \ by the `test' builtin, and may be combined using the following operators: \ \ ( EXPRESSION )Returns the value of EXPRESSION \ ! EXPRESSIONTrue if EXPRESSION is false; else false \ EXPR1 && EXPR 08:45:01 ^ it is bash, don't worry 08:45:07 it said for me that echo was not found 08:45:12 ```echo hello 08:45:14 ​``echo? No such file or directory 08:45:22 yes because you are not adding the essential space 08:45:40 ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; mcr '{print \$0}'; fosdijfodsjfi" | sh 08:45:42 sh: 1: fosdijfodsjfi: not found 08:45:50 lisbeths: there is some documentation at https://esolangs.org/wiki/HackEso though there's a lot missing too 08:46:27 oh... that's not even useful there, I never bothered to document the commands ` and ``, probably because I hate their nooodl 08:46:49 ```echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \$0}';\nfosdijfodsjfi" | sh 08:46:49 ​``echo? No such file or directory 08:47:02 ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \$0}';\nfosdijfodsjfi" | sh 08:47:03 sh: 1: nmcr: not found \ sh: 1: nfosdijfodsjfi: not found 08:47:21 ah 08:47:40 the whole echo "" | shell part isn't needed either 08:47:49 err sh, not shell 08:48:05 ``` echo "mcr(){ while read -r i; do eval \"\$( printf \"%s\" \"\$i\" | awk \"\$1\" ; )\" ; done ; } ; \nmcr '{print \"echo \" \$0}';\nfosdijfodsjfi" | sh 08:48:08 sh: 1: nmcr: not found \ sh: 1: nfosdijfodsjfi: not found 08:48:43 this is why I dont use these bots is it always takes me 20 tries to get a command right 08:49:41 lisbeths: taking 20 tries to get the command right is fine, and if it bothers you you can use HackEso in a private message while you're testing the commands 08:50:36 if you would please open a posix terminal 08:50:41 (small channel rules) 08:50:48 then plasee type mcr(){ while read -r i; do eval "$( printf "%s" "$i" | awk "$1" ; )" ; done ; } ; 08:50:52 then please press return 08:51:31 then pleasee type mcr '{if(substr($0,1,1)=="+"){print ($2 + $3)}else{print}' 08:52:14 er maybe mcr '{if(substr($0,1,1)=="+"){print "echo " ($2 + $3)}else{print}' 08:53:07 oh, and I guess besides the sed|ed abomination I invented buubot3 macros which lets you use perl to preprocess buubot commands, though at least the original buubot3 (but not perlbot) also had a ruby interpreter and a few more that you could technically use instead of perl 08:53:21 so I guess I invented at least three terrible preprocessors 08:54:19 its a skill issue for me I am not ane xpert at writing macros 08:54:35 I only learned awk two weeks ago 08:54:55 do you understand how my macro ssytem works? 08:56:06 -!- Sgeo has quit (Read error: Connection reset by peer). 08:58:15 lisbeths: you should probably write at least some short documentation with examples of usage, such as to that github repo or the esowiki, that would increase the chances that users will look at it and try to understand 08:59:12 its really not such a complex system 08:59:20 you needn't make it work in HackEso in particular if you don't want to, just write examples somewhere else 08:59:30 I wrote a kind of a doc here https://github.com/memesmith0/mcr 09:00:11 mcr works just like a REPL but read eval print loop only there is a macro level inbetween read and eval. so it is read macro eval print loop 09:01:11 you basically have mcr "foo" = awk "foo" | sh except that the latter is more versatile beause it can accumulate state from one line of input to the next 09:02:02 piping it into sh you lose so much 09:02:08 thats now mcr4 works is it pipes into sh 09:03:00 you cant open vim inside of a macro if you pipe into sh 09:04:11 echo 'vim < /dev/stderr' | sh 09:04:32 abusive? sure. but it works. 09:05:18 wow i've got to add that to mcr4! 09:06:25 You can accumulate state in the shell instead I suppose. And if it ends up in environment variables it can be accessed in awk (awkwardly). 09:07:29 I guess one application I could try with sed|ed is to write a serializer and deserializer where the source code is expanded to a function that reads each field of a structure and a function that writes each field of a structure. though that's not too hard to do with the C preprocessor either. 09:09:05 lisbeths: write a documentation with multiple simple examples of how you could use the preprocessor. that's my recommendation. 09:11:15 ais523: you said that -1 would be a bad sentinel value for the float to signed overflow, but I realized that INT_MIN would be an even slightly worse sentinel value for float to unsigned conversion overflow 09:11:42 mcr(){ while read -r i; do printf "%s" "$i" | awk "$1" | sh < /dev/stderr ; done ; } ; 09:11:44 so hopefully they did mean -1 for the unsigned conversions, and only the docs for the signed conversion is broken 09:12:05 does that make more sense to do? 09:17:26 no 09:18:10 b_jonas: yeah I hope so 09:21:32 [[Translated ZhongWen/PSTF Again ]] https://esolangs.org/w/index.php?diff=151934&oldid=151913 * MihaiEso * (+43) 09:23:02 my original mcr command works smoother than using < to direct /dev/stderr into sh 09:34:32 note that that's not what I did... I did it specifically for the interactive program, vim 09:34:59 which enables vim to gain control of the terminal, while the shell continues to read from the outer pipe 09:36:08 [[Translated ZhongWen/Mihai Again Twelve]] N https://esolangs.org/w/index.php?oldid=151935 * MihaiEso * (+5394) Created page with "1. [[Translated ZhongWen/PSTF Again |]]Special:Contributions/PrySigneToFry|You computer has a severe errL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 ?; ?p<=? ? F ?~#?~n 09:37:19 mcr(){ while read -r i; do printf "%s" "$i" | awk "$1" | sh >&2 ; done ; } ; 09:37:34 no 09:37:52 the last thing you want to do is break stderr 09:38:08 really? i dont know what >&2 does 09:38:52 it works better in my shell tho lol 09:46:00 [[Translated ZhongWen/Mihai Again Twelve]] https://esolangs.org/w/index.php?diff=151936&oldid=151935 * MihaiEso * (+16) 09:46:01 `` echo a | stat -c '%N' /proc/self/fd/{0,1,2} 2>&1 | cat 09:46:05 ​'/proc/self/fd/0' -> 'pipe:[225]' \ '/proc/self/fd/1' -> 'pipe:[226]' \ '/proc/self/fd/2' -> 'pipe:[226]' 09:46:11 `` echo a | stat -c '%N' /proc/self/fd/{0,1,2} | cat 09:46:13 ​'/proc/self/fd/0' -> 'pipe:[225]' \ '/proc/self/fd/1' -> 'pipe:[226]' \ '/proc/self/fd/2' -> 'pipe:[221]' 09:47:02 note how in the second case, FD 2 (stderr) is different from FD 1 (stdin); that's because it's still the original pipe that the outermost shell connects to 09:47:35 if you do that in a terminal, that pipe will be a terminal /dev/pts/NNN 09:48:07 mmm 09:48:45 You did 1>&2 so it instead breaks the pipe 09:48:51 neither of those is particularly helpful 09:52:17 wow I dont understand how that works 09:52:25 is there a way you can make it into a function 09:54:32 oh I see you are showing me WHY it breaks the pipe :) 09:54:41 I dont know what it even does lol 09:55:31 I need the copy of sh that comes after the pipe to take over the tty of the host 10:11:01 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 10:36:23 -!- wib_jonas has joined. 10:39:35 ``` script echo hi # I wanted to check that that really happens when you try it in a terminal, but it turns out, the script program doesn't work in HackEso 10:39:36 script: openpty failed: No such file or directory 10:40:03 I wonder why 10:40:37 `` stat -c '%N' /proc/self/fd/{0,1,2} 10:40:38 ​'/proc/self/fd/0' -> '/null' \ '/proc/self/fd/1' -> 'pipe:[224]' \ '/proc/self/fd/2' -> 'pipe:[221]' 10:40:46 none of these are PTYs 10:41:48 I don't know what script does internally but I suspect there's some tty magic to detect whether the shell is receiving input or not 10:42:33 ``` mount | /bin/sed 's/.* on \([^ ]*\) type .*/\1/' # I think /dev/pts isn't mounted 10:42:35 ​/bin \ /dev \ /lib \ /sys \ /tmp \ /usr \ /proc \ /sbin \ /lib64 \ /hackenv \ /hackenv/.hg \ /etc/alternatives 10:43:04 -!- tromp has joined. 10:43:07 Or maybe it's just that it wants to mirror an outer PTY as another PTY for running the shell? 10:43:29 I probably don't care enough to actually figure that out :P 10:45:47 int-e: HackEso uses pipes rather than a pty when it runs commands by default, which I think is good because some programs try to detect if you're running them in a terminal and have different behavior, such as colorized or interactive, and this way they will correctly detect that it's not a terminal 10:46:02 the script program is supposed to run a program in a fresh terminal 10:46:24 wib_jonas: yes but evidently it also assumes that it runs inside a terminal 10:46:38 which makes sense because then it can just copy weird things from one to the other 10:46:41 I don't think so, but maybe I misremember 10:46:45 instead of being a fully fledged terminal emulator 10:47:14 maybe I'm misreading the evidence 10:47:17 * int-e shrugs 10:47:19 I think it just fails here because the libc function that creates a fresh pseudo-terminal needs /dev/pts mounted, but it's not mounted in HackEso 10:47:26 well, misinterpreting 10:47:31 (or possibly not libc) 10:48:19 wait hold on 10:48:28 I guess `script bash < /dev/null > /dev/null 2>&1` works so I'm wrong. 10:48:38 ``` script -c 'echo hi' 10:48:39 script: 10:49:30 I think I was invoking script wrong 10:49:55 ``` cat typescript 10:49:56 cat: typescript: No such file or directory 10:49:58 hmm 10:50:13 ``` script -c 'echo DumA'  cat typescript # but it doesn't matter, it still doesn't work 10:50:14 script: openpty failed: No such file or directory 10:50:19 ``` script -c 'echo DumA' && cat typescript # but it doesn't matter, it still doesn't work 10:50:21 script: openpty failed: No such file or directory 10:51:23 Regarding mounts, I mount /dev using the UML hostfs type, which brings in the device nodes from the host's /dev/pts, that might certainly confuse some programs since it's plain weird. 10:51:37 hmm 10:51:53 ``` strace -eopenat script -c 'echo Hi' 2>&1 | grep dev 10:51:54 No output. 10:51:57 I don't know how openpty is actually implemented 10:51:58 hmm 10:52:50 It "should" probably instead set up a minimal static /dev on the initrd or something, and then mount /dev/pts (and a tmpfs on /dev/shm) on top of it. 10:53:06 I see an openat(AT_FDCWD, "/dev/ptmx", O_RDWR) = 3 10:53:07 here 10:54:01 `` echo /dev/pt* 10:54:03 ​/dev/ptmx /dev/pts 10:54:44 `` ls /dev/pts 10:54:44 hmm 10:54:46 0 \ ptmx 10:54:48 `eject 10:54:50 eject? No such file or directory 10:54:56 * int-e shrugs 10:56:34 how does that bringing /dev in with UMLFS work? if you try to open and ioctl a device in the guest, will it open and ioctl it in the host, or will it just stat the device and emulate opening the device in the guest? 10:57:16 ``` ls -F /dev 10:57:18 char/ \ console@ \ core@ \ fd@ \ full \ initctl@ \ log@ \ mqueue/ \ net/ \ null \ ptmx@ \ pts/ \ random \ shm/ \ stderr@ \ stdin@ \ stdout@ \ tty \ urandom \ zero 11:07:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 11:08:18 -!- tromp has joined. 11:10:29 `` grep dev LOG 11:10:30 openat(AT_FDCWD, "/dev/ptmx", O_RDWR) = -1 ENOENT (No such file or directory) \ openat(AT_FDCWD, "/dev/ptyp0", O_RDWR) = -1 ENOENT (No such file or directory) 11:11:04 (from `` strace -eopenat -o LOG script -c 'ls Hi' >/dev/null; grep dev LOG ) 11:11:30 (something about `script` totally messes up the way HackEso captures output) 11:12:01 `` ls -la /dev/ptmx 11:12:03 lrwxrwxrwx 1 0 0 8 Jul 1 2024 /dev/ptmx -> pts/ptmx 11:12:08 `` ls -la /dev/pts/ptmx 11:12:10 crw-rw-rw- 1 0 0 5, 2 Feb 14 11:12 /dev/pts/ptmx 11:12:41 `` cat /dev/ptmx 11:12:42 cat: /dev/ptmx: No such file or directory 11:12:55 Fun! 11:14:46 maybe that only works on a real devpts file system, not when you're trying to open an ordinary device file on a "normal" file system with those device minor and major numbers 11:16:04 The thing is... the directory entry clearly exists. So I expected ENODEV or maybe EACCES as an error, but never ENOENT. 11:16:37 But maybe UML translates it to something that doesn't exist on the host. 11:16:42 yeah, but some of those errno codes are overloaded 11:16:43 And leaks that error. 11:17:29 Anyway. As we can see, just because it's there doesn't mean it's there. I love computers. 11:17:54 no no, that's a feature 11:18:08 UMLbox is protecting you here, not letting the guest just directly open a device in the host 11:18:08 Hmm, rephrasing: Just because it can be seen doesn't mean it's there. 11:18:46 imagine if you could just mkdev a device as root in the guest and overwrite the host's hard disk that way 11:18:56 wib_jonas: And if it just said ENODEV I'd be completely fine with it. 11:19:07 The way it is, I'm slightly disappointed :P 11:19:18 wait wait 11:19:29 Pretty sure the /dev mount via hostfs just brings in the device nodes, it won't do any magic beyond that. 11:19:42 https://man7.org/linux/man-pages/man4/ptmx.4.html => "When a process opens /dev/ptmx, it gets a file descriptor for a pseudoterminal master" 11:19:53 wib_jonas: yes 11:19:56 Opening ptmx is suppposed to create an entry for the slave terminal, maybe *that* is what the ENOENT is for. 11:19:59 it's how openpty works 11:20:23 yeah, what fizzie says 11:20:24 Because that one wouldn't show up in the /dev in the guest side. 11:20:49 fizzie: well it's opening /dev/ptmx that returns ENOENT 11:21:08 you can still be right for whatever is happening under the hood of course 11:21:23 I was wondering if I could eject the cdrom drive of the host with the relevant IOCTL, but there's no /dev/cdrom 11:21:52 `` rm LOG 11:21:54 No output. 11:21:56 `` ls | wc 11:21:57 ​ 52 52 400 11:22:04 `` ls 11:22:06 ​🌱 \ 3 \ a.o \ a.out \ asmbf-1.2.7 \ banana.txt \ bef2 \ bfi \ bin \ Burlesque \ canary \ cmd.whatis \ compiled_brachylog.pl \ detect \ detect.c \ egel-master \ egel-scripts \ egel.zip \ eGtbSgN68aHU \ fence.c \ foo \ he-ng.7z \ he-ng.7z.base64 \ he-ngc \ he-ngx \ hlu \ JoaoDir \ just \ karma \ le \ nonoodl \ olist.new \ output.b \ paste \ pd \ pd.c \ perlV \ pg \ pg.cxx \ pikhqbow_tst \ program \ -.s \ spline \ spout \ stall \ test \ test.sh \ this.p 11:22:13 Yeah, that's what I meant. It's the act of opening /dev/ptmx is what's supposed to create the other slave entry (IIRC), not any action you do on it after you've opened it, and maybe that part involves checking that it was made and that's what's responsible for the errno that results. Or something along those lines. 11:22:56 `` wc 🌱 11:22:57 ​ 3 14 163 🌱 11:23:01 `` cat 🌱 11:23:02 ​#!/bin/bash \ a=(${@// / }) \ python3 -c"import random as r;x=range;r.seed(${a[1]});print(''.join([chr(([*x(32,127), 10])[int(r.random()*96)]) for i in x(${a[0]})]))" 11:23:29 `cat canary 11:23:30 Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker? 11:31:35 Yeah, that's my guess for where the ENOENT is from. ptmx_open does internally some sort of `open` call and directly returns its return value: https://github.com/torvalds/linux/blob/master/drivers/tty/pty.c#L849-L851 11:32:43 `ls /dev 11:32:45 char \ console \ core \ fd \ full \ initctl \ log \ mqueue \ net \ null \ ptmx \ pts \ random \ shm \ stderr \ stdin \ stdout \ tty \ urandom \ zero 11:33:01 That's surprisingly short. 11:33:21 I guess it's because it runs in a container with its own filesystem namespace, so it's not the "real" /dev of the host. 11:33:37 (For some extra sandboxing beyond the UML.) 11:36:31 I wonder if the fact that /dev/shm is read-only might also be breaking some programs. 11:36:40 `` touch /dev/shm/foo 11:36:41 touch: cannot touch '/dev/shm/foo': Read-only file system 11:37:20 fizzie: isn't it's because it pulls in the /dev/ from the root file system that is used only during boot, rather than the actual /dev/ that's mounted as a devfs? 11:38:37 I'd expect the real /dev would have device files for some disks, but it doesn't seem like there's any here (there's a /dev/fd , but fd doesn't mean floppy disk in this context) 11:38:37 No, that /dev is a (read-only) UML hostfs mount. There is no /dev on the initrd. 11:39:18 sorry, I don't mean initrd, I mean the /dev directory in the host's root file system 11:39:27 or is that root filesystem an initrd? 11:40:36 Oh, that's what you meant. No, it's not an initrd, but I'm relatively sure it wouldn't pull in the /dev from the root file system, it would pull the mounted /dev instead, if that's what was at /dev where the UML was running. 11:40:53 But the reason why it has so few entries is because it's wrapped inside a systemd-nspawn container. 11:42:30 I'm not sure I understand that. Do you mean that the host systemd sets up a new root file system for a container, and the UML is running on the host in that container and with that file system as its root file system? 11:43:15 Yes, if I remember the setup correctly. 11:43:29 that would make sense 11:45:59 I mean it makes sense that that's how you're invoking UML, as part of the outer sandboxing. But I don't understand why you bring that into the guest, rather than setting up a different /dev directory for the guest, and maybe mount a devpts inside the guest over it if UML supports that 11:46:07 Hi 11:46:40 I agree, but I inherited that bit from the original umlbox and just never changed it. :) 11:46:59 I see 11:49:01 there may be a bit of bootstrapping problem where you need a /dev before you can create a dev inside, because, at least for older non-UML linuxes, the kernel tries to open /dev/console before running init but after mounting the root file system, in order to give init the three standard handles. I think they changed that part of the code in the 11:49:02 kernel, but I don't know if a bootstrap /dev is still needed. 11:51:17 Well, the umlbox initrd literally has a single file in it (/init). It starts by creating a /console (no /dev) and opening those file handles itself: https://github.com/fis/umlbox/blob/master/init.c#L73-L76 11:52:32 Also I'd forgotten that the command doesn't actually run with / being the UML initrd's /. 11:52:40 I see 11:53:39 It sets up a subdirectory called /host and then chroots to it when it's running things: https://github.com/fis/umlbox/blob/master/init.c#L402-L403 11:59:08 I guess you could argue that means it's 4 levels of sandboxing deep: there's some unknown actual physical computing substrate operated by the VPS provider, they use a virtualization solution to offer me a logical computer (I think it's hardware-assisted KVM), I use Linux namespaces to set up a container, and an UML inside the container, and a classic chroot jail inside the UML. 12:00:40 yes, but I think the more relevant for the innermost layer is not the chroot but the chown 12:00:42 `id 12:00:43 uid=1000 gid=1000 groups=1000 12:28:59 [[UserEdited]] https://esolangs.org/w/index.php?diff=151937&oldid=151905 * Hotcrystal0 * (+194) 12:29:09 -!- chomwitt_alt has joined. 12:45:07 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 12:55:51 -!- SGautam has joined. 12:56:51 [[Joke language list]] https://esolangs.org/w/index.php?diff=151938&oldid=151536 * MihaiEso * (-937) /* Horribly translated variants */ 12:58:12 [[Joke language list]] https://esolangs.org/w/index.php?diff=151939&oldid=151938 * MihaiEso * (+19) /* Horribly translated variants */ 13:11:14 [[Translated Tri]] N https://esolangs.org/w/index.php?oldid=151940 * MihaiEso * (+1930) Created page with "Translated Tri is a horribly translated version of [[Tri]]. I should take more languages in the translator machine next! 1. Take this:
 // Prints "Hello, world!" to the console. // inc inc psh psh psh mul sto nxt sto psh mul lst psh add  sto prn nxt zro c
13:12:24  [[Translated Tri]]  https://esolangs.org/w/index.php?diff=151941&oldid=151940 * MihaiEso * (-1) 
13:14:58  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151942&oldid=151937 * Hotcrystal0 * (+51) 
13:16:36  [[Language list]] M https://esolangs.org/w/index.php?diff=151943&oldid=151879 * Squareroot12621 * (+12) 
13:21:03  [[User talk:Squareroot12621]] N https://esolangs.org/w/index.php?oldid=151944 * Hotcrystal0 * (+139) Created page with "Are you squareroot12621 on the CGoL forums? ~~~~"
13:21:04 -!- ais523 has joined.
13:25:44  [[User:MihaiEso]]  https://esolangs.org/w/index.php?diff=151945&oldid=151077 * MihaiEso * (+79) /* More data */
13:37:01  [[User:MihaiEso]]  https://esolangs.org/w/index.php?diff=151946&oldid=151945 * MihaiEso * (+0) /* More data */
13:56:56 -!- craigo has joined.
14:00:17 -!- tromp has joined.
14:08:24  [[StormLang]] N https://esolangs.org/w/index.php?oldid=151947 * PrySigneToFry * (+7852) Created page with "StormLang is collaboratively designed by PSTF, None1, and islptng.  = Language Overview = StormLang is turing-complete, supports to make gorgeous program and access the Internet, and may also construct artifical intelligences, high-level, strong like the fire, e
14:44:33  turns out my version of shell macros that dont rely on eval were broken the whole time
14:44:38  so I am stuck with the eval version for now
14:50:40  I spend like 30 solid hours on mrc4 feelsbadman.jpg
14:59:03  [[User:Anthonykozar/Sandbox]]  https://esolangs.org/w/index.php?diff=151948&oldid=151876 * Anthonykozar * (+1327) Testing some formatting converted from Markdown
15:01:28 -!- lynndotpy6 has quit (Quit: bye bye).
15:02:26 -!- lynndotpy6 has joined.
15:10:58 -!- amby has joined.
15:13:16 -!- sam__ has joined.
15:13:18 -!- sam__ has quit (Client Quit).
15:37:42  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151949&oldid=151942 * Hotcrystal0 * (+0) 
16:04:52 -!- Sgeo has joined.
16:06:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:11:11  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151950&oldid=151949 * Hotcrystal0 * (+232) 
16:14:13  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151951&oldid=151950 * Hotcrystal0 * (+30) 
16:26:11  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151952&oldid=151951 * Hotcrystal0 * (+181) 
16:27:39  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151953&oldid=151952 * Hotcrystal0 * (+5) 
16:35:32  [[User talk:ColorfulGalaxy's CA discoveries]]  https://esolangs.org/w/index.php?diff=151954&oldid=148148 * Hotcrystal0 * (-63) Removed unnecessary information and included my username
16:49:02  lisbeths: What's the bigger goal of these macro systems?
16:54:49 -!- wib_jonas has quit (Quit: Client closed).
16:55:16 -!- SGautam has quit (Quit: Connection closed for inactivity).
16:57:29 -!- tromp has joined.
16:59:28  [[UserEdited]]  https://esolangs.org/w/index.php?diff=151955&oldid=151953 * Hotcrystal0 * (+96) 
17:15:20  korvo: 
17:15:25  it is a macro ssytem as a platform
17:15:51  the macro system just aims to expand the macros efficiently and have a good language for describing the expansion of macros
17:16:54  i personally plan to use this software to write my own macros but I need to think and reflect upon it for a few weeks before i do so
17:17:25  what do I plan on using the macro system for? for writing a compiler for fastlisp and a tool to integrate fastlisp into unix systems
17:17:43  ultiamtely fastlisp is to be a master system and posix and python3 are to be worker systems of fastlisp
17:22:00  lisbeths: Nifty. Sounds like a lot of work though.
17:23:15  after studying this topic for 12 years it doesnt feel like work anymore it just feels normal
17:26:49  Sure, but surely it's also been a couple of shifts. I can't imagine spending more than about 5yrs on any one line of study.
17:27:39  I specialize in language architecture and I have been saving myself for *my* language
17:28:13  I specialize in computability theory and every (Turing-complete) language is uniquely terrible.
17:28:43  Still, I think it's cool to have a big goal like that.
17:29:24  my research in particular has to do with developing the easiest programming language possible
17:30:11  Oh. Have you seen Quorum? I think it's a good warning to folks who want a language to be easy, readable, etc. at the cost of other features.
17:30:28  no I havent seen quorum whats that
17:30:31  Still, sometimes that line of research produces cool stuff like Scratch.
17:31:17  Quorum is an evidence-oriented language which incrementally changes to improve its readability. Same idea as Python, but taken to a scientific extreme. https://quorumlanguage.com/
17:31:42  hmmmmm.... I will ahve to give this a look thank you
17:31:58  I wonder how my approach with fastlisp differs from quorum
17:32:03  The punchline is that Quorum tastes like early PHP or Java, with very little abstractive ability and requiring a minimum of five lines of code to express a concept.
17:32:41  is that good or bad?
17:33:09  I'd say that it's bad. A language shouldn't require lots of ceremonies in order to express an idea.
17:34:09  public ThisCurrentReply subclasses IRCReply { to emitNextLine(emitter) { emitter.write("Imagine if every IRC message had to start with <<< this crap. Ridiculous, right?") } }
17:35:49  I will make a note to myself to try to avoid boilerplate
17:36:01  I hope that I have done a good job of it with fastlisp
17:36:43  The fastlisp examples that you shared were alright. They did have one thing that I have been thinking about for the past few years: all of the names were declared.
17:36:59  I'm...tired of names. But that is a personal preference and not one that I expect other people to share.
17:38:05  So, ignoring the names, consider a Quorum class like https://quorumlanguage.com/Libraries/Game/Graphics/DrawableShape.html . It's basically AWT-era Java, and it sucks for the same reasons.
17:38:29  I might end up extending teh standard so that names dont have to be declared
17:38:37  fastlisp also has nameless functions
17:39:23  Ah, yeah. Lambdas? Is fastlisp a Lisp-1 or Lisp-2? I don't judge; we see both around here.
17:39:46  in the year of our lord 2024 on the day of feburary 14 we are on fastlisp version 5 whos standard I have not publsihed yet
17:40:00  #this is a comment. any line whos first character is #
17:40:22  (lambda x (lambda y x)) this is a lambda that takes an x then takes a y then returns x
17:40:50  (lambda x (x x x)) this is a lambda that takes an x and applies it to itself three times
17:41:25  "this is a string. strings are not specified to be able to contain the quotation symbol"
17:41:52  strings compile to linked lists of true or false. true compiles to (lambda x (lambda y x)) false compiles to (lamdba x (lambda y y))
17:43:04  the way to really do fastlisp in my mind is with names and without definitions. so you provide the names for the functions you want and the definitions of those names are passed into the program
17:48:03  Interesting. Where's the name "fastlisp" come from?
17:48:05  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151956&oldid=151886 * Hotcrystal0 * (-8) 
17:49:58  fastlisp comes from the meme fcalled fastman
17:54:07  when I was 18 years old I created the onebag subreddit about living out of a backpack. some notable onebaggers were luigi mangione and sam bankmen freid
17:54:38  years ago I was ousted from the subreddit because I was cancelled for using harmful language as a joke
17:55:03  not wanting ot be censored again I made the fastman meme which extended the idea of onebagging and captured its ideas into a single jpg image that couldnt be censored
17:56:20  my discord is called fast server. my meme is called fast meme. my lisp is called fast lisp. i name everything fast. I probably should rename mcr to be called fastmcr
17:57:36  ...A better way to introduce the concept of living out of one bag might be the film Up in the Air (2009), which features several monologues by George Clooney about the philosophy.
17:59:51  indeed as well as the film and book titled jack reacher
18:00:23  i live in a small trailer that is little more than a shed and I only keep in the trailer what would be in a hotel
18:00:58  Sure. I know a guy who lives in a yurt. I've also heard of Mongolia, although I've never visited.
18:01:26  i lived out of my pockets for 1 year
18:01:29  i have one pair of clothing
18:02:00  my phone is the same dimensions as the ipad mini
18:02:13  slightly larger than an unfolded samsung galaxy z fold
18:03:04  i document the fastmeme here on thefastscrolls.neocities.org
18:04:12  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151957&oldid=151956 * Hotcrystal0 * (+69) 
18:04:21  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151958&oldid=151957 * Hotcrystal0 * (+6) 
18:04:32  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151959&oldid=151958 * Hotcrystal0 * (+1) 
18:04:58  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151960&oldid=151959 * Hotcrystal0 * (+18) 
18:05:25  i have fruityloops studio on my pocketable tablet which is like a full electronic music production studio with modular synthesizers and a midi
18:05:36  instead of carrying the classic travellers guitar
18:05:46  [[User:Hotcrystal0/Sandbox]] N https://esolangs.org/w/index.php?oldid=151961 * Hotcrystal0 * (+1) Created page with "a"
18:05:55  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151962&oldid=151960 * Hotcrystal0 * (-139) 
18:06:10  [[User:Hotcrystal0/Sandbox]]  https://esolangs.org/w/index.php?diff=151963&oldid=151961 * Hotcrystal0 * (+136) 
18:06:30  [[User:Hotcrystal0]]  https://esolangs.org/w/index.php?diff=151964&oldid=151962 * Hotcrystal0 * (+41) 
18:07:25  Hey, please don't post memetic hazards here. If you do it again, you're going to get an earful about metaphysics.
18:08:06  Also, consider being direct. I'm not going to click through generated content in the hopes that some of it will be enlightening.
18:09:04  generated?
18:11:08  Well, yeah. Also I'm not usually moved by aesthetics. Like, earlier when talking about SectorLisp, I was not kidding when I say that the problems with expressivity preclude its usage as a development platform or piece of production system.
18:11:32  And I'm not going to ignore that jart's aesthetic desires are partially driven by her fascism, either.
18:12:26  I'm something of a brutalist and I care much more about the semantic structure and machine behaviors of a system than its surface syntax.
18:13:00  i love jart i started naming my variables j because of her
18:13:34  ive spoken with jart in irc she has visted #lambdacalculus
18:14:11  Be wary of her, as she's well-connected to Rationalists and may try to pull you into a Bay Area cult. Also, y'know, the fascism.
18:15:59  so in every good community theres some bad apples and in every bad community theres a few good apples
18:16:23  for example tumblr is mostly good people but it has some bad folks
18:16:33  reddit mostly good people as well but a few bad apples
18:16:58  And a few bad apples spoil the whole bunch. With apples, it's ethylene; with fascists, it's hateful memes. For example, jart's projects are named after various racist jokes and slurs. At scale, if a community tolerates it, they become a Nazi bar. Look at HN for a real example.
18:17:14  have you ever hung out inside of a meth den and just people watched?
18:18:03  some onine communties attract all kinds of people good and bad
18:18:43  I grew up in Lane County, Oregon, one of the meth-production hotspots of the 90s. The local newspaper had a listing of "meth houses", houses which were no longer livable due to being used for meth production. Reclaiming meth houses is extremely expensive and meth users did not pay for it.
18:18:56  if you have ever seen the show jerry springer it is all about getting high on the drama of the social situation that the guests are going through
18:19:16  and a decent portion of the people attracted to some of these hateful websites are just there to observe because it is fascinating
18:19:50  Sure, but that doesn't justify their existence.
18:20:09  i once had a tattoo artist who told me 'I love hearing the crazy stories from bigfoot people"
18:20:26  he said "i love hearing conspiracy theories from flat earthers"
18:20:43  so some people are drawn to certain discords because of the allure of the scene
18:20:48  not because they themselves are hateful or bigoted
18:20:54  And again, scale matters. The worst of the late-90s talk-show hosts, Oprah, introduced so much pseudoscience into the common discourse that we can blame her for e.g. multiple preventable outbreaks of communicable diseases.
18:21:20  I would say that bigfoot conspiracies are like exotic art
18:21:36  have you ever seen the video "alex jones is anime"
18:22:04  Bigfoot sightings are just bears. Boring but true.
18:22:15  but what about a bigfut hunter sighting
18:22:29  there are bigfoot hunter hunters
18:22:55  so these communits have all kinds of strange people glom onto them
18:23:01  and it is THOSE people tha tmake me glom on
18:23:05  not the rhetoric
18:24:10  one of the best places to go meet dev ops engineers is comic con in seattle
18:24:13  Sure, but fascism isn't mere rhetoric. Having grown up in a fascist police state, I can attest that there are real harms done to real people by the police on behalf of moneyed and partisan interests.
18:24:43  sure I dont support fascism
18:24:50  Another good place to meet people is SeaGL in Seattle. You'll find that SeaGL's organizers don't allow racism or other hate; why do you suppose that is?
18:25:11  they probably get paid to do that
18:25:43  Fundamentally, fascists adore surface appearances because they don't have anything going on underneath. jart doesn't actually have any interesting insights about computer science; all of her work is gimmicks that have been trotted out for code competitions since before she was born.
18:26:13  Ha, no, SeaGL made that decision because fascists will make the event worse.
18:26:20  think about this for example lets say china attacked the us and we went to war in retalitation
18:26:41  I can go on the littel redbook app which his chinese tiktok and I can talk to people on the other side of that war
18:26:54  that has never happened in history
18:27:04  that I can go meet my political opponents face to face with no danger to my person
18:27:08  That's not a serious thought. That's a teenage fantasy.
18:27:17  its just an example
18:27:41  "China attacks NATO member" is a terrible example that ignores the past half-century of Pacific diplomacy.
18:27:45  similarly people who are racist and bigoted are not normally people who I could meet and try to learn about them
18:28:03  and I dont even go there for the racist or bigoted people I go there for the other kinds of people that also flock to those spaces
18:28:19  the racist people are just the loudest people in the room in those spaces but they arent the majority
18:28:34  its just a weird place where freaks show up to tell you the truth
18:29:06  [[User talk:Tommyaweosme]]  https://esolangs.org/w/index.php?diff=151965&oldid=151526 * Tommyaweosme * (+349) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */
18:29:46  There's no such thing as a silent majority. The statistics are fairly well-settled.
18:30:05  oh ok
18:30:06  https://www.youtube.com/watch?v=k1BneeJTDcU
18:30:34  I can go meet breast cancer survivors tonight
18:30:53  I can go and talk to locals of the capital of somolia and talk to the owner of a restaurant there
18:30:57  over the phone
18:31:07  i can call up the university of helsinki within 7 minutes
18:31:15  I can meat a n y o n e
18:33:02  im working with these fbi agents who are cracking these /soc/ grooming discords and I am collecting all these discord links and sharing them with the feds
18:33:41  a couple years ago I was working with the police to go after this gang of swatters and my family was swatted 16 times during that and the head of that ring was extradited to usa and is in federal prison
18:33:47  I don't know if eating rocks is why you glow.
18:35:20  theres just certain discords where all kind of interesting people show up of a wide range and variety and type
18:35:28  and its discords where you can say anything that isnt illegal to say
18:36:07  my macro system is all about saying things that are illegal to say in the shell
18:36:07  Sure; Discord exists to collect and centralize data on its users into one giant database, and Discord won't say how law enforcement accesses that database.
18:36:32  we need a distributed version of discord 
18:36:36  Then it's not really a macro system, is it? Macros are about expansion and composition.
18:36:38  but e v e ry  o n e is on discor
18:36:46  my dad, my brother, my boss, my coworkers, they all have discord
18:38:16  anyway I am a star trek guy I am all about peace and love and equality and the higher realms of the mind
18:38:25  i think communism could work if it was applied properly
18:38:31  In any West Coast state, using Discord can't be a condition of employment, unless your boss actually pays for a private guild. And IME they usually don't pay, so you can tell them to bite a bumper.
18:38:51  it isnt a condition of employment, no
18:38:58  but its easier to just do it all on discord
18:39:04  our other store uses slack
18:39:20  its a mutally agreed upon thing we all prefer to be able to communicate
18:39:32  And again, scale matters. Discord only has trillions of data points. Facebook has hundreds of trillions, and is actively complicit in three genocides right now, although their chatbots will only admit to two of them.
18:40:06  facebook is being funded out the wazoo by hedge funds and by congress critters if discord had that funding they might be able to scale it
18:40:21  facebook also has ads discord doesnt :)
18:40:47  Incorrect. Facebook's growth is fueled by the same thing as the genocides, and it's not ads, premium features, or nebulous bankers. Facebook cares more about growth than *anything else*.
18:41:12  maybe with this metaverse stuff I wil be able to have the same experience on facebook as on discord but lately i havent been getting what I need from facebook
18:41:23  they put a limit on how many times i can click the like button per day that is so cringe
18:41:36 -!- Lord_of_Life_ has joined.
18:42:09 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
18:42:19  do you know the allure behind terry a davis?
18:42:26  that is the samer eason why I am drawn to these discords
18:42:44  Go find a Mastodon server whose rules you would be willing to follow and whose community makes posts that you like. Be aware that, given what you've said so far, many of the popular servers would not be willing to host you; you may find yourself on a "free speech" right-wing instance.
18:42:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:43:25  I'm an Oregon native and I know Terry's story. It's not alluring, it's a disappointment and yet another indictment of our failed healthcare systems as well as our failed psychiatric-care systems, at both the federal and state level.
18:44:18  I grew up in Eugene. I went to see Ken Kesey's bus. It's not romantic, not in the context of the constant inability of our vulnerable and disabled folks to get the care that they need.
18:44:24  you are the second person to recommend mastadon for me I am goign to make an account and try it out
18:44:26  [[Zidryx myno]] N https://esolangs.org/w/index.php?oldid=151966 * Tommyaweosme * (+223) Created page with "Zidryx myno is [[python]] but every character is caeser-shifted the length of the program mod 26 == hello world ==  jlchn("byffi qilfx") == cat ==  dfwbh(wbdih()) == a+b problem ==  o=wbdih();p=wbdih();dfdwbh(wbh(a)+wbh(b))"
18:44:53  ideally I would like an expereince much like how old reddit was in 2014
18:45:03  but I cant have that so thesee discords are the next best thing
18:45:30  Then you want Lemmy. Be aware that the largest Lemmy instances are Marxist-Leninist and you may have to shop around for one that you like.
18:45:59  I don't use Discord.
18:46:58  discord is my whole life
18:47:25  I'm permanently banned from Discord because I failed the vibe check when I initially registered. They only want users that have relatively weak security, although we don't understand exactly how that's determined.
18:48:06  wow thats interesting
18:48:23  well good luck toy ou I have no choice but to use discord until another reddit comes along
18:49:20  Use Discord if you want to, but you should not expect everyone to do so.
18:49:57  I think that IRC and other stuff is better anyways
18:50:09  (depending on what kinds of communications you intend)
18:50:38  [[User:Tommyaweosme/trust quine]] N https://esolangs.org/w/index.php?oldid=151967 * Tommyaweosme * (+113) Created page with "
import os print("please enter my source code") source_code=input() os.system("cls") print(source_code)
" 18:50:40 oh i mean I think discord is on an evolutionary path towards something that everyone can use 18:51:00 the magic of discord is nto in its dev ops but in its user interface. thats why people like it is its clever ui 18:51:11 I don't use Discord because I'm upset by how it's attempting to monopolize online conversation (and to some extent is attempting to monopolize /information/ – my current view on that is that they are trying but have only been mildly successful) 18:51:18 it makes ti easy to make communities that can chat and call 18:51:50 so many small communities store all the information they're tracking on their Discord rather than using a world-readable website 18:52:09 Sure, it makes it easy to set up new walled gardens inside the larger walled garden, and for each new inner garden to appear private. 18:52:34 yeah I definitely dont agree witht he walled garden part you should be allowed to make your discord searchable 18:52:45 it is prettye asy to find discords for projects like python or debian though 18:52:57 those discords are actually run really well 18:53:05 ais523: I'm currently years into a protracted argument in the Lojban community about whether a particular dialect exists. The speakers only discuss it within an invite-only Discord guild and refuse to publish any information about it. 18:53:22 korvo: isn't that just a debate about the definition of "exists"? 18:53:36 unless you assume the speakers are lying about having invented the dialect 18:54:13 there are some esolangs in a similar situation (although, it's generally "one person has designed the esolang and how it works, and has disclosed its existence but no details", rather than multiple people being involved) 18:54:43 ais523: Lojban is a fork of Loglan which is dedicated to the public domain. Historically, the community doesn't consider anything to be publically documented unless it's been dedicated as such. This Discord group both wants people to endorse the dialect, and also not to understand how to speak it. 18:55:18 do they appreciate that this request is not particularly convincing? 18:55:55 The Loglan v Lojban lawsuit predates the Paramount v Klingon lawsuit, so we have slightly different norms around conlangs, but it's similar to the expectation today that if you make a fancy conlang then you need to explain its usage. 18:56:19 Discord will require you to use the excessive Discord software and to use their servers too, and IRC does not require specialized software (although having it is useful anyways, it is not actually required). 18:56:42 Why are they trying to endorse a dialect that also should not understand? It does not seem useful, isn't it? 18:56:43 ais523: Yes. But also, over the past 5yrs of the dispute, I've built up a pile of hundreds of Metamath theorems, and in the process I've raised the standards for documenting forks of Lojban. I'm happy to help any dialect or fork with modernizing, *as long as they share alike*. 18:56:48 I guess my viewpoint is mostly "if it's private and undocumented, it mostly doesn't matter to other people whether or not it exists, but there isn't much point putting it onto public lists if you can't do anything with it" 18:57:40 Well, if it's not got a logic, then it's not a logical language. And if it's not logical, then why is it built on Lojban? It's "logic cosplay", to quote one of those Discord group members. 18:58:20 (for context, zzo38 and I have both been known to use IRC via typing out all the commands using netcat, telnet, or the like, rather than an IRC client – mostly I do that when I need a second simultaneous connection to IRC to test something or other) 18:58:58 and zzo38 has a sort of IRC semi-client which handles some things automatically but uses raw IRC commands for other things, but I don't konw the details 18:59:25 And again I wouldn't mind, except that links to the Discord are then spammed in the public communities. And who wouldn't want to go to the invite-only Discord that excludes all of those mean people in the public channels!? 18:59:51 Of course, I *am* mean. Can't argue against that. 19:00:41 I'm permanently banned from Discord because I failed the vibe check when I initially registered. They only want users that have relatively weak security, although we don't understand exactly how that's determined. ← although malicious explanations are quite plausible, there's also typically a non-malicious explanation for that sort of thing – companies generally don't want banned users coming back to their platform, and when someone is connecting 19:00:43 in a strongly private way it can be hard to determine whether or not they are the same as some other person 19:01:47 ais523: Rumor is that it could have been as simple as using Firefox on Linux. Their ToS forbids me from experimenting or attempting to learn what actually happened. 19:02:13 Wikipedia's rules about using Tor are a good example, and approximate to "anyone can access Wikipedia read-only via Tor, but if you want to make edits like that, you will first have to convince us of who you are and that your edits won't be a problem, and then you will be able to edit via logging in" 19:02:34 which is about the most open of a policy that makes sense, because otherwise it would be trivial to circumvent blocks like that, and many people have trieed 19:02:44 Like, I gave my email, accepted the ToS, verified my email and phone number, and *then* was permabanned on first login. There's no recourse and it looks like their workflow was designed to keep folks like me in a little information ditch. 19:05:42 ...Sorry, I've been on this rant before but 19:05:50 only just now recognized it. I'll go take a break. 19:14:54 I do like the way that IRC has both channel ops and network opers – if someone is attacking the network as a whole, or if the channel ops aren't around / are unavailable, the network opers can take over, but aren't needed in most cases 19:15:12 I imagine that most chat networks do something similar but are less transparent about it 19:16:42 (I also like the way that Libera both allows and encourages channel ops to hide their op status, so that conversations don't get distorted by having an op present and people don't act weirdly round them – many IRC networks aren't like that and it leads to a somewhat weird social dynamic) 19:23:00 i been up for 3 days writing mcr4 and still dont have a working version 19:25:17 I'd recommend sleeping – you get slower at programming when you've been awake for ages, so you'll probably finish it faster even taking the time spent asleep into account 19:25:51 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 19:27:58 no when I stay awake I become more smart and invincible 19:28:38 bang energy drink is much healhthier htan sleep 19:28:47 ais523: FWIW the "weird" dynamic is explainable by a single unified theory: power and responsibility are dual. This does lead rather directly into some philosophy that I know you're not especially fond of. 19:29:55 i will code iit in pseudocode b4 i sleep 19:30:14 korvo: I suspect it's a different relationship for the channels I was thinking of, where abuse of power for jokes was quite common and people were promoted based on time spent / familiarity with the mods rather than skill at moderation 19:31:06 often when things got onto undesirable topics it would be the unpowered users who would effectively moderate it by changing the subject, because the many ops and half-ops weren't doing anything 19:31:41 there was a time when someone kicked me as a joke, and I got my revenge by not rejoining for 2-3 days (even though I strongly suggested it was intended as a joke rather than a punishment) 19:34:14 ais523: Same theory. The idea is that the power exists because of the idea that the responsibility must exist and be delegated. In this case, because of the idea that chat spaces should exist and not be subject to certain sorts of heckling or dictatorship. 19:35:58 early Usenet is an interesting comparison, being basically unmoderated but with users able to (and effectively encouraged to) set up very comprehensive ignore lists 19:36:09 it didn't last, although it lasted for quite a while 19:39:24 Sure. The game theory on top of power dynamics is non-trivial, and I think that that's a lot of what people focus on when they talk about power. 19:41:09 Also what's known as The Reputation Problem: any sort of connection between karma and privileges, including e.g. allowing open anonymous registration or metamoderation, will structure the resulting social dynamics. HN is awful partially because they let anybody come in and spout bullshit. 19:41:31 Compare e.g. Slashdot or Lobsters, which use metamoderation and invite trees respectively to establish reputation amongst peers. 19:42:16 Of course, one could argue that this Reputation is merely an instance of the Revelation Principle, and thus part of the non-trivial game theory. I think it's more of a meta-observation, something about how the structures interact. 19:46:30 alrite I took another stab at it https://github.com/memesmith0/mcr4/blob/main/README.md 19:46:40 have not tested this code 20:28:22 he he he mcr4 is wurking again 20:28:36 -!- chomwitt_alt has quit (Ping timeout: 265 seconds). 20:28:48 I have found it is better to give the user the options to their commands | sh >&2 than to leave them with nothing 20:32:59 it is preferable to > into &2 than to rely on eval 20:44:03 korvo "Rumor is that it could have been as simple as using Firefox on Linux" => unlikely because I use Discord from Firefox on linux (and also from Firefox from Windows) 20:44:42 I don't like Discord's TOS, but it's bad in a particularly innovative way that I haven't seen in other online services' conditions 20:45:35 specifically it requires that all bot connections use open source software as the bot 20:46:51 I think they're in a friendly competition with twitch on who can put the weirdest conditions into their TOS 20:50:14 b_jonas: a requirement for bots to be open source is weird, but not nearly as weird as Twitch's TOS 20:50:56 ais523: yes, but I think Twitch's TOS became more weird in the last few years, so it may have been less weird back when Discord started 20:51:23 but yes, Twitch is probably winning right now 20:51:25 [[User:Anthonykozar/Sandbox]] https://esolangs.org/w/index.php?diff=151968&oldid=151948 * Anthonykozar * (+54) Add class="wikitable" to the tables. 20:55:25 I'm vaguely reminded of the US's requirement that certain types of cryptographic code require substantial paperwork to release, unless it's licensed public domain in which case the paperwork isn't needed 20:56:27 I am wondering if the requirement was intended to be "source available" rather than "public domain" (which would make some amount of sense given the apparent reasoning behind the paperwork) but they used the wrong terms 20:56:55 still, public domain code usually is source-available (and even open source) in practice even though it logically doesn't have to be 20:57:02 It's because the export restrictions don't override First Amendment right to speech. See DJB v USA. 20:57:35 oh, I hadn't considered that at all, basically because there isn't an obvious connection in my mind between public domain and free speech 20:57:36 ITAR paperwork still applies to corporations, particularly those with military contracts. 20:58:46 It's definitely USA-specific, but see also Zimmerman's publishing of source code in a book to fight against Canadian restrictions. 21:00:04 Oh, whoops, that's "Zimmermann", and that was also against the USA. 21:37:41 [[Language list]] M https://esolangs.org/w/index.php?diff=151969&oldid=151943 * Buckets * (+9) 21:37:57 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151970&oldid=151878 * Buckets * (+8) 21:38:12 [[]] N https://esolangs.org/w/index.php?oldid=151971 * Buckets * (+744) Created page with " (Pronounced Plus-Minus) is an Esoteric programming language created by [[User:Buckets]] in 2024. {| class="wikitable" |+ Caption text |- ! Commands !! Instructions |- | m || Set a group of Plus or Minus with The integer n. |- | n || Set a group of Minus o 21:39:26 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=151972&oldid=151965 * Aadenboy * (+345) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */ 21:39:44 :;mcr4_(){ (v(){ printf "%s" "$1"|awk "$2"||exit;};c="$2";f="$3";while read -r l;do j="$(v "$l" '$1')";if [ "$j" = "mcr4_f" ];then read -r l;f="$f$l";elif [ "$j" = "mcr4_c" ];then read -r l;c="$c$l";else v "$l" "$f{l=\$0}END{$c printf \"%s\\n\",l}";fi;done;)};mcr4(){ (if [ "$1" = "sh" ];then mcr4_ "$@"|sh>&2;else mcr4_ "$@";fi;)};: 21:40:08 lets play eye spy. can you spy >&2 22:42:02 -!- tromp has joined. 22:56:44 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=151973&oldid=151970 * Buckets * (+42) 22:56:50 [[Language list]] M https://esolangs.org/w/index.php?diff=151974&oldid=151969 * Buckets * (+43) 22:57:02 [[Minitable]] N https://esolangs.org/w/index.php?oldid=151975 * Buckets * (+1749) Created page with ": ''The title of this article is not correct because of technical limitations. The correct title is actually {| class="wikitable" |}.'' {| class="wikitable" |} is an Esoteric programming language created by [[User:Buckets]] in 2022. (Rings are the size of 6l cells pe 23:05:04 mcr4(){ (c="$1";f="$2";while read -r l;do if [ "~" = "$l" ];then read -r l;c="$c$l";read -r l;f="$f$l";else printf "%s" "$l"|awk "$f{l=\$0}END{$c print l}"||exit;fi;done;)}; 23:05:17 mcr4sh(){ mcr4|sh>&2;}; 23:24:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 23:33:49 ais523: https://www.amd.com/en/products/processors/desktops/ryzen/9000-series/amd-ryzen-9-9950x.html specs for an AMD processor that is already on the market and it claims to support AVX512 instructions, but I'm not sure I can completely trust that page because I think it's poisoned by marketing, also it claims 1280 KB of L1 cache which is very suspicious, they probably summed the sizes of multiple 23:33:55 types of caches through each processor core 23:34:19 also the instruction set extensions are listed in alphabetic order 23:34:42 I am still guessing it has at least some AVX512 support, but I should look elsewhere than that page 23:36:18 b_jonas: AMD has been adding together the size of L1c and L1d for ages – so it's probably the total L1c and L1d across all cores 23:36:52 which would make sense for a "quantity of cache" measurement, even though size of cache is what you actually care about usually 23:37:12 (if you are running two unrelated programs simultaneously, having a separate L1 for each of them is useful, so cache quantity is not entirely useless as a measure) 23:38:06 yeah, it's like saying I have 9 meters of heights of stepladders total in this workshop. doesn't help if I want to reach a four meter high ceiling. 23:39:57 I wonder if they're adding TLB cache in it too 23:42:07 is that distinct from the TLB itself? 23:42:48 but in any case I don't think the TLB counts as L1 cache 23:43:27 oh, I see – TLBs can have multiple levels, so the first level of a TLB can be considered a "level 1 cache" in a sense 23:44:55 um, I don't know if it has any level other than level 1 23:45:07 * ais523 reflects on how bizarre a name "transaction lookaside buffer" is 23:45:25 yes, I used to call it page table cache but people kept telling me it's called TLB 23:46:42 I wonder if it has a similar history to the car/cdr names in Lisp 23:47:15 hmm, I might use "cdr" in a language I'm designing to avoid the ambiguity of "tail" (which could reasonably be "last element" or "all but the first element") 23:48:11 the advantage of this sort of coined word (which is effectively a nonsense word even though it has an etymology) is that it's unlikely to be associated with meanings other than the meaning it was coined with 23:49:03 that works for "cdr" but not for "car" 23:49:45 yes – I probably wouldn't use "car" to pair with it 23:50:12 other possible naming conventions are first,last,butfirst,butlast (I don't recall where I've seen those) or head,tail,behead,curtail (from J) 23:50:42 I do like behead/curtail although they sound a bit like mutating operations 23:51:02 it is likely OK if your language is pure, there's no way to be misunderstood there 23:57:56 If it's all added together then it sounds like 8KiB of bookkeeping and 32KiB of L1 per processing core, which sounds physically plausible. 23:59:41 -!- craigo has quit (Quit: Leaving). 2025-02-15: 00:50:46 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:23:53 -!- Cale has joined. 01:46:16 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151976&oldid=151898 * I am islptng * (+515) Undo revision [[Special:Diff/151898|151898]] by [[Special:Contributions/I am islptng|I am islptng]] ([[User talk:I am islptng|talk]]) 01:47:13 -!- lisbeths has quit (Quit: Connection closed for inactivity). 01:47:32 [[User talk:Hotcrystal0]] N https://esolangs.org/w/index.php?oldid=151977 * I am islptng * (+636) Created page with "Please help contribute to [[User:I am islptng/List of the users that is also in conwaylife.com]] Thanks! ~~~~" 02:29:25 [[Translated ZhongWen/PSTF Again Undici]] N https://esolangs.org/w/index.php?oldid=151978 * PrySigneToFry * (+6093) Created page with "1. [[Translated ZhongWen/Mihai Again Twelve|]]Special:Contributions/PrySigneToFry|Your system is corrupted, it can't be tL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 02:31:17 [[Translated ZhongWen/Mihai Again Twelve]] https://esolangs.org/w/index.php?diff=151979&oldid=151936 * PrySigneToFry * (+292) 02:34:55 [[User:PrySigneToFry/Sandbox]] https://esolangs.org/w/index.php?diff=151980&oldid=151847 * PrySigneToFry * (+187) 03:18:28 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151981&oldid=151976 * Hotcrystal0 * (-24) 03:19:13 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151982&oldid=151981 * Hotcrystal0 * (+81) 03:20:31 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151983&oldid=151982 * Hotcrystal0 * (+55) 03:22:38 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=151984&oldid=151983 * Hotcrystal0 * (+3) Unicode arrows 03:24:52 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151985&oldid=151919 * Hotcrystal0 * (+129) 03:25:18 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151986&oldid=151985 * Hotcrystal0 * (+22) 03:33:50 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151987&oldid=151986 * Hotcrystal0 * (-28) 03:36:35 [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151988&oldid=151964 * Hotcrystal0 * (+0) 03:41:56 [[User:Hotcrystal0/User chart]] N https://esolangs.org/w/index.php?oldid=151989 * Hotcrystal0 * (+47) Created page with "A chart of users accounts on other websites." 03:44:35 [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=151990&oldid=151988 * Hotcrystal0 * (+50) 03:44:45 [[User:Hotcrystal0/User chart]] https://esolangs.org/w/index.php?diff=151991&oldid=151989 * Hotcrystal0 * (+25) 03:44:51 [[User:Hotcrystal0/User chart]] https://esolangs.org/w/index.php?diff=151992&oldid=151991 * Hotcrystal0 * (+1) 03:58:48 [[Pointing]] https://esolangs.org/w/index.php?diff=151993&oldid=151866 * Calculus is fun * (-587) Simplified instruction set 04:50:03 [[Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi8]] https://esolangs.org/w/index.php?diff=151994&oldid=151933 * PrySigneToFry * (+48) 05:14:23 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=151995&oldid=151987 * Aadenboy * (+463) reformat 05:20:40 [[Topple]] M https://esolangs.org/w/index.php?diff=151996&oldid=151925 * H33T33 * (+34) 06:11:02 [[ToArrowScript]] M https://esolangs.org/w/index.php?diff=151997&oldid=151928 * Cycwin * (+0) /* Syntax of TAS */ 06:25:10 [[StormLang]] https://esolangs.org/w/index.php?diff=151998&oldid=151947 * PrySigneToFry * (+706) 06:27:53 [[User:PrySigneToFry/Sandbox/StormLang discussion]] https://esolangs.org/w/index.php?diff=151999&oldid=151816 * PrySigneToFry * (+887) 06:45:35 -!- chomwitt_alt has joined. 07:22:53 -!- ais523 has quit (Quit: quit). 08:16:03 -!- lisbeths has joined. 08:16:46 mcr5(){ (unset f l c;m(){ while read -r l;do if [ "~" = "$l" ];then read -r l;c="$c$l";read -r l;f="$f$l";else echo "$l"|awk "$f{l=\$0}END{$c print l}"||exit;fi;done;};m|m)}; 08:16:51 now my macros themselves have macros 08:17:19 we put macros in the macros so you coould macro expand while you macro expand 08:17:40 Exciting. 08:37:02 edited it slightly https://github.com/memesmith0/mcr5/blob/main/README.md 08:53:53 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152000&oldid=151995 * 47 * (+8) 08:54:43 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152001&oldid=152000 * 47 * (+0) 08:56:04 -!- tromp has joined. 08:57:41 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152002&oldid=152001 * I am islptng * (+61) I have no miraheze account and one Discord. 09:12:13 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152003&oldid=152002 * 47 * (-26) 09:13:05 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152004&oldid=152003 * 47 * (+23) 09:25:49 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152005&oldid=152004 * PrySigneToFry * (+159) 09:50:23 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 10:51:00 -!- craigo has joined. 10:58:16 [[Translated ZhongWen/PSTF Again Undici]] https://esolangs.org/w/index.php?diff=152006&oldid=151978 * MihaiEso * (+47) 11:03:29 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152007&oldid=151972 * PrySigneToFry * (+959) 11:03:55 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152008&oldid=152007 * PrySigneToFry * (-29) 11:04:43 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152009&oldid=152008 * PrySigneToFry * (+1) 11:05:30 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152010&oldid=152009 * PrySigneToFry * (+70) Fixed rotating degree 11:07:12 -!- tromp has joined. 11:09:47 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152011&oldid=151519 * PrySigneToFry * (+525) /* My usage of span rotation */ new section 11:10:06 [[Translated ZhongWen/Mihai Again Chapter 13]] N https://esolangs.org/w/index.php?oldid=152012 * MihaiEso * (+5619) Created page with "1. [[Translated ZhongWen/PSTF Again Undici|]]Special:Contributions/PrySigneToFry|Your system is corrupted, it can't be tL$D3h$&% ?' L$H3h(*) ?+ L$L3h,.- ?/ L$P3h021 ?3 ?6$T3h45 ?7 ?:$X3h89 11:33:41 -!- jjrubes has joined. 11:54:56 -!- jjrubes has quit (Read error: Connection reset by peer). 12:09:23 [[StormLang]] https://esolangs.org/w/index.php?diff=152013&oldid=151998 * None1 * (+19) /* Identifier */ 12:17:00 [[User talk:Squareroot12621]] https://esolangs.org/w/index.php?diff=152014&oldid=151944 * Squareroot12621 * (+115) 12:17:29 Hi 12:24:21 https://github.com/memesmith0/macros_for_x 12:42:21 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152015&oldid=152011 * I am islptng * (+614) 12:42:41 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152016&oldid=152015 * I am islptng * (+1) /* My usage of span rotation */ 12:44:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 12:45:42 this is a prototype for something that adds macros to nearly every programming language that exists https://github.com/memesmith0/macros_for_x 12:45:45 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152017&oldid=152005 * I am islptng * (+131) 12:46:14 nearly every langauge on the esolangs wiki can be made to have syntax macros 12:46:21 12 years! 12:47:16 this does something similarly to what nixpkgs does but instead of doing it to packages it does it to programming languages 12:47:51 now you can truly in the same file start writing some c++ and type one line and then begin writing code in python then type another line and write some code in brainfuck 12:48:56 with this technology there can be an executable that makes no distinction between programming languages that is langauge agnostic 12:51:03 you can have a program that mixes code from this https://esolangs.org/wiki/Iris and this https://esolangs.org/wiki/Puzzlang although it may require a little tweaking 12:51:38 you can have a source file with this https://esolangs.org/wiki/Right_bracket and this https://esolangs.org/wiki/Itflabtijtslwi 12:53:37 -!- dawids has joined. 12:53:42 -!- dawids has quit (Remote host closed the connection). 12:54:03 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152018&oldid=152017 * Hotcrystal0 * (+0) 12:56:09 [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=152019&oldid=151990 * Hotcrystal0 * (+56) 12:57:05 [[User:Hotcrystal0/My esolang ideas]] N https://esolangs.org/w/index.php?oldid=152020 * Hotcrystal0 * (+139) Created page with "Here is where hotcrystal0 dumps his esolang ideas. An esolang called Scratch-unfriendly where every keyword is in Scratchs filter" 12:57:13 [[User:Hotcrystal0/My esolang ideas]] https://esolangs.org/w/index.php?diff=152021&oldid=152020 * Hotcrystal0 * (+2) 12:57:50 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152022&oldid=151963 * Hotcrystal0 * (+82) 12:58:04 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152023&oldid=152022 * Hotcrystal0 * (+0) 12:58:23 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152024&oldid=152023 * Hotcrystal0 * (+1) 13:31:11 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152025&oldid=152016 * PrySigneToFry * (+537) 13:31:43 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152026&oldid=152025 * PrySigneToFry * (-1) Fixed rotating degree 13:46:01 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152027&oldid=152026 * I am islptng * (+1559) 13:48:24 -!- ais523 has joined. 13:48:57 -!- ais523 has changed nick to callforjudgement. 13:49:05 -!- callforjudgement has changed nick to ais523. 13:52:01 nwo I am working on decoupling mcr from awk https://github.com/memesmith0/mcr6/blob/main/README.md 13:52:11 I am trying to make it so that the macros can be written in any language 14:00:42 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152028&oldid=152027 * I am islptng * (+492) /* My usage of span rotation */ 14:08:28 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152029&oldid=152028 * I am islptng * (-1731) /* My usage of span rotation */ 14:14:04 -!- tromp has joined. 14:19:28 -!- amby has joined. 14:24:50 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152030&oldid=152024 * Hotcrystal0 * (+99) 14:25:30 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152031&oldid=152030 * Hotcrystal0 * (+109) 14:26:19 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152032&oldid=152031 * Hotcrystal0 * (+53) 14:26:27 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152033&oldid=152032 * Hotcrystal0 * (+1) 14:26:37 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152034&oldid=152033 * Hotcrystal0 * (+11) 14:26:49 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152035&oldid=152034 * Hotcrystal0 * (-1) 14:26:58 [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=152036&oldid=152035 * Hotcrystal0 * (+1) 15:30:50 [[+-]] https://esolangs.org/w/index.php?diff=152037&oldid=151243 * Compiler12o * (-1) /* Interpreters */ 15:35:21 [[+-]] https://esolangs.org/w/index.php?diff=152038&oldid=152037 * Compiler12o * (+1117) /* +-=*/@%#()< */ 15:39:11 [[+-]] https://esolangs.org/w/index.php?diff=152039&oldid=152038 * Compiler12o * (+173) /* +-=*/@%#() [[+-]] https://esolangs.org/w/index.php?diff=152040&oldid=152039 * Compiler12o * (-1) /* +-=*/@%#() [[+-]] https://esolangs.org/w/index.php?diff=152041&oldid=152040 * Compiler12o * (+0) /* +-=*/@%#() [[User:PrySigneToFry/Sandbox/Users that is also on other place]] M https://esolangs.org/w/index.php?diff=152042&oldid=152018 * Aadenboy * (-69) 17:49:28 question. suppose I have an esoteric language that I implement by compiling to C. the goal here is that the source translates to C in a somewhat transparent way, so you can read the C code to understand the rules of the language or to debug the compiler. also you can link multiple source files from the language, and even C libraries as long as you prepare a C interface that can be accessed from the 17:49:34 esolang. 17:51:23 my question is, what interface should I give to the esolang to C compiler to make both the simple case easy, where you're just compiling an esolang program to an executable with the default libraries, and the hard case, where you just want the C code and then you want to invoke the C compiler and linker with custom settings? 17:54:46 Hmm maybe look at https://manpages.org/ick for inspiration? 17:56:02 also I'll need both a standard library for the esolang that you'll have to link to, and a header file that the translated C file will include. 17:56:13 int-e: I'll look at that 18:00:08 b_jonas: C-INTERCAL's approach is to do INTERCAL-to-C-to-executable by default but to have a command-line argument to stop after generating the C 18:00:37 and IIRC it drops a compile-command header (which is an Emacs modeline, because why not?) that specifies how to compile the resulting C file 18:01:03 int-e: ooh, C-INTERCAL has made it to manpages.org? 18:01:40 evidently 18:09:56 a compile header directly into the C file? interesting, I was thinking of writing a makefile include 18:12:05 this is about that text columns esolang that I was talking about recently, and I think I should make it statically typable 18:14:08 I probably won't take this past toy stage so the whole complication is probably unnecessary, but I still want to figure out how it should work 18:16:10 I'd start with `< file.esolang my-compiler > file.c && gcc file.c` and basically never move past that point. 18:16:11 like I may want different modes of array index safety: one that strictly checks that all array accesses are in bounds, which helps me prove that a program that I write in the esolang doesn't have a problem with that and so should work portably with hypothetical other implementations of the esolang, but potentially also a non-checking version to prove that you can write somewhat efficient code in this 18:16:17 esolang. I probably don't need to implement the latter, because it's still just a toy, but I want to know that it's implementable. 18:16:38 (I *would* write a Makefile if the command chaining gets out of hand for some reason) 18:17:05 (there could be an intermediate safety, where out of bounds array accesses can't break out of memory safety, but I don't prove that they're valid in the language) 18:17:19 but I also never ship anything so... 18:18:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 18:18:53 sure, me neither 18:19:24 and there are still parts that I have to think about how this esolang should be defined 18:40:29 -!- tromp has joined. 18:42:18 -!- Lord_of_Life_ has joined. 18:42:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 18:43:41 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 18:56:26 -!- tromp has quit (Read error: Connection reset by peer). 18:57:32 For putting the compile command header, what I had done is to put the commands into a #if 0 block, because the C compiler will skip them but the command shell treats "#if 0" as a comment so it is that command which is skipped instead. 19:25:16 lisbeths: How would your approach apply to languages whose programs aren't written as documents? 19:26:56 I dont know 19:26:58 The common esolangs examples are The Waterfall Model, whose programs are matrices, and But Is It Art?, whose programs are tiles. Other examples include Wang tiles or Post correspondence tiles, FRACTRAN whose programs are sequences of rational numbers, and Cammy whose programs are algebraic expressions. 19:27:16 the program would ahve to be representable as a series of bits 19:27:33 or the logic of the program would ahve to be representable as a series of bits 19:27:51 Oh, that's always possible. But it would mean that the represented program is encapsulated. 19:28:29 Taking your example: if some lines of a document are C++, some are Python, and some are Brainfuck, then what memory model is used to describe the resulting program's behavior? 19:31:46 thats up to the user thats not my job 19:32:50 I'm vaguely reminded of how some very early shell apparently implemented goto as a separate executable; I'm not entirely sure how it worked 19:33:31 the most sensible option would be along the lines of exec'ing the shell starting at a particular line, but I'm hoping it was weirder 19:34:39 it is a hard thing to search for 19:34:54 lisbeths: Out of curiosity, what do you think of quasiquotation? Have you seen languages that offer programmable quasiquoters? 19:37:18 i havent 19:52:28 cu 20:08:44 [[Chops]] M https://esolangs.org/w/index.php?diff=152043&oldid=150635 * Buckets * (+43) 20:37:47 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152044&oldid=151568 * Buckets * (+375) 20:47:27 seem to be nearly done with mcr7 https://github.com/memesmith0/mcr7_repl/ 20:47:56 the main difference between mcr7 and mcr6 is that mcr6 has a macro system in awk whereas mcr7 intends to let you pick your own macro system 20:48:51 or sorry mcr5 is based in awk mcr6 allows you to choose your own macro system and mcr7 allows you to reprogram the macro system from mcr6 with more macros 20:52:30 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152045&oldid=152042 * MihaiEso * (+67) 20:52:52 mcr6 has made me realize a bottleneck in my design which is that it has to send the entire list of macros into the macro interpreter for every single line. and it would be more efficient for the macro system to be able to interpret mcr6 macros as part of its program 21:03:58 -!- Sgeo has joined. 21:04:17 -!- craigo has quit (Ping timeout: 248 seconds). 21:10:40 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152046&oldid=152010 * Tommyaweosme * (+384) 21:16:27 It's starting to look a lot like m4. Maybe it's a case of convergent evolution. 21:17:30 [[Kcidea]] https://esolangs.org/w/index.php?diff=152047&oldid=137688 * Tommyaweosme * (+77) 21:24:53 this is a much smaller system than m4 21:24:57 https://github.com/memesmith0/mcr10 21:25:07 I dont think I can take the mcr program any further than this 21:37:15 I can make my own awk version of it which is what I prefer, but that is all 22:10:24 [[6A]] M https://esolangs.org/w/index.php?diff=152048&oldid=151511 * Buckets * (+0) 22:11:58 [[User:Anthonykozar/Sandbox]] https://esolangs.org/w/index.php?diff=152049&oldid=151968 * Anthonykozar * (-35) Testing if literal greater-than and less-than signs and/or their HTML entities work. 22:12:13 -!- chomwitt_alt has quit (Ping timeout: 252 seconds). 22:14:46 [[ASCII Code]] N https://esolangs.org/w/index.php?oldid=152050 * MihaiEso * (+3550) Created page with "'''ASCII Code''' is a esolang made by Mihai Popa. The goal is to fit a program in a ASCII square or rectangle. == Command list == {| class="wikitable" |+ Command list |- ! Command !! Meaning |- | s || Sets the current variable. Variable can be any of the 26 letters 22:17:39 [[User:Anthonykozar/Sandbox]] https://esolangs.org/w/index.php?diff=152051&oldid=152049 * Anthonykozar * (+17) Fix code formatting 22:18:09 [[User:MihaiEso]] https://esolangs.org/w/index.php?diff=152052&oldid=151946 * MihaiEso * (+37) /* List of my esolangs */ 22:19:02 [[Language list]] https://esolangs.org/w/index.php?diff=152053&oldid=151974 * MihaiEso * (+17) 22:56:23 -!- Lykaina has joined. 23:17:11 https://github.com/memesmith0/mcr11 now this is podracing 2025-02-16: 00:26:17 https://github.com/memesmith0/mcr13 this is alot closer to what the final product should look like 01:14:42 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 02:44:43 -!- nitrix has joined. 02:48:59 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152054&oldid=152045 * PrySigneToFry * (+58) 02:53:36 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152055&oldid=152029 * PrySigneToFry * (+559) 02:55:49 [[Language list]] https://esolangs.org/w/index.php?diff=152056&oldid=152053 * PrySigneToFry * (+16) /* S */ 02:56:48 [[StormLang]] https://esolangs.org/w/index.php?diff=152057&oldid=152013 * PrySigneToFry * (+25) 03:05:02 -!- op_4 has quit (Remote host closed the connection). 03:05:32 -!- op_4 has joined. 03:13:09 mmcr(){ (a(){ unset f c;while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";read -r i;f="$f$i";else echo "$i"|awk "$f{o=\$0;$c print o}"||exit;fi;done;};a|a|sh>&2)};#https://github.com/memesmith0/mmcr 03:14:57 -!- zzo38 has quit (Ping timeout: 248 seconds). 03:50:03 Sometimes I think it would be nice if Turing-style machines had explicit stuckness. 03:50:29 Right now I'm dreaming of self-applying Brainfuck and it's unfortunate that sometimes the best way to signal an error in the input is by provably never halting. 03:53:53 -!- zzo38 has joined. 03:57:21 -!- Lykaina has quit (Quit: Leaving). 04:26:08 (a(){ f="";c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";read -r i;f="$f$i";else echo "$i"|awk "$f{o=\$0;$c print o}";fi;done;};a|a) 04:27:43 I have a very powerful subset of lambda calculus that always halts 04:35:14 -!- ais523 has quit (Quit: quit). 04:40:03 (a(){ f="";c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";read -r i;f="$f$i";else echo "$i"|awk "$f{o=\$0;$c print o}";fi;done;};a|a) 04:40:30 thats the money shot 04:43:07 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] M https://esolangs.org/w/index.php?diff=152058&oldid=152054 * Aadenboy * (+0) lowercase 05:12:55 lisbeths: Good times. Lambda calculus is very relevant to many folks here; do you have a description of your subset? 05:32:00 yes 05:32:09 ibis combinator 05:32:13 kestrel combinator 05:32:20 kite combinator 05:32:26 viero combinator 05:32:33 is_end_of_list combinator 05:33:25 these should always halt when applied to each other in correct sequences 05:34:40 https://github.com/memesmith0/mcr14 05:34:57 I have successfully decoupled awk as the only macro system for mcr5 05:35:07 so now you can use any system that you want for macros 05:55:07 I think that that combinator basis is equivalent in power to BCKI, maybe more usefully phrased as BCI+K. It's an affine lambda calculus. 06:00:32 -!- jjrubes has joined. 06:09:34 [[D]] https://esolangs.org/w/index.php?diff=152059&oldid=128743 * BestCoder * (+14) 06:37:22 -!- nitrix has quit (Read error: Connection reset by peer). 06:40:34 -!- nitrix has joined. 07:03:38 [[Fucktion]] N https://esolangs.org/w/index.php?oldid=152060 * I am islptng * (+968) Created page with "'''Fucktion''' is an esolang created by islptng. == Intro == We have only parenthesis. Other characters are considered as comments.
Each program are computed by calling function f(). Arguments are passed without punctuation or spaces.
Example: (()(())(()() 07:05:09 -!- jjrubes has quit (Read error: Connection reset by peer). 07:07:41 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152061&oldid=152046 * Ractangle * (+207) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */ 07:10:23 [[Fucktion]] https://esolangs.org/w/index.php?diff=152062&oldid=152060 * I am islptng * (+341) 07:31:25 [[EsoInterpreters]] https://esolangs.org/w/index.php?diff=152063&oldid=151470 * WinslowJosiah * (+68) Add Deadfish interpreter in Bespoke 07:53:24 heh I know some special tricks that are much nicer than BCKL as you shall see in the coming weeks with fastlisp 08:00:05 anymcr(){ if [ "$2" = "" ] ;then sh -c "$1"|sh -c "$1";else sh -c "$1"|sh -c "$1"|sh -c "$2">&2; fi;};mcr14(){ (a="(unset c f;while read -r i;do if [ \"\$i\" = m ] ;then read -r i;c=\"\$c\$i\";read -r i;f=\"\$f\$i\";else echo \"\$i\"|awk \"\$f{o=\\\$0;\$c print o}\";fi;done;)";if [ "$2" = "" ] ;then if [ "$1" = "" ] ;then anymcr "$a"; else anymcr "$1"; fi; elif [ "$1" = "" ] ; then anymcr "$a" "$2"; else anymcr "$1" "$2"; 08:00:05 fi;)};mcr14sh(){ mcr14 "" "sh";}; 08:00:38 I think its pretty finished I can't fathom anything else I'd want to do with it 08:01:05 perhaps I could change anymcr to reflect systems that do not pipe into themselves 08:01:15 but other than that there's not much else I can do 08:21:36 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152064&oldid=152055 * I am islptng * (+1525) 08:58:59 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152065&oldid=152064 * Ractangle * (-1538) /* My usage of span rotation */ oh no you dont! 09:10:18 Next up, porting to execline~ 09:36:35 -!- jjrubes has joined. 09:46:05 -!- jjrubes has quit (Quit: Leaving). 10:33:54 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152066&oldid=152061 * PrySigneToFry * (+916) 10:35:32 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152067&oldid=152066 * PrySigneToFry * (+0) Fixed time 10:41:28 okay Ive added some very basic documentation on the mcr14 page 10:42:59 -!- chomwitt_alt has joined. 11:08:30 is there any online PDF that will give me a formal introduction to lambda calculus? 11:09:31 I'm looking for something more academic than practical. I mean https://en.wikipedia.org/wiki/Lambda_calculus seems good. It uses the academic terms like "abstraction", "application", etc. that's how I want to learn it. but some articles I found online mixes too much programming terminology making the articles difficult to read. 11:09:55 the backus naur form for lambda calculus is real simple 11:10:15 lisbeths: thx. any links you could point me to? 11:10:17 the wikipedia page on the church encoding is really good 11:10:24 and the wikipedia page for lambda calculus 11:10:42 you might also want to look up scotts encoding and de brujins indices 11:11:04 if you /join #lambdacalculus I put a bunch of materials about lambda calculus in the topic 11:12:31 lisbeths: great. didn't know it existed. let me joint hat. 11:13:38 in have this lambda tattoo https://usercontent.irccloud-cdn.com/file/qHkz5Nss/1000000994.jpg 11:35:52 -!- tromp has joined. 11:42:03 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=152068&oldid=151984 * PkmnQ * (+92) 11:43:46 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152069&oldid=152058 * PkmnQ * (+42) 11:48:11 Hi 12:01:34 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152070&oldid=152069 * PrySigneToFry * (+9) 12:44:47 -!- amby has joined. 12:47:38 [[User:Krolkrol]] N https://esolangs.org/w/index.php?oldid=152071 * Krolkrol * (+20) Created page with "This is my user page" 12:49:26 [[No.]] M https://esolangs.org/w/index.php?diff=152072&oldid=135544 * Krolkrol * (+108) 12:56:41 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152073&oldid=152070 * Gilbert189 * (+159) 13:04:51 new base for mcr (c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";else echo "$i"|sh -c "read -r o;$c echo \"\$o\""||exit;fi;done) 13:05:01 you can remove ||exit error handling for more character space 13:21:06 -!- Sgeo has quit (Read error: Connection reset by peer). 13:48:49 [[Kolakoski sequence]] https://esolangs.org/w/index.php?diff=152074&oldid=150786 * PkmnQ * (+535) /* Tag system */ 13:49:47 can i get help 13:49:51 my brainfuck interpreter is slow 13:49:59 https://gist.github.com/izabera/d980ad66fca9ca78987a51519f2279b3 13:50:20 https://asciinema.org/a/rcwlxfOh1CSaQ1ADlue1F2g4K 13:50:39 the long pauses are clone returning eagain over and over and over 13:50:45 and i can't tell if i'm doing things wrong 13:52:23 I don't know what you expected 13:52:37 i mean the parent dies immediately every time 13:52:42 so i'm not running out of pids 13:52:51 so, i expected zero pauses 13:53:19 but they'll still become zombies that have to be reaped? 13:53:23 i don't know 13:53:28 do they 13:53:37 i'm using clone with 0 in the lowest byte 13:53:41 of the first arg 13:53:58 i was hoping this would make them not zombied 13:53:59 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152075&oldid=152065 * I am islptng * (+1539) Undo revision [[Special:Diff/152065|152065]] by [[Special:Contributions/Ractangle|Ractangle]] ([[User talk:Ractangle|talk]]) 13:54:04 is that dumb 13:54:09 is that not how it works 13:54:21 isabella: (c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";else echo "$i"|sh -c "read -r o;$c echo \"\$o\""||exit;fi;done) 13:54:43 (c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";else echo "$i"|sh -c "read -r o;$c echo \"\$o\""||exit;fi;done) | (c="";while read -r i;do if [ "$i" = m ] ;then read -r i;c="$c$i";else echo "$i"|sh -c "read -r o;$c echo \"\$o\""||exit;fi;done) 13:54:46 can you not 13:54:53 can I not what 13:54:56 that 13:55:01 can you be more specific 13:55:13 do you want me not to speak to you? 13:55:23 you keep vomiting your line noise onto me in every channel we share 13:55:28 like 13:55:33 no offence but please don't 13:55:40 alot of people share alot of channels it isnt something personal 13:56:45 only this one was directed at you 5:54 AM 13:56:56 yep so maybe don't 13:57:10 ah so you are saying you dont want me to ping you. thats fine I will just /ignore you 13:57:48 isabella: Hmm I don't know what you mean by "0 in the lowest byte" 13:58:14 from my understading, the syscall takes a signal in the lowest byte of the first argument 13:58:25 and that signal is delivered to the parent when the child dies 13:58:31 but if it's 0, no signal is delivered 13:58:35 does that auto reap? 13:59:09 i don't know, can i make it autoreaped? 13:59:28 isabella: the zombies record exit codes that can be queried by the parent (or parent of parent if the parent dies, etc) 13:59:51 it's a pretty integral part of posix process semantics 14:00:12 that said I'm not even sure whether that causes your delays 14:00:35 Can I not avoid that at all 14:00:42 I don't think you can 14:00:52 you *could* stop forking without abandon of course 14:03:11 My first version was simpler but slower 14:03:20 Because no clone_vm 14:03:43 There's probably a way to do clone_vm without writing it in asm 14:05:29 to my mind the thing you're running into is that creating processes is expensive 14:05:32 * int-e shrugs 14:05:42 Yeah no I get that 14:05:50 I just want to get rid of the pauses 14:06:10 Heck maybe it runs out of zeroed pages and refilling those is why it pauses. 14:06:29 Clone_vm 14:06:33 No new pages 14:07:03 ah 14:08:35 I mean, the way you avoid having to reap processes is by using threads. 14:09:06 This was meant to be annoying to stop once it's running 14:09:24 * int-e shrugs 14:16:51 A friend tried it on openrc and it doesn't pause 14:17:10 So maybe my systemd is slow at reaping 14:24:34 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152076&oldid=152075 * Ractangle * (-1539) no 14:28:26 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152077&oldid=152067 * Tommyaweosme * (+332) /* WoUlD yOu MiNd If I tHoUgHt Of YoUr "BRING BACK THE OLD SANDBOX" As An ExAmPlE pRoGrAm? */ 14:29:06 [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152078&oldid=150936 * Tommyaweosme * (+0) 14:50:37 [[User:PrySigneToFry/Sandbox/Users that is also on other place]] https://esolangs.org/w/index.php?diff=152079&oldid=152073 * Hotcrystal0 * (+14) 14:59:38 -!- craigo has joined. 15:00:01 -!- craigo has quit (Remote host closed the connection). 15:08:04 -!- craigo has joined. 15:13:53 [[Dolfins grace]] https://esolangs.org/w/index.php?diff=152080&oldid=140211 * Tommyaweosme * (-1) /* finnobachi */ 15:14:55 [[Deadfih]] M https://esolangs.org/w/index.php?diff=152081&oldid=138461 * Krolkrol * (+232) 15:42:37 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 16:20:44 -!- tromp has joined. 16:22:51 -!- ais523 has joined. 16:23:47 so i fixed the stalls 17:30:23 isabella: did you figure out a cause? or did you just tweak things until they went away? 17:33:29 It's systemd being slow at the one thing an init is required to 17:33:37 *do 17:33:58 okay 17:34:24 It's a bit faster too 17:34:33 99 bottles of beer in 7s 17:36:08 I also tried some alternative syscalls to measure a baseline 17:36:43 Sched_yield is like 60x faster 17:40:00 -!- zzo38 has quit (Remote host closed the connection). 18:12:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 18:16:05 [[SCOOP]] N https://esolangs.org/w/index.php?oldid=152082 * Anthonykozar * (+35465) Draft description of new language SCOOP (Single-Character Object-Oriented Programming). 18:20:36 -!- tromp has joined. 18:20:50 [[Scoop]] https://esolangs.org/w/index.php?diff=152083&oldid=151874 * Anthonykozar * (+32) Add Distinguish/Confusion template 18:21:28 [[SCOOP]] https://esolangs.org/w/index.php?diff=152084&oldid=152082 * Anthonykozar * (+33) Add Distinguish/Confusion template. 18:29:45 [[Special:Log/newusers]] create * Astolfotrap312++ * New user account 18:35:30 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=152085&oldid=151885 * Astolfotrap312++ * (+67) 18:43:17 -!- Lord_of_Life_ has joined. 18:44:03 -!- Lord_of_Life has quit (Ping timeout: 276 seconds). 18:44:22 i think it's not too far from a forkbomb 18:44:35 except it doesn't explode in resource usage 18:44:39 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 18:44:55 it just keeps running away and doing the bare minimum amount of work on each step 18:47:04 [[SCOOP]] https://esolangs.org/w/index.php?diff=152086&oldid=152084 * Anthonykozar * (+129) Add wikitable class to all tables and change table columns called "Name" to "Symbol Name". 19:05:23 -!- chiselfuse has quit (Remote host closed the connection). 19:05:47 -!- chiselfuse has joined. 19:10:21 [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=152087&oldid=151090 * BestCoder * (+193) /* how to get noticed */ new section 19:25:28 -!- lisbeths has quit (Quit: Connection closed for inactivity). 19:29:26 [[SCOOP]] https://esolangs.org/w/index.php?diff=152088&oldid=152086 * Anthonykozar * (+172) Added categories. 19:34:44 [[Language list]] https://esolangs.org/w/index.php?diff=152089&oldid=152056 * Anthonykozar * (+59) Added SCOOP (Single-Character Object-Oriented Programming) 19:40:52 [[Special:Log/newusers]] create * Muxutruk * New user account 19:43:54 -!- zzo38 has joined. 19:45:49 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=152090&oldid=152085 * Muxutruk * (+245) Introduced myself 19:50:27 [[Brainfuck]] https://esolangs.org/w/index.php?diff=152091&oldid=151072 * Muxutruk * (+97) Added my Brainfuck compiler 19:59:03 -!- Guest81 has joined. 19:59:25 -!- Guest81 has quit (Client Quit). 20:26:48 -!- tromp has quit (Read error: Connection reset by peer). 20:34:44 [[User:Buckets/Sandbox]] N https://esolangs.org/w/index.php?oldid=152092 * Buckets * (+7) Created page with "Sandbox" 21:00:37 G'Night 21:22:54 -!- chomwitt_alt has quit (Ping timeout: 268 seconds). 22:16:17 [[User:Buckets]] https://esolangs.org/w/index.php?diff=152093&oldid=151973 * Buckets * (+13) 22:16:22 [[Language list]] M https://esolangs.org/w/index.php?diff=152094&oldid=152089 * Buckets * (+14) 22:16:37 [[Sundays]] N https://esolangs.org/w/index.php?oldid=152095 * Buckets * (+896) Created page with "Sundays is an Esoteric programming language created by [[User:Buckets]] in 2020. {| class="wikitable" ! Commands !! Instructions |- | 0 (or 0.) || Create A new variable. |- | 1 || Change the variable to the Newer Created Variable. |- | 2 || Change the variable to the Old 22:18:01 [[Sundays]] M https://esolangs.org/w/index.php?diff=152096&oldid=152095 * Buckets * (+22) 22:27:26 [[Sleep]] M https://esolangs.org/w/index.php?diff=152097&oldid=113348 * Buckets * (+41) 22:29:12 -!- chiselfuse has quit (Remote host closed the connection). 22:29:24 -!- chiselfuse has joined. 22:43:55 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152098&oldid=152092 * Buckets * (+27) 23:23:21 -!- Sgeo has joined. 23:48:06 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152099&oldid=152076 * I am islptng * (+1539) This is the Chinese character for "Fun", Not n*zi flag! 2025-02-17: 00:06:20 -!- yewscion_ has joined. 00:11:34 -!- GregorR has quit (Quit: Ping timeout (120 seconds)). 00:11:47 -!- GregorR has joined. 00:17:27 -!- GregorR has quit (Ping timeout: 252 seconds). 00:24:59 [[User talk:I am islptng]] M https://esolangs.org/w/index.php?diff=152100&oldid=152099 * Aadenboy * (-1138) just use the circle character 00:26:36 -!- GregorR has joined. 01:35:29 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152101&oldid=152100 * I am islptng * (+1138) I prefer using my version because some computer can't display that correctly 01:36:58 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152102&oldid=152101 * I am islptng * (+2) Avoid 01:49:43 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 02:10:53 -!- craigo has quit (Ping timeout: 268 seconds). 02:17:35 -!- molson has joined. 02:20:21 -!- molson_ has quit (Ping timeout: 276 seconds). 02:51:27 [[UserEdited]] https://esolangs.org/w/index.php?diff=152103&oldid=151955 * Hotcrystal0 * (+320) 02:53:42 [[UserEdited]] https://esolangs.org/w/index.php?diff=152104&oldid=152103 * Hotcrystal0 * (+82) 03:41:46 [[SCOOP]] https://esolangs.org/w/index.php?diff=152105&oldid=152088 * Anthonykozar * (+23) /* History and Design Goals */ Adding design goal "fairly easy to parse". 03:45:57 -!- ais523 has quit (Quit: quit). 05:02:51 [[Kolakoski sequence]] https://esolangs.org/w/index.php?diff=152106&oldid=152074 * PkmnQ * (+259) /* Post correspondence problem */ 06:31:14 One idea I thought of is "base zero" numbers that are stored the power of zero and the multiple. This way, you can make sizeof(x)/sizeof(*x) if x is an array even if sizeof(*x)==0 07:35:38 -!- lisbeths has joined. 07:37:41 Thinking about Jones-optimal partial evaluators and what it would look like to synthesize a language which makes them easier to write. 07:40:26 It seems like most existing research has been analytic. Given e.g. Prolog, how few clauses are required for partial evaluation? But I think we should be synthetic: what modifications to Prolog would reduce the number of clauses? 07:41:04 more than negatieve one? 07:41:09 -!- ursa-major has quit (Remote host closed the connection). 07:41:10 -!- dcreager has quit (Remote host closed the connection). 07:41:10 -!- ManDeJan has quit (Remote host closed the connection). 07:41:29 -!- ManDeJan has joined. 07:41:49 -!- dcreager has joined. 07:42:04 -!- ursa-major has joined. 07:42:43 lisbeths: Prolog's known to require three clauses and I don't think we can do better due to the underlying Horn-clause formalism. 07:43:30 i would look at other languages that fit the category of database 07:43:46 We don't really care about the number of clauses. We care about the number of different possible forms. Ideally a nice partial-evaluation language only has maybe two or three possible forms. 07:44:03 you mean the number of combinations of clauses? 07:44:27 Sure, although partial evaluation is a single predicate, so we're only counting a single predicate's clauses. 07:44:43 https://www.metalevel.at/acomip/ is a decent introduction to how it's done for Prolog. 07:44:57 ok well prolog is designed specifically for problems like taking a dtabase of things and finding all the combinations of those things 07:47:33 It can be useful to think of Prolog as computing a reasonably-programmable search for Herbrand terms over some first-order Horn clauses. (A Herbrand term is like an S-expression, basically.) 07:48:27 And we can express Horn clauses as Herbrand terms. This is what enables metacircular evaluators to be small and efficient: code is (efficiently represented as) data. 07:48:31 thats likely true 07:48:55 i would look into very small versions of prolog 07:49:07 such as minikanren or some kind of worlds-smallest-prolog 07:51:10 The linked article covers pure Prolog. For miniKanren, there's the wrinkle that the (fresh) form needs to introduce names, and those names have to be bound somehow; one option might be alphaKanren, which is miniKanren with nominal logic. 07:52:33 * korvo crossposting to #minikanren 07:54:54 do you know about binary lambda calculus? 07:55:21 https://github.com/iambrj/metaKanren I have found a new avenue of research and guess I will be spending time with this. 07:55:27 Sure. Around here, you can call it BLC. 07:56:00 esolangs: What is BLC? Who has popularized it? What are some uses of BLC? 07:57:03 korvo: BLC (Binary Lambda Calculus) is a self-interpreting programming language that uses binary digits to represent lambda calculus expressions. It was popularized by its creator, who has not been explicitly named in the provided text. BLC is used for exploring the fundamental concepts of lambda calculus and for creating small, efficient programs. It's... 07:57:03 also a stepping stone for understanding esoteric programming languages like LAST. 07:58:20 I prefer to make it a habit of calling it binary lambda calculus. is it not possible to implement minikanren as a very small binary lambda calculus prefix? and would that not be the smallest prolog style database? 07:58:23 Y'know, that's 1/3 points. Not a complete failure. 07:58:38 esolangs: Why did John Tromp design BLC? 07:58:48 korvo: John Tromp designed BLC (Basic Language for Computation) to explore the intersection of programming languages and computer architecture. He aimed to create a language that was both simple and powerful, allowing for efficient computation on low-level hardware. BLC's focus on direct hardware manipulation and its minimalist syntax were intended to... 07:58:48 push the boundaries of what a programming language could achieve. 07:59:13 lisbeths: I guess that we should take a couple steps back. Are you familiar with Futamura's projections? 07:59:33 no I am not very literate about code in the scholarly sense 07:59:49 fungot: u'i as you can see, the bots know nothing! nothing! 07:59:50 korvo: is it allowed to shadow a syntactic keyword evaluated by quasiquote, and not 08:00:50 lisbeths: Okay, so. Let's imagine a funky kind of program. Futamura imagined three specific ways to use it, called his "projections". It's very meta but very useful. The study of Futamura's line of research is called *partial evaluation*. 08:01:21 I think I understand what it means to partially evaluate something 08:01:53 These funky programs are called *specializers*. They take two arguments, which we'll think of as an ordinary user-level program and some input for that program, and return another ordinary user-level program with that input hardcoded into it. 08:02:05 Okay, great. So that ^^^ should sound familiar? 08:02:19 yeah that is a kind of a macro expansion 08:02:44 you are interleaving two syntax trees together in a specific way before evaluation 08:03:09 Sure. Suppose that we have a function f and input x, and we have their source code, which I'll write [f] and [x]. Then all we're doing is taking [f]([x]) and asking for [f(x)]. 08:03:27 yes thats what you just described 08:04:00 Actually, let's be a little more flexible. Let's imagine that f takes two arguments. We're going to turn [f] and [x] into [y: f(x, y)]. We're only going to specialize the first argument. 08:04:08 yes taht makes sense 08:04:30 When we do that, the result is called the *residual program*. That's why sometimes the literature calls this *residualization*. 08:04:45 in combinators [any_f] [any_x] -> [any_f(any_x)] is just concat 08:05:06 you are saying [y: f(x,y)] is the residual program correct? 08:05:38 Yeah. Like, the residue will take an argument when it's run on a machine. 08:06:10 I dont follow but sure we can refer to those interleaved programs as residual programs and we can refer to the itnerleaving of programs as reisdualization 08:06:17 Yep! Concatenative languages tend to have a very nice partial-evaluation scheme based on monoids, which is just a generalized way of doing concatenation. 08:06:37 but shouldnt all syntax trees be representable as concatenative programs? 08:08:00 Well, let's look at a useful example. Futamura noticed that if f is an interpreter, say [interp], and x is some source code for an interpreted program, then we get [y: interp(x, y)]. The specializer compiled the interpreter onto the input program! 08:08:39 yes f can be an interpreter for a language 08:09:21 So that's the first Futamura projection. There's no need to write a compiler. Just write an interpreter and a specializer. 08:09:52 I understand that collloquially as "there is no need to write compilers just functions and secializers" 08:10:00 what is a sepcializer 08:10:17 Also, there's a magic rule for partial evaluation. The rule is: if the specializer is good, then the residues will be good too. The rule for the first projection: if the interpreter and specializer are good, then the compiler's outputs will be good too. 08:10:33 define good 08:10:48 as in sound and valid 08:11:10 Well, it tends to hold for *any* chosen metric. 08:12:10 what do you mean by it and what do you mean by metric 08:12:27 Oh, yeah. If the interpreter and specializer are both correct, then so are the compiler's outputs. But of course the correctness proof does different things from different perspectives; here, the outputs are only correct in that they faithfully do what the user requested. 08:14:49 lisbeths: I guess I should point out that a specializer can be complicated. It could be very simple, yes. But it could also put a lot of effort into optimizing the residue. The traditional example is specializing e.g. Python `lambda x, y: y ** x` with x=3 to `lambda y: x * x * x`. 08:15:18 Er, sorry, `lambda y: y * y * y`. It's late here. 08:15:27 ok so this si about proving a function or compiler is perfect and proving that something called a "specializer" is perfect, and then we can prove that the residue is perfect therefore 08:16:08 since the residue is perfect we can know that the output of evaluating the residue will be perfect 08:16:27 It's more about not writing a compiler. Like, for the past few years, I've been writing interpreters in a Python-like language, and a toolchain automatically transforms them into JIT compilers. I will hopefully never have to write a single JIT by hand ever again. 08:16:47 sure we can call them functions_that_are_like_compilers for long 08:17:29 The terms *interpreter* and *compiler* are standard here. Another standard term is *compiler compiler*, which is what it says on the tin: feed it a description of a compiler toolchain, and it will generate the actual compiler for you. 08:17:47 I still need to know what a specializer is 08:18:39 Restating: A specializer is an ordinary user-level program. It takes two arguments, as source code, and applies one to the other. We'll say s is a specializer and [s] is its source code. 08:19:11 s([f], [x]) = [y: f(x, y)]. When f is an interpreter, that's the first projection. 08:19:11 ah okay so we could say specializer [ f ] [ x] => [ y: f(x) ] correct? 08:19:36 ok now I understand 08:19:46 let me reread what you wrote now knowing this 08:20:32 Sure. But we need that variable s. Because Futamura then asked what happens if we do s([s], [[f]]) = [y: s([f], y)]. (Okay, I'll wait for you to catch up.) 08:22:35 so what do we call these neo-compilers taht do not require compilation but can do the same thing 08:22:43 I think calling them interpreters is confusing 08:23:10 Those residues are just called compilers. They aren't special. 08:23:24 oh so the output of the specializer is the compiler 08:23:31 so what is f 08:23:34 Since they aren't written by hand, they might not be very readable. The toolchain that I use involves writing out massive tables of unreadable C code. 08:23:37 just some function in the input code? 08:23:59 I am very comfortable with mssive tables of unreadabel c code 08:24:02 f is an interpreter, usually. It can technically be any sort of data processor; in one case, f was a raytracer. 08:24:41 okay so the output of a specializer is a compiler-like system called a residue that maybe superior to a compiler. and f is an interpreter to some other language 08:24:48 and x is an argument to that interpreter 08:25:16 So! This construction, s([s], [[f]]), is Futamura's second projection. It behaves like a compiler compiler: its residues take programs [y] as source code and emit [z: f(y, z)] residues, so its residues are compilers. 08:25:46 Right, one of the big lessons is that a good specializer has all of the guts of a good compiler. 08:26:15 yes it is a specializer specializer 08:26:24 The magic rule for the second projection: if s and f are any good, then the final residues, which are basically compiled executables, will be good too. 08:26:41 sure 08:27:00 It can be! That's the third projection: s([s], [[s]]) = [y: s([s], y)]. It makes compiler-compiler compilers. 08:27:03 its turtles all the way down we can verify that lots of nestedt hings are good 08:27:31 okay yes we can nest specializer infinitely and if the specializer is good and the interpreter is good then we know the output of the residue will be good 08:27:52 this is useful for proof checking systems 08:27:57 And Glück's 2009 theorem shows that iterating this doesn't add any capabilities. Iteration *does* let us incrementally rebuild one specializer with another, and the fact that there are three projections explains why a compiler bootstrap needs three stages. 08:28:46 i see so spcialization has discovered something about how compilation MUST works that compilers have already been forced to face 08:28:54 This also explains why a good compiler tastes like multiple languages. It has to taste like its target, like its host, and like its IR. 08:29:08 yes this makes sense 08:29:22 Because a compiler made from a specializer would also, by Glück's theorem, have pieces of the target specializer, host specializer, and IR specializer mixed up inside. 08:29:27 it must have AT LEAST 3 stages to translate one language to another with the middle stage being an intermediate representation 08:29:55 But also, it doesn't have to have more than three. Any extra stages could be broken up into their own mini-compilers. 08:29:56 even my mmcr macro program could be said to have 3 stages 08:30:30 I was struggling to remove one of the stages now I am thinking that might not be logical to do 08:30:44 here is antoer way to say that 08:30:52 the first stage of a compiler is a representation of teh soruce code 08:31:00 the second stage is an intermediate layer of processing that soruce code 08:31:04 If your IR is somehow trivial, then you could avoid having a middle stage. But it means that you wouldn't really be able to do any optimizations. 08:31:07 the third stage is a representation of the output code 08:31:24 we want to do optimizations 08:31:30 at some stage 08:31:33 or to be able to do taem 08:31:38 before teh final residue is evaluated 08:32:29 Yep, exactly. 08:32:44 so where are you going with this? 08:34:44 Well, as a practical matter, I build relatively fast interpreters from relatively little source code. The first projection turns the interpreter into native code, and that native code includes a JIT which includes a specializer. 08:36:03 The first-projection toolchain that I use is hand-written. It took about 2 PhDs/year to write. It's an open problem: can Futamura's projections be done automatically without a lot of manual effort? 08:37:40 what do you mean by native code 08:38:39 Like, s can emit native code. Machine code. Code for a target architecture. I just introduced everything for the special case where s runs itself directly. 08:39:37 Obviously the coolest parts of this are when we do s(s,s). 08:40:45 Another practical way of looking at this is via the alternate-history talk, "The Birth & Death of JavaScript". It's a comedy talk from a decade ago; https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript is a recording. I was in the audience! 08:40:47 okay so you have a specializer that generates a binary that specializes the source code into a kind of a jit 08:41:06 what about the second projectioon 08:41:10 This talk's very close to predicting the actual future; the technology we got isn't called METAL, but WebAssembly. 08:41:48 The second projection is like what happens when you build GCC or LLVM. You get to choose which architecture you're targeting; if it's not your host, then you get what's called a *cross compiler*. 08:41:59 Because you're compiling "a-cross" architectures, I guess? 08:42:08 ah so in the second projection the JIT compiles the code into native code 08:42:23 what about the third projection? 08:42:56 I don't think I can show you any real-world examples of third projections. There are only some academic projects that, technically, generate working code. 08:43:28 ah so for now we are stuck using just the first and second projection in industry code until the academic projects figure out how to build the third 08:43:29 is that right? 08:44:22 More or less. In practice, the situation's much worse than that; the toolchain I use is called RPython, the flagship interpreter that comes with it is called PyPy, and although it's the fastest implementation of Python, less than 2% of the community uses it. 08:44:47 (Some folks might argue that ZipPy is faster. Fine; nobody uses that either.) 08:44:53 okay so does this discussion have to do with blc or does it have to do with what you were saying about prolog arguments 08:45:54 Well, there are very short specializers in Prolog, and there are also specializers that can (again, technically, if you wait for a few minutes) generate working third projections. So, what could we change about Prolog to make short self-applicable specializers easier to write? 08:46:11 and you would like to make the smallest specializers possible correct? 08:47:14 I'm lazy and I don't like writing code. I'd prefer a smaller language in order to have a smaller specializer that does less work. 08:47:42 But I'm not golfing. Also, I'm not sure what BLC has to do with any of this either; I'm not sure why I brought it up, sorry. 08:47:48 okay so first of all each of the three projection specializers could be made out of modules made out of smaller specializers 08:47:57 breaking them down into modules can help make your code simpler 08:48:10 second of all I believe that technology like blc can reduce the size of these specialziers 08:48:22 and I believe technology like fastlisp can help reduce the size 08:48:25 Oh. Then I guess I've not really explained this well at all, sorry. 08:48:55 Like, yes, if we just write s, then the projections are compositions of s. It turns out that writing s is hard! 08:49:20 we want to make writing s easy and we want s to be small 08:49:26 And BLC is merely an encoding. It doesn't magically make things simpler. The actual target of the specializer is the underlying abstract syntax, LC in this case. 08:51:15 are all there projections able to be written with the same s? 08:51:46 In a framework I'm still defining, I think that I will have types [X -> Y] which are programs that take X inputs and return Y outputs, and a specializer is fundamentally something with signature [X -> Y] -> [X -> Y]. So, like, an identity function could be a specializer. 08:51:51 But it's not a good specializer. 08:52:05 I dont know type theory 08:52:09 or category theaory 08:52:34 I'm just saying that a specializer shouldn't change what types a program accepts or emits. 08:52:59 of course 08:53:15 can all three projections be written with teh same s? 08:53:27 in otherwords can s^3 give us what we want 08:55:01 Yes. But how efficient are the residues? 08:55:22 so we want a different s for all three projections if we want to have an optimizer 08:55:51 Not necessarily. A good s, that always optimizes its arguments, might be able to project itself. 08:56:14 but until we know that we may be stuck developing s_1 s_2 and s_3 separately 08:56:25 and currently we only have developed s_1 and s_2 08:58:51 Look at what we already outlined so far. If you trace the definition of the third projection, you'll see that it passes [s] to s at runtime. This means that we need to put an entire copy of [s] into every residue! 08:59:25 so then s has to be small. 08:59:34 The only way to avoid this is if s can understand its own structure and remove the parts of [s] that it knows won't be needed. It has to do this before it knows what [y] is, too. 08:59:35 or rather the residue that represents s has to be small 09:01:29 s should produce s 09:01:34 similarly to how gcc compiles gcc 09:01:36 s should generate s 09:01:50 Sure. Partial-evaluation folks defined the concept of *Jones-optimality* to deal with this. We say s is Jones-optimal when it doesn't leave behind any part of [s]. It does this by doing something stronger: it removes all overhead of interpreting [s], [f], or anything else at runtime. 09:02:10 So it's okay if s is not small as long as it's Jones-optimal. 09:02:32 ok so we need s to be EITHER jones-optimal or small 09:02:39 for now it ie easier to target a small s 09:02:54 what does building a small s_1 and s_2 entail 09:03:58 what are the parts that a small s_1 and s_2 composed of? a small webasm like jit and some specialized code weaved into taht jit? 09:04:15 They don't emit good code. Note that [s], [f], and all the other quoted programs are assumed to be in a single language. So, what if a specializer were just an interpreter for that single language? 09:04:34 This is how practical second projections work, too. They assume that everything can be stored as some sort of bytecode somewhere. 09:05:01 so do we prefer for s to be for a single language or do we prefer s to be for any language 09:05:22 Like, RPython works by generating a JIT compiler which is generic over Python bytecode, more or less. At runtime, the compiler traces execution of that bytecode, and the bytecode is stashed as a big table in the residues. 09:05:54 is that what we want or do we want s to be language agnostic? 09:06:11 We're gonna keep saying that s is single-language. It takes programs written in some language L, it emits programs in L, and it's written in L. The question is whether L is Prolog, miniKanren, etc. 09:06:35 ok so we desire for so to be language specific or thats what we choose to do at the moment 09:06:43 so we must write a different s_1 and s_2 for every language 09:07:19 Consider wanting to compile from frontend language X instead, or to machine M. Just write a little interpreter of X in L, or a compiler of L to M in L, and then use s on those. 09:08:18 I think you mean taht we want to compile from X to M using L, and then we want to feed M into s 09:08:21 is that correct? 09:08:58 No, I'm considering them as two different operations. You'd use different compositions of s, too. 09:09:33 could you rephrase the consideration 09:09:36 Like, suppose L is RPython, and suppose X is Brainfuck. Just write a little interpreter of X=Brainfuck in L=RPython: https://github.com/rpypkgs/rpypkgs/blob/main/bf/bf.py 09:10:59 waht is m 09:11:02 in this example 09:11:16 There isn't an M in that example. 09:11:48 what is the residue of applying L to x called 09:12:44 [m : L(x)] 09:12:48 Once we write a good s in (Turing-complete) L, then we can absorb any other language X into L with an interpreter written in L. That interpreter also has to be good, but it only has to have insights about X, not about L. 09:13:22 so L is our intermediate language or intermediate representation correct? 09:13:25 In the above link, bf.py knows a lot about X=Brainfuck, including algebraic rewrites and idioms, but it doesn't know anything about optimizing L=RPython. 09:14:02 L is our implementation language. s might have some other intermediate representation that it never exposes. 09:14:33 okay so allow me to compose my own model 09:14:43 we have a universal S_1 and a univerasl S_2 09:15:14 s_1 takes an intermediate language IL and some source code S and it composes [R: IL(x)] 09:15:18 s_2 does the same thing 09:15:43 IL includes the idea of a runtime or a tiny JIT 09:16:03 this is the most optimal way I can currently imagine composing the tools youve descriebd 09:16:17 and also have the model in my head be known valid and sound 09:17:07 Sure. Part of the deep insight is that there's no real difference between "intermediate" and "source" here; there's only the intuition that one is 09:17:12 *that one is more readable than the other. 09:17:31 well the reason why I want IL is so that I dont have to write multiple versions of S 09:17:48 I have an additional s called my_language_->_il 09:17:52 Okay, let me be more blunt: Why is Prolog not an IL? 09:18:01 any language can be an IL 09:18:13 So what do you mean by "universal"? 09:18:37 I dont 09:18:40 ...Sorry, that was too blunt. I'm guessing that your "universal" is my "Turing-complete"? It's certainly an important qualifier. 09:18:46 I am willing to make any langauge my IL if I see evidence that ist he right thing to do 09:19:00 I dont know what universal will mean until I explore the whole universe I guess 09:19:14 some variation on prolog coudl be a good IL but I think really big versions of prolog wouldn't do 09:19:46 Ah, okay. Here we go. So what makes a good IL? I think that that's a great discussion topic regardless of the whole meta/Futamura perspective. 09:20:06 we cah imagine a human_readable_il also HRIL 09:20:11 and HRIL->IL 09:20:25 this is more or less what llvm is 09:20:40 IL itself should be optimal and resource efficient 09:21:43 I'm gonna insist that good ILs are human-readable. Here are some examples: GIMPLE (GCC), LLVM IR, GHC Core, libfirm, QBE. 09:22:11 okay so heres where we differ 09:22:20 tehre are langauges that are much more human readable than LLVM IR 09:22:32 so we have a scale between very human readable at 100% and not very human readable at 0% 09:22:34 Whether an expression in an IL is optimal is usually not cheap to decide. Have you heard of superoptimization? 09:22:43 noI have not 09:23:19 Basically, an optimizer is a superoptimizer when its outputs are always optimal. The way this is done is by searching all of the possible outputs, and it's very expensive. 09:23:40 yeah thats why prolog makes a good optimizer on a classical computer 09:23:55 but I propose to you that hte optimizer should be written in IL 09:24:03 so lets break this apart into three stages 09:24:10 you have IL_Performant 09:24:10 This might be quite interesting to you, since we can use size for our metric, and thus superoptimize for the smallest programs. 09:24:15 and IL_middle 09:24:18 and IL_human_readable 09:24:42 as the size of programs approaches their minimum size performance will go down 09:24:50 once you get past a certain barrier 09:25:11 an IL_performant should not desire to be read by the human. this is a high level machine language 09:25:24 an il_middle is kind of like an assembler for IL_performant much like llvm ir 09:25:43 then IL_human_readable is any human langauge like c or rust or prolog or c# 09:25:47 Okay, I'm gonna propose that there isn't an objective human-readable scale. My first exhibit is Perl. My second exhibit is that you probably think "my cat is blue" or "mi gato es azul" is more readable than {lo mlatu pe mi cu blanu}, so really it's a popularity contest. 09:25:51 so IL_human_readable is x 09:26:19 part of my specialization includes trying to undestand how human readable code is so I ahve alot tto say on the matter 09:26:32 there should be a further level benath llvm_ir 09:26:43 taht is specifically for a machine and not for a human 09:26:52 native? 09:26:57 Just to add a data point, LLVM has a binary IL format too and that's not directly human readable. (But it can be converted to the text format.) 09:27:05 indeed 09:27:16 (I'm not following the discussion.) 09:27:18 because sometimes we dont want native machien code sometimes we want a high level machine code 09:27:39 or a machien code for a high level optimal virtual machine 09:28:30 I don't consider those sorts of isomorphisms to add to the nuance. Either they are genuine equivalences, like WASM and WAT, in which case they probably are counter-examples to whatever nuanced differance was being drawn; or they aren't, like LLVM IR, in which case they don't do what we expect of encodings. 09:29:11 int-e: We're discussing what makes IR good. I've taken the Pirsig position that "good" is ultimately "what you like" rather than objective criteria. 09:29:35 I am saying virtual machines like LLVM and like WASM and like microsoft CLR and like JVM all have their own high level machine code which is nto native code but is native to that vm 09:29:46 and taht sits one layer below an intermediate representation 09:30:03 because an intermediate representation has to be parsed an this parsing time can interfere with performant programs 09:30:08 Sure. That's for cross-architecture portability. Another good example is GNU Lightning. 09:30:29 yeah so we have our source code X which could be in any langauge 09:30:47 then we have a specializer that interleaves x with IR 09:30:50 Nah, code loading isn't that slow. Python's VM supports cached bytecode loading but many setups will pay a repeated parsing and compiling penalty of like 1ms/module. 09:30:57 then we have a specializer that interleaves IR with a high level virtual machine code 09:31:07 then we have a specializer that interleiaves high level virtual amchien code with native code 09:32:11 Yep, you're seeing it now. Once we have a good specializer, why shouldn't we JIT? 09:32:25 we should JIT that is part of the specializer 09:32:32 unless we are specializing to native code in which case we might not need a jit 09:32:37 but we might wana a jit 09:32:52 korvo: Yeah I agree that it's subjective... and on top of that, context dependent (i.e. the same person may have different preferences depending on what they're trying to accomplish) 09:33:13 This is not specific to IRs at all. 09:33:37 so lets get our terminology straight 09:33:39 a specializer is s 09:33:44 source code is x 09:33:48 int-e: Exactly! The top context is that I want to build self-applicable partial evaluators. So I'm looking at the classic results for languages like Prolog and imagining synthetic changes that might make them easier to specialize. 09:33:48 itermediate langauge is IL 09:34:01 a low level intermediate langauge is machine_IL or MIL 09:34:25 so we have an s for every x whos residue is an IL 09:34:35 we have an s for every IL whos residue is an MIL 09:34:45 we have a s for every MIL whose residue is some specified native code 09:35:17 x -> IL -> MIL -> native 09:35:34 Sure. GCC, at least in the olden days, was a good example of this; the frontends communicated in e.g. GIMPLE to the core, which also uses GIMPLE internally, but the machine-specific backends use machine- and kernel-specific information. 09:35:57 so the first -> we can call A1 09:36:02 the second -> we can call a2 09:36:10 the thhird -> we can call a3 09:36:52 [MIL: s(MIL,Native)] 09:37:07 [IL: s(IL, MIL)] 09:38:45 so we can invent a new language falled foople 09:39:04 first we pick or write an itermediate langauge and we write an s that foople -> IL 09:39:32 then we choose or write an s that IL-> some MIL 09:39:45 then we choose or write an MIL that MIL-> some native code 09:39:49 that is the hierarchy afaik 09:40:28 do we agree or do you feel differently 09:40:58 Well, I don't really do hierarchies. I also historically haven't found it useful to have multiple ILs. 09:41:47 I do think that specific techniques like nanopass are fine, producing dozens of ILs, when the nanopass framework ensures that everything is type-safe and optimized away. 09:42:43 But, having written a nanopass framework, I also don't think it's worth the effort for a specializer. The beauty of the specializer is that it can be driven by a choice of a single language L which happens to have good tools for manipulating L. 09:43:40 people will attempt to write mutliple ILs 09:43:55 and so there will be multiple ILs to choose from some better than others 09:44:11 Oh, no, they'll write new Fooples. 09:44:26 well tehy will write new Xs 09:44:29 foople is a specific x 09:44:50 there arlready are multiple ILs to choose from 09:44:56 denying that these exist is illogical 09:44:58 . o O ( https://xkcd.com/927/ ) 09:45:12 mroeover there are already multiple MILs written and denying they exist is illogical 09:46:09 . o O ( https://ro-che.info/ccc/20 ) 09:46:10 the "all existing attempts to do $X suck, we need a new approach" thought is very appealing, but unless you have some actual insight into the domain that the previous attempts lack, it almost certainly won't work 09:46:54 saying "there are no IL's that are bad" is kind of a no true scottsman argument 09:47:01 OTOH what you often can do is something that fits your own use case better than the existing things. 09:47:06 it is more accurate to say "bad ILs dont matter and might as well not exist" 09:47:09 Whether a language is IL or not, in terms of whether people will write languages alongside it, isn't predictive. Paraphrasing a classic joke, "do you think JavaScript knew it'd end up as a compiler target?" 09:47:20 any language can be used as an IL 09:47:31 Oh! All ILs I know of are bad. 09:47:40 IL is just x used in a different way 09:47:56 IL is making x a compiler target 09:47:56 Yes! Any language can be used as an IL, so we might as well use L, the host language of specialiser s, as our IL. 09:48:09 what is L in this instance? 09:48:20 There's that one Stroustrup quote that I agree with... There are two kinds of programming languages, those that everybody complains about and those that nobody uses. 09:48:24 L is what s takes as input, emits as output, and is written in. 09:48:47 so what is s in this instance? 09:48:54 I imagine that's just as true for intermediate languages. 09:49:01 int-e: In the Pacific Northwest, we say "X sucks, use X." For example, "Nix sucks, use Nix." 09:49:28 lisbeths: s is just a specializer that can be applied to itself to make second and third projections. 09:49:39 I've never been in enough dependency pain to actually use Nix. 09:49:50 thats kind of fishy to replace IL with an L to s 09:50:01 it implies a perfect L and a perfect s 09:50:07 (Nice tangent.) 09:50:16 use nonguix 09:50:16 Nix gives me a sort of abstractive radius. Like, I could maintain one or two RPython codebases by hand, but Nix lets me maintain an entire collection of like twenty codebases. 09:50:59 lisbeths: Oh! So, this is why "universal" or "Turing-complete" matter so much. Any computation you can write down can be found in L, for *any choice* of L. 09:51:23 yeah I have to think about this for a while 09:51:42 L might not have arbitrary data structures, but it can have arbitrary effects as if it had those data structures. It can produce any I/O pattern you want, except for the uncomputable ones. 09:51:45 I have to move from my model of thinking of x->IL->MIL->native over to some model that includes only S and L 09:52:05 the differnce is that x->IL->mil-> native systems exist today and you can use them and build them 09:52:15 where as S and L machines seem more theoretical unless I can know more info about S and L 09:52:51 Your model is fine, BTW. It's the same detail as with GCC's triple of build, host, target, which is also used by Gentoo and Nix and other cross-compile-aware ports trees. It's the model needed to understand Glück 2009. 09:53:20 It's just not what I'm currently interested in tonight. But I'm happy to bridge the knowledge gap because I think this is such a cool corner of computer science. 09:53:21 it seems to me that each of thes arrows is a function 09:53:31 one we can call x->IL or a1 09:53:36 one we can call IL->mil or a2 09:53:41 one we can call mil->native or a3 09:53:58 and it seems to be that all of those can be executed by a function compiled to native or compiled to MIL 09:54:06 and I think that is what you are talking about when you talk about s and l 09:54:43 the thing is there has to be at least two of them 09:54:49 because sometimes we cant chose to run s natively 09:54:59 other times our only choice is to run s on the native machine 09:55:12 Sure. That's what e.g. WASM folks do with their runtimes. There's the WASM specializers running in WASM, and then there's also a browser or WasmTime or whatever. 09:56:07 I dont know how to notate a specializer written in MIL that takes x and produces the residue of [y: IL(x)] 09:56:45 No worries. I get what you're saying. The formal notation for this is called "tombstone diagrams" or "T-diagrams"; they look like T-pieces from Tetris. 09:56:58 Are we trying to reinvent the concept of a program transformation? 09:57:11 thats what korvo has opened a discussion with me on it seems 09:57:21 They're lovely to draw on a board, but they don't fit in IRC. WP's current page on them is not bad: https://en.wikipedia.org/wiki/Tombstone_diagram 09:57:27 so it seems to me wasm is already almost as performant as machine code 09:57:35 so I think for MOST programs we can forget about native code 09:57:39 and just focuse on MIL 09:57:45 I find it impossible to tell whether this is a concrete task that has become unrecognizable through premature abstraction... or whether the point is to abstract. 09:58:10 -!- tromp has joined. 09:58:11 the idea that abstraction isnt useful is a meme 09:58:13 untrue 09:58:15 int-e: They're coming to understand how a specializer could be associated with three different languages. I'm focused on a more concrete engineering task using only one language. 09:59:00 In the background I've been reading this thesis about metaKanren, a miniKanren that supports metacircular access. 09:59:30 I think you need to study how performant the literal smallest virutal machines are even able to be 09:59:43 because the literal smalllest virtual machines arent very performant 10:00:15 I think IL and x are the same 10:00:20 so we can come up with a new model 10:00:24 we pick a langauge x 10:00:41 and we specialize x-> MIL(x) 10:00:56 and then some low level people worry about specializing MIL->native 10:01:02 and this is a very very simple model 10:01:03 So yes, VMs can have performace characteristics as a matter of engineering, but I think it's wrong to try to pick on VM choice here. We're talking languages, not VMs, right? 10:01:41 well both lenses are useful 10:01:50 in one lense it is useful to think about it abstractly without specifying vm 10:01:58 in another lense it is more useful to talk about specific vms 10:02:10 and in yet another lense it is more useful to talk about specific and already existing vms 10:02:32 In practice, there's no interesting specialization happening at that MIL->native layer; it's all instruction selection. (I wrote two such instruction-selection tables for GPU drivers. It's boring.) 10:03:15 yeah the virtual machien for a machine readable intermediate language is almost as fast as native as seen in wasm 10:03:22 so we dont have to worry about MIL->native 10:03:28 for most applications 10:03:59 all we must do is pick a langauge x 10:04:27 and write a specializer that takes x and -> to MIL 10:04:34 and we can write that specializer in x 10:05:38 Well, no. The winning strategy turned out to take a higher-level IL that only has a few operations, but gives those operations either parameters or polymorphism (i.e. dynamic dispatch), and then to JIT that IL based on concrete values of those parameters at runtime. 10:06:28 By "a few", ISTR that Self's VM has eight operations. That number has ballooned, if you look at Strongtalk and Java VMs, but the original idea was that the JIT only has a few possible choices to consider at any possible time. 10:06:57 please give these components acronyms 10:07:30 Remember -- hours ago!? sheesh I should sleep soon -- that I said that we want "a few" to be like two or three. Each time we have a branch, we want the exponent controlling the size of our search to be small. 10:07:59 I think part of what you are saying is that it is proven that a language can be an IL and still be as performant as an MIL 10:08:01 is that true? 10:08:48 There aren't any acronyms worth remembering. I'm just saying that the speed comes from a specific lineage of languages that were designed to be JIT'd: Self, Strongtalk, Java, C♯, Dart. 10:10:19 Another VM worth mentioning (again?) is GNU Lightning, which was also designed to be JIT'd. The fastest Brainfuck interpreter on the wiki targets GNU Lightning. 10:11:29 I think your answer is meant to be yes, an intermediate langauge that is humanr eadable that is evolved from a lineage of languages designed to be JIT'd can be as performant as a MIL 10:11:43 Sure. More generally, performance isn't a property of languages! 10:11:52 and so if that is true then we can remove MIL from our vocabulary and we can refer to IL from now on as being a language from a specific lineage of languages that were desigend to be jited 10:12:29 so first we must pick an IL that is evolved from languages designed to be jitted 10:12:45 then for every x we must write in some language a specializer from x to IL 10:13:22 Sure. Although I'm looking right now at languages that can be designed for partial evaluation. Some JITs do partial evaluation, but not the famous lineage with the amazing JVM. 10:13:45 well picking something like java or c# is going to complicated for your research 10:13:48 I'm only half-sarcastic. Look up Azul's products, particularly Zulu, if you want to see how fast JVMs can get. 10:13:56 we would obviously like a very simple language that is designed to be jited 10:14:07 or rather that is designed for jit 10:14:19 Well, yeah. Speed isn't everything! Particularly when we've only barely talked about what makes this whole process fast or slow. 10:14:45 well first of all some engineers strongly prefer the word performance over speed 10:14:58 so you may run into this issue in irc altohugh I do not mind if you use the word speed 10:15:10 i will use the word performance 10:15:22 I don't care about memory usage. Most practical partial evaluation uses lots of memory; PyPy takes like 12GiB of RAM to translate. 10:15:46 But sure, I don't mind talking about generalized resource usage. 10:15:49 second of all when I as saying earlier that the smallest languages are not very performant, there are some very small languages that are performant 10:16:03 it is only when you get very close to the smallest of languages that you see huge drops in performance 10:16:34 you can have a very performant language in under a megabate of native code or IL code 10:16:42 the isnt the issue 10:16:55 Oh! Okay. We were talking past each other earlier. 10:17:12 yeah so there are three kinds of virtual machines in this lense 10:17:22 When I say "small language" I mean a small grammar of a countable (infinite) language. I'm not talking about implementation size. 10:17:24 one is designed for the smallest of computers like smart dust and cellular robots for medicine 10:17:36 those generally have to have real time computing 10:17:38 as a feature 10:17:52 the second is very small virtual machines that go in smaller applications like the browser tab 10:18:14 then you have very big industrial virtual machines that often ask for at least a gigbyte of memory and generally are a sever for virtualization in a whole os 10:18:23 such as the common language runtime or the jvm 10:18:33 a virtualization daemon 10:19:20 Okay, yeah, by "virtual machine" I was talking more about the abstraction than the implementation. I recognize that a software engineer is going to read "VM" and think "emulator". 10:19:56 a baby virtual machine under a megabyte can ask the big server vm to do compute jobs 10:20:04 and teh server vm can use the graphics card and stuff like this 10:20:09 lisbeths: So, I want to re-introduce the entire topic with the other notion of "small": I want a language that, like Prolog, only has a few possible types of clauses that need to be analyzed by a specializer. 10:20:22 so we can talk about the size of the compiled language 10:20:26 and then we can talk about the size of its grammar 10:20:37 a language can have a small grammar like prolog but a huge compiled program that runs it 10:20:50 or a language can have a very small compiled program that runs it but be extended to a huge grammar 10:20:51 Something like WebAssembly, though "small" in the size of an emulator which implements it, is quite large in the number of possible instructions that can occur, which means that its specializers need to cover many different possibilities. 10:21:18 from what I gather about mathematics what most programmers refer to as exponential growth is often multiplicative growth 10:21:30 and what most programmers refer to as a syntax is actually called a grammar 10:21:36 i could be wrong about both of those though 10:21:44 This is the sense in which Self is "small"; with only eight possible instructions, any specializer or JIT only has a few possibilities to cover. 10:22:01 we we can offer some ranges 10:22:18 If you're searching a tree, and the number of possibilities at each branch is a constant, then the tree is exponentially large. 10:22:50 we can talk in terms of bytes, tens of bites, hundreds of bies, and then kilobytes and tens of kilobytes and hundres of kilobytes, and then megabtyes and tens of megabytes and then hundreds of megabtes, and then gigabytes and then tens of gigabytes and then hundreds of gigabytes 10:23:05 so the commmon language runtime is at least 1 gigabyte in terms of ram 10:23:19 and I dont know how many megabytes it is in storage but it is likely at least in the hundreds or more 10:23:42 whereas we know as langauge people that you could probably get most of the performance of the common language runtime in under a megabyte 10:23:45 wouldnt you agree? 10:24:12 we would also like to use a language much like prolog with a small useful grammmar 10:28:10 Sorry, I can't find a way to interpret that setup. 10:29:14 The CLR's size probably doesn't have much to do with having a JIT. I'd guess that they have a lot of i18n. You'd be surprised how large the tables are for basic Unicode support. 10:30:07 -!- Sgeo has quit (Read error: Connection reset by peer). 10:33:19 Okay, sleep is no longer optional. Peace. 11:29:01 [[UserEdited]] https://esolangs.org/w/index.php?diff=152107&oldid=152104 * PrySigneToFry * (+1406) 11:37:22 -!- wib_jonas has joined. 12:10:04 [[User:Gilbert189/Polymorphic quine]] N https://esolangs.org/w/index.php?oldid=152108 * Gilbert189 * (+11283) This has been in the works for quite some time... 12:10:47 [[User:Gilbert189]] https://esolangs.org/w/index.php?diff=152109&oldid=139872 * Gilbert189 * (+79) /* See also */ 13:01:12 -!- wib_jonas has quit (Quit: Client closed). 13:03:45 Moin 13:32:23 -!- amby has joined. 13:47:48 -!- dawids_ has joined. 13:48:15 -!- dawids_ has quit (Client Quit). 13:52:38 -!- craigo has joined. 15:05:02 [[User:Anthonykozar/Notes]] N https://esolangs.org/w/index.php?oldid=152110 * Anthonykozar * (+271) New page for me to keep notes on the wiki 15:11:03 -!- ais523 has joined. 15:11:52 One idea I thought of is "base zero" numbers that are stored the power of zero and the multiple. This way, you can make sizeof(x)/sizeof(*x) if x is an array even if sizeof(*x)==0 ← I think you could make that work by giving zero-sized objects an infinitesimal size? 15:17:43 It seems like most existing research has been analytic. Given e.g. Prolog, how few clauses are required for partial evaluation? But I think we should be synthetic: what modifications to Prolog would reduce the number of clauses? ← one obvious modification: Prolog represents the bodies of clauses using a free monoid, meaning that you need three cases (identity, generator, and other cases); if you represented them using a list instead you would only 15:17:44 need two (empty list, nonempty list); add a map builtin (that doesn't require the creation of an extra clause to use it) and you only need one 15:18:46 but this reasoning just makes me think that counting clauses is wrong 15:21:20 -!- tromp has quit (Read error: Connection reset by peer). 15:25:34 actually I'm not sure the map builtin helps because then you need to implement it within the evaluator 15:25:41 but converting clause bodies to lists does help 15:26:38 you get something like eval([]) :- []. eval([Goal|Tail]) :- clause(Goal, Body), eval(Body), eval(Tail). 15:26:42 err 15:26:45 eval([]) :- []. eval([Goal|Tail]) :- clause(Goal, Body), eval(Body), eval(Tail). 15:26:51 eval([]) :- []. eval([Goal|Tail]) :- [clause(Goal, Body), eval(Body), eval(Tail)]. 15:26:52 there we go 15:27:29 (and you can desugar [X|Y] as '.'(X,Y), etc., as usual) 15:29:21 I'm gonna insist that good ILs are human-readable. ← having thought about this a while myself, I think that this isn't *quite* right, it should be "good ILs can easily/automatically be converted to and from a human-readable form", but you can create an assembly language for them for the purpose 15:34:02 -!- wib_jonas has joined. 15:37:32 I think it's neither of those. the compiler should be able to emit tracing information that lets you debug the compiler and verify that the IL is correct. but this tracing information is only needed when you're either debugging the compiler or debugging the machine that executes the IL. when you'll programming in a high-level language normally then 15:37:33 you trust the compiler, don't ask for such trace, and the IL that you get in that case alone needn't be translatable to human-readable. 15:38:56 This is how machine code works in practice. It's not easy to decompile (transform to human-readable) because the instructions are variable length so you don't know where to start disassembling, there can be unreachable code anywhere, you don't know what type most of the data that it manipulates has. 15:39:42 But if you do emit detailed debug information then you can decompile because the debug information tells which parts of the code are executed and what the registers and stack frame stores at any point. 15:42:29 Of course this is just theory. In practice the debug information could be incomplete or buggy (which was often the case back around 2000 if you used C++). And the reverse engineer folks are racing compilers close behind with their heuristics so that they can decompile machine code without debug information because this is useful for itsec. 15:47:59 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152111&oldid=152110 * Anthonykozar * (+257) Added Bespoke and new sections. 16:02:41 wib_jonas: many machine codes do have deterministic ways to find the start of an instruction – I'm not sure whether it's more or less than half 16:05:51 ais523: yes, that could help, but that's not enough. you also need to be able to distinguish segments that contain code from other read-only segments, which is already possible on at least some machines, and even then decompiling might not be easy 16:07:14 don't most formats for storing executables distinguish between code and other rodata? even if the processor itself doesn't? 16:07:37 I don't know 16:08:13 besides, the original comment was about ILs and those definitely distinguish, otherwise the compiler can't know what needs to be compiled and what needs to be left untouched 16:08:55 that's only if you're compiling the IL rather than interpreting it 16:09:11 good point 16:09:12 or JIT-compiling 16:09:33 a JIT-compiler won't know in advance which parts of the code it will have to compiler 16:10:03 this reminds me of an idea I had a while ago: instead of storing separate unwinding tables, work them out at runtime via partially decompiling the running code – the decompiler could be very simple as it only needs to get the unwinding-related information right, and the code could be explicitly generated in a way that made the decompiler work 16:10:06 that's how qemu's non-native mode (which few people use) works for x86 16:10:45 I think I've used non-native qemu before now, probably to run a program written for a processor architecture unrelated to the one my computer used 16:11:23 I'm saying specifically for an x86 guest; for other guests it probably does get used 16:12:20 as for that unwinding, even if it finds the stack frames, how would it know what destructors to call while unwinding? 16:12:40 or would this only be unwinding that prints a stack trace for a fatal error? 16:13:47 my plan was to mark destructors and the like using NOPs or via the choice of equivalent instructions 16:14:20 which is a bit like having separate unwinding tables, but more lightweight 16:14:54 it could be something as simple as code ordering, e.g. decompile assuming forward jumps are taken but backward jumps are not taken 16:33:19 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152112&oldid=152111 * Anthonykozar * (+190) Adding links to categories to explore 16:51:46 -!- tromp has joined. 17:17:23 -!- zzo38 has quit (Ping timeout: 268 seconds). 17:20:23 -!- wib_jonas has quit (Quit: Client closed). 17:41:49 ais523: I didn't want to pull a thread that they might not understand how to restitch. An IL should admit some sort of nice decompiler, but I thought it was more important to push against the idea that low-level machines are somehow complicated or obfuscated to the point of unreadability. 17:44:17 ais523: The point about the monoid is good. For some reason right now it's rhyming with "lazy languages don't have sums, eager languages don't have products", probably because of the ,/2 and ;/2 functors. 17:47:14 korvo: right, I wasn't so much trying to interfere in your conversation as to make comments inspired by it 17:47:59 ais523: Oh, I completely see where you're coming from. I just have trouble supporting it from the opposite direction. 17:48:34 one esolanging problem I'm working on at the moment is currently trying to construct a good IL 17:49:03 Like, would you believe that COBOL was originally supposed to be a low-code platform? It was supposed to remove the need for debuggers and humans who could step through the machines. 17:49:12 I pretty much know what I want (e.g. I want it to be stack-based even though the original isn't), just trying to work out the details 17:49:18 korvo: SQL, too 17:49:32 Yessss. 17:49:34 which may have been slightly more successful at that than COBOL was, but still mostly didn't meet that goal 17:50:52 I wonder whether people have stopped making the mistake of assuming that "writing code so that the meaning of every instruction in it is clear to typical speakers of «insert native language here» mean that those speakers will necessarily understand everything the program is doing" yet 17:51:25 …and I also wonder whether that mistake is more likely to be made by programmers or non-programmers 17:51:50 [[User talk:Aadenboy]] M https://esolangs.org/w/index.php?diff=152113&oldid=151742 * Aadenboy * (+36) muahaha. 17:52:43 it's fairly obvious to me that learning what "a = b + c" means is not the major trouble of learning how to program, and that writing it as "ADD B TO C GIVING A" will make matters worse in the long term 17:53:05 but that doesn't seem to be obvious to everyone 17:53:45 (at one point, my day job involved teaching people how to write Java – it really is the case that the meaning of "a = b + c" isn't obvious to everyone and has to be learned, but it really isn't difficult compared to other things that you have to learn to be able to write working programs) 17:57:53 …and of course, there are then languages like Prolog where "A = B + C" is a legal command-equivalent but means something different, and that also catches people out 17:59:32 [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=152114&oldid=151911 * Aadenboy * (+668) add signature code 18:23:02 https://github.com/memesmith0/mcr16_projects 18:24:31 i have greatly extended the syntax of mcr 18:24:40 at the cost that you dont immediately get a working shell out of it 18:41:22 -!- Sgeo has joined. 18:44:29 -!- Lord_of_Life has quit (Ping timeout: 260 seconds). 18:44:56 -!- Lord_of_Life has joined. 19:09:02 Okay, finished reading the late-night scrollback. Something really funny in there. Let X and Y be objects in some category, let [-] be a functor on that category sending objects X to objects of quoted programs [X], and let [[X,Y]] → [[X,Y]] be the type of polymorphic specializers. 19:09:22 ...Oh, and let [X,Y] be the type of the internal homs X → Y. 19:10:17 Then this all snaps together for free categories, as lisbeths intuited: an identity arrow serves as a specializer. The downside is that all arrows are equivalent to identity arrows in this setup! 19:10:29 -!- nitrix has quit (Remote host closed the connection). 19:11:04 -!- nitrix has joined. 19:11:07 yes in this instance when we say that x => IL or IL=> native teh -> refers to a specializer 19:11:26 do tehre needs to be a specializer for every IL to every native language 19:11:36 and tehre needs to be a specializer for every x to every IL 19:11:51 So, in some sense, it's not just about finding the smallest branching factor for clauses/sums/tags/etc., but recognizing that the smallest branch factor is 1 in the case of free categories, with a trivialized model. 19:11:53 and finally there is a specializer from one IL to another 19:12:01 lisbeths: No, that's not what I'm talking about. 19:12:52 I'm saying that, if we synthesize a basic language just for partial evaluation, then the simplest possible construction already works perfectly. It just can't do anything; it's certainly not Turing-complete. 19:14:17 it seems like what you want is a universal s_1 a universal s_2 and and a universal s_3 and if we are lucky they can all be the same s 19:14:27 Yes, and it's an identity arrow. 19:14:30 part of doing that id agreeing upon an IL is it not? 19:14:40 -!- ais523 has quit (Quit: quit). 19:16:35 lisbeths: Nah, I'm not really interested in concrete syntax today. Too many errands to take care off. 19:17:14 if you dont have time to discuss speializers today we can discuss it another time 19:17:23 or maybe you mean taht you arent currently willing to commit to an IL just yet 19:18:18 No, I mean that concrete syntax is incredibly boring and discussing it is usually not a good use of time. You have to understand: I normally just shove everything into S-expressions or JSON and write code to do my manipulations. I am tired of writing parsers. 19:18:49 yeah I am of a similar mindset 19:18:55 If you have questions about specializers, then I can answer those. 19:19:29 well I just dont yet understand how you plan on building an s_1 or an s_2 without comitting to a top 10 list of ILs 19:19:45 are you saying s_1 and s_2 dont need an IL? 19:20:51 In those terms, I'm talking about *designing* an IL. 19:23:31 oh so you arent satisfied with the current ILs available 19:23:36 and you wnt another one korvo 19:23:50 or is there another reason why you want a new IL 19:24:23 Well, yeah, all the available ILs suck. 19:25:30 korvo: is there a top 3 that you could recommend to use until a better IL comes along? 19:26:19 lisbeths: What are you trying to build? 19:26:27 x 19:27:19 right now my compiler is fastlisp -> binary lambda calculus 2 19:28:59 Write your own IL. Look up "alpha-normal form" and "continuation-passing style", often abbreviated ANF and CPS. 19:29:31 Continuation-passing is a great tool for compiling to LC. It's also fairly good at compiling out of lambda-heavy languages like Lisps. 19:31:34 binary lambda calculus 2 is my IL 19:31:43 After reading about that, you could look up strategies for optimizing LC expressions, particularly "interaction nets" and "optimal beta-reduction". You may also find "graph reduction" fascinating, but it's a little more expensive at runtime and usually only used for lazy/non-strict languages like Haskell or Miranda. 19:31:45 I am not in the business of writing my own ILs 19:31:56 You mean that LC is your IL. BLC is an *encoding*. 19:32:28 thats right LC is my IL and the universal way to represent lambda calculus is BLC 19:32:52 this is because every program in fastlisp is a lambda so it makes sense for LC to be my IL 19:33:01 And even then, there are strategies for representing LC terms. BLC uses De Bruijn indices, but there may be more efficient in-memory representations when doing lots of beta-reductions. 19:33:23 I have been told common lisp is the fstest lambda calculus interpreter 19:34:07 I do not write ILs but I am curious about your research as you brough it up to me last night and explained it in depth 19:34:24 it is intriguing to replace compilers with more efficient proof driven systems called s 19:34:26 The most notable strategy to look at is Elliott & Kmett's "bound" library https://hackage.haskell.org/package/bound which collects De Bruijn indices in a clever way to avoid having to substitute every index during every binding. 19:35:28 If we're thinking of Lisp runtimes as LC interpreters, then the fastest is probably Chez Scheme, followed closely by CHICKEN Scheme and SBCL. Note that SBCL doesn't actually interpret, but it contains a JIT compiler. 19:37:46 for now I am using sectorlambda 19:37:58 it doesnt matter which one i use because its outputs will be the same 19:38:11 except for order of evaluation 19:38:38 Actually, you'll find that many Lisp runtimes *fail* when given large programs. 19:39:02 well sectorlisp can grwo to like 2gb of memory so I think sectorlambda can probably do the same 19:39:23 i may roll my own lambda calculus interpreter in posix sh 19:39:37 For example, my Cammy language (documented on wiki) started out compiling to OCaml, but I was routinely busting its stack at runtime. Then I switched to Haskell, and then to CHICKEN Scheme, but they weren't fast enough. 19:40:13 ultimately except for evaluation order it should not matter which interpreter I use for lambda calculus 19:40:20 I can always switch alter 19:40:23 later 19:40:23 I'm currently running on a OCaml-like machine -- a CAM -- implemented in RPython. The stack is set up to spill to the heap. This is fast enough for my current needs. 19:40:46 lambda calculus should be plug and play so if sectorlambda fails me I can just hop to another lambda calculus interpeter 19:40:56 Sure, except for I/O. 19:41:09 Also garbage collection. 19:41:13 the binary lambda calculus way of output is returning a llinked list of booleans 19:41:23 the input is in the source 19:41:53 Yeah, BLC has an I/O convention. But it's not plug-and-play; it requires a bit of setup in the host language. 19:42:17 yes this is why I am currently gonna use sctorlambda to make things easier for myself 19:42:26 but i can switch if that one fails me no problem 19:45:15 I am going to write some code in fastlisp that that is used to orchestrate the compilation of a subset of lambda calculus over to an IL 19:45:19 and that is how fastlisp will achieve performance 19:45:47 I think a reality check is in order. When we say that an LC evaluator is "fast" we mean that it achieves many beta-reductions/second. 19:46:12 We don't mean that data structures encoded in LC have good wall-clock performance on today's bit-oriented hardware. 19:46:14 yeah fastlisp is meant to be compiletime only for most things 19:46:21 and some tasks have to be offloaded to haskell 19:46:52 c++ doesnt actually run on the hardware c++ only really exists at compiletime 19:47:14 machine code generated by a c++ compiler runs on the hardware not c++ itself 19:47:54 whereas if you look at DSSP that is a langauge that is alot closer to actually running on the hardware itself 19:48:17 Sure. So, double-checking, LC is really small. It only has three constructors or so. You don't really need to think much about the IL for it, at least not yet. 19:48:25 You can just *do that* right now. 19:48:52 well see 19:48:58 fastlisp is going to write libraries 19:49:08 and those libraries are going to orchestrate the generation of python code 19:49:17 and the generation of some language evolved to go into a jit 19:50:06 But by committing to such a heavyweight grand plan, you've now required your IL to serialize to disk, which ruins the entire point of doing abstract syntax. 19:50:23 yeah i mean this is just experimental 19:50:38 the idea is something like fastlisp could be developed into something nicer 19:51:11 the primary objective of fastlisps design is to be easy 19:51:25 no other metric is as important as easiness in my research 19:51:45 so i am willing to waste many compute cycles to shave off some difficulty for the programmer 19:51:54 Ah, okay, yeah. So, this is a common-enough fallacy that we really need a name for it. Closely related is the *Turing Tarpit*, the idea of a universal system where nothing is easy to construct. 19:52:37 If all of our engineering problems were nicely reducible to LC in a way that executes fast enough for our needs, then we would have all switched to Lisps in the 1980s. 19:52:52 Similarly, if Horn clauses were the right answer to everything, then we would have switched to Prologs in the 1990s. 19:52:55 thats fine 19:53:06 if my language turns out not to be easy then I will change it 19:53:15 I am not worried about it being fast enough 19:53:30 also I am willing for compile times to be upwards of 2 hours 19:53:37 and take gigabytes of storage 19:54:02 this research has purely to do with what is easy not with what is efficient 19:54:29 Really! So why not RPython? 19:54:57 I happen to believe that fastlisp is much easier than rpython but let me take a look at rpython quickly 19:55:13 Probably because you have this "fast" goal, which I'm seeing primarily as optimizing program size, which is even more important than ease of use. 19:55:34 oh no sorry 19:55:36 fastlisp is not fast 19:55:39 or performant 19:55:42 sorry for the confusion 19:55:56 No, I remember, "fast" is your living-out-of-a-bag meme. It's about size, right? 19:55:57 it is named fastlisp after the fastman meme 19:56:17 well everything I name I name it by gluing fast to the beginning of its proper name 19:56:25 teh word fast has nothing to do with fastlisp 19:56:32 even though performancen does concern me 19:56:39 I am more concerned with easiness 19:57:05 I have looked at rpython I think fastlisp is likely an easier language 19:58:10 Would you write a DIVSPL interpreter in fastlisp, for comparison? I don't expect you to beat mine in terms of performance, but maybe it'll be smaller or easier to read than: https://github.com/rpypkgs/rpypkgs/blob/main/divspl/divspl.py 19:58:36 It should read like ordinary Python 3, since I wrote it in Python 3 first and then ported to RPython later. 19:59:00 so *in* fastlisp no 19:59:08 but I could write it in telesial fastlisp 20:07:15 fastlisp is broken up into a few categories 20:07:22 first of all there is subterranian code which is not in fastlisp 20:07:39 then there is fastlisp code that directly generates subterranian code in a one to one mapping of that codes syntax tree 20:07:57 sorry that second category was called terrestrial 20:08:30 [[6A]] M https://esolangs.org/w/index.php?diff=152115&oldid=152048 * Buckets * (-2) 20:08:34 the third category is telestial fastlisp which uses libraries that orchestrate the generation of terrestrial code. ideally these libraries will hide from you the fact that your code depends on subterranian code 20:08:58 then there is celestial fastlisp code which is any fastlisp code that does not depend on any terrestrial or telestial fastlisp code 20:12:16 -!- zzo38 has joined. 20:12:41 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152116&oldid=152098 * Buckets * (+19) 20:13:12 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152117&oldid=152116 * Buckets * (-18) 20:24:28 -!- Lykaina has joined. 20:26:55 i think i went a little too far in the current code for fungeball, defining every user-accessible command from a set of ~55 fixed commands 20:29:27 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152118&oldid=152093 * Buckets * (+10) 20:29:50 [[Language list]] M https://esolangs.org/w/index.php?diff=152119&oldid=152094 * Buckets * (+11) 20:30:07 only two of those used return values, and none have local arguments. 20:30:09 [[S1LK]] N https://esolangs.org/w/index.php?oldid=152120 * Buckets * (+1754) Created page with "S1LK is an Esoteric programming language created by [[User:Buckets]] in 2022 about Having an Output Purely In Taste. {| class="wikitable" |- ! Commands !! Instructions |- | Set || Sets the Next variable by the Next Number, example: Set blah 1, If you are Changing The taste 20:31:21 Fun times. 20:32:05 they all have access to the same 4 tick-level and all thread-level and global-level variables 20:36:29 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152121&oldid=152112 * Anthonykozar * (+217) Added some languages and people. 20:37:40 this is how addition is defined: t_s(); b_t(); t_s(); a_t(); t_b(); t_at_add(); s_t(); 20:38:22 i modified the code to make it fit on one line 20:41:00 t = stack.pop; b = t; t = stack.pop; a = t; t = b; t = t + at; stack.append(t); 20:41:40 i mean 20:41:54 t = stack.pop; bt = t; t = stack.pop; at = t; t = bt; t = t + at; stack.append(t); 20:43:49 is that javascript? 20:44:21 no, it's a generalization of python 20:44:29 with typos 20:44:37 and semicolons 20:44:44 Lykaina: Nice. Paraphrasing Bill Wurtz, "hey somebody could make a forth out of that". 20:45:02 my first forth in javascript had very similar code 20:46:41 i'm trying to merge forth and befunge 20:46:50 eventually 20:47:30 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152122&oldid=152044 * Buckets * (+127) 20:48:24 lisbeths: you named after the girl with the dragon tattoo? 20:48:33 yes 20:48:40 man som hatttar kvinnor 20:48:47 i know every page of it 20:48:51 ive read it more times than i can count 20:49:22 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152123&oldid=152122 * Buckets * (+79) 20:49:24 I have read it via audio book multiple hundreds of times 20:49:42 all three books, i assume 20:51:10 or are there more now? 20:51:41 ive read the second book a few dozen times and the third book a few dozen times 20:51:51 the new books I used to own digitally and have read about 20 times 20:52:15 in every fanfiction of the girl with the dragon tattoo ever written lisebeth has a child with blomkvist 20:52:25 in the new books they essentially adopt a child together 20:52:56 apparently people view lisbeth very maternally 20:59:14 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152124&oldid=152123 * Buckets * (+609) 21:04:26 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152125&oldid=152124 * Buckets * (+159) 21:06:28 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152126&oldid=152125 * Buckets * (+7) 21:07:02 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152127&oldid=152126 * Buckets * (+7) 21:07:41 [[Sleep.]] M https://esolangs.org/w/index.php?diff=152128&oldid=152127 * Buckets * (+3) 21:33:53 27 of those 55 are not specific to befunge-93 or fungeball 21:34:48 so half had to do with grids and threading 21:35:04 *grids and/or threading 21:37:23 4 of those remaining are i/o 21:41:30 Lykaina: is this for making a hardware befunge interpreter? 21:42:59 no, i'm just over-complicating my code 21:43:32 but i am thinking of asm-like instructions 21:44:47 trying to see if i can make something forthy 21:46:34 from at most 36 immutable instructions 21:46:56 i mean 52 21:48:14 what size are the stack elements, what size if the two-dimensional befunge arena, and are you using the same ALU for the + builtin of befunge and for advancing the instruction pointer? 21:49:39 right now, i'm moving to a 1-d unidirectional generalization of the language 21:50:09 unefunge control flow sucks so I hope you have something better for it 21:50:44 it's not a funge 21:50:53 at this point 21:53:08 it's becoming closer to a forth 21:56:39 (i'm not working on fungeball, but something it inspired me to work on) 21:56:51 cu 22:30:02 so we got a couple interesting things 22:30:12 exhibit a: sh|sh>&2 22:30:19 exhibit b: nmcr(){ sh|sh>&2;};mcr17(){ if [ "$1" = f ] ;then (cat "$2";cat)|nmcr;elif [ "$1" = e ] ;then (echo "$2";cat)|nmcr;else nmcr;fi;}; 22:30:40 exhibit b is for people who dont know how to preload some data into exhibit a 22:30:54 if you know the shell well all you need is exhibit a 22:35:22 now I realize the cat command is useless because I can call cat from the e option 22:35:25 mcr17(){ sh -e "$1"|sh>&2;}; 22:41:40 eh this is a little nicer mcr17(){ if [ "$1" ] ;then sh -e "$1"|sh>&2;else sh|sh>&2;fi;}; 22:43:37 -!- ais523 has joined. 22:53:48 -!- molson_ has joined. 22:56:21 -!- molson has quit (Ping timeout: 248 seconds). 23:20:36 mcr17(){ if [ "$1" ] ;then sh -e "$1"|sh|sh>&2;else sh|sh|sh>&2;fi;}; 23:51:27 mcr17(){ (echo "$1";cat)|sh|sh|sh>&2;}; this one is superior to that one by far 23:57:51 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152129&oldid=152121 * Anthonykozar * (+69) More languages 2025-02-18: 00:04:22 About a discussion mentioned earlier, I think that "good ILs can easily/automatically be converted to and from a human-readable form" is better than "good ILs are human-readable". 00:05:01 a little bit of a bug was found fixed it tho mcr17(){ exec 3>&1;(echo "$1"; cat)|sh|sh|sh >&3 2>&1 |tee /dev/stderr;exec 3>&-;} 00:06:07 I think that "the compiler should be able to emit tracing information that lets you debug the compiler and verify that the IL is correct" is something separate from that, though, but also helpful. 01:06:40 [[UserEdited]] https://esolangs.org/w/index.php?diff=152130&oldid=152107 * Hotcrystal0 * (+348) 01:07:11 [[UserEdited]] https://esolangs.org/w/index.php?diff=152131&oldid=152130 * Hotcrystal0 * (-25) 01:14:39 [[UserEdited]] https://esolangs.org/w/index.php?diff=152132&oldid=152131 * Hotcrystal0 * (-4) 01:36:50 [[Afth]] N https://esolangs.org/w/index.php?oldid=152133 * Lykaina * (+122) Created page with "{{stub}} A Forth-inspired esolang created by [[User:Lykaina]] (that looks nothing like Forth). Currently in alpha-stage." 01:38:27 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:38:43 [[Language list]] https://esolangs.org/w/index.php?diff=152134&oldid=152119 * Lykaina * (+11) /* A */ 01:43:27 mcr17(){ exec 3>&1;(echo "$1"; cat)|sh|sh|sh >&3 2>&1 |tee >&2;exec 3>&-;} this one works on readonly filesystems 01:46:29 so, yeah, i'm making Afth 02:09:09 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152135&oldid=152129 * Anthonykozar * (+23) /* People who make interesting languages */ Added user TuxCrafting. 02:36:28 so, if a line equaling ':A+ sGsIg+S' is present then any time after that the line 'A+' is encountered, Afth will execute 'sGsIg+S', the addition command sequence. 02:38:06 words are two chars, and start with capital 'A'-'F' 02:40:01 words contain single lines, and words can not contain words 02:42:30 lines containing only '0'-'9' and 'a'-'f' put a hexadecimal number on the stack 02:44:46 j/J are the two "jump if tk is non-zero" 02:45:18 j is relative, J is absolute 02:46:06 basically a 'goto if' kinda thing 02:46:25 -!- ais523 has quit (Quit: quit). 02:47:45 there are 39 of these characters so far 02:53:12 goto line = '_nKsJ' 02:53:50 it will take a num from the stack and goto that line 02:56:23 so yeah, you have to define every word before it is used 03:00:24 564 possible words 03:04:41 next thing i'm adding is lines starting with '"', which puts printable ascii onto the stack 03:06:01 -!- craigo has quit (Quit: Leaving). 03:06:51 where '"Hello' would add ['o','l','l','e','H'] to the top of the stack. 03:29:47 the two ifs are z (if t == 0 then tk = 1 else tk = 0) and Z (if t > 0 then tk = 1 else tk = 0) 03:37:33 -!- Lykaina has quit (Quit: Leaving). 04:05:06 -!- Lykaina has joined. 04:07:52 [[User:Anthonykozar]] https://esolangs.org/w/index.php?diff=152136&oldid=90589 * Anthonykozar * (+325) Mentioning SCOOP and some of my other esolang ideas. Added a list of subpages. 04:18:52 -!- Lykaina has quit (Quit: Leaving). 04:23:03 [[User:Anthonykozar]] https://esolangs.org/w/index.php?diff=152137&oldid=152136 * Anthonykozar * (+76) Add full versions of acronyms and correct Aliba link in Subpages section. 04:34:00 [[User:Anthonykozar/SCOOP History and Design Goals]] N https://esolangs.org/w/index.php?oldid=152138 * Anthonykozar * (+3283) Removing this information from the main SCOOP page. 04:43:03 [[SCOOP]] https://esolangs.org/w/index.php?diff=152139&oldid=152105 * Anthonykozar * (-3243) Moving "History and Design Goals" and "Unused Ideas" sections to a new page under my user profile. 04:54:40 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in). 05:01:24 -!- slavfox has joined. 05:06:25 [[User:Anthonykozar]] https://esolangs.org/w/index.php?diff=152140&oldid=152137 * Anthonykozar * (+348) Added links to esolang-related software that I've written. 05:33:48 now old versions of my code have stopped working 05:33:54 doesnt make any sense 05:34:02 now even >&2 doesnt work 05:34:13 >&2 has always worked so far 05:34:52 Something must have changed in the environment. 05:39:28 thats not possible 05:39:41 it happened on both my tablet and on my laptop 05:39:45 its back to eval I guess 05:46:10 it doesnt seem possible that it worked in my shell for days and days and days and now it doesnt 05:52:28 teh only explanation I can think of is my kernel changed to disallow it 05:52:44 my chromebook might do an automatic apt update but my termux on my tablet certainly does not 05:55:51 [[10 1]] M https://esolangs.org/w/index.php?diff=152141&oldid=144756 * Corbin * (+13) It's a trivial BF substitution. 05:59:14 I've found a couple questionable proofs of Turing-completeness via Cook's Rule 110. Do we have a systematic way of talking about these? 06:01:06 A good example is Foreach. I can't immediately tell whether Foreach is TC just from its specification, and it's clear that Foreach is fairly expressive. The given proof shows that Foreach can iterate Rule 110. 06:02:10 https://www.irccloud.com/pastebin/lgRPE3a0/sdfaosdfij 06:02:12 But merely iterating Rule 110 isn't TC. What's TC is iterating Rule 110 until an arbitrary chosen effect occurs, and that has to be done relative to a specific fixed background, IIRC. 06:02:14 mabye this 06:03:01 https://www.irccloud.com/pastebin/YDkixojZ/sdfsdfd 06:03:39 https://www.irccloud.com/pastebin/uATyUoK7/sdfasddgsdg 06:47:29 I made up a file format for compact case-folding tables (for character sets of 256 characters): 0x00 to 0x7F means a identity run with length 1 to 127. 0x80 to 0xBF means a difference run with length 1 to 64; it is followed by one more byte specifying what the difference is. 0xC0 to 0xFF means a manual run of length 1 to 64; it is followed by that many bytes of data. 06:48:27 -!- Lykaina has joined. 07:03:15 https://lykaina.sdf.org/afth/helloworld.afth.txt 07:10:10 -!- Sgeo has quit (Read error: Connection reset by peer). 07:12:34 ok so 07:12:55 >&2 is broken and allegedly never worked according to this timeline 07:12:59 >&2 07:13:08 and so the fallback is mcr17(){ (echo "$1"; cat)|sh|sh|sh;}; 07:13:20 this can still print to stdout just fine 07:13:40 if you want to launch a graphical program say vi the current solution is echo echo xterm vi 07:13:49 if you dont have xterm then dtach 07:14:01 or some otehr terminal multiplexer like tmux 07:14:10 you may not like it but there it is 08:12:02 [[Nice]] https://esolangs.org/w/index.php?diff=152142&oldid=136438 * PoptartPlungerBoi * (+75) /* Variables */ 09:02:02 [[Special:Log/upload]] upload * PoptartPlungerBoi * uploaded "[[File:Nice 99bottles program.PNG]]" 09:04:12 [[Nice]] https://esolangs.org/w/index.php?diff=152144&oldid=152142 * PoptartPlungerBoi * (+72) 09:13:18 -!- amby has joined. 10:04:47 [[User talk:Krolkrol]] N https://esolangs.org/w/index.php?oldid=152145 * Krolkrol * (+40) Created page with "Edit this page if you want to talk to me" 10:26:59 -!- wib_jonas has joined. 10:27:39 does any of you use G'MIC in command or library form? ideally can you tell me the main advantages and drawbacks compared to ImageMagick and MagickWand? 10:29:31 Hmm what's that... gimmick? 10:29:55 (I can google, no worries) 10:30:17 as in https://gmic.eu/ vs https://imagemagick.org/ , I'm mostly familiar with the latter 10:30:39 I had somehow not even heard of the former. 10:32:00 (It is /relatively/ new with 8 years vs. 34 for IM) 10:32:41 then why did they build it to apparently inherit the bad parts of ImageMagick? 10:33:13 well I don't know for sure yet, I'm still trying to read the manuals, maybe it doesn't really inherit all the bad parts 10:36:21 -!- wib_jonas has quit (Quit: Client closed). 10:37:52 it does the same pipeline of filters thing... is that one of the bad parts? 10:42:01 -!- wib_jonas has joined. 10:43:25 no, the bad part seems to be the syntax, where I can't just give a literal filename to ImageMagick without it trying to interpret my string as a dwim thing with complicated syntax that may have types and filters and coordinates and expressions and may incidentally also be a filename if I'm lucky 10:43:45 but maybe G'MIC has some way around this, and I just didn't get to that part yet in the docs 10:48:17 I think if you want to get ImageMagick or even MagickWand to open an arbitrary file then you have to do the open call yourself and then pass the file descriptor number in %d format inside a magic string that also mentions the image type just to make sure that loading the file can't cause arbitrary side effects. 10:49:50 https://gmic.eu/reference/input.html looks like the :filename syntax fragment doesn't overlap with the rest 10:50:24 (unless you think that http:// is a valid part of a file name) 10:51:17 But that's documentation. I'd wonder whether https:// and maybe file:// are supported too 11:07:39 [[1CP=1ICL]] https://esolangs.org/w/index.php?diff=152146&oldid=151538 * PrySigneToFry * (+0) 11:09:18 Hi 12:08:45 -!- ais523 has joined. 12:09:20 korvo: to prove a language TC via rule 110 you need to initialise the rule 110 interpreter with a pattern consisting of an infinite repeating pattern, then a fixed section, then a different infinitely repeating pattern 12:09:52 often it is possible to do this lazily, i.e. appending a particular pattern to each side every n cycles (I forget the value of n but it's a constant) 12:10:04 -!- lisbeths has quit (Quit: Connection closed for inactivity). 12:10:48 that said, usually if a language can do rule 110 it can do other cellular automata too, and if it can take more than three inputs you can use one that's TC starting from a finitely initialised tape 12:11:07 (by "more than three inputs" I mean calculating the value of a cell based on more than three cells above it) 12:11:29 not sure of the minimum number of inputs needed, but most such esolangs can do arbitrarily many 12:13:12 as for why rule 110 needs the infinitely repeating background, it's definitely needed on one side because the proof implements sequential tag (thus the repeating pattern is an encoding of a cyclic tag program as sequential tag), I am not sure whether it's absolutely necessary on the other or whether that's just done for convenience 12:31:46 [[Special:Log/newusers]] create * Anulick * New user account 12:54:11 https://lykaina.sdf.org/afth/helloworld.afth.txt 12:54:15 oops 13:09:12 [[Afth]] https://esolangs.org/w/index.php?diff=152147&oldid=152133 * Lykaina * (+116) Adding a Hello World example. 13:14:34 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152148&oldid=151539 * Hotcrystal0 * (+143) 13:25:25 [[Afth]] https://esolangs.org/w/index.php?diff=152149&oldid=152147 * Lykaina * (+180) Adding "Core Instructions" section. (I need to fill it in) 13:35:32 [[Pointing]] M https://esolangs.org/w/index.php?diff=152150&oldid=151993 * Calculus is fun * (+63) changed syntax slightly 13:37:43 [[Pointing]] M https://esolangs.org/w/index.php?diff=152151&oldid=152150 * Calculus is fun * (-44) /* Pointer manipulation */ 13:37:56 [[Pointing]] M https://esolangs.org/w/index.php?diff=152152&oldid=152151 * Calculus is fun * (-2) /* Pointer manipulation */ 13:43:46 [[Afth]] https://esolangs.org/w/index.php?diff=152153&oldid=152149 * Lykaina * (+585) /* Core Instructions */ saving incomplete table (WIP) 14:00:09 [[Pointing]] M https://esolangs.org/w/index.php?diff=152154&oldid=152152 * Calculus is fun * (+166) Added implementation 14:08:21 [[Afth]] https://esolangs.org/w/index.php?diff=152155&oldid=152153 * Lykaina * (+780) /* Core Instructions */ got Chars and Names down, next is Descriptions... 14:43:24 -!- tromp has quit (Ping timeout: 244 seconds). 14:45:26 [[Afth]] https://esolangs.org/w/index.php?diff=152156&oldid=152155 * Lykaina * (+584) /* Core Instructions */ finished typing core instructions 14:51:34 -!- ais523 has quit (Ping timeout: 272 seconds). 14:55:44 [[Afth]] https://esolangs.org/w/index.php?diff=152157&oldid=152156 * Lykaina * (+154) /* Core Instructions */ updating to match planned change 15:25:40 [[Afth]] https://esolangs.org/w/index.php?diff=152158&oldid=152157 * Lykaina * (+72) /* Core Instructions */ code change opened up 'a'-'f' and 'A'-'F' 15:44:05 [[Pointing]] M https://esolangs.org/w/index.php?diff=152159&oldid=152154 * Calculus is fun * (+15) Updated Cat 15:48:22 -!- tromp has joined. 15:52:32 [[Afth]] https://esolangs.org/w/index.php?diff=152160&oldid=152158 * Lykaina * (+0) /* Examples */ fixed the Hello World example. 15:54:18 [[UserEdited]] https://esolangs.org/w/index.php?diff=152161&oldid=152132 * Hotcrystal0 * (+86) 15:55:20 [[UserEdited]] https://esolangs.org/w/index.php?diff=152162&oldid=152161 * Hotcrystal0 * (+1) 16:06:02 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152163&oldid=152148 * Hotcrystal0 * (+112) 16:06:14 -!- dawids has joined. 16:06:23 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152164&oldid=152163 * Hotcrystal0 * (+0) 16:10:40 -!- dawids has quit (Client Quit). 16:11:23 -!- Everything has joined. 16:36:46 -!- craigo has joined. 17:14:45 -!- wib_jonas has quit (Quit: Client closed). 17:29:36 [[Afth]] https://esolangs.org/w/index.php?diff=152165&oldid=152160 * Lykaina * (+522) Adding table for "Predefined Words" and fixing a typo elsewhere. 17:57:38 [[Afth]] https://esolangs.org/w/index.php?diff=152166&oldid=152165 * Lykaina * (+101) /* Examples */ Added "Add Two Numbers" 18:11:05 -!- ais523 has joined. 18:13:40 ais523: Okay, that makes sense. What about halting conditions? Rule 110 is total, so I guess that we need to inspect the latest cells to know when to halt? 18:16:49 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=152167&oldid=152090 * Dan422442 * (+55) Introducing myself 18:17:06 [[Quinary Bueue]] M https://esolangs.org/w/index.php?diff=152168&oldid=124805 * Dan422442 * (-2) It has been Implemented 18:18:50 korvo: right – the halt condition of the rule 110 proof is basically a pattern of repeating stripes that clearly don't interact with each other 18:19:12 but that is hard to detect from inside a rule 110 simulator unless it's pretty high-level 18:24:07 [[Afth]] https://esolangs.org/w/index.php?diff=152169&oldid=152166 * Lykaina * (+170) /* Core Instructions */ added 'e' and 'E' 18:25:21 actually, I think it might simplify down to "the same" state appearing twice (translated but otherwise identical) which is quite easy to objectively define 18:25:27 but not necessarily easy to detect 18:29:15 [[Varia]] N https://esolangs.org/w/index.php?oldid=152170 * * (+521) Threw the framework together 18:33:49 [[Afth]] https://esolangs.org/w/index.php?diff=152171&oldid=152169 * Lykaina * (+12) /* Predefined Words */ clarifying something 18:38:01 [[Afth]] https://esolangs.org/w/index.php?diff=152172&oldid=152171 * Lykaina * (+103) /* Predefined Words */ 18:38:32 [[Afth]] https://esolangs.org/w/index.php?diff=152173&oldid=152172 * Lykaina * (+0) /* Add Two Numbers */ 18:41:23 [[Afth]] https://esolangs.org/w/index.php?diff=152174&oldid=152173 * Lykaina * (+0) /* Predefined Words */ 18:44:37 -!- Lord_of_Life has quit (Ping timeout: 248 seconds). 18:45:19 -!- Lord_of_Life has joined. 18:52:06 i decided to be nice and add predefined words to Afth 18:52:30 literally I/O and basic math 18:55:08 I know it's a Forth-like under the hood, but I like to make it weird. 18:59:19 i already have 94 possible variables 18:59:44 but they have to be initialized in order to be used 19:10:22 the goal is to be able to define most words in a Forth-like using (currently) 39 core&math commands and 10 extra&io commands 19:12:03 i have 7 line-level vars, 4 of which are temporary space. 19:13:32 2 of the latter could probably easily be removed 19:24:24 -!- lisbeths has joined. 19:24:29 the sequence _^<<^<<^< is equivalent to t=42 19:25:16 hi lisbeths 19:25:36 hello 19:26:07 i just typed a bunch of stuff about Afth 19:26:30 check log if you wanna see 19:26:53 not everything is on the wiki yet 19:32:02 you seemed like you might be interested in Afth, as it is a Forth-like at its core. 19:33:53 Is there a command with 7z or tar or other programs to specify a different path and name inside of the created archive file than the actual paths and names in the system? 19:37:16 Also, is it possible to tell tar to store invalid user IDs, that it will only be able to extract the files if you do not use the user IDs in the archive file? 19:48:49 Lykaina: what is afth 19:52:32 my forth-like esolang 20:02:52 Lykaina: yeah tell me about it 20:04:08 zzo38: GNU tar supports a --transform option that can regex-substitute the filenames (the input of the regex is the file's location on disk and the output is the pathname stored in the archive) 20:05:33 in theory you could use that to give files completely arbitrary names by adding them one at a time, although it's likely for most uses that a regex will be sufficient to map the names of multiple files at once 20:06:38 here's an online copy of the documentation: https://www.gnu.org/software/tar/manual/html_section/transform.html 20:06:42 Yes, after asking the question I found that, but do not find the way to specify the mapping for each name individually, in a file that also specifies the list of which files to be included in the archive. 20:08:01 zzo38: so tar can append to an archive, so I think you just create an archive with one file and the name you want for it, then add another file using another regex, etc. 20:08:27 although you'd probably want a wrapper script to automate that process 20:10:31 OK, that makes sense, too. Do you know if it can be made that user/group IDs can be invalid so that --same-owner will not work but --no-same-owner will work? 20:11:39 I don't think so, because there are no truly invalid user/group IDs 20:12:17 65534 is frequently used as a sentinel for an invalid user/group ID but nothing technically prevents files being owned by that ID 20:13:25 I mean if the data is e.g. not a valid octal number and the user name is blank, what will tar (both GNU and other implementations) do in such a case? 20:14:45 [[11]] M https://esolangs.org/w/index.php?diff=152175&oldid=150640 * Buckets * (+4) 20:18:45 lisbeths: i gotta go out and do some shopping, ttyl 20:30:28 zzo38: tar: Archive contains ‘000064A’ where numeric mode_t value expected 20:31:00 and tar tvf displays that mode as -rwsrwsrwt 20:31:06 so I guess that's -1 20:33:08 I mean the user ID, not the mode. 20:35:17 -!- Everything has quit (Quit: leaving). 20:37:09 the numeric id is displayed as 4294967295 then but maps to 0 when unpacking as root 20:37:12 * int-e shrugs 20:38:44 well, maybe. maybe it just didn't use the numeric id for this. in any case, this is easy to test... the checksum field is the only protection against these shenanigans and it's just a sum. 20:40:46 (I think it would make more sense if invalid data in the user ID and/or user name fields resulted in an error message if --same-owner is specified but is silently ignored if --no-same-owner is specified; similar should apply to other fields, if you specify switches to override them then they will be ignored and don't care if it is valid. Unfortunately, it does not work like that.) 20:42:27 actually I guess 65535 may be an invalid value, as it's the return value on error from many uid/gid functions (well, -1 but it's traditionally a 16-bit return) 20:42:34 that would explain why 65534 was used as the sentinel 20:44:32 [[Varia]] https://esolangs.org/w/index.php?diff=152176&oldid=152170 * * (+124) 20:54:47 [[XXXoYYY]] N https://esolangs.org/w/index.php?oldid=152177 * Dtp09 * (+5449) page creation 20:55:20 [[User:Dtp09]] M https://esolangs.org/w/index.php?diff=152178&oldid=128625 * Dtp09 * (+14) /* esolangs i made */ 20:56:57 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152179&oldid=152117 * Buckets * (+22) 20:57:28 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152180&oldid=152179 * Buckets * (-22) 21:02:13 zzo38: in 7z not directly. 7z can rename files in an existing archive, and you can give multiple pairs of names to rename. but I don't think it supports adding files with a different name in one pass. 21:07:04 wait, a 16-bit return? I'll have to look this up, I assumed the user ID was always given as an int in the kernel interfaces, it's just that its value was restricted to 16 bits on old systems and that's what the file system represented 21:11:17 b_jonas: I kind-of assumed that int was 16-bit at the time 21:11:20 ``` set -e; >uid_size.c echo $'#include \n#include \n#include \n''int main(int ac, char *av[]) { printf("sizeof=%d, signed=%d,\n", (int)sizeof(uid_t), (int)(uid_t)-1); return 0; }'; gcc -Wall -O -o uid_size uid_size.c; ./uid_size 21:11:22 sizeof=4, signed=-1, 21:11:22 but I guess it was 32 in early UNIX 21:11:39 oh, it's possible that it was 16-bit in very early unix, sure 21:20:28 didn't BCPL use 32 bits for everything? although Unix may have been written in C from the start 21:26:23 now I'm a) questioning myself but b) wondering why C even allows 16-bit int – if Unix didn't use 16-bit int early on then I'd expect C to require it as 32-bit 21:27:04 although it was a very long time after C was created before systems with short, int, and long all different became commonplace (and long is still 32 bits on Windows!) 21:27:08 I'm hazy about ancient unix history. as far as I understand, unix was originally written in a machine language, then later rewritten into C. that was pre-ANSI C so function arguments and return values were promoted to at least int sized, but I think that was 16-bit int. 21:27:26 so it could have been that int was always ambiguous, and short and long disambiguated 21:28:14 "In UNIX V6 the getuid() call returned (euid << 8) + uid." – lots of manual pages 21:28:20 8! 21:28:48 ♥ 21:28:50 Good Night 21:28:52 getuid(2) says that on my current computer 21:28:54 night APic 21:29:32 I think C was designed to be able to work on contemporary machines of different architecutres from the start, which is why short and int were separate types even if they're normally both 16 bits wide. 21:30:32 aha – BCPL had all types the same width, but that was originally 16-bit 21:30:42 meaning that you were limited to 64KiB of memory because pointers were 16-bit too 21:31:13 err, 128KiB 21:31:30 because if everything is 16-bit the pointers only need 16-bit of granularity 21:33:03 I assume that's just for data, and code can be in a separate area 21:35:06 I think that view is compatible with how BCPL was defined 21:35:12 although I'm not sure whether or not it did that in practice 21:35:36 C for 16-bit x86 works similarly, a pointer is treated as a pointer to code or data depending on what you do with it 21:38:21 x86 supports ds != ss, but I'm not sure typical C implementations handle that combination 21:39:29 you could use a separate spill stack (in ss) and automatic variable stack (in ds), but that means two stack pointers so you're tying up one extra register, and that's fairly painful on 16-bit x86 which doesn't have very many of them 21:39:32 Borland C supports like six or seven different "memory models" for x86_16 DOS that differ in these details, 21:39:46 I'm only aware of four 21:39:55 wait, no, five 21:40:16 and it also lets you override this locally by declaring a pointer as near or far or huge or segment, and has a nonstandard operator spelled :> for combining a segment with a near pointer to get a far pointer 21:40:37 16-bit versus 32-bit for code pointer and for data pointer (4 combinations), plus if they're both 32-bit, whether objects are allowed to cross 16-bit boundaries or not 21:41:16 maybe you can do that even if the code pointers are 16-bit, that would make 6 combinations 21:41:27 but yes, there are near/far/huge overrides 21:41:53 oh, I remembered the extra one! it's 16-bit code and 16-bit data in the same segment 21:41:56 no, I think the extra combination is about which segments are equal when everything is 16-bit 21:42:07 yes, that' 21:42:09 that 21:43:18 hmm, my client has timestamped my "oh," message as 21:42 and your "no," message as 21:41, but displayed my message before yours causing the timestamps to be out of order (and the logs agree that my message was first) 21:43:29 I'm assuming this is some sort of timestamping bug 22:01:55 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152181&oldid=152102 * Hotcrystal0 * (+178) 22:03:03 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152182&oldid=152077 * Hotcrystal0 * (+13) 22:03:13 [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=152183&oldid=152182 * Hotcrystal0 * (-13) 22:13:41 -!- lisbeths has quit (Quit: Connection closed for inactivity). 22:14:09 [[UserEdited]] https://esolangs.org/w/index.php?diff=152184&oldid=152162 * Hotcrystal0 * (+404) 22:26:38 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 22:29:58 [[Language list]] M https://esolangs.org/w/index.php?diff=152185&oldid=152134 * H33T33 * (+13) 22:55:07 -!- Sgeo has joined. 23:09:04 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152186&oldid=152118 * Buckets * (+17) 23:09:16 [[Language list]] M https://esolangs.org/w/index.php?diff=152187&oldid=152185 * Buckets * (+18) 23:10:03 [[]] N https://esolangs.org/w/index.php?oldid=152188 * Buckets * (+705) Created page with " (Not .) Is an Esoteric programming language created by [[User:Buckets]] in 2021. {| class="wikitable" ! Commands !! Instructions |- | || +3. |- | . || -3 |- | (Line feed) || Prints the current number in ASCII. |- | || Turn to the next page. |- | || Turn to the Previous page 23:10:25 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152189&oldid=152186 * Buckets * (+0) 23:54:59 [[Afth]] https://esolangs.org/w/index.php?diff=152190&oldid=152174 * Lykaina * (+391) Updated to current. 2025-02-19: 00:39:09 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152191&oldid=152181 * I am islptng * (+571) /* How to make lowercase */ 00:42:54 [[Afth]] https://esolangs.org/w/index.php?diff=152192&oldid=152190 * Lykaina * (+1346) Added to beginning. 00:49:21 How does https://esolangs.org/wiki/Afth look so far? 00:51:00 [[H33T33]] N https://esolangs.org/w/index.php?oldid=152193 * H33T33 * (+301) Created page with "=[[User:H33T33]]= I am absolutely obsessed with programming, specifically game development. Though I dabble in other things, like esolang development. ==Experience== * Python * C * Java * A handful of other smaller languages I can't be bothered to list right now ==Langua 00:51:23 [[H33T33]] https://esolangs.org/w/index.php?diff=152194&oldid=152193 * H33T33 * (-18) 00:54:02 [[H33T33]] https://esolangs.org/w/index.php?diff=152195&oldid=152194 * H33T33 * (-283) Blanked the page 00:55:09 [[User:H33T33]] N https://esolangs.org/w/index.php?oldid=152196 * H33T33 * (+283) Created page with "I am absolutely obsessed with programming, specifically game development. Though I dabble in other things, like esolang development. ==Experience== * Python * C * Java * A handful of other smaller languages I can't be bothered to list right now ==Languages Developed 00:55:59 [[Topple]] M https://esolangs.org/w/index.php?diff=152197&oldid=151996 * H33T33 * (-25) 01:00:09 [[Topple]] https://esolangs.org/w/index.php?diff=152198&oldid=152197 * H33T33 * (-22) 01:03:18 Afth is supposed to mean "Something from the Aft" and is meant as a euphemism for "Solid Bodily Excrement" 01:04:28 also, the opposite of Forth 01:11:18 Lykaina: Do you have a second stack? 01:11:40 not really 01:13:23 should I? 01:13:46 Well, what do you think of Turing-completeness? A one-stack pushdown automaton can't simulate a Turing machine. 01:14:38 There's good arguments both ways. Cammy can be simulated by a one-stack pushdown automaton, but its computational class is absurdly large for something not TC. 01:15:18 I have variables 01:15:33 But yeah, the typical Forth has two stacks. There's a call-return stack, sometimes just called the R stack, and words like >r and r> for moving to/from it. 01:16:36 didn't know that 01:16:57 Hm, that might work. Normally we think of the second stack as being indefinite in size, while only finitely many variables are possible. But that's merely a convention because we want to map variables to registers in some traditions; obviously the number of variables is very large and also the size of the stack is limited. 01:17:34 -!- ais523 has quit (Quit: quit). 01:17:38 No worries! Most Forth users don't have to worry about the second stack because they have pick-and-roll functionality: there are insanely powerful words like pick or roll which allow the user to shuffle the entire stack. 01:18:32 But in this channel you'll find lots of folks who are either using ANS FORTH for some reason, or are writing Forth for embedded platforms where roll'ing the stack would be too expensive to offer as a feature. 01:18:40 [[Burro]] https://esolangs.org/w/index.php?diff=152199&oldid=140997 * Anthonykozar * (+7) /* Constructing Conditionals */ Clarifying some sentences. 01:19:34 i'll change what's r,R means and put the original meaning on d,D 01:20:17 make r,R the access to the R stack 01:20:25 Oh, don't worry about keeping with tradition. Forth calls the second stack R because it's used for return addresses; it's the standard call stack in C-style memory layouts. 01:20:51 You could just as well call it H since it's often a hardware-supported stack, or C because it's used for calls (or used like in C), etc. 01:21:27 i'll have to make my spreadsheet two pages then... 01:21:45 it will be c,C 01:22:37 c: t = cstack.pop() 01:23:02 C: cstack.append(t) 01:23:35 Also, you can choose to make the second stack safe! In a typical ANS FORTH, the user has to assume that they do not control the second stack; the runtime will also push and pop stuff to it, and there are rules about when it's safe to use. 01:26:02 hold on... 01:27:28 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:28:56 [[Afth]] https://esolangs.org/w/index.php?diff=152200&oldid=152192 * Lykaina * (+94) /* Core Instructions */ adding c and C. 01:45:28 any other things i'm missing? 01:45:50 [[Talk:MoreMathRPN]] https://esolangs.org/w/index.php?diff=152201&oldid=151264 * I am islptng * (+610) /* Questions */ 01:47:21 oh...have to add sample var and word declarations 01:47:32 i mean, to the wiki 01:55:33 [[Afth]] https://esolangs.org/w/index.php?diff=152202&oldid=152200 * Lykaina * (+205) /* Syntax */ 02:17:46 there are only 94^2 possible single-cell variables 02:20:03 and 52*94^2 possible words 02:22:57 26*94^4 < 2^31 02:29:33 the amount of non-space printable ascii chars is 94. 26*94+26*94^2+26*94^3+26*94^4 is still less than 2^31 02:32:37 means, in a future version, i can have 2-5 char word names and 1-4 char var names 02:34:24 better make a quick change to support this future 02:34:59 [[Afth]] https://esolangs.org/w/index.php?diff=152203&oldid=152202 * Lykaina * (+8) /* Words */ 02:35:47 [[Afth]] https://esolangs.org/w/index.php?diff=152204&oldid=152203 * Lykaina * (-4) /* Initial Letters Table */ 03:23:13 -!- craigo has quit (Quit: Leaving). 04:35:10 [[User:Anthonykozar/Notes]] https://esolangs.org/w/index.php?diff=152205&oldid=152135 * Anthonykozar * (+125) Added Burro and Cabra. 05:17:53 made the change to 2-5 char word names and 1-4 char var names 05:18:20 but not in wiki 05:26:40 -!- safinaskar has joined. 05:27:34 hi. i want to add austral (it is non-esoteric, but little known programming lanuage) to some online playground. is there some online playground, such that i can very easily add language to it? 05:28:06 i looked at godbolt, but it requires to write syntax for monaco editor first, i don't want to do this 05:28:39 i also looked at tio.run , but it seems admin disappeared long time ago and adding new languages is not possible 05:29:20 [[Afth]] https://esolangs.org/w/index.php?diff=152206&oldid=152204 * Lykaina * (+7) Updated to current. 05:31:43 Afth is only partly esoteric at this point. 05:34:15 The part that, in my mind, qualifies it as esoteric is the Core Instructions 05:49:28 -!- lisbeths has joined. 05:51:36 hi lisbeths 05:54:10 lisbeths: How does https://esolangs.org/wiki/Afth look so far? 06:20:12 -!- Noisytoot has quit (Excess Flood). 06:23:01 -!- Noisytoot has joined. 06:24:18 -!- Noisytoot has quit (Excess Flood). 06:42:37 Lykaina: it looks like a pretty normal forth upon brief glance 06:42:51 Lykaina: what are your goals with it? 06:44:48 -!- Noisytoot has joined. 07:19:07 -!- safinaskar has left (https://quassel-irc.org - Chat comfortably. Anywhere.). 08:01:00 -!- tromp has joined. 08:04:55 safinaskar: maybe look at https://tio.run/ , it supports tons of languages, esoteric and not 08:05:09 oh, you already looked at it 08:31:04 Lykaina: I wouldn't bother with a second stack. Just stacks without random access are inconvenient to use. If you want to be minimalist but powerful I'd just add a random-access data array of words outside the stack, and add three primitives: load word from address, store word to address, and sbrk. 08:33:59 -!- Sgeo has quit (Read error: Connection reset by peer). 08:36:21 I think forths traditionally have something like that, with a funny naming confusion because they call the random-access load primitive @ and the random-access store primitive ! whereas ML uses ! for random-access load 08:37:03 -!- b_jonas has quit (Quit: leaving). 09:38:29 I am really curious about forths that use registers 09:59:07 -!- Bowserinator has quit (Quit: Blame iczero something happened). 09:59:54 -!- iovoid has quit (Quit: iovoid has quit!). 10:00:59 -!- Bowserinator has joined. 10:01:29 -!- iovoid has joined. 10:41:20 -!- wib_jonas has joined. 10:43:46 lisbeth: I think some forths have a few global variables to simplify the syntax of simple counter for-loops, so there's a loop builtin that puts the count in one global variable and maybe another that puts them in a second global variable. does that count as registers? alternately GML has lambda calculus style lexically local variables, which you 10:43:46 could implement with a register stack (separate from the forth/postscript data stack), does that count? 10:44:13 hmm no, you couldn't implement it with a register stack because there are first-class closures 10:44:28 but you could count those locals as registers 10:48:58 I guess you could have local variables with closures that are closed by reference to the stack only so they can't be called after the parent stack frame ends, and then you could implement these as register stack. I am considering that for the columns esolang, though I haven't really figured out how functions and control structures should work so it 10:48:59 might not actually use these. 11:52:00 -!- Bowserinator has quit (Quit: Blame iczero something happened). 11:52:54 -!- Bowserinator has joined. 12:11:36 -!- wib_jonas has quit (Quit: Client closed). 13:01:28 -!- AnthonyKozar has joined. 13:03:03 -!- AnthonyKozar has quit (Client Quit). 13:04:14 -!- AnthonyKozar has joined. 13:07:52 RFC: SCOOP (Single-Character Object-Oriented Programming) is a pure, classless, object-oriented esolang using the full Unicode character set where all commands and identifiers/names are a single character. 13:09:50 Hello! I recently added my new esolang, SCOOP, to the wiki and I am looking for some feedback if anyone has the interest/time to take a look. 13:13:32 I'm interested to know if there are any ambiguities or problems with the syntax or semantics. General feedback is also appreciated. Thanks! :) 13:20:07 -!- amby has joined. 13:24:15 -!- AnthonyKozar has quit (Quit: Client closed). 13:32:45 [[Braces]] https://esolangs.org/w/index.php?diff=152207&oldid=112463 * Krolkrol * (+1482) 13:34:32 [[Braces]] https://esolangs.org/w/index.php?diff=152208&oldid=152207 * Krolkrol * (+27) 13:35:58 [[User talk:Aadenboy]] https://esolangs.org/w/index.php?diff=152209&oldid=152113 * PrySigneToFry * (+49) 13:42:37 -!- AnthonyKozar has joined. 13:49:04 -!- AnthonyKozar has quit (Quit: Client closed). 13:57:00 Hi 14:17:49 -!- chiselfuse has quit (Write error: Connection reset by peer). 14:19:54 -!- chiselfuse has joined. 14:21:29 hello 14:28:08 -!- AnthonyKozar has joined. 14:30:44 Hello, lisbeths. 14:42:45 -!- AnthonyKozar has quit (Quit: Client closed). 14:49:51 -!- craigo has joined. 15:45:57 hi 15:46:03 just woke up 16:04:12 [[Special:Log/newusers]] create * C++DSUCKER * New user account 16:04:34 changing c,C to t,T and using b,B,c,C,d,D for a large random-access array and its pointer in next edit 16:08:42 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=152210&oldid=152167 * C++DSUCKER * (+89) /* Introductions */ 16:10:38 also e,E to m,M 16:11:28 so i have e,E available for the array as well if needed 16:19:57 -!- roper has joined. 16:22:22 -!- wib_jonas has joined. 16:25:17 -!- dawids_ has joined. 16:27:06 Celebrate Chaoflux! Hail Diskordiæ! 😇 16:28:34 -!- wib_jonas has quit (Quit: Client closed). 16:29:38 [[Afth]] https://esolangs.org/w/index.php?diff=152211&oldid=152206 * Lykaina * (+22) freeing up core instruction letters c,C,e,E and reassigning them to t,T,m,M. 16:38:04 -!- amby has quit (Read error: Connection reset by peer). 16:38:19 -!- amby has joined. 16:39:00 -!- wib_jonas has joined. 16:39:09 AnthonyKozar: re SCOOP this seems interesting and I don't yet understand the consequences of all this specification.  First question, I don't understand the description of the syntax. 16:39:13 In particular, if you have an object definition strating with colon, then the colon is followed by a name, then some items in between, and finally there's one of □#" at the end.  Of the following, what items can be in between? 16:39:18 (A) Member initializers, which is just an ordinary character that means to copy the member from the parent object to this object. (B) Method definitions. (C) Nested object definitions starting with colon (where the nested object initializes a member in the parent object). (D) Assignment statements. 16:39:23 (E) Method call statements. (F) Assignment statements. (G) Ordinary characters that become a character of the string if this defines a string object, or give the numeric value if this is a number object. 16:39:28 How do you disambiguate between A and G?  Also which of A to G can you have in the body of a method definition? 16:39:33 Second question, do I understand it right that there's always just the members of one object in scope, so in any statement like ←x or ←x.ym or ←x▷ymz or ⏎x , x and y and z are members in that one object but m isn't, and in a nested :xy□ definition too x will be created as a member named x in that one object and y will be copied from the 16:39:33 member y in that one object? 16:40:11 And you can't directly access values from the parent object, except through an (A) style member initializer, right? 16:43:05 Lykaina: what do those letters mean, the uppercase and the lowercase? 16:44:26 they are the chars assigned to "Core Instructions". 16:45:06 look at table in wiki page 16:47:13 DUP is 'sSS' 16:47:27 as an example 16:49:10 Lykiana: I don't see b,B,c,C,d,D there\ 16:49:39 i haven't programmed them yet 16:50:01 they will be 16:50:19 [[Bitchanger Busy beaver]] N https://esolangs.org/w/index.php?oldid=152212 * C++DSUCKER * (+646) Created page with "== Confirmed optimal == These are confirmed to be the best for lengths 1-15 {| class="wikitable" |- ! length !! Time !! Program |- | 1 || 1 || } |- | 2 || 2 || }} |- | 3 || 3 || }}} |- | 4 || 4 || }}}} |- | 5 || 5 || }}}}} |- | 6 || 8 || }}<[<] |- | 7 16:54:59 b,B,c,C,d,D,e,E are currently reserved for what i am currently programming, the array of 16384 signed 32-bit ints. 17:11:00 -!- dawids_ has quit (Remote host closed the connection). 17:15:29 -!- wib_jonas has quit (Quit: Client closed). 18:01:15 -!- dawids_ has joined. 18:01:30 -!- dawids_ has quit (Remote host closed the connection). 18:02:25 -!- AnthonyKozar has joined. 18:07:59 wib_jonas: Thanks very much for taking a look at SCOOP. Sounds like I need to clarify some of my descriptions and/or give more detailed examples. 18:12:26 AnthonyKozar: I have many thoughts, having implemented similar languages. For starters, do you have a concept of verb or selector? In languages like Smalltalk, Self, Python, Ruby, or E, it is possible for an object to define a default behavior for messages when none of its selectors/verbs match. 18:14:14 -!- AnthonyKozar has quit (Quit: Client closed). 18:14:24 Along similar lines, is there a default verb/selector which indicates a function-like behavior? For example, in Python, that attribute is ".__call__"; in E, it's the verb "run". 18:14:32 ...Well, okay. 18:22:43 -!- roper has quit (Read error: Connection reset by peer). 18:28:15 -!- roper has joined. 18:31:46 -!- AnthonyKozar has joined. 18:32:15 Re: your first question, which items can come between the identifier and the final delimiter (the "content") depends upon the delimiter. If the delimiter is □, then only a list of object members (your A) can be in the content. If the delimiter is " or #, then only G.  If the delimiter is ƒ, 𝑓, or ✆, then the content is B (a method or 18:32:16 callback definition) which can include any combination of (B) (nested) Method definitions. (C) Nested object definitions starting with colon (but they do not define an object immediately!). (D) Assignment statements, (E) Method call statements, or member access  statements. I.e. the content of a method definition is just a code string but the 18:32:16 instructions in the definition are not evaluated (and don't have to be parsed completely) until the method is called. 18:33:44 -!- AnthonyKozar has quit (Client Quit). 18:34:19 -!- b_jonas has joined. 18:45:09 -!- Lord_of_Life_ has joined. 18:45:24 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 18:46:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 19:02:34 [[Afth]] https://esolangs.org/w/index.php?diff=152213&oldid=152211 * Lykaina * (+843) /* Core Instructions */ adding b,B,c,C,d,D,e,E 19:08:02 Lykaina: you have looked at the classic languages Mouse and FALSE before inventing a new language like this, right? 19:08:08 no 19:08:25 though if you'll build a fungeoid over this later then that doesn't matter 19:09:00 but it doesn't look like you want a fungeoid, looks like you want a Forth-like 19:10:52 i may take elements from afth and make a fungeoid 19:11:26 in the future 19:15:05 -!- ais523 has joined. 19:18:41 fungeball is not afth 19:21:13 though an experiment with a private fork of fungeball's code inspired the cration of afth. 19:21:14 -!- Lord_of_Life has quit (Remote host closed the connection). 19:21:45 -!- Lord_of_Life has joined. 19:27:02 since befunge-93 is inspired by brainfuck and FALSE, it's possible that the similarities between afth and FALSE (which i know nothing about) are due to that. 19:52:32 -!- roper has quit (Quit: leaving). 20:04:32 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152214&oldid=152180 * Buckets * (+1789) 20:21:36 [[FOSMOL]] N https://esolangs.org/w/index.php?oldid=152215 * Aadenboy * (+3915) Created page with "'''FOSMOL''' (an acronym that stands for Fold Operator Start Map Operator List) is a [[:Category:Total|total]] esolang created by [[User:Aadenboy]]. == Values == FOSMOL operates on lists of numbers. These lists can be assigned to a variable, which becomes immutable imm 20:22:03 [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=152216&oldid=152114 * Aadenboy * (+72) /* who. who are you */ add [[FOSMOL]] 20:22:31 [[Language list]] M https://esolangs.org/w/index.php?diff=152217&oldid=152187 * Aadenboy * (+13) /* F */ add FOSMOL 20:25:09 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152218&oldid=152164 * Hotcrystal0 * (+252) 20:28:18 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152219&oldid=152218 * Hotcrystal0 * (-9) 20:29:31 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152220&oldid=152219 * Hotcrystal0 * (-5) 20:40:31 just found a bug in the code that prevented stack underruns 20:41:11 it's a holdover from when the code was a befunge interpreter 20:42:01 fixed 20:48:51 -!- lisbeths has quit (Quit: Connection closed for inactivity). 20:58:26 [[Afth]] https://esolangs.org/w/index.php?diff=152221&oldid=152213 * Lykaina * (+82) Adding link to repository. 21:10:45 -!- AnthonyKozar has joined. 21:12:01 wib_jonas: You asked "How do you disambiguate between A and G?"  The delimiter at the end of a definition is the only (reliable) way to distinguish between the five types of definitions. So, when a SCOOP parser finds a colon followed by an identifier, it should probably just read in characters until it finds a matching delimiter. Then it can 21:12:01 decide how to interpret the content string. (The parser does need to pay attention to any colons in the content string and match each colon with a delimiter until it finds the delimiter that matches the first colon). 21:16:03 AnthonyKozar: so if you want to have a number or string with custom members in it, you have to use the extend method? 21:16:30 I guess that will work, you rarely want such a thing anyway 21:16:48 though I'm not sure what happens if you try to extend a string with a number or a number with a string 21:23:14 -!- AnthonyKozar has quit (Quit: Client closed). 21:25:41 [[Talk:Intcode]] N https://esolangs.org/w/index.php?oldid=152222 * ApisNecros * (+567) Create page with a question 21:25:55 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152223&oldid=152189 * Buckets * (+15) 21:26:06 [[Language list]] M https://esolangs.org/w/index.php?diff=152224&oldid=152217 * Buckets * (+16) 21:26:30 [[Beep Boop]] N https://esolangs.org/w/index.php?oldid=152225 * Buckets * (+824) Created page with "Beep Boop is an Esoteric programming language created by [[User:Buckets]] in 2020. (The output Signal is Automatically Off.) {| class="wikitable" ! Commands !! Instructions |- | Beep || Change To A 20 Hz signal. |- | Boop || change to A 200 Hz signal. |- | - || Change 21:35:42 [[Afth]] https://esolangs.org/w/index.php?diff=152226&oldid=152221 * Lykaina * (+82) /* Syntax */ Added mention of arrays. 22:22:04 -!- visilii has joined. 22:22:45 [[Afth]] https://esolangs.org/w/index.php?diff=152227&oldid=152226 * Lykaina * (+155) Added Infobox 22:24:54 -!- visilii_ has quit (Ping timeout: 260 seconds). 22:27:35 [[FOSMOL]] M https://esolangs.org/w/index.php?diff=152228&oldid=152215 * Aadenboy * (+106) /* Macros */ 22:28:38 [[FOSMOL]] M https://esolangs.org/w/index.php?diff=152229&oldid=152228 * Aadenboy * (+6) /* Mapping */ 22:31:28 cu 22:36:14 [[Afth]] https://esolangs.org/w/index.php?diff=152230&oldid=152227 * Lykaina * (+38) /* Syntax */ Rephrased "Command Triplets" as "Command Groups" 22:38:24 -!- AnthonyKozazr has joined. 22:40:28 -!- AnthonyKozazr has changed nick to AnthonyKozar. 22:53:38 korvo: Thanks for your thoughts and questions!  SCOOP does not have an explicit concept of verbs or selectors.  Other than having multi-word selectors  (like "randomFrom:To:"), is the concept much different from method names/identifiers like in Java or C++?  In the current draft of SCOOP, if an object receives a message that doesn't match any 22:53:39 of its methods, that is a runtime error.  And since SCOOP is an esolang, I haven't provided any way to recover from that or similar errors. 22:56:00 [[Compass]] https://esolangs.org/w/index.php?diff=152231&oldid=151782 * Ractangle * (-11) /* Hello, world! */ 22:57:02 [[Compass]] https://esolangs.org/w/index.php?diff=152232&oldid=152231 * Ractangle * (-44) /* Empty Program */ 22:57:31 [[Afth]] https://esolangs.org/w/index.php?diff=152233&oldid=152230 * Lykaina * (-6) /* Initial Letters Table */ updated to current 22:57:36 [[Compass]] https://esolangs.org/w/index.php?diff=152234&oldid=152232 * Ractangle * (+0) /* Empty Program */ 22:58:25 AnthonyKozar: are you planning to write a reference interpreter for SCOOP, and longer programs that create many objects programmatically? 22:59:09 [[Compass]] https://esolangs.org/w/index.php?diff=152235&oldid=152234 * Ractangle * (-83) /* Examples */ 22:59:54 it looks like you have an interesting enough language that it might be worth 23:00:26 Currently, SCOOP does not have a "default verb/selector [indicating] function-like behavior."  Method objects have a property called ⌘ that can be used to retrieve their code string but that property cannot be used to change the code of a method.  I envisioned methods, numbers, and strings as opaque objects.  Even if you extend them with 23:00:27 custom members, there is currently no way to directly modify their internal values. 23:01:27 b_jonas: Yes, I would like both to write some longer programs and to create a reference interpreter (when time allows). 23:01:46 [[Afth]] https://esolangs.org/w/index.php?diff=152236&oldid=152233 * Lykaina * (+73) /* Hello, World! */ Added a rephrasing of the program. 23:01:47 Thank you! 23:02:28 [[-1]] M https://esolangs.org/w/index.php?diff=152237&oldid=151827 * Buckets * (+6) 23:04:50 I will probably implement SCOOP in Python since I believe Python makes it pretty easy to dynamically define objects and has excellent support for Unicode (from what I can tell). 23:06:17 [[]] M https://esolangs.org/w/index.php?diff=152238&oldid=152188 * Buckets * (+1) 23:08:16 korvo: (wi)b_jonas: would you recommend any changes to SCOOP, such as adding a catch all method or the equivalent of Python's __call__() ? 23:10:01 [[Afth]] https://esolangs.org/w/index.php?diff=152239&oldid=152236 * Lykaina * (+137) /* Add Two Numbers */ Used the program to explain how command chars make up words. 23:12:02 [[]] M https://esolangs.org/w/index.php?diff=152240&oldid=151971 * Buckets * (+42) 23:13:30 wib_jonas: Re: your second question, yes, there's always just the members of one object in scope and an object definition such as :xy□ works as you described. 23:15:38 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152241&oldid=152214 * Buckets * (+58) 23:16:39 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152242&oldid=152241 * Buckets * (+0) 23:17:04 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152243&oldid=152242 * Buckets * (+21) 23:18:19 AnthonyKozar: I don't know right now. I'm still not sure I understand how powerful or not this is. I think it has enough power to express anything that you could in an ordinary lisp-like language with lambda and set!. It's more the description that I found a bit unclear. 23:19:10 [[Afth]] https://esolangs.org/w/index.php?diff=152244&oldid=152239 * Lykaina * (+394) /* Syntax */ Clarified some things. 23:19:40 I think you should have a section that tells about just the syntax, with perhaps a BNF thing to show what items can go into what definitions; a section explaining what types of objects exist (null, number, string, italic-f methods, callback methods, small square objects); 23:20:31 Also, as you mentioned, objects cannot directly access values from their parent objects. The parent object can create a reference to itself in its offfspring so that they can use member access notation to access the parent.  (And @ can always be used to access the top-level object that provides the scope for the main program code). 23:20:42 and what data those objects store exactly. And I think it might be more readable if you talked about the scoping rules before you described what statements there are and maybe even the syntax. 23:21:52 OK. Thank you! That is all helpful feedback. :) 23:22:17 [[Compass]] https://esolangs.org/w/index.php?diff=152245&oldid=152235 * Ractangle * (+28) /* Language syntax */ 23:22:36 I have to go for dinner now but I'll try to reply to any further questions or comments later.  Thanks again. 23:24:10 I was also wondering if it would be worth to *remove* the copy object and extend object primitives, because the languae is still powerful without them, the nested definitions let you write a constructor method to create an object and fill its fixed members (as if from a prototype), and then after you call that constructor you can modify its variable members (the ones that differ between instances). But 23:24:15 [[Special:Log/newusers]] create * Diggy Gorgonzola * New user account 23:24:16 I think that might change this to a very different language than you're imagining, and might turn it less object-oriented and more similar to just a bland language with closures and mutable upvalues. 23:25:53 Also do I understand it right that a telephone method is like a bound method call from python, which stores not only code but also the self that it will execute with, and when you invoke such a telephone method it'll ignore the invocant entirely? 23:27:10 -!- AnthonyKozar has quit (Ping timeout: 240 seconds). 23:28:46 so if you write ←x▷ymz then this looks up the member m in object y, then if that y.m is an f-with-tail method then it will run the code in that member with $ being y, but if y.m is a telephone method then it'll invoke m with $ set to whatever invocant was saved in m when the colon-definition for that m ran, so y is only used to look up m and not afterwards, right? 23:30:03 Does the top level program have the same syntax as the body of a colon-definition for the program object, except it probably makes no sense to put plain single-letter initializers in it because there's no parent to copy values from? 23:31:24 [[Afth]] https://esolangs.org/w/index.php?diff=152246&oldid=152244 * Lykaina * (+159) /* Jumping */ expanded section. 23:31:59 I'd also like some clarification on when the methods for numbers like ×÷⌊◯ return a precise rational versus an imprecise float, but this is a nitpick. 23:35:43 I think you thought both the syntax and semantics through carefully, it's just a lot to digest as a reader. 23:52:10 [[Afth]] https://esolangs.org/w/index.php?diff=152247&oldid=152246 * Lykaina * (+54) /* Line-scope Variables */ 23:56:02 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=152248&oldid=152068 * Hotcrystal0 * (+60) 23:56:33 [[User:I am islptng/List of the users that is also in conwaylife.com]] https://esolangs.org/w/index.php?diff=152249&oldid=152248 * Hotcrystal0 * (+10) 2025-02-20: 00:00:56 -!- esolangs has joined. 00:00:56 -!- ChanServ has set channel mode: +v esolangs. 00:01:57 `" 00:01:59 1/1:179) Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) \ 1234) Some people, when confronted with a problem, think "I know, I'll use the Banach-Tarski theorem." 00:02:48 (And then they have two problems?) 00:07:59 int-e: https://xkcd.com/804/ 00:08:00 two problems both the same size as the original! 00:09:12 you don't need the Banach-Tarski theorem for that if the problem is an infectious disease 00:33:30 [[Talk:Bitchanger Busy beaver]] N https://esolangs.org/w/index.php?oldid=152250 * PkmnQ * (+110) Created page with "What was used to confirm these? -~~~~" 00:40:34 oh, and I guess if you have built-in integers you might as well add a bitwise-and method to them, that can help 00:43:59 -!- Sgeo has joined. 00:47:44 hi Sgeo 00:48:16 Hi Lykaina 00:49:38 Sgeo: Have you looked at https://esolangs.org/wiki/Afth lately? 00:49:51 I haven't actually seen it before now 00:50:30 what do you think? 00:54:18 I wonder if the page would be a bit clearer if rearranged, introducing the concept of command groups and the initial letters table before showing any examples that use those 00:55:14 okay 00:55:21 i'll fix that 00:56:19 I'm curious about the rationale behind using tk specifically for some things. I'd wonder if that makes it more esoteric, but then again a lot of CPUs have instructions that have to be used with specific registers 00:56:53 [[Afth]] https://esolangs.org/w/index.php?diff=152251&oldid=152247 * Lykaina * (+0) /* Syntax */ moved things around. 00:57:25 Are wordnum = wnum and varnum = vnum? Maybe they need to be defined and one chosen for each (e.g. using wordnum consistently, or wnum consistently) 00:58:27 the k in tk is for kompare 01:00:10 [[Afth]] https://esolangs.org/w/index.php?diff=152252&oldid=152251 * Lykaina * (+5) /* Core Instructions */ fixing typo Sgeo noticed 01:00:29 should be wordnum and varnum 01:02:08 AFK 01:04:40 -!- ais523 has quit (Quit: quit). 01:10:19 [[Afth]] https://esolangs.org/w/index.php?diff=152253&oldid=152252 * Lykaina * (+32) /* Initial Letters Table */ clarifying something 01:14:32 [[Afth]] https://esolangs.org/w/index.php?diff=152254&oldid=152253 * Lykaina * (+15) /* Jumping */ formatting change 01:40:59 Back 01:45:09 -!- tromp has quit (Ping timeout: 260 seconds). 01:54:50 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:55:47 wb Sgeo 01:56:57 ty 01:58:34 [[Afth]] https://esolangs.org/w/index.php?diff=152255&oldid=152254 * Lykaina * (+6) Fixing first line. 02:05:17 should I put the Core Instruction list in ASCII order? 02:07:32 Can you put some sort of sorting on the table that lets the reader of the article choose sort order? I think by category makes sense as a default but can imagine why someone would want ASCII sort 02:07:35 If there's no better order, then sure. Oftentimes instructions come with some sort of natural grouping or relationship. 02:08:22 the current order is a more logical one 02:09:50 https://www.mediawiki.org/wiki/Help:Sortable_tables I don't know if the wiki supports this 02:10:26 i'll create https://esolangs.org/wiki/Afth/ASCII-sorted or something like that 02:11:44 and i think it's time to remove {{stub}} 02:13:15 [[Afth]] https://esolangs.org/w/index.php?diff=152256&oldid=152255 * Lykaina * (-10) Removing {{stub}}. 02:43:44 [[Afth/ASCII-Core]] N https://esolangs.org/w/index.php?oldid=152257 * Lykaina * (+3583) ASCII-sorted Core Instructions 02:47:43 [[Afth]] https://esolangs.org/w/index.php?diff=152258&oldid=152256 * Lykaina * (+71) /* Core Instructions */ Adding link to the Afth/ASCII-Core page. 02:48:02 Lykaina: Thinking like a technical writer: If somebody wanted to implement Afth, what would they need to know first? What would they read and how would they read it? It can be a useful perspective. 02:49:05 Also, I need it too. 02:54:31 Exactly. 03:00:04 I'm gonna make a separate page for the examples, as I tend to deconstruct them for the programmer's benefit. That takes up a lot of space. 03:04:37 [[Afth/Examples]] N https://esolangs.org/w/index.php?oldid=152259 * Lykaina * (+431) Making separate page for Afth Examples and their deconstructions and explanations. 03:08:01 [[Afth]] https://esolangs.org/w/index.php?diff=152260&oldid=152258 * Lykaina * (-377) /* Examples */ Moved Examples to Afth/Examples 03:47:09 [[Afth]] https://esolangs.org/w/index.php?diff=152261&oldid=152260 * Lykaina * (+169) /* Initial Letters Table */ formatting fix 03:51:06 I have an idea for [[Afth/Ascii-Core]]...why not add blank spaces for the valid chars that aren't used? 03:58:49 I'll do it on my GitHub's wiki instead, as it's useful for me. 04:16:55 [[Afth/ASCII-Core]] https://esolangs.org/w/index.php?diff=152262&oldid=152257 * Lykaina * (+128) Adding "External Links" 04:20:51 [[Afth/Examples]] https://esolangs.org/w/index.php?diff=152263&oldid=152259 * Lykaina * (+106) Adding "External Links" 04:24:20 [[Afth]] https://esolangs.org/w/index.php?diff=152264&oldid=152261 * Lykaina * (+79) /* External Links */ adding link to GitHub Wiki 04:43:22 [[Afth/Examples]] https://esolangs.org/w/index.php?diff=152265&oldid=152263 * Lykaina * (+125) /* Examples */ Added "Cat" 04:45:15 night 04:45:34 -!- Lykaina has quit (Quit: Leaving). 05:09:45 [[Special:Log/newusers]] create * TDNerd * New user account 05:15:17 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=152266&oldid=152210 * TDNerd * (+180) TDNerd's introduction 05:57:13 [[Afth/ASCII-Core]] https://esolangs.org/w/index.php?diff=152267&oldid=152262 * Lykaina * (+806) /* ASCII-Sorted Core Instructions */ Added space to show what is unused, something I need and others implementing the language might. 05:58:21 [[Afth/ASCII-Core]] https://esolangs.org/w/index.php?diff=152268&oldid=152267 * Lykaina * (-20) /* External Links */ renamed link. 06:09:55 [[Deadman]] https://esolangs.org/w/index.php?diff=152269&oldid=151034 * Win7HE * (-81) /* Hello world program */ 06:15:20 -!- craigo has quit (Quit: Leaving). 07:05:24 -!- lisbeths has joined. 07:13:06 -!- Sgeo has quit (Read error: Connection reset by peer). 07:31:51 -!- Hooloovoo has quit (Ping timeout: 246 seconds). 07:33:54 -!- Hooloovoo has joined. 07:44:15 [[Ti!]] https://esolangs.org/w/index.php?diff=152270&oldid=150415 * 47 * (+65) /* Implementations */ 07:49:33 -!- Hooloovoo has quit (Ping timeout: 245 seconds). 07:50:53 -!- Hooloovoo has joined. 07:51:52 [[+*-]] https://esolangs.org/w/index.php?diff=152271&oldid=145718 * 47 * (+255) /* External resources */ 07:54:01 [[6]] https://esolangs.org/w/index.php?diff=152272&oldid=149624 * 47 * (+132) /* Online interpreters */ 08:21:41 -!- Hooloovoo has quit (Ping timeout: 248 seconds). 08:40:56 -!- Hooloovoo has joined. 08:46:32 -!- Hooloovoo has quit (Ping timeout: 268 seconds). 08:57:13 [[Pointing]] https://esolangs.org/w/index.php?diff=152273&oldid=152159 * Calculus is fun * (-624) removed linked list 09:01:16 -!- Guest2975 has changed nick to Ae_. 09:05:52 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine). 09:08:20 -!- Lord_of_Life has joined. 09:10:09 korvo: so I realized quantum computers are like big prolog machines. they test every possible scenario 09:10:19 so the idea of prolog and the idea of quantum computers fit together like a glove 09:34:22 [[Pointing]] https://esolangs.org/w/index.php?diff=152274&oldid=152273 * Ractangle * (+61) 09:34:52 [[MoreMathRPN]] https://esolangs.org/w/index.php?diff=152275&oldid=151562 * Ractangle * (+44) 09:36:04 [[Fun Video Game]] https://esolangs.org/w/index.php?diff=152276&oldid=151365 * Ractangle * (+10) /* BASE */ 09:37:43 [[Fun Video Game]] https://esolangs.org/w/index.php?diff=152277&oldid=152276 * Ractangle * (+2) /* akdrfsbathnede knem */ 09:39:51 -!- Hooloovoo has joined. 09:42:38 [[Talk:Array?]] https://esolangs.org/w/index.php?diff=152278&oldid=151546 * Ractangle * (+191) 09:43:09 [[Talk:Array?]] https://esolangs.org/w/index.php?diff=152279&oldid=152278 * Ractangle * (-6) 09:44:19 [[Talk:Array?]] https://esolangs.org/w/index.php?diff=152280&oldid=152279 * Ractangle * (+33) 09:50:11 -!- Hooloovoo has quit (Ping timeout: 265 seconds). 09:51:50 -!- Hooloovoo has joined. 09:58:47 [[Talk:Array?]] https://esolangs.org/w/index.php?diff=152281&oldid=152280 * 47 * (+27) 10:06:05 -!- Hooloovoo has quit (Ping timeout: 268 seconds). 10:08:44 -!- Hooloovoo has joined. 10:11:19 korvo: it seems to me that the first problem is reducing prolog down to its grammatical essence. and then to take that language and redesign it to be a child on an evolutionary tree of languages designed to be sent into a jit 10:11:32 i say that minkanren is along the grammatical path of evolution for prolog 10:11:52 java is an ancient example of something along the path of evolution for a jitted language 10:19:29 -!- Hooloovoo has quit (Ping timeout: 260 seconds). 10:21:47 -!- Hooloovoo has joined. 10:32:53 -!- Hooloovoo has quit (Ping timeout: 248 seconds). 10:35:24 -!- Hooloovoo has joined. 10:46:27 -!- Hooloovoo has quit (Ping timeout: 244 seconds). 10:48:49 -!- Hooloovoo has joined. 10:50:24 [[Bitchanger Busy beaver]] https://esolangs.org/w/index.php?diff=152282&oldid=152212 * C++DSUCKER * (-156) Found a mistake in my generating code 10:51:40 [[Bitchanger Busy beaver]] M https://esolangs.org/w/index.php?diff=152283&oldid=152282 * C++DSUCKER * (+0) 11:02:12 -!- Hooloovoo has quit (Ping timeout: 276 seconds). 11:03:56 -!- Hooloovoo has joined. 11:19:12 -!- amby has joined. 11:27:15 [[StormLang]] https://esolangs.org/w/index.php?diff=152284&oldid=152057 * PrySigneToFry * (+455) 11:33:06 [[BFInfinity]] https://esolangs.org/w/index.php?diff=152285&oldid=148566 * PrySigneToFry * (+915) 11:45:24 -!- Lykaina has joined. 11:55:17 [[Special:Log/newusers]] create * Luna * New user account 12:07:49 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=152286&oldid=152266 * Luna * (+116) introducing myself 12:08:25 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=152287&oldid=152286 * Luna * (+0) fixed typo in my introduction 12:42:22 [[Muriel]] M https://esolangs.org/w/index.php?diff=152288&oldid=150186 * Luna * (+3) fixed missing preposition 12:44:55 -!- wib_jonas has joined. 12:48:40 [[Muriel]] M https://esolangs.org/w/index.php?diff=152289&oldid=152288 * Luna * (+1) 13:51:51 -!- wib_jonas has quit (Quit: Client closed). 14:00:56 -!- FreeFull has quit. 14:23:22 hi 14:29:43 -!- wib_jonas has joined. 14:30:08 hi wib_jonas 14:32:53 I have a question about the zlib compression format. Is it possible to add padding near the end of a zlib stream, as in make the compressed stream longer in a way that doesn't change the decompressed stream? Is it possible to add padding with length of any given number of bytes above some small minimum size? 14:34:38 I'll try to read https://datatracker.ietf.org/doc/html/rfc1951 but I figured someone here probably already knows. 14:34:47 .zip stores data at the end of the file 14:35:15 i know that much 14:35:50 zip or jpeg doesn't help me, I'd like zlib specifically 14:36:52 zlib is gzip without the gzip headers, not zip/pkzip 14:37:21 zlib = deflate 14:37:56 well, you can concatenate a non-animated .gif and a .zip/.jar. 14:38:03 -!- tromp has joined. 14:38:07 no wait, sorry, I'm confused 14:38:09 but that's a hacker thing 14:38:21 both zip and gzip are wrappers around the deflate/zlib format 14:38:25 with extra headers 14:38:40 but here I'd like the raw deflate/zlib if possible 14:39:06 sorry, i don't know...maybe someone else does 14:39:39 I think there's a thing, because I remember flushing a deflate encoder adds something. But it may be a fixed-length something, so maybe not suitable for a padding of arbitrary length. 14:40:22 This was in Go, and I remember reading this bit in the compress/flate (which does raw deflate streams) docs: "Calling Flush when there is no pending data still causes the Writer to emit a sync marker of at least 4 bytes." 14:40:55 There's a reference in the code also to https://www.bolet.org/~pornin/deflate-flush.html which explains what that is. 14:41:17 (Look up "type 0 block with empty contents" in that document.) 14:42:46 fizzie: thanks 14:44:20 Also I believe "zlib" (the format) also has headers around a deflate stream, similar to gzip except more minimal, even if "zlib" (the library) can be used to produce raw deflate data as well. 14:45:11 I see 14:52:36 Unrelated to your question, but the thing that I needed raw deflate streams for was to make a rudimentary seekable compression format, by splitting the (uncompressed) input to ~512kiB "frames" each compressed independently, and then appending a seek table with (compressed offset, uncompressed offset) pairs at the end. 14:52:53 There's some sort of semi-standard called "seekable ZSTD" that (I believe) does something vaguely similar, except in a manner that's transparently compatible with ZSTD decoders that don't know about it (by hiding the necessary extra data in "skippable frames" the ZSTD format has), and I tried just to use a random Go implementation of that to begin with, but it managed somehow to use tens of 14:52:55 gigabytes of RAM when writing and threw up errors when reading. 14:53:04 So I DIY'd it instead, and that seems to work fine. 15:04:11 gtg 15:04:33 -!- Lykaina has quit (Quit: Leaving). 15:55:11 -!- Sgeo has joined. 16:10:35 -!- Sgeo has quit (Read error: Connection reset by peer). 16:13:59 -!- Sgeo has joined. 16:16:26 Ok, so zlib is made of blocks, each can be type 0 uncompressed or type 1 compressed with the default Huffman-table or type 2 compressed with a custom Huffman-table. The uncompressed data that the blocks represent are of byte granularity, but the compressed blocks are bit granular, except that type 0 uncompressed blocks are byte aligned after the 3 16:16:26 bit long block header. 16:21:04 So a type 0 (uncompressed) block is made of 3 bits, then up to 7 bits of padding for byte alignment, then 4 bytes of header that specifies the length of the uncompressed payload measured in bytes, this length can be up to 65535 bytes or up to 32767 bytes, I'm not sure which, it doesn't matter. So an uncompressed block representing no bytes in the 16:21:04 uncompressed input can be used for padding, and this is 3 bits plus 4 bytes long, 5 bytes long if repeated. 16:22:50 -!- wib_jonas has quit (Quit: Client closed). 16:23:09 -!- wib_jonas has joined. 16:23:46 Now the type 1 or type 2 blocks Huffman-encode a number of items each of which represents a literal byte or a repeat statement or an end of block marker. A repeat statement copies a number of bytes from the 33k long window of recently seen uncompressed data, which may be from previous blocks. 16:24:21 Now the bad news is that a repeat statement always outputs at least three bytes, so you can't use it as padding without effects. 16:26:33 The good news is that you can still use a type 1 block that contains just an end of block marker, and this is 10 bits long; or a type 2 block that contains just the description of the Huffman encoding followed by an end of block marker, which is variable length and between something like 50 to 2315 bits long, I'm not sure about either limit. 16:27:52 -!- lisbeths has quit (Quit: Connection closed for inactivity). 16:28:19 So you can add padding to a deflate stream, and it's not even hard because the representation of the padding can be precomputed as bit streams and they don't depend on the previous blocks of the zlib stream. I don't know which type is the most efficient for long padding, this would have to be tested with zlib and possibly multiple other inflate 16:28:19 implementations. 16:33:48 Ah, they just left. 16:33:58 Summarizing note for when lisbeths returns: NP ain't BQP. 16:55:19 can you prove that :p 17:32:44 leah2: probably no, because there's a million dollar prize on it 17:32:50 but korvo's point is valid anyway 17:33:02 [[Talk:Bitchanger Busy beaver]] https://esolangs.org/w/index.php?diff=152290&oldid=152250 * C++DSUCKER * (+265) 17:33:13 -!- wib_jonas has quit (Quit: Client closed). 17:34:11 leah2: What b_jonas said. But we have some good evidence that NP doesn't collapse (indeed that PH doesn't collapse) and also good evidence that BQP derandomizes under some nice still-unknown conditions. 17:35:40 In the case to explain to lisbeths, it should be possible to simulate a poly amount of qubits in Prolog, but it'll take exponential time to actually extract an answer from a simulated quantum computation. This matches Holevo's theorem. 17:36:43 If BQP derandomizes to BPP then we can speed up the simulation by taking e.g. real-world entropy and taking multiple trials, just like a quantum computer currently does in e.g. Shor's algorithm. 17:38:26 ...I might be a little strong here with my wording. I believe in both Exponential Time and also that hardness is confined to specific regions of instability; so hardness recursively includes a difficulty in recognizing which problems are hard. 17:41:42 yes 18:45:37 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 18:45:58 -!- Lord_of_Life has joined. 18:52:45 korvo: I think it's the other direction that's the problem with lisbeth's statement. as in the original was https://logs.esolangs.org/libera-esolangs/2025-02-20.html#lub which seems to say that NP is in BQP in some easy way, which is a common misconception that's still mentioned in https://scottaaronson.blog/ 's tagline/motto. 18:52:50 -!- FreeFull has joined. 18:54:29 but it's possible that I'm misinterpreting what lisbeths sayid 18:55:19 b_jonas: Oh, sure. I'm gonna put a pin in the actually interesting stuff (JIT'ing Prolog) but this is a really good point for understanding. 19:21:14 [[FOSMOL]] M https://esolangs.org/w/index.php?diff=152291&oldid=152229 * Aadenboy * (+140) /* Example macros */ macro info 19:25:28 [[OIIAOIIA]] N https://esolangs.org/w/index.php?oldid=152292 * Tommyaweosme * (+352) Created page with "OIIAOIIA is a [[brainfuck]] derivative that is very special. == commands == transition from... O to O + O to I - O to A ++++++++++ I to O < I to I [ I to A ] A to O . A to I , A to A > space reset == reading it == o /u/ i /i/ a /a/ /e/ == examples 19:25:58 [[OIIAOIIA]] https://esolangs.org/w/index.php?diff=152293&oldid=152292 * Tommyaweosme * (+2) /* print "a" */ 19:29:41 It's only been a couple weeks returning to partial-evaluation literature and I'm already struck by the fact that partial evaluation in a metalanguage is so easy compared to self-application, because our object languages are deeply unpleasant and primitive. 19:30:38 PE of Scheme, C, and Prolog are all proven self-applicable, but at too steep a psychic cost to maintain over time. 19:31:20 PE of simple flowchart and SML-ish languages are also proven self-applicable, but we have to write all of our PE logic in these dinky little Turing tarpits. 19:36:09 I did prove some fun lemmas along the way. Suppose a language admits a syntactic monoid; the binding-time analysis (BTA) can be monoidally decomposed, and this holds up when categorified. 19:38:28 For example, Brainfuck's got a decomposable monoid. BTA simulates a state of (cells, pointer, unconsumed input) and annotates the program according to reachable states, bottoming out when there's no more input, when everything's static, or when the pointer or current cell value become too dynamic. 19:39:24 That's actually more sophisticated than the expected BTA from Brainfuck interpreter structure, which is usually like (cells, pointer). 19:41:20 I also found some fun folklore lemmas. PE of simply-typed LC is Jones-optimal when it includes inlining, unfolding, constant propagation, and constant simplification. That's a remarkably plausible-sounding inventory for those of us who are willing to write STLC. 19:54:53 [[User:Tommyaweosme/sandbox 2]] N https://esolangs.org/w/index.php?oldid=152294 * Tommyaweosme * (+194) Created page with "Wow! This is a nice looking button!" 19:57:53 [[User:Tommyaweosme/sandbox 2]] https://esolangs.org/w/index.php?diff=152295&oldid=152294 * Tommyaweosme * (+99) 19:58:01 [[Q-BAL]] https://esolangs.org/w/index.php?diff=152296&oldid=70969 * Cosmikdebris * (+44) /* External resources */ archive snapshot 20:54:41 [[]] M https://esolangs.org/w/index.php?diff=152297&oldid=152240 * Buckets * (+100) 21:07:09 [[]] M https://esolangs.org/w/index.php?diff=152298&oldid=152297 * Buckets * (+68) 21:16:33 [[!]] https://esolangs.org/w/index.php?diff=152299&oldid=149401 * Ractangle * (+84) /* Syntax */ 21:17:06 [[!]] https://esolangs.org/w/index.php?diff=152300&oldid=152299 * Ractangle * (+6) /* Syntax */ 21:17:27 cu 21:21:14 [[!]] https://esolangs.org/w/index.php?diff=152301&oldid=152300 * Ractangle * (-110) /* Examples */ 22:14:29 Sgeo re https://logs.esolangs.org/libera-esolangs/2023-08.html#lX8 no photo just an anecdote, but I found further evidence that slashed letter o was historically used for handwriting in programming: https://logs.esolangs.org/libera-esolangs/2023-08.html#lX8 22:16:44 The anecdote is the same document I linked? Or was one of those links meant to be something else? 22:17:54 ah sorry 22:18:04 new evidence: http://www.madore.org/~david/skeets.html#skeet-20250219113239667 22:19:32 ø.Ø 22:21:04 * Sgeo writes an emulator that requires installing com0com and using Chrome 22:31:28 -!- Lykaina has joined. 22:33:50 hi 22:54:29 [[WaidWmy]] https://esolangs.org/w/index.php?diff=152302&oldid=149968 * AlmostGalactic * (+177) /* Labels */ 23:06:27 Hi 23:25:41 [[Afth]] https://esolangs.org/w/index.php?diff=152303&oldid=152264 * Lykaina * (+256) /* Syntax */ Added something about "Stacks" 23:52:34 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152304&oldid=152223 * Buckets * (+10) 23:52:41 [[Language list]] M https://esolangs.org/w/index.php?diff=152305&oldid=152224 * Buckets * (+11) 23:52:55 [[Abba]] N https://esolangs.org/w/index.php?oldid=152306 * Buckets * (+536) Created page with "Abba is an Esoteric programming language created by [[User:Buckets]] in 2021. (The cell can only store 1 digit.) {| class="wikitable" ! Commands !! Instructions |- | 0-9 || + 0-9 |- | g || 'glue 1,wait until g again.' |- | c || It clears the cell. |- | o || It prints what i 23:57:57 [[Talk:Abba]] N https://esolangs.org/w/index.php?oldid=152307 * Buckets * (+203) /* What does 'glue 1,wait until g again.' Mean? */ new section 2025-02-21: 00:01:58 [[Afth/ASCII-Core]] https://esolangs.org/w/index.php?diff=152308&oldid=152268 * Lykaina * (+23) /* ASCII-Sorted Core Instructions */ missed a blank. 00:45:32 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement). 01:21:19 [[Afth/ASCII-Core]] https://esolangs.org/w/index.php?diff=152309&oldid=152308 * Lykaina * (+52) /* ASCII-Sorted Core Instructions */ added . and : 01:27:50 [[Project Euler/1]] https://esolangs.org/w/index.php?diff=152310&oldid=144068 * I am islptng * (+163) 01:32:11 [[Afth]] https://esolangs.org/w/index.php?diff=152311&oldid=152303 * Lykaina * (+98) /* Core Instructions */ adding . and : 01:32:35 [[Pointing]] https://esolangs.org/w/index.php?diff=152312&oldid=152274 * Calculus is fun * (+225) Use of ROZ 01:33:25 [[Pointing]] M https://esolangs.org/w/index.php?diff=152313&oldid=152312 * Calculus is fun * (-5) /* Memory */ 02:00:44 [[Pointing]] https://esolangs.org/w/index.php?diff=152314&oldid=152313 * Calculus is fun * (+1037) Linked List example 02:02:26 [[Pointing]] M https://esolangs.org/w/index.php?diff=152315&oldid=152314 * Calculus is fun * (+69) /* Linked List */ 02:04:08 [[Pointing]] M https://esolangs.org/w/index.php?diff=152316&oldid=152315 * Calculus is fun * (+66) fixed indentation 02:16:54 [[Pointing]] M https://esolangs.org/w/index.php?diff=152317&oldid=152316 * Calculus is fun * (+9) /* Statements */ 02:17:58 [[Pointing]] M https://esolangs.org/w/index.php?diff=152318&oldid=152317 * Calculus is fun * (+0) /* Instructions */ 02:18:52 [[Pointing]] M https://esolangs.org/w/index.php?diff=152319&oldid=152318 * Calculus is fun * (+1) /* Instructions */ 02:19:31 [[Pointing]] M https://esolangs.org/w/index.php?diff=152320&oldid=152319 * Calculus is fun * (-4) /* Instructions */ 02:20:17 [[Pointing]] M https://esolangs.org/w/index.php?diff=152321&oldid=152320 * Calculus is fun * (-139) /* Instructions */ 02:21:47 [[Pointing]] M https://esolangs.org/w/index.php?diff=152322&oldid=152321 * Calculus is fun * (+13) /* Linked List */ 02:25:04 [[Pointing]] M https://esolangs.org/w/index.php?diff=152323&oldid=152322 * Calculus is fun * (+39) /* Cat */ 02:35:13 [[Project Euler/1]] https://esolangs.org/w/index.php?diff=152324&oldid=152310 * Calculus is fun * (+215) /* MoreMathRPN */ 02:36:53 [[Project Euler/1]] M https://esolangs.org/w/index.php?diff=152325&oldid=152324 * Calculus is fun * (+21) /* External resources */ 02:37:13 [[Project Euler/1]] M https://esolangs.org/w/index.php?diff=152326&oldid=152325 * Calculus is fun * (+0) /* External resources */ 02:45:54 -!- craigo has joined. 03:27:48 i noticed something in my documentation for Afth that made me realize i need to make more of an update to the interpreter 03:33:46 [[Afth]] https://esolangs.org/w/index.php?diff=152327&oldid=152311 * Lykaina * (+31) /* Jumping */ 03:34:07 turned a feature into a bug 03:42:38 [[Talk:OIIAOIIA]] N https://esolangs.org/w/index.php?oldid=152328 * I am islptng * (+80) Created page with "
o, i i a, i o i i i i a, i
::::::- a spinning cat
" 03:51:11 -!- Lykaina has quit (Quit: Leaving). 04:42:48 -!- Noisytoot has quit (Quit: ZNC 1.9.1 - https://znc.in). 04:43:13 -!- Noisytoot has joined. 04:52:53 -!- simcop2387_ has joined. 04:53:14 -!- simcop2387 has quit (Ping timeout: 252 seconds). 04:54:22 -!- simcop2387_ has changed nick to simcop2387. 06:08:03 -!- nitrix_ has joined. 06:08:24 -!- nitrix has quit (Ping timeout: 252 seconds). 07:21:01 -!- nitrix_ has changed nick to nitrix. 08:00:44 -!- Sgeo has quit (Read error: Connection reset by peer). 08:05:19 -!- lisbeths has joined. 08:56:21 -!- Trigon has quit (Ping timeout: 248 seconds). 09:14:56 -!- Trigon has joined. 09:43:17 lisbeths: Morning. Did you see our conversation in the logs? If not, I can catch you up. 09:43:36 catch me up please korvo 09:44:26 lisbeths: So, there were two interesting topics. One is JIT'ing Prolog, and we can come back to that later. But the other was hinting at a common misconception about quantum computing that is worth addressing. 09:44:39 sure 09:45:04 A quantum computer doesn't try every possibility at once. Rather, it builds up states of relatively high and low probability through some non-ontic mechanism. In terms of complexity theory, NP isn't BQP. 09:45:38 We should be able to simulate qubits using Prolog. A polynomial amount of qubits will take exponential resources to simulate, though; Holevo's bound applies. 09:46:07 sorry? what is "non-ontic"? 09:47:25 all we need is a bunch of graphics cards 09:47:26 Oh, sorry, I should pick better words. A theory can be either epistemic (what we know about a system) or ontic (what the system's states actually are). Quantum systems usually are epistemic and there's theoretical barriers to ontic models. 09:47:46 I think that the language to be jitted should be a language that is capable of boostrapping a prolog 09:48:18 Relevant to this channel, it's an easy theorem that no cellular automaton can implement qubits with only polynomial amounts of cellular data, used by Aaronson to argue against Wolfram's bullshit. 09:48:38 sorry my mind is in many places at once 09:48:40 thats all fine 09:49:04 Holevo's bound says that if you want to simulate a row of qubits, then you're going to have to spend poly time on a quantum machine, or exponential time on a classical machine, and you can only read out one bit/qubit. 09:49:33 No worries! Let's leave QM behind and talk about JITs. Much simpler. 09:56:05 until more information is out about quantum computers I can only speculate about the compilers that will run on them 09:58:32 What kind of information? 09:58:54 like buy a quantum processor at the store 09:59:49 the only issue is if the research I do on jits has to be redone when quantum computing becomes common 10:03:50 You can buy time on IBM's quantum computers today. It's not especially cheap. They have a software simulator that you can use for development. 10:05:22 I'm not sure why JIT technology would be invalidated. All classical algorithms will still work. 10:19:56 I am still looking for your answer to what we should use as a jit language in the year of our lord 2025 on the day of febuary 21 10:19:59 korvo 10:21:24 lisbeths: Well, my answer's mostly the same as before. For self-application, I think that a synthetic language will do better than anything popular. For implementing a JIT, I'd use RPython. For the language to implement, anything! 10:21:40 okay so rpython 10:22:33 korvo should I use rpython as my jit or should I choose a langauge that is already jitted on rpython 10:23:56 RPython is already JIT'd on RPython, via PyPy. So you don't have to worry about that. 10:28:16 lisbeths: So for example perhaps you'd want to implement fastlisp in RPython as a simple interpreter. Then that interpreter can be turned into a JIT compiler with the same behavior. 10:29:14 no fastlisp is going to run in some lambda calculus interpreter and it will be code that generates rpython 10:29:38 korvo have you heard of the mojo version of python? 10:29:59 You might find that to be a little slow; RPython's translator is whole-program, AOT, and takes at least five minutes. 10:30:47 I'm aware of Mojo. It's not open-source or open to implement, so I don't really care about it. Most of their performance claims are about cherry-picked benchmarks and shouldn't be trusted. 10:30:52 so you are saying that rpython outperforms mojo? 10:30:58 ah not open source got it 10:31:28 ok first Im going to generate some regular python then im gonna generate some rpython 10:32:48 Oh, RPython's outputs definitely outperform LLVM; RPython used to have an LLVM backend but they removed it because it wasn't worthwhile. 10:33:35 yeah we are going with rpython for now on the fastlisp side but first im gonna generate some regular python 10:33:55 I am creating a hybrid between scheme and fastlisp to speed up production 10:35:34 Do you already have a production workflow? 10:35:51 I've worked for multiple employers whose main issue was that they were focused on optimizing a non-existent production pipeline. 10:38:33 I am not sure what you mean by production korvo 10:38:45 lisbeths: What did you mean by production? 10:39:09 I mean manufacturing, database queries, batch processing, that sort of thing. 11:08:06 korvo what does a production workflow look like for someone who designs programming languages 11:09:59 lisbeths: I like the SMM approach, somtimes called the Capability Matrix or the Maturity Model. It suggests that a language can evolve through five different stages of complexity and maturity. It also neatly lines up with Discordian philosophy. 11:10:25 But I'm the sort of person who spends years per language. Somebody who emits languages more often probably has a different way of looking at it. 11:12:16 I am just developing languages dialectically 11:12:35 so capability matrixes may or may not be incorporated into my dialectics 11:39:54 Sure. That's not unreasonable; Agile is popular because it delivers results. 11:44:36 [[EternalGolf]] N https://esolangs.org/w/index.php?oldid=152329 * PrySigneToFry * (+5627) Created page with "EternalGolf is an esoteric programming language designed by PrySigneToFry to code-golfing. You're free to expand this programming language, just like [https://wiki.xdi8.top/wiki/%E5%B8%8C%E5%90%95%E5%AD%97%E6%AF%8D Infinite Shidinn Letter]. = Rules = # Your e 13:08:09 -!- amby has joined. 13:25:36 -!- craigo has quit (Ping timeout: 265 seconds). 13:32:06 -!- chomwitt has joined. 13:35:53 -!- chomwitt has quit (Remote host closed the connection). 14:33:43 -!- amby has quit (Remote host closed the connection). 14:53:11 -!- craigo has joined. 14:53:26 -!- craigo has quit (Remote host closed the connection). 14:55:34 [[User talk:Aadenboy]] https://esolangs.org/w/index.php?diff=152330&oldid=152209 * PrySigneToFry * (+40) 15:19:47 [[User talk:I am islptng]] https://esolangs.org/w/index.php?diff=152331&oldid=152191 * PrySigneToFry * (+0) Fixed, but with different character(10,000 in Chinese, not n@zi sign) 15:20:01 [[1.1]] M https://esolangs.org/w/index.php?diff=152332&oldid=142605 * Cosmikdebris * (-3) 15:20:53 [[Python is Magic]] M https://esolangs.org/w/index.php?diff=152333&oldid=141200 * Benben * (+29) make "exec", "chr", and integers 15:33:40 -!- Sgeo has joined. 15:38:14 -!- Lykaina has joined. 15:38:53 hi 15:43:07 fixing a bug in the Afth reference interpreter 15:46:11 realized the bug existed right before i ell asleep 15:46:21 *fell 15:48:09 was able to mention it in wiki, but not fix it 16:03:07 -!- FreeFull has quit (Ping timeout: 252 seconds). 16:03:57 [[Afth]] https://esolangs.org/w/index.php?diff=152334&oldid=152327 * Lykaina * (+64) /* Jumping */ Documenting results of bug fix. 16:04:57 -!- FreeFull has joined. 16:07:50 [[User:I am islptng/Draft for SLet 4]] N https://esolangs.org/w/index.php?oldid=152335 * I am islptng * (+3314) Created page with "{{SUBST::SLet}}" 16:10:17 [[User:I am islptng/Draft for SLet 4]] https://esolangs.org/w/index.php?diff=152336&oldid=152335 * I am islptng * (-547) 16:14:26 damn...the cat program, which i just decided to test, isn't working 16:14:51 i think it's another bug somewhere 16:15:39 -!- chomwitt has joined. 16:19:00 [[User:I am islptng/Draft for SLet 4]] https://esolangs.org/w/index.php?diff=152337&oldid=152336 * I am islptng * (-213) 16:35:01 [[User:I am islptng/Draft for SLet 4]] https://esolangs.org/w/index.php?diff=152338&oldid=152337 * I am islptng * (-76) 16:38:50 -!- chomwitt has quit (Remote host closed the connection). 16:42:57 [[User:I am islptng/Draft for SLet 4]] https://esolangs.org/w/index.php?diff=152339&oldid=152338 * I am islptng * (+30) /* Commands */ 16:45:04 [[User:I am islptng/Draft for SLet 4]] https://esolangs.org/w/index.php?diff=152340&oldid=152339 * I am islptng * (+0) /* Commands */ 17:01:51 -!- chomwitt has joined. 17:19:03 -!- craigo has joined. 17:52:55 -!- FreeFull has quit. 18:45:34 -!- Lord_of_Life_ has joined. 18:46:12 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 18:46:58 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 19:10:15 [[TESTLANG]] https://esolangs.org/w/index.php?diff=152341&oldid=140515 * 47 * (+1) /* Hello, world! */ 19:10:34 [[Hello world program in esoteric languages (T-Z)]] https://esolangs.org/w/index.php?diff=152342&oldid=142853 * 47 * (-24) /* TESTLANG */ 19:31:35 grrr...no idea what's wrong 19:33:36 i just had to do a git restore 19:35:14 the cat program i wrote doesn't work 19:35:46 and i have no idea why 19:49:32 -!- chomwitt has quit (Remote host closed the connection). 19:53:40 Lykaina: what is this test for: len(line)%4 == 3 (the final line of the first cat program doesn't pass this test) 19:54:12 (the test is in run_line) 19:54:50 oh...old code 19:55:16 if I drop that check, the cat program does copy input to output. It fails to detect EOF 20:01:40 thanks 20:01:57 found other old bugs in the process as well 20:04:02 so glad i put the source online 20:04:46 [[Pointing]] M https://esolangs.org/w/index.php?diff=152343&oldid=152323 * Calculus is fun * (-10) /* Hello world */ 20:05:22 [[Pointing]] M https://esolangs.org/w/index.php?diff=152344&oldid=152343 * Calculus is fun * (-13) /* Hello world */ 20:09:28 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152345&oldid=152304 * Buckets * (+35) 20:09:35 [[Language list]] M https://esolangs.org/w/index.php?diff=152346&oldid=152305 * Buckets * (+11) 20:10:03 [[Kyle]] N https://esolangs.org/w/index.php?oldid=152347 * Buckets * (+1011) Created page with "Kyle is an Esoteric programming language created by [[User:Buckets]] in 2024, It is on a 2D grid and the Pointer is Kyle which '''might''' follow your directions, or not. {| class="wikitable" ! Commands !! Instructions |- | ^ || 20% chance to go up. |- | < || 20% chance t 20:15:09 -!- roper has joined. 20:17:55 thank you so much int-e 20:19:30 pushed the fix 20:22:20 [[Kyle]] M https://esolangs.org/w/index.php?diff=152348&oldid=152347 * Buckets * (+39) 20:30:54 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152349&oldid=152243 * Buckets * (+59) 20:37:10 now for the hard part: rewriting the mess of an input/output system i wrote so that it will accept an eof 20:38:38 i mean, stop at an eof 20:55:13 [[Halt preventing brainfuck]] N https://esolangs.org/w/index.php?oldid=152350 * C++DSUCKER * (+1536) Created page with "Halt preventing Brainfuck is a [[brainfuck]] derivative that can be used to solve the halting problem, calculate busy beavers, and solve math problems. == Commands == {| class="wikitable" !Command !Description |- | style="text-align:center"| [[Special:Log/move]] move * C++DSUCKER * moved [[Halt preventing brainfuck]] to [[Loop preventing brainfuck]]: this makes more sense 20:57:15 [[Loop preventing brainfuck]] https://esolangs.org/w/index.php?diff=152353&oldid=152351 * C++DSUCKER * (+0) /* Random number generator */ 20:57:26 [[Loop preventing brainfuck]] M https://esolangs.org/w/index.php?diff=152354&oldid=152353 * C++DSUCKER * (+0) /* BrainFuck busy beaver */ 20:57:36 [[Loop preventing brainfuck]] M https://esolangs.org/w/index.php?diff=152355&oldid=152354 * C++DSUCKER * (+0) /* Solving collatz conjecture */ 21:02:51 [[User:Buckets/Sandbox]] M https://esolangs.org/w/index.php?diff=152356&oldid=152349 * Buckets * (+19) 21:08:07 [[Language list]] M https://esolangs.org/w/index.php?diff=152357&oldid=152346 * C++DSUCKER * (+32) 21:08:21 now i must figure out why hex output outputs 'k' instead of '0a' 21:09:15 changed the cat program to stop after a new line 21:09:37 haven't uploaded changes, though 21:17:43 found it 21:18:45 Lykaina: don't worry about updating git for my sake, I'm half asleep and no longer following 21:19:06 no, i like to update it 21:19:56 it's for anyone who wants to look at current code 21:21:07 -!- roper has quit (Quit: leaving). 21:36:18 `olist 1319 21:36:21 olist : shachaf oerjan Sgeo boily nortti b_jonas Noisytoot 21:50:39 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152358&oldid=152220 * Hotcrystal0 * (+106) 21:51:26 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152359&oldid=152358 * Hotcrystal0 * (+1) 21:52:01 [[Free Esolang]] https://esolangs.org/w/index.php?diff=152360&oldid=152359 * Hotcrystal0 * (-1) 21:57:43 [[Afth/Examples]] https://esolangs.org/w/index.php?diff=152361&oldid=152265 * Lykaina * (+478) /* Examples */ Added Echo. 22:16:34 cu 22:29:06 -!- craigo has quit (Quit: Leaving). 22:44:20 -!- chiselfuse has quit (Remote host closed the connection). 22:44:34 -!- chiselfuse has joined. 22:49:22 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152362&oldid=152345 * Buckets * (+362) 22:49:34 [[Language list]] M https://esolangs.org/w/index.php?diff=152363&oldid=152357 * Buckets * (+356) 22:50:21 [[Fontmess]] N https://esolangs.org/w/index.php?oldid=152364 * Buckets * (+4443) Created page with "{{wrongtitle|title=Fo''n''tm [[StormLang/Standard Libraries]] https://esolangs.org/w/index.php?diff=152381&oldid=152380 * PrySigneToFry * (+1) 03:43:35 [[StormLang]] https://esolangs.org/w/index.php?diff=152382&oldid=152379 * PrySigneToFry * (+41) 04:22:25 [[Talk:Neoff]] N https://esolangs.org/w/index.php?oldid=152383 * RainbowDash * (+390) Created page with "this is in need of a major rewrite the code before was supposed to look like normal code but abnormal, here was the original idea:
 Push Caller Set Let A = 0 Comefrom 4 A++  When (A == 10){  Call } Caller Set{  A = 0  Print(A has hit 10 and has been set back 
05:27:14  int-e: https://epicpikaguy.itch.io/sea-magic
05:30:43  Excellent, a sequel.
05:48:08  [[Hello world program in esoteric languages (H-M)]] M https://esolangs.org/w/index.php?diff=152384&oldid=151495 * Benben * (+140) /* Legend */ add Lenguage
06:20:32 -!- Cale has quit (Quit: Leaving).
06:50:15  [[Empty Program]] M https://esolangs.org/w/index.php?diff=152385&oldid=151524 * Benben * (+135) /* Scratch(text), Kitten3(text), Kitten4(text) */ add link of scratch blocks
07:04:07  [[]]  https://esolangs.org/w/index.php?diff=152386&oldid=151640 * PrySigneToFry * (+0) 
07:09:23  [[Talk:99 bottles of beer]]  https://esolangs.org/w/index.php?diff=152387&oldid=84795 * PrySigneToFry * (+1748) 
07:15:12  [[EternalGolf]]  https://esolangs.org/w/index.php?diff=152388&oldid=152376 * PrySigneToFry * (+2) 
07:30:40  or a seaquel?
07:53:12 -!- craigo has joined.
08:24:20 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
08:32:28  [[Special:Log/move]] move  * 47 *  moved [[IEO-fork]] to [[Tryit.org]]
08:32:28  [[Special:Log/move]] move  * 47 *  moved [[Talk:IEO-fork]] to [[Talk:Tryit.org]]
08:32:40  [[Talk:Tryit.org]]  https://esolangs.org/w/index.php?diff=152393&oldid=152391 * 47 * (-216) Blanked the page
08:34:31  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152394&oldid=152389 * 47 * (-906) 
08:36:02  [[Special:Log/upload]] overwrite  * 47 *  uploaded a new version of "[[File:IEO-fork home.png]]"
08:36:57  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152396&oldid=152394 * 47 * (+41) 
08:37:16  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152397&oldid=152396 * 47 * (+6) 
08:37:27  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152398&oldid=152397 * 47 * (+0) 
08:37:45  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152399&oldid=152398 * 47 * (+16) 
08:40:45  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152400&oldid=152399 * 47 * (+65) 
08:46:17  [[Tryit.org]]  https://esolangs.org/w/index.php?diff=152401&oldid=152400 * 47 * (+39) 
10:18:00 -!- Sgeo has quit (Read error: Connection reset by peer).
10:45:09  [[EternalGolf]]  https://esolangs.org/w/index.php?diff=152402&oldid=152388 * PrySigneToFry * (+473) 
10:47:09  [[Loop preventing brainfuck]] M https://esolangs.org/w/index.php?diff=152403&oldid=152355 * C++DSUCKER * (+26) 
11:40:07  [[Loop preventing brainfuck]]  https://esolangs.org/w/index.php?diff=152404&oldid=152403 * C++DSUCKER * (+26) 
12:23:50 -!- roper has joined.
13:08:42  [[User:I am islptng/Game:Nonsense]]  https://esolangs.org/w/index.php?diff=152405&oldid=151908 * PrySigneToFry * (+594) 
13:40:30 -!- ais523 has joined.
14:07:06  shachaf: Oh well, at least I've got 12 (all?) medals: https://int-e.eu/~bf3/tmp/seamagic.png
14:27:17  [[User:I am islptng/Draft for SLet 4]]  https://esolangs.org/w/index.php?diff=152406&oldid=152373 * I am islptng * (-651) /* Commands */
14:29:48  [[User:I am islptng/Draft for SLet 4]]  https://esolangs.org/w/index.php?diff=152407&oldid=152406 * I am islptng * (-123) /* Commands */
14:31:22  [[User:I am islptng/Game:Nonsense]]  https://esolangs.org/w/index.php?diff=152408&oldid=152405 * I am islptng * (+3) fix
14:36:01  huh, is this some new game?
14:36:14  06:27:14  int-e: https://epicpikaguy.itch.io/sea-magic
14:36:25  (9 hours ago)
14:37:57  apparently "traitorous" and "treacherous" have somewhat different meanings in English and they might have different etimologies. I assumed "treacherous" was just a weird hard to remember irregular spelling for what should be "traitorous" 
14:38:47  a swamp can be treacherous but it lacks the freedom of will that a traitor has
14:40:04  they are both from latin, but from apparently two unrelated latin verbs, "trīcor" and "trādō" respectively
14:42:20  there are solutions for that, like the Zendikons
14:42:41  though I think on Zendikar land has its own will even when it's not a creature
14:43:05  and on that plane, every land is treacherous, not just swamps
14:43:47  wtf is... oh it's an M:tG thing
14:44:16  yes, Zendikar is a plane where the land keeps changing so it's hard to make maps or explore or build anything stable
14:46:08  [[EternalGolf]]  https://esolangs.org/w/index.php?diff=152409&oldid=152402 * PrySigneToFry * (+2) 
15:11:02  Annoying: in this font, ▐ (right half block) is actually the inverse of ▍ (left three eights block) rather than ▌ (left half block).
15:12:19  Not *really* a problem for my use (I'm just doing some tick marks in a TUI that I want at double the horizontal resolution, and can set foreground/background colors appropriately and use left half block exclusively, that's exactly half the character cell in this font) but it still bothers me.
15:35:35 -!- Lykaina has joined.
15:35:44  [[Afth/Examples]]  https://esolangs.org/w/index.php?diff=152410&oldid=152365 * Lykaina * (+532) /* Examples */ Added 5-Function RPN Calculator, updated Hello World.
15:41:10  [[Talk:Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152411&oldid=152290 * C++DSUCKER * (+238) 
15:41:26  [[Talk:Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152412&oldid=152411 * C++DSUCKER * (-5) 
15:50:16  was able to make a 5-function rpn calculator in Afth
15:51:41  [[Special:Log/upload]] upload  * Tommyaweosme *  uploaded "[[File:Scratch progama de comer mi caca.png]]"
15:53:45  [[User:Tommyaweosme]]  https://esolangs.org/w/index.php?diff=152414&oldid=152078 * Tommyaweosme * (+4) 
16:02:17  [[User:Tommyaweosme/common.css]]  https://esolangs.org/w/index.php?diff=152415&oldid=142976 * Tommyaweosme * (+91) 
16:02:38  [[User:Tommyaweosme/common.css]]  https://esolangs.org/w/index.php?diff=152416&oldid=152415 * Tommyaweosme * (-1) 
16:02:49  [[User:Tommyaweosme/common.css]]  https://esolangs.org/w/index.php?diff=152417&oldid=152416 * Tommyaweosme * (+3) 
16:06:42 -!- ais523 has quit (Ping timeout: 252 seconds).
16:08:04  [[Talk:OIIAOIIA]]  https://esolangs.org/w/index.php?diff=152418&oldid=152328 * Tommyaweosme * (+349) 
16:08:27  [[Talk:OIIAOIIA]]  https://esolangs.org/w/index.php?diff=152419&oldid=152418 * Tommyaweosme * (+10) 
16:12:58  [[Talk:OIIAOIIA]]  https://esolangs.org/w/index.php?diff=152420&oldid=152419 * Tommyaweosme * (+416) 
16:13:10 -!- ais523 has joined.
16:14:11  [[User:Tommyaweosme/common.css]]  https://esolangs.org/w/index.php?diff=152421&oldid=152417 * Tommyaweosme * (-93) Blanked the page
16:15:51 -!- craigo has quit (Ping timeout: 252 seconds).
16:18:51  [[0]]  https://esolangs.org/w/index.php?diff=152422&oldid=151143 * 47 * (+4) /* G# */
16:36:47  [[MoreMathRPN]]  https://esolangs.org/w/index.php?diff=152423&oldid=152371 * Calculus is fun * (+86) /* Matrices */
16:37:29 -!- Lord_of_Life has joined.
16:46:44 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
16:51:43 -!- Lord_of_Life has joined.
17:11:42 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
17:12:21 -!- Lord_of_Life has joined.
17:32:22  [[Talk:Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152424&oldid=152412 * C++DSUCKER * (+169) 
17:32:36 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
17:33:46 -!- Lord_of_Life has joined.
17:35:48  [[Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152425&oldid=152283 * C++DSUCKER * (+94) 
17:52:19 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:52:45  [[Bitchanger Busy beaver]] M https://esolangs.org/w/index.php?diff=152426&oldid=152425 * C++DSUCKER * (+0) 
17:58:51 -!- Lord_of_Life has joined.
19:19:33 -!- impomatic has joined.
19:19:49  Hi :-)
19:21:27  hi impomatic
19:22:30  Does anyone know the history of Fungewars, or have an earlier version?  It was discussed quite a bit on the Befunge mailing list in the late 90s - other names suggested were Befunge Warriors and Funge Gladiators. https://esolangs.org/wiki/Fungewars
19:22:36  Hi ais523
19:23:39  I think Fungewars had mostly/entirely died down by the point I became interested in esolangs, and I've been here for much longer than most in this channel
19:24:42  because I don't recall discussion about it, and the dates on the linked pages are very old
19:25:28  I think it probably even predates the wiki?
19:25:56  so you'd have to contact people who were active at that time
19:26:24  I remember Befunge from the 90s, but wasn't too interesthed at that point.  I wrote a few programs in Brainfuck though.
19:29:31  The date on Fungewars 0.4.5 is December 2001, but the idea was being discussed 3-4 years before on the mailing list (I found the Befunge Mailing List archive).
19:31:57  the wiki is from 2005
19:32:35  I think my interest in esolangs started in 2004 or so
19:33:01  so it's before the period I remember, and you'll have to track down some people who were around the esolangs community before I was
19:37:16  Thanks, I'll try Chris Pressey, he might remember something.
19:45:19  i'm having problems with Afth, with something I haven't pushed yet to github
19:46:45  just pushed it
19:47:23  examples/calc.afth works, but examples/rpncalc.afth doesn't.
19:48:49  the wiki page refers to 0.1, this is 0.2.
19:49:04  i need help
19:50:38  Okay. What doesn't work? (The other question I usually start with is "What have you tried?" which you already answered.)
19:52:22  the example file rpncalc.afth
19:52:48  well, only addition works in it
19:53:11  it's based on calc.afth, with everything works in
19:53:43  brb
20:01:03  shachaf: Yay. "Max rank reached!"
20:01:13  back
20:01:23  had to use bathroom
20:02:09  the word definitions are in dict.afth
20:02:35  that's the main difference between 0.1 and 0.2
20:03:03  0.1 had a tiny built-in dictionary
20:03:24  i moved it to an external file
20:03:35  int-e: Nice. I only got through the first few levels.
20:04:42  Lykaina: It might be time to build some debugging tools. You can either go "white-box" or "clear-box", debugging by accessing the internals of the interpreter, or you could go "black-box" by treating the interpreter as opaque and writing acceptance tests in Afth.
20:05:38 -!- impomatic has quit (Quit: Client closed).
20:05:38  Either way, don't worry about complete coverage yet. You have a git commit where everything worked, and so in the worst case, you can redo all of the work from 0.1 to 0.2. Yes, it's laborious, but sometimes it's the only way to find regressions.
20:05:39  korvo: Some of the thinking from Bee Magic carries over, though it's quite a different game overall.
20:05:48 -!- impomatic has joined.
20:06:12  [[User:47/common.css]] N https://esolangs.org/w/index.php?oldid=152427 * 47 * (+91) Created page with "* {background-color:black !important; color:white !important;} a {color:purple !important;}"
20:06:16  rpncalc.afth never worked
20:06:27  korvo: Also I've done nothing else today :P
20:06:36  As you get used to writing smaller commits, tools like git-bisect can become *very* useful. I've bisected Linux and Mesa3D before, and it's actually a little fun since it only takes like five iterations.
20:06:40  because i wrote it after 0.2
20:07:19  [[User:47/common.css]]  https://esolangs.org/w/index.php?diff=152428&oldid=152427 * 47 * (-63) 
20:07:20  int-e: Good times. Some levels were about as difficult as Bee Magic for me, but some levels were much tougher; I confess that I can't figure out how to use Slide other than to softlock.
20:08:09  Lykaina: Oh! Then there's a third possibility: that rpncalc.afth has a bug!
20:09:01  korvo: Yeah, the sliding gave me some trouble too.
20:09:01  then why does calc.afth work before the two diverge?
20:09:37  [[G Sharp]]  https://esolangs.org/w/index.php?diff=152429&oldid=151337 * 47 * (+7) 
20:09:38  Well, presumably the divergence introduced a bug.
20:10:26  korvo: bisecting Linux sounds painful just because of the compile times
20:10:30  [[G Sharp]]  https://esolangs.org/w/index.php?diff=152430&oldid=152429 * 47 * (+14) /* Errors */
20:11:03  hmm… in a repository that uses lots of parallel commits and does big merges of them, do bisections merge together half the commits to more quickly narrow down which of the branches the bug occurred on?
20:12:00  ais523: The trick is to keep a git checkout of the kernel and build-and-boot from that one directory, even if using Apt, RPM, Nix, Portage, etc. for the rest of the system. For subsystems that can be 100% compiled as modules, like DRM/DRI, the build is quite incremental and spends most of its time bzip'ing the image.
20:12:13  [[Hello world program in esoteric languages (D-G)]]  https://esolangs.org/w/index.php?diff=152431&oldid=147629 * 47 * (-8) /* G# */
20:12:44  korvo: ah, I see, you aren't bisecting the entire kernel but just the files that seem relevant
20:12:52  Mesa3D is the one that takes a long time to build, especially since they now use C++.
20:13:51  I've done bisections before but don't really enjoy them, they're sufficiently time-consuming that I'd prefer to grep commit messages or reason out the bug instead
20:13:52  ais523: Oh yeah, I'd just be diagnosing hardlocks in one piece of hardware. The worst part would be when the boot is fine but a userspace program provokes the hardlock; minutes of booting into X11 per test.
20:16:03 -!- roper has quit (Quit: leaving).
20:16:06 -!- Sgeo has joined.
20:16:46  What's cool is that sometimes git-bisect does blame Somebody Else's Code, and usually it's right to do so! Counterfactual reasoning really does work for finding proximate causes of bugs, even if the problem is that somebody else refactored something and changed your invariants.
20:17:15  Lykaina: How are things? Do you need more eyes?
20:19:56  let me try rewriting rpncalc.afth to use relative jumps only instead of both relative and absolute
20:20:16  korvo: this is of course an argument for programming languages being better at expressing invariants – they have moved slowly in that direction over time but still aren't really near what they'd need to manage
20:20:48  even null-safety wasn't emphasised much until recently, even in relatively high-level languages
20:21:14  the functional languages got there before the imperative ones, I think
20:23:34  Yep. The trick is having a subobject classifier. In CoC or whatever, that's a type of Propositions. It's not something that imperative languages usually reify or conceptualize.
20:24:54  In Cammy, the subobject classifier is 2, implying that everything is total-computable and discrete. Hoare logic could be described for an arbitrary f : X → Y in terms of pre- and post-conditions with types X → 2 and Y → 2.
20:25:20  I haven't actually wired all of it up, but there's an obvious route to property-based testing and proofs of invariants and arbitrary properties.
20:26:07  it strikes me that even something as simple as "assert on set; assert_unchecked on get" would, in addition to catching bugs, quite possibly improve the performance of the typical imperative program
20:26:20  because the asserts on set would usually get optimised out and the asserts on get might be useful
20:27:24  Yep. In RPython, checked bounds on arrays are not only usually JIT'd out, but repurposed into JIT guards which jump to not-yet-compiled code on failure. And if a guard fails enough, then its failure gets traced and JIT'd too.
20:28:42  In order to make that practical, there's also guards for when exceptions are (not) raised, etc. Every check and assertion is turned into an optimization opportunity.
20:37:56  i think i may have found where the problem is, but not why the problem is
20:39:47  Nice. It might be the case that you can rewrite the code to make it simpler without having to understand the problem. Or it might be the case that the problem is small and can be repaired with surgery.
20:40:18  problem is when there are two jump instructions on the same line
20:45:02  pushed the current code
21:02:30  [[Afth]]  https://esolangs.org/w/index.php?diff=152432&oldid=152334 * Lykaina * (-904) Removing "Predefined words" section, as there no longer are any.
21:09:33  [[Mierda]]  https://esolangs.org/w/index.php?diff=152433&oldid=82388 * Kaveh Yousefi * (+88) Rectified the Hello, World! program and introduced two further examples in a repeating cat program and a truth-machine.
21:10:28  [[Mierda]]  https://esolangs.org/w/index.php?diff=152434&oldid=152433 * Kaveh Yousefi * (+189) Added a hyperlink to my implementation of the Mierda programming language on GitHub and supplemented the Implemented category tag.
21:14:25  [[Afth/Examples]]  https://esolangs.org/w/index.php?diff=152435&oldid=152410 * Lykaina * (+646) Updating for current version.
21:15:28  [[Mierda]] M https://esolangs.org/w/index.php?diff=152436&oldid=152434 * Kaveh Yousefi * (+8) Introduced line breaks in two of the example programs for reasons of aesthetics.
21:17:19  [[Afth]]  https://esolangs.org/w/index.php?diff=152437&oldid=152432 * Lykaina * (+95) /* Jumping */ Adding notice about bug.
21:23:26  [[Afth/Examples]]  https://esolangs.org/w/index.php?diff=152438&oldid=152435 * Lykaina * (+96) /* RPN Calculator */ added a note on how to use.
21:35:43  [[Talk:Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152439&oldid=152424 * Int-e * (+302) Question about accounting for loops.
21:37:20  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=152440&oldid=152423 * Calculus is fun * (+1) /* Implicit plotter */
21:38:02  [[Talk:Bitchanger Busy beaver]] M https://esolangs.org/w/index.php?diff=152441&oldid=152439 * Int-e * (+1) indent a reply for better readability
21:38:06  [[MoreMathRPN]] M https://esolangs.org/w/index.php?diff=152442&oldid=152440 * Calculus is fun * (+1) /* Infinity */
21:39:25  [[Language list]] M https://esolangs.org/w/index.php?diff=152443&oldid=152374 * Buckets * (+14) 
21:39:37  [[User:Buckets]] M https://esolangs.org/w/index.php?diff=152444&oldid=152362 * Buckets * (+12) 
21:40:30  [[V]] N https://esolangs.org/w/index.php?oldid=152445 * Buckets * (+1264) Created page with "V is an Esoteric programming language created by [[User:Buckets]] in 2020. (The 2D grid is of A space of 16 by 16 Containing all extended ASCII in order.) {| class="wikitable" |- ! Commands !! Instructions |- |  || Move 1 down. |- |  || Move 1 right. |- | n || Set 
21:43:13  [[A+B Problem]]  https://esolangs.org/w/index.php?diff=152446&oldid=150810 * Ractangle * (-57) /* ! */
21:46:10 -!- impomatic has quit (Ping timeout: 240 seconds).
21:47:29  korvo: Hmm, when counting Brainfuck steps for BB purposes, do you have ] check the loop condition, or does it jump back to the [? I guess the latter would make +[-] take 5 steps so BBB(4)=4 answers that question...
21:48:51  int-e: Oh, I don't recall how it's defined. I'd guess that your reasoning is right. I normally think of Brainfuck as only checking with the [ operation, and the ] is mere syntax; I know that that's not always how it's implemented though.
21:49:42  I should clarify that I didn't define the BBB() function but lifted it from one of our myriad Brainfuck sub-pages.
21:50:08  Either convention is fine of course, it just doesn't seem to be specified rigorously enough
21:50:50  (when looking at http://bbgauge.info/brainfuck.html)
21:51:57  Yeah. I should tighten up that entire page. TBH I should write a script to generate/check the first few values of those tables too.
21:51:59 * korvo lazy
21:52:34  Still, I owe the community to do a good job. I'll put it on my task list.
21:54:26  [[Talk:Bitchanger Busy beaver]]  https://esolangs.org/w/index.php?diff=152447&oldid=152441 * Int-e * (+107) clarifying the convention would help too.
22:25:11  [[User:RainbowDash]]  https://esolangs.org/w/index.php?diff=152448&oldid=145963 * RainbowDash * (+2) 
22:26:46  [[User:RainbowDash]]  https://esolangs.org/w/index.php?diff=152449&oldid=152448 * RainbowDash * (-1) /* Esolangs I've made. */
22:41:22  korvo: so I think the most common way to count cycles in BF is for the loop-test-and-jump to be one cycle regardless of whether the test indicates a jump or no jump, and regardless of how it's split up between the [ and ]
22:41:54  it's commonly formulated as "[ jumps to after the ] if the cell is 0; ] jumps to after the [ if the cell is non-0" which is nicely symmetrical
22:42:25  (BF Joust, where the timing matters, specifically mandates timing it like that – other implementations often don't specify it because it isn't observable)
22:44:15  hmm… suppose you have an entirely unsynchronized multithreaded BF, with the threads sharing a tape but not the tape pointer, and instructions running in an arbitrary sequence (not simultaneously, but there's no constraint on how many times one thread can act before the other one does) – is it possible to write a 100% reliable mutex or semaphore, or will there always be some timing combination that defeats it?
22:45:26  there are communication primitives you can write, like "wait for the other thread to reach a certain point in its computation" and message channels, but you can't obviously build mutexes out of those
22:46:40  [[ASCII Code]]  https://esolangs.org/w/index.php?diff=152450&oldid=152050 * MihaiEso * (-1) 
22:49:18  ais523: I don't think you can do that with vanilla brainfuck, you need to add some rule for it, either a new command, or defining something that used to be undefined behavior like some underflow/overflow
22:49:54  b_jonas: I can't think of a way to do it, but this is the sort of thing where it might be hard to prove that it's impossible
22:52:24  actually, I have a promising start of an approach but it doesn't solve the problem on its own: thread 1 locks a mutex by checking it's zero, incrementing it, then checking it's zero – thread 2 does the same but decrements
22:53:17  I don't think there's any way for both threads to think they've locked it, but this doesn't solve the problem of recovering if there's contention, because if one thread could discover that the other has tried to lock it without discovering whether the other thread knows about the contention or whether it took the lock
22:53:37  * checking it's zero, incrementing it, then checking it's nonzero
23:03:35  [[Fish]]  https://esolangs.org/w/index.php?diff=152451&oldid=148427 * MihaiEso * (+165) /* Hello, world! */
23:11:51  [[Fish]]  https://esolangs.org/w/index.php?diff=152452&oldid=152451 * MihaiEso * (+11) 
23:19:31  hmm, that might work
23:58:16  [[Fish]]  https://esolangs.org/w/index.php?diff=152453&oldid=152452 * MihaiEso * (+235) /* Hello, world! */

2025-02-23:

00:07:23  [[Fish]]  https://esolangs.org/w/index.php?diff=152454&oldid=152453 * MihaiEso * (+142) /* Examples */
00:37:08  [[Hello,world!]] N https://esolangs.org/w/index.php?oldid=152455 * MihaiEso * (+1396) Created page with "{{Distinguish/Confusion|Hello, world!}} '''Hello,world!''' is a joke esolang by [[User:MihaiEso]], it is a [[Nope.]] derivative and a [[no-code esolang]]. Every program is a [[Hello, world!]] program, so the esolang is ''completely'' unusable for programming. ==Na
00:37:57  [[Hello,world!]]  https://esolangs.org/w/index.php?diff=152456&oldid=152455 * MihaiEso * (+77) /* Name */
00:38:33  [[Hello,world!]]  https://esolangs.org/w/index.php?diff=152457&oldid=152456 * MihaiEso * (+13) /* Name */
00:40:03  [[Hello,world!]]  https://esolangs.org/w/index.php?diff=152458&oldid=152457 * MihaiEso * (+50) 
00:40:35  [[Hello, world!]]  https://esolangs.org/w/index.php?diff=152459&oldid=120635 * MihaiEso * (+80) 
00:41:09  [[Hello, world!]]  https://esolangs.org/w/index.php?diff=152460&oldid=152459 * MihaiEso * (+1) 
00:46:40  [[User:MihaiEso]]  https://esolangs.org/w/index.php?diff=152461&oldid=152052 * MihaiEso * (+72) 
00:47:57  [[Joke language list]]  https://esolangs.org/w/index.php?diff=152462&oldid=151939 * MihaiEso * (+104) 
01:15:58  [[Hello,world!]]  https://esolangs.org/w/index.php?diff=152463&oldid=152458 * PrySigneToFry * (+281) 
01:50:12  [[EternalGolf]]  https://esolangs.org/w/index.php?diff=152464&oldid=152409 * PrySigneToFry * (+210) 
01:51:56  [[EternalGolf]]  https://esolangs.org/w/index.php?diff=152465&oldid=152464 * PrySigneToFry * (+8) 
01:58:53  [[User talk:I am islptng]]  https://esolangs.org/w/index.php?diff=152466&oldid=152331 * PrySigneToFry * (+1058) /* Join to EternalGolf development team? */ new section
02:28:11  [[ORS]] N https://esolangs.org/w/index.php?oldid=152467 * None1 * (+884) Created page with "'''ORS''' (Objects R Succinct), designed by [[User:None1]] in [[:category:2025|2025]], is an [[object-oriented]] language that has a very succinct syntax, like most other [[esoteric programming language]]s. ==Examples==  ===[[Hello, world!]]===  p:  sc Writer;  Writer.write("H
02:33:29  [[Afth]]  https://esolangs.org/w/index.php?diff=152468&oldid=152437 * Lykaina * (-73) /* Core Instructions */ updating to current
02:38:28  [[Afth/ASCII-Core]]  https://esolangs.org/w/index.php?diff=152469&oldid=152309 * Lykaina * (-27) /* ASCII-Sorted Core Instructions */
02:39:15  [[User talk:I am islptng]]  https://esolangs.org/w/index.php?diff=152470&oldid=152466 * PrySigneToFry * (+2860) 
02:41:07  int-e: I barely played any of it yet.
02:51:43  [[Afth/Examples]]  https://esolangs.org/w/index.php?diff=152471&oldid=152438 * Lykaina * (-930) Updating to current.
02:54:40  [[Afth]]  https://esolangs.org/w/index.php?diff=152472&oldid=152468 * Lykaina * (+0) /* Jumping */ updating to current
03:05:01 -!- op_4 has quit (Remote host closed the connection).
03:05:32 -!- op_4 has joined.
03:17:36  Freed up the Afth instructions <,>,^,and v
03:20:05  [[Lythnology]] N https://esolangs.org/w/index.php?oldid=152473 * RainbowDash * (+6646) Create Lythnology
03:20:26  it no longer has an increment, decrement, or shift-right
03:20:56  it does, however, have a shift-left-and-increment now
03:20:59  [[User:RainbowDash]] M https://esolangs.org/w/index.php?diff=152474&oldid=152449 * RainbowDash * (+17) /* Esolangs I've made. */
03:22:19  shl was moved to 0, shl_inc is at 1
03:23:58  on the plus side, if i want to make a funge...
03:26:01  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152475&oldid=152473 * RainbowDash * (+437) /* Example Programs */
03:27:10  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152476&oldid=152475 * RainbowDash * (+58) /* Ten bottles of beer on the wall */
03:28:03  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152477&oldid=152476 * RainbowDash * (+96) /* Printing */
03:28:17  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152478&oldid=152477 * RainbowDash * (+4) /* Printing */
03:31:40  [[Pointing]]  https://esolangs.org/w/index.php?diff=152479&oldid=152344 * Calculus is fun * (+183) /* Functions */
03:32:06  [[User:Aadenboy]] M https://esolangs.org/w/index.php?diff=152480&oldid=152216 * Aadenboy * (-103) yawn... adding [[braingrate]] I guess...
03:32:48  [[Pointing]] M https://esolangs.org/w/index.php?diff=152481&oldid=152479 * Calculus is fun * (+16) /* Linked List */
03:44:17 -!- Lykaina has quit (Quit: Leaving).
03:49:06  [[Special:Log/upload]] upload  * RainbowDash *  uploaded "[[File:Lythnolo.png]]"
03:53:11  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152483&oldid=152478 * RainbowDash * (+298) 
03:53:38  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152484&oldid=152483 * RainbowDash * (+29) 
03:54:28  [[Lythnology]] M https://esolangs.org/w/index.php?diff=152485&oldid=152484 * RainbowDash * (+28) 
04:03:56  [[Afth]]  https://esolangs.org/w/index.php?diff=152486&oldid=152472 * Hakerh400 * (-39) Add interpreter
04:11:34  [[Hello,world!]]  https://esolangs.org/w/index.php?diff=152487&oldid=152463 * MihaiEso * (+175) /* Name */ Added some names
04:12:54  [[Fish]]  https://esolangs.org/w/index.php?diff=152488&oldid=152454 * MihaiEso * (+27) /* Hello, world! */
04:17:20  [[Template talk:InDebated]] N https://esolangs.org/w/index.php?oldid=152489 * PrySigneToFry * (+215) Created page with "Can I create this template? 
 :''This is currently being debated. It may be changed in the future.''[[Category:Being-Debated]][[Category:Being-Debated| ]] 
" 04:45:36 [[Hello,world!]] https://esolangs.org/w/index.php?diff=152490&oldid=152487 * PrySigneToFry * (+50) 04:49:10 [[User talk:Aadenboy]] https://esolangs.org/w/index.php?diff=152491&oldid=152330 * PrySigneToFry * (+85) 05:34:57 I read the documentation for ASN.1 BER library in OpenBSD, and it seems like the documentation is not complete, and seems to be limited in some ways. 05:35:33 One problem seems to be the OID structure, which seems unnecessary to me. Decoding OIDs into sequences of numbers is rarely necessary, except to display them, and this structure imposes unnecessary limits on OIDs, too. 05:37:55 (If you only want to check if it is valid, this can be done by the regular expression: /^(([\x81-\xFF][\x80-\xFF]*)?[\x00-\x7F])+$/ although it does not need to be implemented as a regular expression.) 05:38:19 (Maybe, I can write to them about that, if I know who to write to?) 06:02:05 [[User talk:Aadenboy]] M https://esolangs.org/w/index.php?diff=152492&oldid=152491 * Aadenboy * (+55) canon 06:06:04 [[Template talk:InDebated]] https://esolangs.org/w/index.php?diff=152493&oldid=152489 * Unname4798 * (+247) 06:06:12 [[Template:InDebated]] N https://esolangs.org/w/index.php?oldid=152494 * Unname4798 * (+174) Created page with ":''This is currently being debated. It may be changed in the future.''[[Category:Being-Debated]][[Category:Being-Debated| ]]" 06:16:56 [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=152495&oldid=151647 * PrySigneToFry * (+182) /* Category:Being-Debated */ new section 06:17:40 [[Category:Being-Debated]] N https://esolangs.org/w/index.php?oldid=152496 * PrySigneToFry * (+63) Created page with "This category is for the articles that currently being debated." 06:22:58 [[User talk:Fizzie]] https://esolangs.org/w/index.php?diff=152497&oldid=134929 * PrySigneToFry * (+1192) /* Babel plug-in */ new section 06:24:10 [[User:Tommyaweosme/sandbox]] https://esolangs.org/w/index.php?diff=152498&oldid=149308 * PrySigneToFry * (+77)