00:01:25 <zzo38> kmc: There is ways to force a maximum stack size, such as what I did in Free Hero Mesh (there is a user setting for the maximum stack size and the direction of the stack, and then any recursive functions will check that limit, and functions that are not recursive do not check the stack size).
00:10:19 <shachaf> gcc has a flag to give you stack size information
00:10:43 <shachaf> But I want to statically check the depth in every case.
00:10:54 <shachaf> Maybe I should just ban recursive functions.
00:11:02 <shachaf> What are they good for, anyway?
00:11:33 <zzo38> There is many thing that it is good for, I think, although also there is many cases where it is better to not use it.
00:11:35 <shachaf> I guess some code is much easier to write with recursion but it tends to be rare.
00:12:13 <shachaf> I suppose "trees" is pretty broad.
00:12:40 <kmc> often it's easiest to write with recursion, but you end up doing it another way for some reason or another
00:12:46 <kmc> of course in many cases that just means reifying the stack
00:12:50 <kmc> and you will have the same issues
00:14:31 <shachaf> but more control over what to do
00:14:55 <kmc> but it won't magically give you a bound on space
00:15:14 <zzo38> I think the best way to design it is, you have enough ropes to hang yourself, and also a few more just in case
00:15:45 <kmc> i want to add that to the quote db but I don't remember how
00:15:46 <shachaf> I mean, you can just check the bound instead of getting a stack overflow.
00:16:04 <shachaf> You can allocate your reified stack in a difference place from "the stack"
00:17:42 <kmc> yes, that is one advantage
00:17:46 <kmc> it can grow and move on its own
00:17:55 <kmc> and it's easier to check, yes
00:18:01 <kmc> stack overflow is usually one of the worst handled error conditions
00:20:08 <zzo38> Did you look how it is implemented in Free Hero Mesh, if you think the handling of stack overflow is reasonable?
00:21:03 <zzo38> (it is only implemented if __GNUC__ is defined, and if it is enabled at runtime; otherwise stack overflow is not checked)
00:22:16 <shachaf> Also you might have a very small stack because you're doing some (stack-switching) coroutine thing.
00:22:52 <shachaf> Or you could want to do a non-stack-switching coroutine thing where you effectively reify part of the stack.
00:22:57 <shachaf> Where you is the compiler.
00:23:08 <shachaf> I didn't look at Free Hero Mesh.
00:25:37 <zzo38> Currently, the stack protection is only checked in the execute_program() function (in exec.c); later if other recursive functions are added then those also might do, such as the function to move an object in a direction (due to objects pushing each other, this call is going to be recursive). The definition of execute_program() starts with: if(StackProtection()) Throw("Call stack overflow");
00:26:27 <zzo38> where Throw is a macro defined in exec.c (which writes the address of the string literal to a global variable, and then calls longjmp()), and StackProtection is a macro defined in heromesh.h
00:39:17 <esowiki> [[Examinable Invocation Vector]] N https://esolangs.org/w/index.php?oldid=62350 * Hakerh400 * (+3843) Examinable Invocation Vector
00:40:44 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=62351&oldid=62022 * Hakerh400 * (+35) Added EIV to the language list
00:44:09 <shachaf> Man, trees are kind of scow for caches.
00:44:35 <shachaf> What's an ordered set/map data structure that's cache-friendly?
00:49:06 <zzo38> Is there something like OpenID over SASL, that does not require a web browser or any other implementation other than SASL?
01:14:07 <esowiki> [[Thue]] https://esolangs.org/w/index.php?diff=62352&oldid=60452 * Mipinggfxgbtftybfhfyhfn * (+296) /* Sample programs */
01:20:19 <esowiki> [[Thue]] https://esolangs.org/w/index.php?diff=62353&oldid=62352 * Mipinggfxgbtftybfhfyhfn * (+65) /* Sample programs */
01:23:06 <esowiki> [[Thue]] M https://esolangs.org/w/index.php?diff=62354&oldid=62353 * Mipinggfxgbtftybfhfyhfn * (-1) /* Sample programs */
01:24:14 <esowiki> [[Thue]] https://esolangs.org/w/index.php?diff=62355&oldid=62354 * Mipinggfxgbtftybfhfyhfn * (+0) /* Sample programs */
01:25:23 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62356&oldid=62337 * A * (-245) /* History or Etymology */
01:27:50 -!- Sgeo__ has joined.
01:30:39 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
01:37:35 <weston> !zjoust Sookie ->+>+[+][[---][+]]<+[+]+[-][+[-]]+++++>-[+][+[+][+[+][>]>>-]]<[->[->>>>>>>>>++[-]>++[-]>>++[<]>>[-]>++[-]>++[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[+]->[-]][]<[+++++<->>--<<+++.++>>-<++[>[.+][+[-.][--]->+++]++>--<]<[+]]>>]<[[+][+]>]+[>[>>>>>>>>>[-]>[+]>[++++]]>>>+]
01:38:13 <zemhill_______> weston.Sookie: points -46.00, score 0.00, rank 47/47 (-46)
01:38:56 -!- westonian has joined.
01:40:32 <westonian> !zjoust Sookie ->+>+[+][[---][+]]<+[+]+[-][+[-]]+++++>-[+][+[+][+[+][>]>>-]]<[->[->>>>>>>>>++[-]>++[-]>>++[<]>>[-]>++[-]>++[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[+]->[-]][]<[+++++<->>--<<+++.++>>-<++[>[.+][+[-.][--]->+++]++>--<]<[+]]>>]<[[+][+]>]+[>[>>>>>>>>>[-]>[+]>[++++]]>>>+]
01:40:32 <zemhill_______> westonian.Sookie: points 9.60, score 53.37, rank 1/47 (+2)
01:42:43 -!- weston has quit (Ping timeout: 256 seconds).
01:47:15 -!- westonian has quit (Ping timeout: 256 seconds).
01:48:03 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=62357&oldid=62213 * A * (+51) /* Impossible */
01:57:43 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62358&oldid=62356 * A * (+11) /* Sketch: A RAM Machine */
01:58:01 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62359&oldid=62358 * A * (+11) /* Sketch: A RAM Machine */
02:12:11 -!- iconmaster has joined.
02:12:18 -!- iconmaster has quit (Client Quit).
02:19:34 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62360&oldid=62359 * A * (+4) /* Sketch: A RAM Machine */
03:00:08 <esowiki> [[Bitch]] M https://esolangs.org/w/index.php?diff=62361&oldid=62357 * A * (+177) /* Swapping two values */
03:31:01 -!- FreeFull has quit.
03:45:45 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=62362&oldid=62258 * RealUndefined * (+155) turing-complete
03:47:14 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=62363&oldid=62362 * RealUndefined * (+0)
03:51:50 -!- adu has quit (Quit: adu).
04:18:26 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=62364&oldid=62363 * RealUndefined * (+16) redirect in abbreviation added
04:18:35 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=62365&oldid=62364 * RealUndefined * (+4) Redirected page to [[TMBWW]]
04:18:48 <esowiki> [[Turing Machine But Way Worse]] M https://esolangs.org/w/index.php?diff=62366&oldid=62365 * RealUndefined * (-20) nope.
04:21:36 <esowiki> [[TMBWW]] N https://esolangs.org/w/index.php?oldid=62367 * RealUndefined * (+42) Add redirect
04:36:47 -!- tromp has joined.
04:40:39 <esowiki> [[Bit~]] N https://esolangs.org/w/index.php?oldid=62368 * RealUndefined * (+969) Created page with "{{lowercase}} ''Note: This is still a work-in-progress.'' '''bit~''' is a language made by [[User:RealUndefined]], in May 2019. It is a cell-based language that uses bits to..."
04:41:14 -!- tromp has quit (Ping timeout: 252 seconds).
04:42:07 <esowiki> [[Bit~]] https://esolangs.org/w/index.php?diff=62369&oldid=62368 * RealUndefined * (+24)
04:54:53 -!- Frater_EST has joined.
05:06:22 -!- Frater_EST has left.
05:31:04 -!- tromp has joined.
05:35:35 -!- tromp has quit (Ping timeout: 258 seconds).
05:54:03 -!- nfd has quit (Ping timeout: 248 seconds).
06:33:10 <esowiki> [[Shark]] M https://esolangs.org/w/index.php?diff=62370&oldid=62349 * Madk * (+5) Use clearer terminoloy
06:38:45 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=62371&oldid=62351 * Madk * (+12) /* S */ Add shark to list
07:14:16 <zzo38> Make some Magic: the Gathering cards that are world, and that in addition to continuous effects will also have a death trigger. In addition to global enchantments, other permanent types are also possible.
07:19:01 -!- tromp has joined.
07:23:39 -!- tromp has quit (Ping timeout: 248 seconds).
07:28:36 -!- tromp has joined.
07:47:14 -!- sebbu3 has joined.
07:51:13 -!- sebbu has quit (Ping timeout: 258 seconds).
08:05:25 -!- Ezarkei has joined.
08:21:24 -!- Ezarkei has quit (Read error: Connection reset by peer).
08:42:36 -!- AnotherTest has joined.
09:14:30 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=62372&oldid=60568 * Hakerh400 * (+35) /* Programming languages we created */
09:21:10 -!- atslash has joined.
10:04:00 -!- pikhq has quit (Ping timeout: 246 seconds).
10:17:20 <esowiki> [[Examinable Invocation Vector]] https://esolangs.org/w/index.php?diff=62373&oldid=62350 * Hakerh400 * (+703) /* Examples */
10:18:15 <esowiki> [[Examinable Invocation Vector]] https://esolangs.org/w/index.php?diff=62374&oldid=62373 * Hakerh400 * (+37) /* Reversing bits */
10:31:14 <esowiki> [[Examinable Invocation Vector]] M https://esolangs.org/w/index.php?diff=62375&oldid=62374 * Hakerh400 * (+3) /* Repeat the first character three times */
10:48:42 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
10:49:58 -!- Lord_of_Life has joined.
10:53:54 -!- unlimiter has joined.
10:58:29 -!- unlimiter has quit (Client Quit).
11:04:02 -!- gerzytet has quit (Ping timeout: 258 seconds).
11:15:17 -!- arseniiv has joined.
12:07:05 <esowiki> [[Shark]] M https://esolangs.org/w/index.php?diff=62376&oldid=62370 * Madk * (-2) Fibonacci sequence starts with 0, 1 not 1, 1
12:27:23 <esowiki> [[Cd]] N https://esolangs.org/w/index.php?oldid=62377 * A * (+115) Created page with "[[Cd]] is an [[esoteric programming language]]. [[Category:2019]] [[Category:Languages]] [[Category:Unimplemented]]"
12:51:25 <esowiki> [[Cd]] M https://esolangs.org/w/index.php?diff=62378&oldid=62377 * A * (+557)
13:05:23 <esowiki> [[User:TonyBrown148]] https://esolangs.org/w/index.php?diff=62379&oldid=61647 * TonyBrown148 * (+180)
14:24:06 -!- sebbu3 has changed nick to sebbu.
15:40:46 -!- FreeFull has joined.
16:12:12 <zzo38> shachaf: Wizards of the Coast no longer makes cards using it (same with banding and many other stuff), but still it can be done by unofficial cards
16:55:49 -!- AnotherTest has quit (Ping timeout: 250 seconds).
16:56:03 -!- pikhq has joined.
16:56:28 -!- AnotherTest has joined.
16:59:37 <esowiki> [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62380&oldid=62360 * Helen * (+415) /* Impossible */ [[Bootstrap]] isn't impossible
17:05:26 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=62381&oldid=62361 * Helen * (-889) /* Impossible */ Cleaned up; Removed bootstrapping comment; Removed some dumb stuff of mine; The pi comment is still valid; Unproven things go in [[bitch#Unproven|Unproven]]
17:05:54 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=62382&oldid=62381 * Helen * (+116) /* Unproven */ Unproven things go in [[bitch#Unproven|Unproven]] #2
17:35:15 -!- pikhq has quit (Ping timeout: 268 seconds).
17:41:35 -!- pikhq has joined.
19:08:51 <zzo38> I would want some stack switching support in JavaScript. (It can help with some things combining synchronous and asynchronous code, and has a few other uses.)
19:17:46 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62383&oldid=62380 * Helen * (+240) Added a notice at the top to not to delete things
19:28:18 <esowiki> [[Bitch]] M https://esolangs.org/w/index.php?diff=62384&oldid=62382 * Helen * (-24) /* Unproven */ Removed [[99 bottles of beer]] as that has been done
20:06:39 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=62385&oldid=62384 * Salpynx * (-3) Correct memory system
20:11:17 -!- AnotherTest has quit (Ping timeout: 252 seconds).
20:38:49 <esowiki> [[User talk:Sinthorion]] N https://esolangs.org/w/index.php?oldid=62386 * Camto * (+60) Created page with "Hello it's me. ~~~~"
20:40:31 -!- S_Gautam has joined.
21:05:53 -!- unlimiter has joined.
21:11:36 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=62387&oldid=60822 * Cortex * (+0) /* Print "Hello, World!QHQQHQ" */
21:17:54 -!- unlimiter has quit (Quit: WeeChat 2.4).
21:40:00 <shachaf> Bands With Other deprecated cards
21:41:11 -!- john_metcalf has left.
21:49:23 <zzo38> Then you will define "deprecated cards" properly (or just make Un-cards and don't care)
21:59:13 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
21:59:29 -!- Lord_of_Life has joined.
22:05:58 -!- MDude has quit (Ping timeout: 268 seconds).
22:08:07 -!- sleepnap has joined.
22:34:13 -!- sleepnap has quit (Ping timeout: 245 seconds).
23:03:47 -!- tromp has quit (Remote host closed the connection).
23:27:32 -!- sleepnap has joined.
23:33:48 -!- MDude has joined.
23:39:23 -!- tromp has joined.
23:44:08 -!- tromp has quit (Ping timeout: 252 seconds).