←2019-06-09 2019-06-10 2019-06-11→ ↑2019 ↑all
00:00:24 -!- MDude has quit (Ping timeout: 272 seconds).
01:13:17 <esowiki> [[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 <esowiki> [[Adar]] https://esolangs.org/w/index.php?diff=63264&oldid=63249 * Salpynx * (-368) /* Oscillators */ clear oscillator construction
01:37:58 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <lizzie_swett[m]> Sup everyone?
02:43:14 <lizzie_swett[m]> I sorta feel like I should introduce myself.
02:43:28 <lizzie_swett[m]> But you already know me. So I won't.
02:58:51 <b_jonas> why the change of nick?
03:07:15 <kmc> . o O ( another one?? )
03:07:28 <kmc> hello / welcome / congrats(?)
03:08:02 * kmc offers hugs
03:28:41 <lizzie_swett[m]> b_jonas: I've decided to try going by Elizabeth for a little while. See how it suits me.
03:29:26 <lizzie_swett[m]> 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 <kmc> hi, Elizabeth :)
03:32:07 <kmc> what pronouns do you use?
03:33:22 <zzo38> Or, do you prefer to do without pronouns?
03:34:34 <kmc> that is fine too, although linguistically awkward
03:34:36 <lizzie_swett[m]> Eh, I dunno. She/her is fine, he/him is fine. Anything is fine, I guess. :D
03:34:43 <kmc> :)
03:35:02 <kmc> well, good luck with your experiment
03:35:08 <kmc> I hope that it is informative
03:35:26 <lizzie_swett[m]> I'm not going to make you guys say stuff like "Liz is looking at Lizzelf." :D
03:35:32 <lizzie_swett[m]> Thanks.
03:35:36 <shachaf> informative experiments are tg
03:35:47 <shachaf> hizzie_swett[m]
03:36:10 * kmc is happy to chat about such things 1:1, by the way
03:40:17 <zzo38> 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 <kmc> zzo38: what purpose does it serve?
03:43:53 <zzo38> 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 <zzo38> (There are other uses too, but that is one example.)
03:44:54 <kmc> ah yeah
03:45:05 <kmc> people use special linker sections for that
03:49:19 <zzo38> 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 <kmc> bonghits [instant]: tap 2 green mana, target creature becomes stoned
04:51:16 <zzo38> What does it do if it is stoned?
04:53:06 <shachaf> If I put my whole program in one translation unit, do I need a linker?
04:53:35 <shachaf> i believe this is the hip thing to do
04:54:48 <zzo38> 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 <shachaf> Why?
04:57:55 <shachaf> Because you lose incremental compilation, or because the whole program won't fit in memory or something?
04:58:48 <zzo38> 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 <zzo38> kmc: How do you use special linker sections for that?
06:22:37 <olsner> 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 <olsner> 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 <zzo38> 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 <olsner> 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 <olsner> if you use GNU ld you'd use a linker script to sort input sections by name
06:30:26 <olsner> 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 <olsner> 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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Union]] https://esolangs.org/w/index.php?diff=63271&oldid=63270 * A * (+140) /* Commands (just like any other concentrative language) */
10:46:58 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63272&oldid=63271 * A * (+142) /* Evaluate 1-(3/2) */
10:50:31 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63273&oldid=63272 * A * (+137) /* Commands (just like any other concentrative language) */
10:51:05 <esowiki> [[Union]] https://esolangs.org/w/index.php?diff=63274&oldid=63273 * A * (+29) /* Commands (just like any other concentrative language) */
10:51:18 <esowiki> [[Union]] https://esolangs.org/w/index.php?diff=63275&oldid=63274 * A * (+52) /* Examples */
10:51:54 <esowiki> [[Apsw]] https://esolangs.org/w/index.php?diff=63276&oldid=63259 * A * (+10) /* Examples */ You forgot to add links
10:52:50 <esowiki> [[Union]] https://esolangs.org/w/index.php?diff=63277&oldid=63275 * A * (+140) /* Examples */
10:55:52 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63278&oldid=63277 * A * (+101) /* Examples */
11:00:10 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63279&oldid=63278 * A * (+375) /* Examples */
11:01:25 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63280&oldid=63279 * A * (+100)
11:05:38 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63281&oldid=63280 * A * (+251)
11:10:18 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63282&oldid=63281 * A * (+13)
11:10:35 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63283&oldid=63282 * A * (+2)
11:10:59 <esowiki> [[Union]] M https://esolangs.org/w/index.php?diff=63284&oldid=63283 * A * (-2)
12:19:48 -!- ais523_ has joined.
12:24:58 <ais523_> I think you need a linking step even when you only have one source file
12:25:08 <ais523_> although it might be done inside the compiler
12:25:17 <ais523_> you still need, e.g., all the references to the same global variable to refer to the same memory location
12:25:52 <ais523_> 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 <esowiki> [[Talk:Adar]] https://esolangs.org/w/index.php?diff=63285&oldid=63257 * Ais523 non-admin * (+813) /* Computational class */ finite-state machine
12:41:08 <ais523_> `quote ais523
12:41:09 <HackEso> 24) <ais523> after all, what are DVD players for? \ 69) <ais523> 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) <ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future \ 77) <ais523> (still, whatever possessed anyone to invent the N-Gage?) \ 78) <ais523> theory: some amused deity is making the laws of
12:41:27 <ais523_> `ls bin/rand*
12:41:28 <HackEso> ls: cannot access 'bin/rand*': No such file or directory
12:41:33 <ais523_> `` ls bin/rand*
12:41:34 <HackEso> bin/randbin \ bin/randomanonlog \ bin/random-card \ bin/randquote
12:41:39 <ais523_> `randquote ais523
12:41:40 <HackEso> 209) <zzo38> 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 <ais523_> `randquote ais523
12:41:46 <HackEso> 427) <ais523> it actually worked, and faster than using Excel for rendering
12:41:50 <b_jonas> 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 <ais523_> `randquote ais523
12:41:56 <HackEso> 897) <ais523> oerjan: humans are very hard to anthropomorphise
12:42:04 <ais523_> b_jonas: VDSO requires linker support?
12:42:29 <ais523_> I thought it got dynamically linked into the executable by the kernel
12:42:34 <ais523_> but I might be wrong
12:42:47 <ais523_> `randquote ais523
12:42:48 <HackEso> 1297) <shachaf> 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 <ais523_> `randquote ais523
12:42:56 <HackEso> 927) <boily> ais523: I'm not sure my grasp of the English language is getting better by visiting this channel..
12:43:01 <ais523_> `randquote ais523
12:43:02 <HackEso> 69) <ais523> 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 <ais523_> OK, that's a duplicate, I'll stop now
12:43:57 <esowiki> [[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 <esowiki> [[Special:Log/move]] move * TuxCrafting * moved [[Swapping turing machine]] to [[Swapping Turing Machine]]: capitalization...
12:45:10 <b_jonas> ais523_: I don't know. how would symbols pointing to it get resolved?
12:45:34 <ais523_> IIRC they're normally dynamically linked to libc, the kernel just overrides that
12:45:51 <b_jonas> `randquote harps
12:45:52 <HackEso> 1290) <ais523> hmm, I just remembered that I was formally trained to tune harps
12:46:03 <ais523_> 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 <b_jonas> ais523_: hmm. but that would still make it a linker in the kernel, wouldn't it?
12:46:22 <ais523_> does the vDSO try to override it anyway? or is there some check that you were using the libc version?
12:46:36 <ais523_> b_jonas: ld-linux.so is probably involved somehow
12:46:41 <ais523_> that's arguably a linker, just a runtime linker
12:47:12 <b_jonas> ais523_: the function in vdso is called __vdso_gettimeofday, not just gettimeofday
12:47:40 <ais523_> aha
12:47:51 <b_jonas> well, it depends on the architecture, but it's never just gettimeofday
12:48:11 <esowiki> [[Adar]] https://esolangs.org/w/index.php?diff=63289&oldid=63268 * TuxCrafting * (-117)
12:49:03 <esowiki> [[Adar]] M https://esolangs.org/w/index.php?diff=63290&oldid=63289 * TuxCrafting * (+1)
12:49:54 <ais523_> apparently on x86_64 it's available as both __vdso_gettimeofday and gettimeofday, but the latter name is deprecated
12:50:05 <ais523_> and presumably is set up to not be overridden by default
12:51:17 <b_jonas> I don't really know how all this ELF and linking thing works
12:52:42 -!- ais523_ has quit (Quit: quit).
12:52:55 <esowiki> [[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 <esowiki> [[Adar]] M https://esolangs.org/w/index.php?diff=63292&oldid=63291 * A * (+2) /* Stabilizers */
12:53:26 <esowiki> [[Adar]] M https://esolangs.org/w/index.php?diff=63293&oldid=63292 * A * (+1) /* Stabilizers */ Uh oh
12:55:26 <int-e> @google "linux elves"
12:55:28 <lambdabot> https://in.pinterest.com/pin/743868063429730113/
12:56:27 <int-e> well that was a surprisingly safe link
12:56:46 <b_jonas> 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 <int-e> . o O ( let me get back to solving the halting problem )
13:00:22 <esowiki> [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63294&oldid=63287 * TuxCrafting * (+446) explain minsky machine conversion
13:05:51 <esowiki> [[Apsw]] M https://esolangs.org/w/index.php?diff=63295&oldid=63276 * A * (+164) Rubbish. (Throws an overripe tomato)
13:07:58 <esowiki> [[Apsw]] M https://esolangs.org/w/index.php?diff=63296&oldid=63295 * A * (-164) /* Looping counter */
13:11:27 <esowiki> [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63297&oldid=63294 * TuxCrafting * (-2) the -> a
13:16:12 <b_jonas> I just realized that the IOCCC website says "close to June 2nd" without a year number
13:20:56 <esowiki> [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63298&oldid=63297 * A * (+89)
13:22:56 <int-e> Apparently it's only May 28th on the Julian Calendar.
13:23:05 <int-e> s/C/c/
13:23:25 <Taneb> Yeah but the Julian calendar hadn't invented August yet
13:23:29 <esowiki> [[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 <int-e> Good point. https://www.timeanddate.com/calendar/?country=23 is SOO wrong.
13:24:16 <int-e> (Then again they mangled all the month names anyway.)
13:24:22 <b_jonas> 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 <int-e> (And don't get me started on the idea that the year starts in January.)
13:25:03 <int-e> b_jonas: IOCCC is also all about abuse.
13:25:07 <b_jonas> int-e: the year starts at the start of September,
13:25:29 <int-e> Were you around for the eternal September?
13:26:19 <b_jonas> 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 <Taneb> Isn't the eternal september, by definition, ongoing?
13:26:51 <int-e> Right, I should ask about the start of it.
13:26:59 <int-e> (And tbh I have to look up the year.)
13:27:26 <b_jonas> int-e: no, I wasn't around
13:27:26 <int-e> 1993
13:27:51 <esowiki> [[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 <esowiki> [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63301&oldid=63300 * A * (-2) /* See also */
13:28:49 <int-e> (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 <b_jonas> I got on the internet seriously in 2003, although I started to use the internet a little around 1997
13:29:39 <int-e> I did experience the collecting-AOL-CDs hype though.
13:29:43 <esowiki> [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63302&oldid=63301 * A * (+76) /* Another very trivial conversion */
13:29:48 <b_jonas> we didn't have AOL-CDs here
13:29:49 <arseniiv> 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 <int-e> arseniiv: do you celebrate or mourn your birthday or is it just like any other day?
13:30:49 <int-e> (you don't have to answer that)
13:30:50 <b_jonas> I celebrate the first moon landing on it
13:30:52 <arseniiv> I think I do both, though the first more and the second in a much lesser degree
13:31:06 <arseniiv> <int-e> (you don't have to answer that) > oh :D
13:31:15 -!- zzo38 has quit (Ping timeout: 252 seconds).
13:31:24 <int-e> arseniiv: I realized that it was kind of personal :)
13:32:03 <arseniiv> seriously, I am fine with years, but no one should know about it, tellurian phases should be a public API
13:32:30 <arseniiv> and they should be elements of some ideal sphere S^1
13:32:37 <arseniiv> as the moon ones too
13:33:02 <arseniiv> no, moon phases are fine as they are too
13:33:10 <arseniiv> overshooted
13:33:16 <arseniiv> I was
13:33:21 <arseniiv> s/was/had
13:33:23 <int-e> 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 <b_jonas> siberian days suck
13:33:56 <arseniiv> int-e: hm I don’t think I have thought about that matter
13:34:08 <int-e> @slap b_jonas
13:34:09 <lambdabot> I won't; I want to go get some cookies instead.
13:34:17 <int-e> @botsnack
13:34:17 <lambdabot> :)
13:34:19 <int-e> @slap b_jonas
13:34:19 <lambdabot> why on earth would I slap b_jonas ?
13:34:22 <int-e> hmm
13:34:31 <int-e> let me have that cookie back.
13:34:35 <b_jonas> 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> 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 <arseniiv> oops
13:35:08 <arseniiv> I meant b_jonas:
13:35:20 <arseniiv> I’m sloppy today
13:35:22 <b_jonas> my hon. and learned fungot, do you celebrate your birthday?
13:35:22 <fungot> 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 <b_jonas> wow, that's out of the blue
13:35:44 <int-e> anniversary <-- right on topic
13:35:47 <b_jonas> louis xiv.
13:35:58 <int-e> did you know that when you shift your fingers and try to type <--, you get M00?
13:36:29 <esowiki> [[Talk:Swapping Turing Machine]] N https://esolangs.org/w/index.php?oldid=63303 * A * (+790) Huh?
13:37:08 <arseniiv> <int-e> 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 <arseniiv> ah, I should be indeed very sloppy, I misread b_jonas said “siberian days”
13:38:45 <b_jonas> I did say siberian days, yes
13:39:20 <arseniiv> I mean, I misread that as “siderian”
13:39:28 <b_jonas> is "siderian" even a word?
13:40:10 <esowiki> [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63304&oldid=63303 * TuxCrafting * (+426)
13:41:44 <arseniiv> hm it’s a name of a geological period https://en.wikipedia.org/wiki/Siderian
13:42:26 <lizzie_swett[m]> I think sidereal days are all right, but I prefer solar days.
13:45:13 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63305&oldid=63304 * A * (+460) /* Not Turing-complete? */
13:46:15 <esowiki> [[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 <arseniiv> 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 <spinor> is accented unlike <vector> and <tensor> and maybe this is holding me back now?..
13:47:51 <arseniiv> I always thought that they were accented alike
13:49:00 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63307&oldid=63306 * A * (+120)
13:50:48 <esowiki> [[Talk:Adar]] M https://esolangs.org/w/index.php?diff=63308&oldid=63285 * A * (+95) /* Computational class */ Seems like a joke
13:51:23 <esowiki> [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63309&oldid=63307 * TuxCrafting * (+464)
13:51:32 <esowiki> [[Talk:Adar]] M https://esolangs.org/w/index.php?diff=63310&oldid=63308 * A * (+115) /* Computational class */
13:57:30 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63311&oldid=63309 * A * (+227)
13:59:38 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63312&oldid=63311 * A * (+59)
14:01:07 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63313&oldid=63312 * A * (+106)
14:01:43 <esowiki> [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63314&oldid=63302 * A * (-301) /* Another very trivial conversion */
14:02:17 <esowiki> [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63315&oldid=63313 * TuxCrafting * (+437) uhh
14:02:55 <esowiki> [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63316&oldid=63314 * TuxCrafting * (+25)
14:03:20 <esowiki> [[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 <esowiki> [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63318&oldid=63316 * TuxCrafting * (-167) no purpose for this section now
14:14:06 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63321&oldid=63318 * Arseniiv * (+55) Minsky machine links
14:20:19 <esowiki> [[Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63322&oldid=63321 * TuxCrafting * (-43) register machine -> minsky machine everywhere too
14:21:07 <arseniiv> 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 <esowiki> [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63323&oldid=63320 * A * (+525) Add a subsection
14:26:56 <esowiki> [[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 <arseniiv> hi
14:28:04 <arseniiv> I hope A isn’t too noisy
14:28:07 <tuxcrafting> 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 <tuxcrafting> and hi
14:28:59 <int-e> arseniiv: I'm ignoring A-related esowiki messages... and I'm quite a bit happier for it.
14:29:13 <int-e> (sad but true)
14:29:15 <arseniiv> tuxcrafting: I am concerned it was really an misunderstanding. A is somewhat of a trickster
14:30:03 <arseniiv> int-e: it’s a good strategy, yes
14:30:34 <tuxcrafting> 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 <arseniiv> agree too
14:31:15 <int-e> (I mentioned that obscurely at https://esolangs.org/logs/2019-05.html#lAac ... not sure about IRC clients other than irssi)
14:31:38 <arseniiv> 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 <int-e> In this case, A's not write.
14:32:41 <arseniiv> int-e: yeah personally I had parsed it as a command to hide these post for some client
14:32:50 <arseniiv> s/post/posts
14:33:38 <int-e> tuxcrafting: A doesn't have a good grip on what they do and do not know.
14:34:06 <int-e> (That's my opinion at least.)
14:34:23 <int-e> And they have a temper problem that doesn't help with communication at all.
14:35:03 <tuxcrafting> yeah, it seems like that
14:36:42 <int-e> 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 <int-e> s/that when/when/
14:37:20 <tuxcrafting> yeah
14:37:25 <int-e> 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 <tuxcrafting> it's impossible to directly convert a tm to a swapping tm but a minsky machine is pretty trivial
14:39:23 <arseniiv> 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 <arseniiv> also it’s one of the rare(?) Messier catalogue entities that don’t lists something unrelated to astronomy in google results
14:42:09 <arseniiv> “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 <b_jonas> ``` lists # arseniiv: well, "lists" is safer than "list"
15:05:51 <HackEso> bash: lists: command not found
15:06:04 <esowiki> [[Talk:Swapping Turing Machine]] M https://esolangs.org/w/index.php?diff=63325&oldid=63324 * A * (+361)
15:08:14 <int-e> ... heh I haven't seen this before (ghc/Haskell: Pattern match checker exceeded (2000000) iterations)
15:09:33 <b_jonas> int-e: what language extensions have you (or the code you're compiling) enabled?
15:09:39 <int-e> (but I also have not generated 150 random patterns for a single function before)
15:09:49 <int-e> b_jonas: just DeriveFunctor.
15:11:01 <int-e> But that's really not the problem. :)
15:13:46 <b_jonas> 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 <esowiki> [[Talk:Swapping Turing Machine]] https://esolangs.org/w/index.php?diff=63326&oldid=63325 * TuxCrafting * (+430) sigh
15:21:27 <tuxcrafting> "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 <arseniiv> o tempora o mores
15:27:42 <arseniiv> 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 <b_jonas> 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 <arseniiv> though this someone didn’t seem to criticise another common computability instrument, recursive functions, in such a way
15:29:19 <b_jonas> or we could use (0) as the model of computability. that was sort of its goal.
15:29:41 <b_jonas> some minor details like evaluation order have to be cleared up in its definition, but still
15:30:08 <arseniiv> though all three formalisms are perfectly suited to work with any inductive type, e. g. binary strings (as I have done in that eso YE<something>A)
15:30:40 <arseniiv> s/all three/all two latter
15:31:53 <arseniiv> <b_jonas> we need proper pointer machines with cons. => maybe! But your topic is more genuine than the aforementioned nonsense
15:33:09 <b_jonas> 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 <arseniiv> 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 <arseniiv> b_jonas: what details concern you?
15:34:32 <arseniiv> I could write something right here if I’ll understand the question
15:36:00 <b_jonas> 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 <b_jonas> but how do the loop builtins work?
15:36:45 <arseniiv> b_jonas: how are they interpreted, or how one can express loops with them?
15:36:49 <b_jonas> are they strange because it's modifying a definition that's trying to capture primitive recursion?
15:37:46 <b_jonas> one of the loop primitives is a counter loop, for primitive recursion, right?
15:37:51 <b_jonas> a general one that can pass any state
15:38:57 <b_jonas> and the other one, that tries to find a loop bound to break over primitive recursion?
15:39:00 <b_jonas> hmm
15:39:05 <b_jonas> that could work
15:39:10 <arseniiv> hmmm erm
15:40:40 <arseniiv> I couldn’t understand about general state… ah, or no, I did now
15:40:59 <b_jonas> general state as in you can propagate any number of local variables
15:41:00 <arseniiv> but the μ thingie directly corresponds to a while loop, yeah
15:41:10 <b_jonas> tail recursion style
15:41:33 <b_jonas> you can't break out early, so you need to work that around
15:41:41 <b_jonas> it's awkward in an esoteric way, but not really limiting
15:42:29 <b_jonas> but there's something that doesn't work here
15:42:42 <arseniiv> I thought, with μ, you can
15:42:52 <b_jonas> hmm
15:43:11 <arseniiv> it ceases iterating when that test function returns 0
15:43:18 <b_jonas> it doesn't have general state
15:43:22 <b_jonas> it can only propagate one number
15:43:25 <b_jonas> how is that enough?
15:43:29 <arseniiv> ah
15:43:31 <b_jonas> we don't have cons and decons operators
15:43:49 <b_jonas> (Amicus has them)
15:43:55 <b_jonas> (well no, it doesn't)
15:44:07 <b_jonas> (but it is defined in such a way that it doesn't need them)
15:44:37 <arseniiv> wait, didn’t I use an enhanced μ μself in Y…A? I’ll look
15:45:16 <arseniiv> ah, no
15:45:51 <arseniiv> it is enhanced by some margin, but not in such a way
15:46:17 <b_jonas> no I'm still trying to understand the for loop, not the other loop
15:47:40 <arseniiv> (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 <arseniiv> b_jonas: ah
15:48:00 <arseniiv> I think it’s more easy in recursive formulation
15:48:37 <arseniiv> you can write the result as a specially-constrained recursive definition by cases
15:50:55 <arseniiv> you probably know it already but let’s write some haskellish thing anyway:
15:51:27 <b_jonas> but the definition should give primitive recursive functions if you remove the general loop builtin
15:54:34 <b_jonas> arseniiv: ?
15:55:15 <arseniiv> rec z s = \x1 … xn → f where
15:55:15 <arseniiv> f Z = z
15:55:15 <arseniiv> 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 <arseniiv> so you probably recognize our friends Church and Scott (in my definition both, in the standard one it’s Church IIRC)
15:55:30 <arseniiv> b_jonas: here, I was typing :D
15:55:40 <b_jonas> hmm, let me look up this Y...A.
15:55:42 <arseniiv> so yeah, it does
15:56:02 <arseniiv> Y…A is more eso than is needed here, but https://esolangs.org/wiki/YEOOIIOOIOA
15:56:15 <arseniiv> and it’s for strings, not naturals
15:56:55 <arseniiv> so here are more constructors, more recursion cases and more unneeded trouble in defining μ
15:57:25 <b_jonas> right, that makes it easier
15:57:46 <b_jonas> 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 <b_jonas> 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 <arseniiv> 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 <arseniiv> b_jonas: you mean, no way to make/unmake tuples not using rec itself?
15:59:52 <b_jonas> arseniiv: I dunno, maybe there is some way to make/unmake tuples with rec, which would solve this problem
16:00:00 <b_jonas> but then I don't know how to do that
16:00:07 <arseniiv> in my case, well, you can return multiple results, I’ve seen to that :D
16:00:50 <b_jonas> 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 <arseniiv> I think in standard texts (with naturals) they use Cantor pair encoding, implementing it on many pages step by step
16:01:25 <arseniiv> my flavor also has consing
16:01:29 <b_jonas> 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 <arseniiv> oh why, even standard one has deconsing: projections
16:02:01 <b_jonas> no
16:02:04 <b_jonas> you don't have an apply
16:02:05 <arseniiv> b_jonas: of course :D
16:02:18 <arseniiv> why
16:03:00 <arseniiv> hm I seem to be too far in the clouds maybe
16:03:25 <arseniiv> let’s state remaining problems in a more concrete terms
16:04:25 <arseniiv> (and I agree to discuss the standard case without function concats and many-valued rec, yeah)
16:04:53 <b_jonas> 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 <b_jonas> but this needs to pass the values of multiple variables to the next iteration
16:05:20 <b_jonas> rec doesn't let you do that, it only lets you pass one variable to the next iteration that can change
16:05:33 <b_jonas> it lets you pass any number of constants that don't change through the loop, but that's not enough
16:05:43 <arseniiv> yeah, this I got
16:05:57 <arseniiv> so we are to implement consing and unconsing
16:06:01 <b_jonas> so my question is, how do you translate a Bloop for loop to that awkward old definition of primitive recursive?
16:06:59 <b_jonas> 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 <b_jonas> this is tuple cons and decons by the way
16:08:10 <b_jonas> but it's easy to get maybes too
16:09:33 <b_jonas> because the language is weakly typed, the tuple is of the same type as the numbers
16:09:45 <arseniiv> 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 <b_jonas> this totally sounds like an esoteric language, so it would be nice to have a description on the wiki
16:11:07 <arseniiv> there aren’t?
16:11:18 <arseniiv> but as you can see, there are flavors to it
16:12:35 <arseniiv> 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 <b_jonas> the variant with that stupid rec
16:13:07 <b_jonas> that has this problem
16:13:30 <b_jonas> admittedly I didn't even try to describe why 1.1 is turing-complete or how to program it either
16:13:37 <arseniiv> 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 <arseniiv> <b_jonas> the variant with that stupid rec > ah
16:14:03 <arseniiv> maybe if there aren’t any, I could address that
16:14:13 <arseniiv> but first I’ll write it here
16:14:42 <arseniiv> about cantor things. I still haven’t found formulas, can’t remember what they are named
16:15:10 <arseniiv> <b_jonas> 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 <arseniiv> (I don’t remember if it has revisions)
16:15:34 <b_jonas> no
16:15:37 <b_jonas> the language called 1.1
16:15:50 <b_jonas> the string replacement one
16:16:01 <arseniiv> ah, I haven’t heard about that one yet I think
16:17:37 <arseniiv> an interesting enhancement of bare Markov algorithms, I see
16:18:02 <b_jonas> wait, what are bare Markov algorithms?
16:18:28 <b_jonas> is that yet another model?
16:18:47 <b_jonas> I thought this was a Chomsky stuff, not a Markov stuff
16:18:53 <b_jonas> Chomsky class 3 languages or something
16:19:23 <arseniiv> (sorry, cont.) and I didn’t know he stated them in that enhanced way
16:20:05 <arseniiv> 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 <b_jonas> no, probably didn't
16:20:21 <b_jonas> I think the Chomsky class 3 is more like the bare Markov algorithms
16:20:24 <arseniiv> the latter one, if succeed, finish the computation
16:20:31 <b_jonas> 1.1 differs from them in that it has a finite control with an instruction pointer
16:20:39 <b_jonas> with each instruction doing a string search and replacement
16:20:43 <b_jonas> like sed with the s and t commands
16:21:32 <b_jonas> except, you know, without the capture features, so it's much more ugly to swap strings
16:21:51 <arseniiv> though, do Chomsky classes correspond to computational formalisms directly?
16:22:00 <b_jonas> yes
16:22:17 <arseniiv> I don’t know how to turn a grammar to a function :/
16:23:31 <b_jonas> 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 <b_jonas> no wait
16:24:09 <b_jonas> is it every recursively enumerable language?
16:24:12 <b_jonas> I don't really know
16:26:39 <arseniiv> b_jonas: inverting cantor looks painful: https://en.wikipedia.org/wiki/Pairing_function#Inverting_the_Cantor_pairing_function
16:26:56 <arseniiv> a radical’s in there
16:27:06 <arseniiv> and a floor not directly after it
16:27:46 <arseniiv> so maybe someone needs to look up if it’s done in a simpler way (and still without μ)
16:27:52 <b_jonas> 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 <arseniiv> 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 <arseniiv> but not a big pain, and others are more or less nice afterwards
16:31:26 <b_jonas> arseniiv: you don't even need general division and modulo, just divison and modulo by a constant
16:31:46 <arseniiv> <b_jonas> and is probably also historically impossible => why?
16:31:47 <b_jonas> hmm, I should create an index page for Donald Knuth on the wiki, pointing to the languages he's created
16:32:05 <arseniiv> b_jonas: nice idea!
16:32:11 <b_jonas> 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 <arseniiv> we can implement that other one with one multiplicative counter
16:35:24 <arseniiv> 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 <arseniiv> it *still* translated quite nicely, I mean
16:36:54 <arseniiv> also the translation generalizes nicely to other inductive types, modulo the stuff about μ (lexicographic iteration seems not so simple to implement)
16:39:09 <arseniiv> 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 <esowiki> [[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 <b_jonas> `quote Knuth
16:41:50 <HackEso> 1318) <ais523> 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 <arseniiv> hooray :)
16:48:54 <int-e> I'm reminded of https://www-cs-faculty.stanford.edu/~knuth/programs/tpk.i somehow
16:49:43 <int-e> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> the implementation in a reasonable language that already has 32-bit arithmetic fits in an irc line
16:59:05 <b_jonas> well, provided it also has arrays
16:59:28 <b_jonas> 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 <arseniiv> b_jonas: I’m writing a haskellish bare primitive recursive formalism definition and there is a certain dilemma in description:
18:38:14 <arseniiv> (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 <arseniiv> (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 <arseniiv> (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 <arseniiv> which one you’d prefer?
18:39:04 <arseniiv> this would be a stable definition to use later anyplace
18:41:43 <arseniiv> <arseniiv> 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 <arseniiv> s/easiest/easier
18:46:50 -!- Sgeo__ has joined.
18:50:16 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
18:53:09 <b_jonas> 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 <arseniiv> 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 <arseniiv> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> or passing the list forward to another functino
19:08:53 <b_jonas> this isn't entirely true, but close enough
19:09:21 <arseniiv> b_jonas: should we make this to the old rusty recursive formalism, though?
19:09:25 <arseniiv> s/make/do
19:09:48 <arseniiv> wouldn’t it complicate some proofs
19:09:51 <b_jonas> I don't know, I'm not trying to design a language here, just understand why that old definition works
19:10:00 <b_jonas> and that one doesn't work this way
19:11:08 <arseniiv> 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 <arseniiv> 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 <arseniiv> we could write “… where f … z′ … s′ …; z′ = z x1 … xn; s′ = s x1 … xn”
19:35:26 <b_jonas> oh! non-ascii primes
19:36:06 <arseniiv> hm, no, it’s still better as f is pre-applied
19:36:17 <arseniiv> b_jonas: I love them″
19:36:29 <arseniiv> they are nicer in big font sizes
19:40:36 <esowiki> [[(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 <esowiki> [[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 <b_jonas> `? superexponential growth
20:30:43 <HackEso> Superexponential growth? SUPEREXPONENTIAL GROWTH?! HOLY CRAP!!!
20:31:58 <b_jonas> ``` cat wisdom/superd*h
20:31:59 <HackEso> Superduperexponential growth is exponential growth on top of exponential growth.
20:32:19 <b_jonas> ``` cat wisdom/superd*l
20:32:20 <HackEso> Superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal is where mroman lives.
20:32:22 <b_jonas> strange
20:34:35 <b_jonas> ``` cat wisdom/superc*h
20:34:36 <HackEso> Supercalifragilisticexponential growth leaves Graham's number in the dust.
20:43:28 <b_jonas> 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 <b_jonas> `? mroman
20:49:24 <HackEso> 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 <int-e> 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 <kmc> it's too fuckn hot today
21:19:15 <kmc> 95°F
21:26:36 <fizzie> @metar EGLL
21:26:37 <lambdabot> EGLL 102120Z AUTO 01007KT 340V050 4100 RA SCT009/// BKN014/// //////CB 11/11 Q1011 TEMPO BKN009
21:26:59 <fizzie> Very ///.
21:28:45 <b_jonas> `ctof 25
21:28:46 <HackEso> 25.00°C = 77.00°F
21:29:01 <b_jonas> ^ It's that temperature here, but that's late in the evening
21:29:06 <b_jonas> it was hotter during the day
21:32:54 -!- arseniiv_ has joined.
21:33:30 <fizzie> It's been about 11-13 °C the whole day, and raining.
21:33:42 <b_jonas> is that in the UK?
21:33:47 <fizzie> Yes.
21:33:57 <fizzie> There's also an amber warning in place.
21:33:58 <fizzie> "Flooding and transport disruption likely from heavy rain in southeast England during Monday afternoon and evening."
21:34:10 <b_jonas> we've had yellow warnings for like two weeks now
21:34:17 <b_jonas> for thunderstorms
21:34:22 <b_jonas> almost every day
21:34:30 <b_jonas> let me check what the latest is
21:35:52 <fizzie> I usually check blitzortung.org for thunderstorms.
21:36:12 -!- arseniiv has quit (Ping timeout: 272 seconds).
21:36:38 <b_jonas> oh, now it's heat warnings
21:37:09 <b_jonas> yellow heat warnings for tomorrow and wednesday, orange for thursday
21:37:34 <b_jonas> orange means daily average likely over 27°C
21:38:08 <b_jonas> 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 <FireFly> we're having pretty nice days up here
21:39:40 <FireFly> 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 <kmc> @metar KSFO
22:02:17 <lambdabot> KSFO 102156Z VRB03KT 10SM BKN200 35/13 A2996 RMK AO2 SLP145 T03500128
22:22:58 <arseniiv_> against rule-gaming, this clause from ProofWiki ToS seems reasonable:
22:23:02 <arseniiv_> > > 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 <lambdabot> <hint>:1:1: error: parse error on input ‘>’
22:23:06 -!- arseniiv_ has changed nick to arseniiv.
22:23:23 <arseniiv> @botsnack sorry buddy
22:23:24 <lambdabot> :)
22:25:11 <arseniiv> 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 <b_jonas> arseniiv: I really only asked for division by a constant integer, so that's not too important to me
22:37:27 <b_jonas> but sure
22:39:25 <arseniiv> b_jonas: I thought implementing multiplicative Minsky machine would be nice
22:41:11 <arseniiv> I have just finished writing floordiv, though nothing yet is tested
22:41:22 <b_jonas> 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 <b_jonas> for that old defn of primitive recursive that is
22:44:47 <arseniiv> 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 <arseniiv> oh I swapped the arguments
22:46:59 <arseniiv> “m is divisible by 0”, it should be
22:48:40 <arseniiv> 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 <arseniiv> hm I think we will need cons after all
22:55:03 <arseniiv> 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 <arseniiv> poor me
22:56:57 <arseniiv> 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 <ais523> 0 is the only number that's divisible by 0
23:20:09 <ais523> 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 <ais523> because they're important to avoid needing to write edge cases manually
23:20:31 <ais523> on similar reasoning, 0/0 = _
←2019-06-09 2019-06-10 2019-06-11→ ↑2019 ↑all