00:00:24 -!- MDude has quit (Ping timeout: 272 seconds). 01:13:17 [[Language list]] M https://esolangs.org/w/index.php?diff=63263&oldid=63262 * JonoCode9374 * (+17) /* C */ Added curlyfrick 01:20:03 -!- tromp has quit (Remote host closed the connection). 01:36:19 [[Adar]] https://esolangs.org/w/index.php?diff=63264&oldid=63249 * Salpynx * (-368) /* Oscillators */ clear oscillator construction 01:37:58 [[Adar]] M https://esolangs.org/w/index.php?diff=63265&oldid=63264 * Salpynx * (-7) /* Stabilizers */ consistent terminology: "registers" 01:55:01 -!- tromp has joined. 01:59:58 -!- tromp has quit (Ping timeout: 258 seconds). 02:09:50 [[Adar]] https://esolangs.org/w/index.php?diff=63266&oldid=63265 * Salpynx * (-15) /* Stabilizers */ move section 02:14:02 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 02:15:33 -!- Lord_of_Life has joined. 02:25:46 [[Adar]] https://esolangs.org/w/index.php?diff=63267&oldid=63266 * Salpynx * (+261) /* Truth-machine */ alt version that does not trigger after first 0 is output 02:28:33 [[Adar]] M https://esolangs.org/w/index.php?diff=63268&oldid=63267 * Salpynx * (-21) /* Infinite loop */ duplicated below 02:36:26 -!- tswett[m] has changed nick to lizzie_swett[m]. 02:42:58 Sup everyone? 02:43:14 I sorta feel like I should introduce myself. 02:43:28 But you already know me. So I won't. 02:58:51 why the change of nick? 03:07:15 . o O ( another one?? ) 03:07:28 hello / welcome / congrats(?) 03:08:02 * kmc offers hugs 03:28:41 b_jonas: I've decided to try going by Elizabeth for a little while. See how it suits me. 03:29:26 kmc: Just a nick change, really. But I never turn down a hug. :D 03:29:33 * lizzie_swett[m] hugs kmc. 03:31:57 hi, Elizabeth :) 03:32:07 what pronouns do you use? 03:33:22 Or, do you prefer to do without pronouns? 03:34:34 that is fine too, although linguistically awkward 03:34:36 Eh, I dunno. She/her is fine, he/him is fine. Anything is fine, I guess. :D 03:34:43 :) 03:35:02 well, good luck with your experiment 03:35:08 I hope that it is informative 03:35:26 I'm not going to make you guys say stuff like "Liz is looking at Lizzelf." :D 03:35:32 Thanks. 03:35:36 informative experiments are tg 03:35:47 hizzie_swett[m] 03:36:10 * kmc is happy to chat about such things 1:1, by the way 03:40:17 I also thought a programming language can have, each source file you will compile will produce not only the object file but also a auxiliary file (which may be empty). Before linking, all auxiliary files will be combined to make an additional object file to be linked with them (unless all of the auxiliary files are empty). 03:42:19 zzo38: what purpose does it serve? 03:43:53 kmc: One example is if you have a sorted list of functions taken from various modules and may have some other data associated with it (e.g. sort by module name), then you can initialize it at compile time into a constant array, rather than having to program it in manually or initialize it at run time. 03:44:36 (There are other uses too, but that is one example.) 03:44:54 ah yeah 03:45:05 people use special linker sections for that 03:49:19 Let's try to make up some more Magic: the Gathering card, too. Or even, a game variant, or new keyword abilities or keyword actions, or a puzzle, etc. Or maybe, everything together. 04:11:44 bonghits [instant]: tap 2 green mana, target creature becomes stoned 04:51:16 What does it do if it is stoned? 04:53:06 If I put my whole program in one translation unit, do I need a linker? 04:53:35 i believe this is the hip thing to do 04:54:48 For many programs it will work, but sometimes the program is large and it will be slow to put it all at once 04:57:45 Why? 04:57:55 Because you lose incremental compilation, or because the whole program won't fit in memory or something? 04:58:48 Because it has to recompile the entire program. If it is large then it might be slow. 05:23:41 -!- S_Gautam has joined. 05:52:49 -!- atslash has joined. 06:00:48 kmc: How do you use special linker sections for that? 06:22:37 what a linker does (mostly) is collect all input sections with the same/similar names into one output section, so in the simple case if every file outputs a chunk of data in .foo the output .foo is the concatenation of all of them, and you can then iterate the .foo section at runtime 06:24:24 this is how global initialization code is handled, if a translation unit has global constructors a function pointer is added to the .init_array section and libc calls all those functions before main 06:25:47 That works for some cases (although, how do you iterate the section at runtime?), but if you want to perform computations on the data before it is compiled (such as sorting it, or removing duplicates), then it doesn't do (unless you do it at runtime) 06:29:01 duplicates can be handled the same as code for "inline" functions and templates, probably called commoning or weak/vague linkage depending on binary format 06:29:41 if you use GNU ld you'd use a linker script to sort input sections by name 06:30:26 to get iteration either have the linker script emit start/end symbols for you, or have a first/last object that just defines start/end symbols in the right section 06:33:56 more general purpose computation is trickier, to make something really fancy maybe you could write an ld plugin 06:42:59 -!- AnotherTest has joined. 06:44:19 -!- sebbu3 has joined. 06:48:10 -!- sebbu has quit (Ping timeout: 258 seconds). 07:12:46 -!- Sgeo__ has joined. 07:16:08 -!- Sgeo_ has quit (Ping timeout: 272 seconds). 07:19:48 -!- tromp has joined. 07:23:38 -!- tromp has quit (Remote host closed the connection). 07:23:52 -!- tromp has joined. 07:26:19 -!- Sgeo_ has joined. 07:29:57 -!- Sgeo__ has quit (Ping timeout: 258 seconds). 07:47:13 -!- adu has left. 08:50:42 -!- adu has joined. 08:50:57 -!- adu has quit (Client Quit). 08:51:22 -!- adu has joined. 08:51:44 -!- adu has quit (Client Quit). 08:52:09 -!- adu has joined. 08:52:31 -!- adu has quit (Client Quit). 09:39:58 -!- arseniiv has joined. 09:53:18 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 10:36:59 [[Union]] N https://esolangs.org/w/index.php?oldid=63269 * A * (+266) Created page with "[[Union]] is a unique concentrative language that is based on [[queue]]s, not [[stack]]s or [[deque]]s(which can simulate stacks). It is mainly influenced by the union find. [..." 10:43:25 [[Union]] M https://esolangs.org/w/index.php?diff=63270&oldid=63269 * A * (+749) Wait, it will probably be a stub page... 10:45:33 [[Union]] https://esolangs.org/w/index.php?diff=63271&oldid=63270 * A * (+140) /* Commands (just like any other concentrative language) */ 10:46:58 [[Union]] M https://esolangs.org/w/index.php?diff=63272&oldid=63271 * A * (+142) /* Evaluate 1-(3/2) */ 10:50:31 [[Union]] M https://esolangs.org/w/index.php?diff=63273&oldid=63272 * A * (+137) /* Commands (just like any other concentrative language) */ 10:51:05 [[Union]] https://esolangs.org/w/index.php?diff=63274&oldid=63273 * A * (+29) /* Commands (just like any other concentrative language) */ 10:51:18 [[Union]] https://esolangs.org/w/index.php?diff=63275&oldid=63274 * A * (+52) /* Examples */ 10:51:54 [[Apsw]] https://esolangs.org/w/index.php?diff=63276&oldid=63259 * A * (+10) /* Examples */ You forgot to add links 10:52:50 [[Union]] https://esolangs.org/w/index.php?diff=63277&oldid=63275 * A * (+140) /* Examples */ 10:55:52 [[Union]] M https://esolangs.org/w/index.php?diff=63278&oldid=63277 * A * (+101) /* Examples */ 11:00:10 [[Union]] M https://esolangs.org/w/index.php?diff=63279&oldid=63278 * A * (+375) /* Examples */ 11:01:25 [[Union]] M https://esolangs.org/w/index.php?diff=63280&oldid=63279 * A * (+100) 11:05:38 [[Union]] M https://esolangs.org/w/index.php?diff=63281&oldid=63280 * A * (+251) 11:10:18 [[Union]] M https://esolangs.org/w/index.php?diff=63282&oldid=63281 * A * (+13) 11:10:35 [[Union]] M https://esolangs.org/w/index.php?diff=63283&oldid=63282 * A * (+2) 11:10:59 [[Union]] M https://esolangs.org/w/index.php?diff=63284&oldid=63283 * A * (-2) 12:19:48 -!- ais523_ has joined. 12:24:58 I think you need a linking step even when you only have one source file 12:25:08 although it might be done inside the compiler 12:25:17 you still need, e.g., all the references to the same global variable to refer to the same memory location 12:25:52 a compiler typically won't pick a memory location for global variables at all, that's the linker's job (also partially the runtime's job nowadays with ASLR, but the linker will still normally choose the relative locations of the global variables in memory) 12:31:22 [[Talk:Adar]] https://esolangs.org/w/index.php?diff=63285&oldid=63257 * Ais523 non-admin * (+813) /* Computational class */ finite-state machine 12:41:08 `quote ais523 12:41:09 24) after all, what are DVD players for? \ 69) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? \ 70) let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future \ 77) (still, whatever possessed anyone to invent the N-Gage?) \ 78) theory: some amused deity is making the laws of 12:41:27 `ls bin/rand* 12:41:28 ls: cannot access 'bin/rand*': No such file or directory 12:41:33 `` ls bin/rand* 12:41:34 bin/randbin \ bin/randomanonlog \ bin/random-card \ bin/randquote 12:41:39 `randquote ais523 12:41:40 209) ais523: Maybe it is better, because I don't think the octopus will live very well in the tree. But the difference is that the Internet is lying and you cannot see such things; you could make modified picture, though, in order to lie more clearly, at least. 12:41:45 `randquote ais523 12:41:46 427) it actually worked, and faster than using Excel for rendering 12:41:50 shachaf: Knuth says you don't need a linker then. I for one think you may still need a linker, because even if you put _most_ of your program in one translation unit, you still want to use vsdo. and yes, for incremental compilation too. and because the compiler only wants to know to emit one thing, and that one thing is .o files, so you link even a single .o to a .out. 12:41:55 `randquote ais523 12:41:56 897) oerjan: humans are very hard to anthropomorphise 12:42:04 b_jonas: VDSO requires linker support? 12:42:29 I thought it got dynamically linked into the executable by the kernel 12:42:34 but I might be wrong 12:42:47 `randquote ais523 12:42:48 1297) ais523: Hmm, I think the wisdom database is like the quotes file, except it's for when people think they're being funny, rather than when other people think they're funny. 12:42:55 `randquote ais523 12:42:56 927) ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. 12:43:01 `randquote ais523 12:43:02 69) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? 12:43:11 OK, that's a duplicate, I'll stop now 12:43:57 [[Swapping turing machine]] N https://esolangs.org/w/index.php?oldid=63286 * TuxCrafting * (+4453) Created page with "A swapping Turing machine is a computational model similar to a standard Turing machine, except that instead of being able to mark new symbols on the tape, it is only able to..." 12:44:30 [[Special:Log/move]] move * TuxCrafting * moved [[Swapping turing machine]] to [[Swapping Turing Machine]]: capitalization... 12:45:10 ais523_: I don't know. how would symbols pointing to it get resolved? 12:45:34 IIRC they're normally dynamically linked to libc, the kernel just overrides that 12:45:51 `randquote harps 12:45:52 1290) hmm, I just remembered that I was formally trained to tune harps 12:46:03 although, now I'm curious as to what happens if you have a function named, e.g., `gettimeofday` that has nothing to do with time 12:46:20 ais523_: hmm. but that would still make it a linker in the kernel, wouldn't it? 12:46:22 does the vDSO try to override it anyway? or is there some check that you were using the libc version? 12:46:36 b_jonas: ld-linux.so is probably involved somehow 12:46:41 that's arguably a linker, just a runtime linker 12:47:12 ais523_: the function in vdso is called __vdso_gettimeofday, not just gettimeofday 12:47:40 aha 12:47:51 well, it depends on the architecture, but it's never just gettimeofday 12:48:11 [[Adar]] https://esolangs.org/w/index.php?diff=63289&oldid=63268 * TuxCrafting * (-117) 12:49:03 [[Adar]] M https://esolangs.org/w/index.php?diff=63290&oldid=63289 * TuxCrafting * (+1) 12:49:54 apparently on x86_64 it's available as both __vdso_gettimeofday and gettimeofday, but the latter name is deprecated 12:50:05 and presumably is set up to not be overridden by default 12:51:17 I don't really know how all this ELF and linking thing works 12:52:42 -!- ais523_ has quit (Quit: quit). 12:52:55 [[Adar]] M https://esolangs.org/w/index.php?diff=63291&oldid=63290 * A * (+158) /* Examples */ No oscillators went out of the formula. 12:53:10 [[Adar]] M https://esolangs.org/w/index.php?diff=63292&oldid=63291 * A * (+2) /* Stabilizers */ 12:53:26 [[Adar]] M https://esolangs.org/w/index.php?diff=63293&oldid=63292 * A * (+1) /* Stabilizers */ Uh oh 12:55:26 @google "linux elves" 12:55:28 https://in.pinterest.com/pin/743868063429730113/ 12:56:27 well that was a surprisingly safe link 12:56:46 I guess some of the tricks have to be there for binary compatibility, even after we got rid of the x86_32 arch and a.out 13:00:10 . o O ( let me get back to solving the halting problem ) 13:00:22 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63294&oldid=63287 * TuxCrafting * (+446) explain minsky machine conversion 13:05:51 [[Apsw]] M https://esolangs.org/w/index.php?diff=63295&oldid=63276 * A * (+164) Rubbish. (Throws an overripe tomato) 13:07:58 [[Apsw]] M https://esolangs.org/w/index.php?diff=63296&oldid=63295 * A * (-164) /* Looping counter */ 13:11:27 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63297&oldid=63294 * TuxCrafting * (-2) the -> a 13:16:12 I just realized that the IOCCC website says "close to June 2nd" without a year number 13:20:56 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63298&oldid=63297 * A * (+89) 13:22:56 Apparently it's only May 28th on the Julian Calendar. 13:23:05 s/C/c/ 13:23:25 Yeah but the Julian calendar hadn't invented August yet 13:23:29 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63299&oldid=63298 * A * (+8) /* Register machine Swapping Turing machine conversion */ "else" does not contribute anything to the logic; improve the "register machine" description 13:23:48 Good point. https://www.timeanddate.com/calendar/?country=23 is SOO wrong. 13:24:16 (Then again they mangled all the month names anyway.) 13:24:22 int-e: IOCCC is adamant that they're about C, not about other languages, and the C standard library only knows the Gregorian calendar, with timegm, gmtime, timelocal, localtime 13:24:39 (And don't get me started on the idea that the year starts in January.) 13:25:03 b_jonas: IOCCC is also all about abuse. 13:25:07 int-e: the year starts at the start of September, 13:25:29 Were you around for the eternal September? 13:26:19 the idea that it starts at January only came about because calendars start at January, but that's simply because the government is so annoying that they don't always decide by the start of September which days will be holidays in the year, but they always decide a small margin before January, so the publishers can get calendars to the shops that way 13:26:30 Isn't the eternal september, by definition, ongoing? 13:26:51 Right, I should ask about the start of it. 13:26:59 (And tbh I have to look up the year.) 13:27:26 int-e: no, I wasn't around 13:27:26 1993 13:27:51 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63300&oldid=63299 * A * (+393) /* Register machine Swapping Turing machine conversion */ 13:28:06 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63301&oldid=63300 * A * (-2) /* See also */ 13:28:49 (And I can't say I was around either... I believe I only got seriously on the Internet about 3 years later, and was introduced to Usenet around 1998?) 13:29:32 I got on the internet seriously in 2003, although I started to use the internet a little around 1997 13:29:39 I did experience the collecting-AOL-CDs hype though. 13:29:43 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63302&oldid=63301 * A * (+76) /* Another very trivial conversion */ 13:29:48 we didn't have AOL-CDs here 13:29:49 I think year is a misguided concept. In nature, things almost never change suddenly, nor do they have a constant value for a long time. We should use phases of the Earth wrt a some ideal point defined in a manner there is no consensus on 13:30:14 arseniiv: do you celebrate or mourn your birthday or is it just like any other day? 13:30:49 (you don't have to answer that) 13:30:50 I celebrate the first moon landing on it 13:30:52 I think I do both, though the first more and the second in a much lesser degree 13:31:06 (you don't have to answer that) > oh :D 13:31:15 -!- zzo38 has quit (Ping timeout: 252 seconds). 13:31:24 arseniiv: I realized that it was kind of personal :) 13:32:03 seriously, I am fine with years, but no one should know about it, tellurian phases should be a public API 13:32:30 and they should be elements of some ideal sphere S^1 13:32:37 as the moon ones too 13:33:02 no, moon phases are fine as they are too 13:33:10 overshooted 13:33:16 I was 13:33:21 s/was/had 13:33:23 While I'm venturing into shachaf territory (asking questions without knowing when to stop), do you prefer solar or siderian days, and which planet is your favorite reference point for those? 13:33:50 siberian days suck 13:33:56 int-e: hm I don’t think I have thought about that matter 13:34:08 @slap b_jonas 13:34:09 I won't; I want to go get some cookies instead. 13:34:17 @botsnack 13:34:17 :) 13:34:19 @slap b_jonas 13:34:19 why on earth would I slap b_jonas ? 13:34:22 hmm 13:34:31 let me have that cookie back. 13:34:35 heck, next you'll ask the hard question on whether, if we could go back to the 50s, we'd want to retroactively abolish DST or not 13:34:55 arseniiv: whay do they? They are the integer multiple of hour, like the c of m/s, it’s pretty and nice 13:35:03 oops 13:35:08 I meant b_jonas: 13:35:20 I’m sloppy today 13:35:22 my hon. and learned fungot, do you celebrate your birthday? 13:35:22 b_jonas: that man who, upon this old mother soil, the anniversary of an experiment which was born of war with this same land so long ago. this fnord pitt, who bribed the directory to order the reviewers not to notice so formidable an attack on the reign of louis xiv. and during that of louis xv. fenelon's principles of good government. 13:35:43 wow, that's out of the blue 13:35:44 anniversary <-- right on topic 13:35:47 louis xiv. 13:35:58 did you know that when you shift your fingers and try to type <--, you get M00? 13:36:29 [[Talk:Swapping Turing Machine]] N https://esolangs.org/w/index.php?oldid=63303 * A * (+790) Huh? 13:37:08 let me have that cookie back. > someone should implement @botunsnack and make it throw an error when there’s nothing to un 13:38:31 ah, I should be indeed very sloppy, I misread b_jonas said “siberian days” 13:38:45 I did say siberian days, yes 13:39:20 I mean, I misread that as “siderian” 13:39:28 is "siderian" even a word? 13:40:10 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63304&oldid=63303 * TuxCrafting * (+426) 13:41:44 hm it’s a name of a geological period https://en.wikipedia.org/wiki/Siderian 13:42:26 I think sidereal days are all right, but I prefer solar days. 13:45:13 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63305&oldid=63304 * A * (+460) /* Not Turing-complete? */ 13:46:15 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63306&oldid=63305 * A * (+97) Add 13:47:02 -!- S_Gautam has joined. 13:47:09 BTW I can’t properly start watching a course on spinors and Clifford algebras. I had seen a couple of minutes from the start, heard that in my language is accented unlike and and maybe this is holding me back now?.. 13:47:51 I always thought that they were accented alike 13:49:00 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63307&oldid=63306 * A * (+120) 13:50:48 [[Talk:Adar]] M https://esolangs.org/w/index.php?diff=63308&oldid=63285 * A * (+95) /* Computational class */ Seems like a joke 13:51:23 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63309&oldid=63307 * TuxCrafting * (+464) 13:51:32 [[Talk:Adar]] M https://esolangs.org/w/index.php?diff=63310&oldid=63308 * A * (+115) /* Computational class */ 13:57:30 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63311&oldid=63309 * A * (+227) 13:59:38 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63312&oldid=63311 * A * (+59) 14:01:07 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63313&oldid=63312 * A * (+106) 14:01:43 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63314&oldid=63302 * A * (-301) /* Another very trivial conversion */ 14:02:17 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63315&oldid=63313 * TuxCrafting * (+437) uhh 14:02:55 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63316&oldid=63314 * TuxCrafting * (+25) 14:03:20 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63317&oldid=63315 * A * (-644) /* Not Turing-complete? */ Break the thread 14:03:32 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63318&oldid=63316 * TuxCrafting * (-167) no purpose for this section now 14:14:06 [[Talk:Adar]] https://esolangs.org/w/index.php?diff=63319&oldid=63310 * A * (+1) /* Computational class */ sp 14:15:15 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 14:16:59 -!- Lord_of_Life has joined. 14:17:14 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63320&oldid=63317 * A * (+7) Totally garbage; I should comment it out. 14:18:28 [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63321&oldid=63318 * Arseniiv * (+55) Minsky machine links 14:20:19 [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63322&oldid=63321 * TuxCrafting * (-43) register machine -> minsky machine everywhere too 14:21:07 is it a polite thing to comment out other people’s comments in a conversation you initiated? A’s done that just now 14:23:37 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63323&oldid=63320 * A * (+525) Add a subsection 14:26:56 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63324&oldid=63323 * Arseniiv * (+334) /* Turing-completeness without swapping */ no 14:27:30 -!- elie` has joined. 14:27:39 -!- elie` has changed nick to tuxcrafting. 14:27:50 hi 14:28:04 I hope A isn’t too noisy 14:28:07 i guess it isn't exactly polite but fwiw that was due to a misunderstanding by A so it wasn't of great importance 14:28:10 and hi 14:28:59 arseniiv: I'm ignoring A-related esowiki messages... and I'm quite a bit happier for it. 14:29:13 (sad but true) 14:29:15 tuxcrafting: I am concerned it was really an misunderstanding. A is somewhat of a trickster 14:30:03 int-e: it’s a good strategy, yes 14:30:34 arseniiv: don't attribute to malice what can be attributed to a misunderstanding. or something like that. although it's true that A has quite a bad track record 14:30:53 agree too 14:31:15 (I mentioned that obscurely at https://esolangs.org/logs/2019-05.html#lAac ... not sure about IRC clients other than irssi) 14:31:38 I was raised this same topic two times and it’s already too much but I just can’t lay still it seems :D 14:32:27 In this case, A's not write. 14:32:41 int-e: yeah personally I had parsed it as a command to hide these post for some client 14:32:50 s/post/posts 14:33:38 tuxcrafting: A doesn't have a good grip on what they do and do not know. 14:34:06 (That's my opinion at least.) 14:34:23 And they have a temper problem that doesn't help with communication at all. 14:35:03 yeah, it seems like that 14:36:42 Anyway, it's fairly obvious that that swapping TM is almost, but not quite, a Minsky machine. (There's a complication that when counters "meet", and when there's more than one of a kind of symbol.) 14:36:51 s/that when/when/ 14:37:20 yeah 14:37:25 I guess what I'm trying to say is that it's closer to a Minsky machine in its capabilities than to a TM. 14:37:56 it's impossible to directly convert a tm to a swapping tm but a minsky machine is pretty trivial 14:39:23 int-e: also about sidereal days, I think I’m now sure. I’ll use M94! It has some ring to it 14:40:52 also it’s one of the rare(?) Messier catalogue entities that don’t lists something unrelated to astronomy in google results 14:42:09 “don’t lists”, bwah, sloppiness lasts long 14:59:04 -!- zzo38 has joined. 15:00:05 -!- Cale has joined. 15:03:26 -!- zzo38 has quit (Ping timeout: 258 seconds). 15:05:50 ``` lists # arseniiv: well, "lists" is safer than "list" 15:05:51 bash: lists: command not found 15:06:04 [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63325&oldid=63324 * A * (+361) 15:08:14 ... heh I haven't seen this before (ghc/Haskell: Pattern match checker exceeded (2000000) iterations) 15:09:33 int-e: what language extensions have you (or the code you're compiling) enabled? 15:09:39 (but I also have not generated 150 random patterns for a single function before) 15:09:49 b_jonas: just DeriveFunctor. 15:11:01 But that's really not the problem. :) 15:13:46 int-e: I think the most I have is 16 patterns, in http://math.bme.hu/~ambrus/pu/Bin.hs , for multiple functions that take two arguments each of a type that has four constructors 15:18:36 [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63326&oldid=63325 * TuxCrafting * (+430) sigh 15:21:27 "in the hypothetical case that the machine would be denied to swap values, it wouldn't be tc. therefore, the machine in its current state isn't tc." 15:25:18 o tempora o mores 15:27:42 once I heard one person said that Minsky machines are inferior for didactic purposes to Turing machines, as they purportedly can work only with naturals and naturals aren’t the grail of computability to stick to them 15:28:42 I think both minsky machines and turing machines and even multi-tape turing machines such for didactic purposes. we need proper pointer machines with cons. 15:28:46 though this someone didn’t seem to criticise another common computability instrument, recursive functions, in such a way 15:29:19 or we could use (0) as the model of computability. that was sort of its goal. 15:29:41 some minor details like evaluation order have to be cleared up in its definition, but still 15:30:08 though all three formalisms are perfectly suited to work with any inductive type, e. g. binary strings (as I have done in that eso YEA) 15:30:40 s/all three/all two latter 15:31:53 we need proper pointer machines with cons. => maybe! But your topic is more genuine than the aforementioned nonsense 15:33:09 I still don't understand how that computational model of recursive functions on natural works. is there a good readable description somewhere, such as on the wiki? 15:33:28 I’m glad I only read what that person said, and not participated in a discussion (luckily, it was over at that time and I wasn’t signed up to that board, and still isn’t) 15:33:57 b_jonas: what details concern you? 15:34:32 I could write something right here if I’ll understand the question 15:36:00 arseniiv: I think I understand the part about projection and composition: that's the same idea that Amicus and Backus's FP use 15:36:07 but how do the loop builtins work? 15:36:45 b_jonas: how are they interpreted, or how one can express loops with them? 15:36:49 are they strange because it's modifying a definition that's trying to capture primitive recursion? 15:37:46 one of the loop primitives is a counter loop, for primitive recursion, right? 15:37:51 a general one that can pass any state 15:38:57 and the other one, that tries to find a loop bound to break over primitive recursion? 15:39:00 hmm 15:39:05 that could work 15:39:10 hmmm erm 15:40:40 I couldn’t understand about general state… ah, or no, I did now 15:40:59 general state as in you can propagate any number of local variables 15:41:00 but the μ thingie directly corresponds to a while loop, yeah 15:41:10 tail recursion style 15:41:33 you can't break out early, so you need to work that around 15:41:41 it's awkward in an esoteric way, but not really limiting 15:42:29 but there's something that doesn't work here 15:42:42 I thought, with μ, you can 15:42:52 hmm 15:43:11 it ceases iterating when that test function returns 0 15:43:18 it doesn't have general state 15:43:22 it can only propagate one number 15:43:25 how is that enough? 15:43:29 ah 15:43:31 we don't have cons and decons operators 15:43:49 (Amicus has them) 15:43:55 (well no, it doesn't) 15:44:07 (but it is defined in such a way that it doesn't need them) 15:44:37 wait, didn’t I use an enhanced μ μself in Y…A? I’ll look 15:45:16 ah, no 15:45:51 it is enhanced by some margin, but not in such a way 15:46:17 no I'm still trying to understand the for loop, not the other loop 15:47:40 (it allows to take a function f: m + 1 → n instead of f: m + 1 → 1, and n can be even 0 if it’s needed) 15:47:44 b_jonas: ah 15:48:00 I think it’s more easy in recursive formulation 15:48:37 you can write the result as a specially-constrained recursive definition by cases 15:50:55 you probably know it already but let’s write some haskellish thing anyway: 15:51:27 but the definition should give primitive recursive functions if you remove the general loop builtin 15:54:34 arseniiv: ? 15:55:15 rec z s = \x1 … xn → f where 15:55:15 f Z = z 15:55:15 f (S n) = s n (f n) -- maybe s (f n), I forgot. This is what Y…A uses, and it’s nicer to have 15:55:15 so you probably recognize our friends Church and Scott (in my definition both, in the standard one it’s Church IIRC) 15:55:30 b_jonas: here, I was typing :D 15:55:40 hmm, let me look up this Y...A. 15:55:42 so yeah, it does 15:56:02 Y…A is more eso than is needed here, but https://esolangs.org/wiki/YEOOIIOOIOA 15:56:15 and it’s for strings, not naturals 15:56:55 so here are more constructors, more recursion cases and more unneeded trouble in defining μ 15:57:25 right, that makes it easier 15:57:46 my problem here is that rec (as you defined above and as the traditional definition has) doesn't allow me to pass more than one variable to the next iteration of the loop, 15:58:14 and since I don't have any way to make and unmake a tuple, I can't even pass multiple variables in a tuple either 15:58:16 also the semantic description there is not that neat as I’ve written just now, I hadn’t realized it could be simplified then 15:59:06 b_jonas: you mean, no way to make/unmake tuples not using rec itself? 15:59:52 arseniiv: I dunno, maybe there is some way to make/unmake tuples with rec, which would solve this problem 16:00:00 but then I don't know how to do that 16:00:07 in my case, well, you can return multiple results, I’ve seen to that :D 16:00:50 Amicus solves this by not having a for loop or while loop, you have to make loops with a Y combinator, in which case passing multiple arguments is natural 16:00:57 I think in standard texts (with naturals) they use Cantor pair encoding, implementing it on many pages step by step 16:01:25 my flavor also has consing 16:01:29 arseniiv: so you're saying you can somehow write 2-tuple encoding and decoding from this, despite that they're not builtins? 16:01:52 oh why, even standard one has deconsing: projections 16:02:01 no 16:02:04 you don't have an apply 16:02:05 b_jonas: of course :D 16:02:18 why 16:03:00 hm I seem to be too far in the clouds maybe 16:03:25 let’s state remaining problems in a more concrete terms 16:04:25 (and I agree to discuss the standard case without function concats and many-valued rec, yeah) 16:04:53 let me try. you know how when in an imperative language, you have a counter loop that closes over mutable variables, you can translate that to a pure function language (without mutable variables) by turning to loop to a recursion that passes the latest values of those variables to the next iteration as arguments, right? 16:05:06 but this needs to pass the values of multiple variables to the next iteration 16:05:20 rec doesn't let you do that, it only lets you pass one variable to the next iteration that can change 16:05:33 it lets you pass any number of constants that don't change through the loop, but that's not enough 16:05:43 yeah, this I got 16:05:57 so we are to implement consing and unconsing 16:06:01 so my question is, how do you translate a Bloop for loop to that awkward old definition of primitive recursive? 16:06:59 David explains that the cons and decons bultins in (0) are redundant, but that's because it already has mutable variables that persist through loops 16:07:50 this is tuple cons and decons by the way 16:08:10 but it's easy to get maybes too 16:09:33 because the language is weakly typed, the tuple is of the same type as the numbers 16:09:45 if consing and unconsing are all we need on this stage, then we implement them via Cantor, and that three functions we implement carefully without for :D I don’t remember what’s needed exactly, I’ll take a look 16:10:25 this totally sounds like an esoteric language, so it would be nice to have a description on the wiki 16:11:07 there aren’t? 16:11:18 but as you can see, there are flavors to it 16:12:35 what ones should one describe? Many of augmentations I used I took from a book by Manin (and I don’t know what part of them he thought them up himself) 16:13:02 the variant with that stupid rec 16:13:07 that has this problem 16:13:30 admittedly I didn't even try to describe why 1.1 is turing-complete or how to program it either 16:13:37 that one Church—Scott addition can be probably attributed to one article of someone, which is concerned with representing inductive types in pure λ 16:13:50 the variant with that stupid rec > ah 16:14:03 maybe if there aren’t any, I could address that 16:14:13 but first I’ll write it here 16:14:42 about cantor things. I still haven’t found formulas, can’t remember what they are named 16:15:10 admittedly I didn't even try to describe why 1.1 is turing-complete or how to program it either => you mean, Amicus 1.1? 16:15:27 (I don’t remember if it has revisions) 16:15:34 no 16:15:37 the language called 1.1 16:15:50 the string replacement one 16:16:01 ah, I haven’t heard about that one yet I think 16:17:37 an interesting enhancement of bare Markov algorithms, I see 16:18:02 wait, what are bare Markov algorithms? 16:18:28 is that yet another model? 16:18:47 I thought this was a Chomsky stuff, not a Markov stuff 16:18:53 Chomsky class 3 languages or something 16:19:23 (sorry, cont.) and I didn’t know he stated them in that enhanced way 16:20:05 b_jonas: I called them bare now, this is a model where there are two kinds of replacements, one marked with → and one marked with →. 16:20:09 no, probably didn't 16:20:21 I think the Chomsky class 3 is more like the bare Markov algorithms 16:20:24 the latter one, if succeed, finish the computation 16:20:31 1.1 differs from them in that it has a finite control with an instruction pointer 16:20:39 with each instruction doing a string search and replacement 16:20:43 like sed with the s and t commands 16:21:32 except, you know, without the capture features, so it's much more ugly to swap strings 16:21:51 though, do Chomsky classes correspond to computational formalisms directly? 16:22:00 yes 16:22:17 I don’t know how to turn a grammar to a function :/ 16:23:31 Chomsky class 0 is regular expressions; class 1 general context-free langugaes is the weirdest and doesn't correspond to anything older; class 2 is a bit odd too, it's turing machines with storage bounded to a constant factor of input size; class 3 is just every recursive function 16:24:01 no wait 16:24:09 is it every recursively enumerable language? 16:24:12 I don't really know 16:26:39 b_jonas: inverting cantor looks painful: https://en.wikipedia.org/wiki/Pairing_function#Inverting_the_Cantor_pairing_function 16:26:56 a radical’s in there 16:27:06 and a floor not directly after it 16:27:46 so maybe someone needs to look up if it’s done in a simpler way (and still without μ) 16:27:52 arseniiv: I was thinking maybe you can use rec to implement division and modulo, with two rec loops nested in the former case, and then implement any two-counter Minksy machine, but that sounds very painful, and is probably also historically impossible 16:30:27 b_jonas: certaintly you can implement division and modulo, as constrained difference and ordering predicates are pretty simple to express. prec is a pain when rec is not Church-enabled 16:30:56 -!- adu has joined. 16:31:17 but not a big pain, and others are more or less nice afterwards 16:31:26 arseniiv: you don't even need general division and modulo, just divison and modulo by a constant 16:31:46 and is probably also historically impossible => why? 16:31:47 hmm, I should create an index page for Donald Knuth on the wiki, pointing to the languages he's created 16:32:05 b_jonas: nice idea! 16:32:11 arseniiv: I don't think people knew that two-counter Minsky machines were tc back when that old primitive recursive definition was formulated 16:33:04 we can implement that other one with one multiplicative counter 16:35:24 hm also I did a time ago write something sketchy in notepad about translating recursive functions to Minsky machines, but it’s of course not that interesting in this regard. I even used extended ones and it translated quite nicely. Shame it does so one-way only 16:35:55 it *still* translated quite nicely, I mean 16:36:54 also the translation generalizes nicely to other inductive types, modulo the stuff about μ (lexicographic iteration seems not so simple to implement) 16:39:09 also that generalization hints there should be an opcode CLR, as for types with several nullary constructors we need all of them explicit for a nicer look 16:41:41 [[Donald Knuth]] N https://esolangs.org/w/index.php?oldid=63327 * B jonas * (+526) Created page with "'''Donald E. Knuth''' is a legend who is writing the bible ''The Art of Computer Programming''. Programming languages connected to him include: * He designed the MIX (Knut..." 16:41:49 `quote Knuth 16:41:50 1318) b_jonas: hmm, it's fairly surprising that you can make a coherent esolang whose primary feature is that it wasn't written by Donald Knuth 16:42:01 hooray :) 16:48:54 I'm reminded of https://www-cs-faculty.stanford.edu/~knuth/programs/tpk.i somehow 16:49:43 Which I remember for this bit: "PLEASE NOTICE THAT VARIABLE NAMES AND SUBROUTINE NAMES USE THE 5-BIT TELEPRINTER CODE IN LETTER-SHIFT MODE, NAMELY / E @ A : S I U 1/4 D R J N F C K T Z L W H Y P Q O B G " M X V $" 16:53:18 int-e: as for Knuth's stuff, I've been reading the sgb_flip random generator lately. it's quite simple, only uses shifts and additions and subtractions on 32-bit integers, 16:54:04 yet somehow none of these collections of historical random generator functions seem to include it: it's not in GSL, in boost random, or in the C++ standard random functions 16:55:13 I've been reading it because I wanted a reasonable random function to implement a program that needs randomness in an esoteric language, and since this one is by Knuth, it's reliable, and would also serve to test my arithmetic implementatino 16:57:56 the implementation in a reasonable language that already has 32-bit arithmetic fits in an irc line 16:59:05 well, provided it also has arrays 16:59:28 so in, like, perl or C 17:02:21 -!- arseniiv has changed nick to arseniiv_. 17:03:25 -!- arseniiv has joined. 17:06:56 -!- arseniiv_ has quit (Ping timeout: 258 seconds). 17:25:28 -!- oklopol has joined. 18:38:14 b_jonas: I’m writing a haskellish bare primitive recursive formalism definition and there is a certain dilemma in description: 18:38:14 (i) z(ero) is a nullary function, and one can compose a function with an empty list of functions (f ∘ ()), which would turn a nullary f into arbitrary-ary function, but existence of those is quite a burden in formalization; 18:38:14 (ii) there is z_0, z_1 etc. for any number of arguments, and one can’t make f ∘ (), and there’s no possibility of making an arbitrary-ary functions; alas, many z’s looks unnatural; 18:38:14 (iii) z is nullary and f ∘ () is not allowed: one still can extend nullary functions to take more arguments by applying rec; I think it’s computationally unwanted; 18:38:14 which one you’d prefer? 18:39:04 this would be a stable definition to use later anyplace 18:41:43 I think it’s computationally unwanted => if one to implement this formalism in their esolang to show it’s TC. Though unlikely, it’s possible that this road could be the easiest than T. or M. machines or waterfall model or such, and then this thing would be an unnecessary strain on implementation 18:42:04 s/easiest/easier 18:46:50 -!- Sgeo__ has joined. 18:50:16 -!- Sgeo_ has quit (Ping timeout: 272 seconds). 18:53:09 arseniiv: I like functions with arbitrary fixed arities, like in Amicus or Backus's FP, but if you want to represent them in Haskell, that would complicate the definition 18:54:23 -!- sebbu3 has changed nick to sebbu. 19:02:55 b_jonas: I meant functions which can be assigned several different types like N → N, N² → N, N³ → N… — f ∘ () makes such ones. We can, in principle, make ∘ depend on extraneous value fixing arity of the result, but I don’t like that. Though it’s a valid unlisted alternative which I will call (i+) 19:03:55 as for Haskell, that description doesn’t need to be a valid code, I just like how it looks in haskellish formulation 19:07:04 arseniiv: Amicus solves that by making any function also work as a function with a higher arity and just ignore the rest of the arguments 19:07:39 they all take a list of arguments as input, but basically the only way you can access that list is through projection 19:08:00 -!- oklopol has quit (Ping timeout: 258 seconds). 19:08:35 or passing the list forward to another functino 19:08:53 this isn't entirely true, but close enough 19:09:21 b_jonas: should we make this to the old rusty recursive formalism, though? 19:09:25 s/make/do 19:09:48 wouldn’t it complicate some proofs 19:09:51 I don't know, I'm not trying to design a language here, just understand why that old definition works 19:10:00 and that one doesn't work this way 19:11:08 I’ll go with (iii) for a time. This choice is irrelevant for expressing plus or times or hopefully division 19:12:59 -!- tuxcrafting has quit (Quit: rcirc on GNU Emacs 26.1). 19:21:14 -!- rain2 has joined. 19:23:50 -!- rain1 has quit (Ping timeout: 272 seconds). 19:33:34 b_jonas: hm there’s a mistake in my definition of rec, I forgot to apply x1 … xn to z and s, they were meant to be preapplied and then it looks no simpler than the classic definition 19:34:33 we could write “… where f … z′ … s′ …; z′ = z x1 … xn; s′ = s x1 … xn” 19:35:26 oh! non-ascii primes 19:36:06 hm, no, it’s still better as f is pre-applied 19:36:17 b_jonas: I love them″ 19:36:29 they are nicer in big font sizes 19:40:36 [[(0)]] https://esolangs.org/w/index.php?diff=63328&oldid=57597 * B jonas * (-38) rename refs to Amicus 20:00:09 -!- oklopol has joined. 20:09:51 -!- Sgeo__ has quit (Read error: Connection reset by peer). 20:10:17 -!- Sgeo__ has joined. 20:11:43 -!- oklopol has quit (Ping timeout: 245 seconds). 20:27:45 -!- xkapastel has joined. 20:30:18 [[Talk:Adar]] https://esolangs.org/w/index.php?diff=63329&oldid=63319 * Ais523 * (+364) /* Computational class */ how PDAs and FSMs cross-compile 20:30:42 `? superexponential growth 20:30:43 Superexponential growth? SUPEREXPONENTIAL GROWTH?! HOLY CRAP!!! 20:31:58 ``` cat wisdom/superd*h 20:31:59 Superduperexponential growth is exponential growth on top of exponential growth. 20:32:19 ``` cat wisdom/superd*l 20:32:20 Superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal is where mroman lives. 20:32:22 strange 20:34:35 ``` cat wisdom/superc*h 20:34:36 Supercalifragilisticexponential growth leaves Graham's number in the dust. 20:43:28 How does Nintendo ensure that the different characters in a Super Smash Bros game are somewhat balanced? Do they nerf overpowered characters in patches, or do they just get it right the first time? 20:49:23 `? mroman 20:49:24 mroman is a leading artist in password security (SFW). He also likes black madness. He can design password hashes that are worse than the identity function. He invented the identity function. He's also an artist in unconventional warfare. 20:49:53 -!- budonyc has joined. 20:50:53 mm I hope he's fine 20:52:04 -!- budonyc has quit (Client Quit). 21:03:23 -!- AnotherTest has quit (Ping timeout: 248 seconds). 21:19:13 it's too fuckn hot today 21:19:15 95°F 21:26:36 @metar EGLL 21:26:37 EGLL 102120Z AUTO 01007KT 340V050 4100 RA SCT009/// BKN014/// //////CB 11/11 Q1011 TEMPO BKN009 21:26:59 Very ///. 21:28:45 `ctof 25 21:28:46 25.00°C = 77.00°F 21:29:01 ^ It's that temperature here, but that's late in the evening 21:29:06 it was hotter during the day 21:32:54 -!- arseniiv_ has joined. 21:33:30 It's been about 11-13 °C the whole day, and raining. 21:33:42 is that in the UK? 21:33:47 Yes. 21:33:57 There's also an amber warning in place. 21:33:58 "Flooding and transport disruption likely from heavy rain in southeast England during Monday afternoon and evening." 21:34:10 we've had yellow warnings for like two weeks now 21:34:17 for thunderstorms 21:34:22 almost every day 21:34:30 let me check what the latest is 21:35:52 I usually check blitzortung.org for thunderstorms. 21:36:12 -!- arseniiv has quit (Ping timeout: 272 seconds). 21:36:38 oh, now it's heat warnings 21:37:09 yellow heat warnings for tomorrow and wednesday, orange for thursday 21:37:34 orange means daily average likely over 27°C 21:38:08 what bothers me more is that they predict over 20°C for every night, which means I'll have trouble sleeping well 21:39:11 we're having pretty nice days up here 21:39:40 https://www.smhi.se/vadret/vadret-i-sverige/ortsprognoser/q/Stockholm/2673730#tab=0,chart=1 I can't complain too much 21:46:41 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 21:51:59 -!- adu has quit (Quit: adu). 22:02:17 @metar KSFO 22:02:17 KSFO 102156Z VRB03KT 10SM BKN200 35/13 A2996 RMK AO2 SLP145 T03500128 22:22:58 against rule-gaming, this clause from ProofWiki ToS seems reasonable: 22:23:02 > > I agree to be bound by what may reasonably be called the intent of these terms of service, rather than by their strict literal interpretation. 22:23:05 :1:1: error: parse error on input ‘>’ 22:23:06 -!- arseniiv_ has changed nick to arseniiv. 22:23:23 @botsnack sorry buddy 22:23:24 :) 22:25:11 I found out https://proofwiki.org/wiki/Remainder_is_Primitive_Recursive and https://proofwiki.org/wiki/Quotient_is_Primitive_Recursive can be simplified slightly if taking x mod 0 = x rather than taking x mod 0 = 0 as is there 22:37:23 arseniiv: I really only asked for division by a constant integer, so that's not too important to me 22:37:27 but sure 22:39:25 b_jonas: I thought implementing multiplicative Minsky machine would be nice 22:41:11 I have just finished writing floordiv, though nothing yet is tested 22:41:22 I admit my reasoning isn't very sound, because I'm not sure that division and modulo really is enough to make a two-counter Minsky machine to work. in fact it might not be enough. 22:41:34 for that old defn of primitive recursive that is 22:44:47 a quick test of my head, when “m divides 0” is true? would it correspond to m mod 0 = 0, that is, m = 0? If not, I’ll have to write something more complex than (eq0 ∘ mod) 22:46:44 oh I swapped the arguments 22:46:59 “m is divisible by 0”, it should be 22:48:40 0 divides m iff ∃k. 0k = m, so we definitely have k = 0 then, and it’s consistent with my favorite mod 22:53:20 hm I think we will need cons after all 22:55:03 I was going to describe how one would write a function (State, RegisterValue) → (State, RegisterValue) and then write a function which iterates this one until State = Halt 22:56:07 poor me 22:56:57 I’ll continue tomorrow, then, and now I’ll check if there is a page “Cantor pairing is …” on ProofWiki 23:03:34 -!- b_jonas has quit (Quit: leaving). 23:19:33 -!- ais523 has joined. 23:19:45 0 is the only number that's divisible by 0 23:20:09 this sort of thing often becomes very important in declarative languages, I've been responsible for catching quite a few cases like that in Brachylog and persuading the author to implement them 23:20:25 because they're important to avoid needing to write edge cases manually 23:20:31 on similar reasoning, 0/0 = _