←2019-01-29 2019-01-30 2019-01-31→ ↑2019 ↑all
00:02:10 -!- Hoolootwo has changed nick to Hooloovo0.
00:02:51 <fizzie> oerjan: Aw, that's sucky. I could convert the anchors not to rely on case, but the whole point of them was to be permalinks, and that would invalidate all existing ones.
00:03:34 <b_jonas> fizzie: by the way, are you working under such an NDA that doesn't allow you to tell your friends whether you're working in the pharma research division or the military research division?
00:03:44 <TheKing01> In particular, I imagine
00:04:00 <TheKing01> that you could make the language like Muriel by having it reprogram itself.
00:04:10 <fizzie> b_jonas: Not as far as I know, but I'm no legal expert and it's not like I've had a look at my employment contract since starting.
00:04:22 <b_jonas> you'd know if you were
00:04:39 -!- unc00l has joined.
00:05:06 <b_jonas> I've met someone who could explicitly tell that they were working on something related to the Chrome browser, and someone who was under such a strict NDA that they couldn't tell what they were working on
00:05:17 <b_jonas> so I think both kinds of jobs exist at Google
00:05:27 <fizzie> Well, Chrome's open source, all the commits are out there in public. It'd be hard to hide that.
00:05:46 <b_jonas> fizzie: yeah
00:06:35 <fizzie> I've gotten the impression that I can mention I'm working on the Android search app, which is pretty benign, modulo all those concerns about consumer choice and whatnot that are well outside my scope.
00:07:39 <b_jonas> good to know
00:08:38 <TheKing01> Or a logic programming language where you get kicked if you add a contradiction.
00:09:23 <imode> the interpreter just closes on you lmao.
00:09:27 <imode> "I'm out, later B."
00:10:24 -!- b_jonas has quit (Quit: leaving).
00:10:50 <TheKing01> I mean it would kick you from this IRC channel.
00:10:53 -!- unc00l has quit (Remote host closed the connection).
00:11:40 <oerjan> TheKing01: are you familiar with the Vigil language
00:12:58 <TheKing01> Just looked it up. Looks funny.
00:15:53 <TheKing01> Do we got any bots here?
00:16:19 <oerjan> fungot: do you see any bots?
00:16:19 <fungot> oerjan: i have, the loss fnord report may have missed the point, bisphosphonates, and i would be more than happy, to debate the government have
00:16:49 <oerjan> `? bots
00:16:50 <HackEso> bots? ¯\(°​_o)/¯
00:17:02 <fizzie> `` prefixes # that's a little like a bot list
00:17:04 <HackEso> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
00:17:12 <fizzie> That might be a little stale.
00:17:19 <oerjan> a tiny bit
00:18:05 <oerjan> hm
00:18:34 <oerjan> `slwd prefixes//s,Ego,Eso,
00:18:35 <HackEso> prefixes//Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
00:18:55 <oerjan> ^show prefixes
00:18:55 <fungot> (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .)S
00:19:31 <oerjan> ^def prefixes ul (Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .)S
00:19:32 <fungot> Defined.
00:19:41 <fizzie> It's a happy coincidence those parens go that way.
00:20:08 <oerjan> not really, i explicitly suggested jconn use ) just to get it that way
00:20:44 <oerjan> before that i used bf_txtgen
00:20:59 <oerjan> (^save ?)
00:21:39 <fizzie> ^save
00:21:39 <fungot> OK.
00:21:48 <oerjan> thanks
00:22:41 <oerjan> make that bf_txtgen + the ^str commands. awkward times.
00:24:35 -!- TheKing01 has quit (Quit: has left the premise).
00:25:18 -!- oerjan has quit (Quit: Nite).
00:25:59 -!- TheKing01 has joined.
00:26:19 <TheKing01> ^deadfish i;
00:29:41 <kmc> google has a pharma research division?
00:30:13 <imode> honestly would _not_ be surprised.
00:30:34 <fizzie> There's https://en.wikipedia.org/wiki/Verily if it counts.
00:30:45 <fizzie> It's a separate bet now, though.
00:32:04 <fizzie> And https://en.wikipedia.org/wiki/Calico_(company) as well.
00:33:54 -!- dauie_ has joined.
00:38:36 -!- TheKing01 has quit (Ping timeout: 272 seconds).
00:43:40 <shachaf> calico cats are tg
01:42:08 -!- arseniiv has quit (Ping timeout: 246 seconds).
02:38:42 -!- FreeFull has quit.
02:39:05 <esowiki> [[Template:Frac]] N https://esolangs.org/w/index.php?oldid=59522 * Cortex * (+37) Created page with "<sup>{{{1}}}</sup>/<sub>{{{2}}}</sub>"
02:48:38 -!- Sgeo_ has quit (Read error: Connection reset by peer).
02:51:58 -!- Sgeo has joined.
03:20:19 <esowiki> [[2/9 of an esolang]] N https://esolangs.org/w/index.php?oldid=59523 * Cortex * (+1340) Created page with "'''2/9 of an esolang''' is an esolang made by [[User:Cortex|]] in order to make doing anything relatively easy, but long-winded and inconvenient. == Syntax == Every line of c..."
03:21:09 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=59524&oldid=59445 * Cortex * (+52)
03:22:02 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=59525&oldid=59355 * Cortex * (+51)
03:38:53 -!- dauie_ has quit (Ping timeout: 268 seconds).
03:51:01 -!- TheKing01 has joined.
04:05:03 -!- imode has quit (Ping timeout: 245 seconds).
04:38:01 -!- Sgeo has quit (Read error: Connection reset by peer).
04:38:26 -!- Sgeo has joined.
04:39:46 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:40:08 -!- TheKing01 has quit (Ping timeout: 250 seconds).
04:56:37 -!- TheKing01 has joined.
05:42:01 -!- nfd9001 has joined.
05:47:27 -!- imode has joined.
05:50:32 <esowiki> [[2/9 of an esolang]] https://esolangs.org/w/index.php?diff=59526&oldid=59523 * Ais523 * (+319) how can I resist an invitation like that? I picked two instructions which probably make the language TC (although I haven't actually checked if they do), and have clear but long-winded uses in translating more normal code
06:26:18 -!- TheKing01 has quit (Ping timeout: 245 seconds).
06:52:25 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59527&oldid=59519 * A * (+542) /* Hello World! */
06:56:11 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59528&oldid=59527 * A * (+233) /* Control structures */
06:58:40 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59529&oldid=59528 * A * (+157) /* Goto statement */
07:02:14 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59530&oldid=59529 * A * (+336) /* while */
07:06:50 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59531&oldid=59530 * A * (+223) /* =for loop */
07:10:13 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59532&oldid=59531 * A * (+212) /* Setting variables */
07:21:57 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59533&oldid=59532 * A * (+425) /* Turing-completeness */
07:22:12 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59534&oldid=59533 * A * (+0) /* Turing-completeness */
07:25:47 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59535&oldid=59534 * A * (+224) /* do..while and do..until loop */
07:26:18 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59536&oldid=59535 * A * (+29) /* Turing-completeness */
07:26:58 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59537&oldid=59536 * A * (+9) /* Turing-completeness */
07:32:15 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59538&oldid=59537 * A * (+187)
07:41:27 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59539&oldid=59538 * A * (+566) /* Functions */
07:43:45 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59540&oldid=59539 * A * (+236) /* Functions */
07:44:10 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59541&oldid=59540 * A * (+33) /* Turing-completeness */
07:47:08 -!- Melvar has quit (Ping timeout: 245 seconds).
07:51:00 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59542&oldid=59541 * A * (+459) /* Functions */
07:53:47 -!- imode has quit (Ping timeout: 244 seconds).
07:53:58 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59543&oldid=59542 * A * (+121) /* Setting variables */
07:58:52 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59544&oldid=59543 * A * (+512) /* Objects */
08:00:57 -!- Melvar has joined.
08:02:29 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59545&oldid=59544 * A * (+358) /* The powerful "thing" library */
09:16:18 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59546&oldid=59545 * A * (+131) /* The powerful "thing" library */
09:19:07 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59547&oldid=59546 * A * (+211) /* Other operators */
09:20:49 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59548&oldid=59547 * A * (+84) /* Other operators */
09:22:08 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59549&oldid=59548 * A * (+55) /* Other operators */
09:25:28 <esowiki> [[Talk:Difficult]] https://esolangs.org/w/index.php?diff=59550&oldid=59521 * A * (+49)
09:27:14 <esowiki> [[Talk:Difficult]] https://esolangs.org/w/index.php?diff=59551&oldid=59550 * A * (+93) Add something
09:28:17 <esowiki> [[Talk:Difficult]] https://esolangs.org/w/index.php?diff=59552&oldid=59551 * A * (+26)
09:28:56 <esowiki> [[Talk:Difficult]] https://esolangs.org/w/index.php?diff=59553&oldid=59552 * A * (+18)
09:29:39 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59554&oldid=59549 * A * (+4) commenting is better.
09:31:05 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59555&oldid=59554 * A * (+79)
09:35:41 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59556&oldid=59555 * A * (+201) /* Macros */
09:35:49 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59557&oldid=59556 * A * (+1) /* =Dynamic macros */
09:38:19 <esowiki> [[Talk:Difficult]] https://esolangs.org/w/index.php?diff=59558&oldid=59553 * A * (-135)
09:48:51 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59559&oldid=59557 * A * (+257) /* Documentation */
10:00:15 -!- AnotherTest has joined.
10:19:46 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59560&oldid=59559 * A * (+375) Add an undone list
10:24:54 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59561&oldid=59560 * A * (+4) /* Undone list */
10:27:18 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59562&oldid=59561 * A * (-15)
10:27:36 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59563&oldid=59562 * A * (-1) /* Hello World! */
10:29:52 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59564&oldid=59563 * A * (+135) /* Hello World! */
10:30:34 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59565&oldid=59564 * A * (+28) /* Unfinished list */
10:31:43 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59566&oldid=59565 * A * (+24) /* Unfinished list */
10:32:06 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59567&oldid=59566 * A * (+0) /* Unfinished list */
10:35:20 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59568&oldid=59567 * A * (+158) /* The powerful "thing" library */
10:35:59 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59569&oldid=59568 * A * (+12) /* Unfinished list */
10:39:13 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59570&oldid=59569 * A * (+2) /* Self-modification */
10:56:01 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59571&oldid=59570 * A * (-169) /* The powerful "thing" library */
10:56:19 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59572&oldid=59571 * A * (-10) /* The powerful "thing" library */
11:05:10 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59573&oldid=59572 * A * (+0) /* Other operators */
11:10:35 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59574&oldid=59573 * A * (+126) /* Self-modification */
11:11:09 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59575&oldid=59574 * A * (+12) /* Unfinished list */
11:16:43 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59576&oldid=59575 * A * (+171) /* Objects */
11:19:08 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59577&oldid=59492 * A * (+69) /* Decimal */
11:21:22 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59578&oldid=59066 * A * (+77) /* CopyPasta Language */
11:23:49 -!- wob_jonas has joined.
11:24:22 <wob_jonas> oerjan: IIRC the trick wasn't that jconn would use that parenthesis, it already did, but that you kept jconn in that list even when its hoster no longer ran it
11:27:20 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59579&oldid=59576 * A * (+50) /* Setting variables */
11:32:36 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59580&oldid=59579 * A * (+70) /* Setting variables */
11:32:55 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59581&oldid=59580 * A * (+17) /* Other operators */
11:33:19 <wob_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20190129.html
11:33:20 <HackEso> bobadventureslist http://bobadventures.comicgenesis.com/d/20190129.html: b_jonas
11:36:54 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59582&oldid=59581 * A * (+31) /* Other operators */
11:39:10 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
11:42:32 -!- Lord_of_Life has joined.
11:43:07 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59583&oldid=59578 * A * (+553) /* Code pointer */
11:43:19 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59584&oldid=59583 * A * (+1) /* =Difficult */
11:46:26 -!- atslash has quit (Ping timeout: 240 seconds).
11:46:49 -!- atslash has joined.
11:50:50 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=59585&oldid=59295 * A * (+354) /* Deadfish */
11:51:51 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59586&oldid=59584 * A * (+84) /* Difficult */
11:57:41 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59587&oldid=59491 * A * (+169) /* Definer */
11:58:42 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59588&oldid=59587 * A * (+53) /* Difficult */
11:59:45 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59589&oldid=59588 * A * (+111) /* Difficult */
12:00:55 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59590&oldid=59586 * A * (+6) /* Difficult */
12:01:48 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59591&oldid=59582 * A * (+60) /* The powerful "thing" library */
12:02:36 <esowiki> [[List of quines]] https://esolangs.org/w/index.php?diff=59592&oldid=59590 * A * (+0) Problems in my own code again
12:06:24 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59593&oldid=59591 * A * (+47) /* Unfinished list */
12:15:16 -!- atslash has quit (Ping timeout: 272 seconds).
12:15:43 -!- atslash has joined.
12:21:27 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59594&oldid=59593 * A * (+27)
12:23:50 -!- Essadon has joined.
12:24:08 -!- Essadon has quit (Max SendQ exceeded).
12:24:40 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59595&oldid=59594 * A * (-78) No way to cheat now
12:27:00 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59596&oldid=59595 * A * (+1) /* Turing-completeness */
12:27:49 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59597&oldid=59596 * A * (+25) /* Instruction encipherment/decipherment */
12:28:40 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59598&oldid=59597 * A * (+49) /* Instruction encipherment/decipherment */
12:29:18 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59599&oldid=59598 * A * (-179) /* Unfinished list */
12:32:59 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59600&oldid=59599 * A * (+118) /* Unfinished list */
12:40:06 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59601&oldid=59600 * A * (+183) /* If-else if-else statement */
12:46:27 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59602&oldid=59601 * A * (+211) /* for loop */
12:49:27 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59603&oldid=59602 * A * (+134) /* Loop constructs */
12:50:59 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59604&oldid=59603 * A * (+43) /* Hello World! */
12:51:33 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59605&oldid=59604 * A * (+25) /* The powerful "thing" library */
12:52:14 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59606&oldid=59605 * A * (+35) /* The powerful "thing" library */
13:22:26 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:23:47 -!- xkapastel has joined.
13:24:54 -!- wob_jonas has joined.
13:36:50 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:44:30 -!- moei has joined.
13:56:17 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59607&oldid=59606 * A * (+252) /* Control structures */
13:57:32 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59608&oldid=59607 * A * (+58) /* The powerful "thing" library */
13:58:07 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=59609&oldid=59589 * A * (-109) /* Difficult */
13:58:51 <esowiki> [[Difficult]] https://esolangs.org/w/index.php?diff=59610&oldid=59608 * A * (-118) /* Implementations */
14:41:17 -!- wob_jonas has joined.
14:41:17 <wob_jonas> https://magic.wizards.com/en/articles/archive/news/ravnica-allegiance-oracle-changes-2019-01-22 YES!
14:46:08 -!- arseniiv has joined.
14:48:11 -!- Sgeo_ has joined.
14:50:56 -!- Sgeo has quit (Ping timeout: 240 seconds).
15:20:59 -!- sleepnap has joined.
15:39:14 -!- yaewa has joined.
15:41:00 -!- moei has quit (Ping timeout: 268 seconds).
15:42:44 <wob_jonas> `fromroman XV
15:42:44 <HackEso> 15
15:45:08 <myname> `fromroman IL
15:45:09 <HackEso> No output.
15:45:13 <myname> good bot
15:46:05 <wob_jonas> thanks
15:46:28 <wob_jonas> ``` toroman <<< 16
15:46:29 <HackEso> No output.
15:46:51 <wob_jonas> ``` toroman "$[1+$(fromroman XV)]"
15:46:52 <HackEso> XVI
16:00:27 <wob_jonas> [ 110*12*0.0254
16:00:28 <j-bot> wob_jonas: 33.528
16:03:28 <esowiki> [[Cthulhu]] https://esolangs.org/w/index.php?diff=59611&oldid=59303 * Joshop * (-47)
16:29:23 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:52:54 -!- sleepnap has quit (Ping timeout: 250 seconds).
17:07:34 -!- sleepnap has joined.
17:28:20 -!- TheKing01 has joined.
17:38:59 -!- imode has joined.
17:50:30 -!- TheKing01 has quit (Ping timeout: 268 seconds).
18:01:27 -!- kritixilithos has joined.
18:26:00 -!- imode has quit (Quit: WeeChat 2.3).
18:39:32 -!- Phantom_Hoover has joined.
18:39:32 -!- Phantom_Hoover has quit (Changing host).
18:39:32 -!- Phantom_Hoover has joined.
19:37:14 <rdococ> What would be the best way to create a new programming paradigm?
19:37:59 -!- Sgeo__ has joined.
19:40:47 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
19:48:42 -!- imode has joined.
19:59:29 <int-e> build a time machine and go back to the 50s
20:04:40 <shachaf> I feel like I'm missing some tricks for writing C code that doesn't use general-purpose allocators.
20:05:00 <shachaf> Where can I read about that sort of thing?
20:05:51 <kmc> what kind of code?
20:06:02 <kmc> you probably want to read guides on embedded programming
20:06:13 <shachaf> I don't know, all kinds.
20:06:20 <kmc> often dynamic allocation is not allowed at all
20:06:32 <kmc> static ring buffers are useful
20:06:40 <kmc> LRU caches
20:06:54 <kmc> skip arrays?
20:07:00 <shachaf> static allocation is p. good
20:07:04 <kmc> yeah
20:07:07 <shachaf> And arenas and things
20:07:15 <kmc> it's almost as good as not needing memory at all
20:07:16 <kmc> yeah
20:07:47 <kmc> if you have to do something that requires dynamic allocation, but a bounded amount, you can use a statically or stack allocated arena
20:07:52 <shachaf> What about a situation like a tree where nodes can have a varying number of children?
20:07:55 <kmc> and the bonus is you don't need to free anything
20:08:00 <shachaf> Most nodes have few children but some could have a lot.
20:08:53 <shachaf> I do like the trick of using an arena as a stack where you can push and pop frames (but with different lifetimes from the call stack).
20:09:09 <shachaf> What are skip arrays?
20:12:06 -!- kritixilithos has quit (Quit: :q).
20:22:12 -!- imode has quit (Ping timeout: 250 seconds).
20:22:56 -!- b_jonas has joined.
20:31:08 <kmc> I'm not sure if it's a thing?
20:31:16 <kmc> maybe only skip lists are a thing
20:31:29 <kmc> but you can use array indices instead of pointers
20:31:32 <kmc> in general
20:31:52 <kmc> the arena as stack sounds like it would be very hazardous in C
20:35:04 -!- imode has joined.
20:35:37 <imode> shachaf: you can always statically allocate a block of memory to hold a tree. you'd just have a set amount of nodes you could mark as used.
20:36:57 <imode> you'd always want to impose a maximum on the number of children a particular node could have. the only technique that you use is allocating a "reasonable maximum" ahead of time.
20:37:10 <imode> finding that maximum takes analysis.
20:39:07 <imode> a particular node could be `struct node { uint32_t data; uint32_t children[16]; }`
20:39:23 <imode> you could also have a pointer to the parent "pool" of nodes that it comes from.
20:40:03 <imode> `struct node_pool { struct node nodes[1024]; }; struct node { uint32_t data; uint32_t children[16]; }`
20:40:06 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: struct: not found
20:40:09 <imode> whoops, sorry.
20:41:08 <imode> traversal then "looks" like you're dealing with pointers, so your algorithms are the same. but it's also far more useful due to data locality: if you use multiple pools and the pools are reasonably sized to fit your processor's cache, then operations over your trees will be very fast.
20:46:10 <kmc> you could also have ways to deal with multiple sizes of node
20:46:17 <kmc> like a flag that says "this node is a continuation of the previous"
20:46:25 <kmc> of course when you make things more complex like this, it starts to resemble a general allocator
20:48:17 <imode> exactly. but that's kind of the point: in lieu of using the system allocator, you'd probably just write your own if you need those kinds of patterns.
20:48:54 <imode> but that's the practicality of writing your own: domain specific allocators are good for domain specific access patterns.
20:51:09 <kmc> shachaf: https://en.wikipedia.org/wiki/Slab_allocation
20:53:26 <shachaf> kmc: Why would it be hazardous?
20:53:45 <kmc> well, maybe no more hazardous than regular malloc
20:53:52 <kmc> but you have two different separately managed stacks
20:53:57 <kmc> seems like a recipe for use-after-free
20:54:46 <shachaf> I mean, you need to keep track of lifetimes, but you need to do that anyway, and in general things should be be easier to keep track of.
20:55:11 <shachaf> An obvious use is something like sprintf which can just print to the arena.
20:56:18 <imode> I prefer all my state to be global. put your constraints on your access patterns, rather than on your modeling patterns.
21:02:13 -!- imode has quit (Ping timeout: 244 seconds).
21:12:55 <rain1> do you like post quantum crypto?
21:13:13 <rain1> https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions some interesting algorithms
21:16:45 -!- Sgeo has joined.
21:16:52 <kmc> i do
21:17:34 -!- Sgeo__ has quit (Ping timeout: 246 seconds).
21:17:39 <kmc> are they all code- or lattice-based?
21:18:32 <kmc> my favorite pq crypto algorithm is lamport signatures :)
21:18:34 <kmc> so simple!
21:21:31 <shachaf> Did you know you can make a thing based on Lamport signatures that works for 2^128 or however many uses you want?
21:23:32 <shachaf> Unfortunately they're still pretty large.
21:25:37 -!- rodgort has quit (Ping timeout: 246 seconds).
21:25:52 <kmc> using merkle trees?
21:27:46 -!- rodgort has joined.
21:31:47 <shachaf> Yes.
21:33:30 <kmc> the signatures themselves are long
21:33:34 <kmc> but the key is still short, right?
21:34:10 <kmc> hm, no, that's not right
21:34:17 <kmc> sigh
21:34:22 <kmc> I have forgotten most of what I knew about crypto :(
21:34:26 <kmc> or at least paged it out to cold storage
21:45:52 <shachaf> it's all about blockchain nowadays hth
21:46:05 <shachaf> the good news is you don't need to know anything to participate
21:46:51 <kmc> yeah
21:51:06 <esowiki> [[Eodermdrome]] https://esolangs.org/w/index.php?diff=59612&oldid=51766 * Salpynx * (+211) add example links
21:51:12 -!- FreeFull has joined.
21:57:28 -!- nfd9001 has quit (Ping timeout: 246 seconds).
22:00:11 -!- AnotherTest has quit (Ping timeout: 250 seconds).
22:01:07 -!- dauie_ has joined.
22:15:56 <shachaf> #define struct(name) typedef struct name name; struct name
22:16:39 <kmc> how 'bout not
22:16:56 <kmc> but you can do
22:17:05 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:17:05 <kmc> typedef struct foo_s { ... } foo;
22:17:27 <kmc> and then you can use types like 'struct foo_s *' in the body of the definition, and 'foo *' everywhere else
22:17:34 <kmc> or
22:17:36 <kmc> use C++ :D
22:21:57 <b_jonas> shachaf: I think the standards forbid you to define a macro whose name is a keyword of the language
22:22:15 <b_jonas> but then preprocessors do accept it, so it might not matter
22:29:24 <shachaf> Fine, STRUCT
22:30:48 <shachaf> more like scow++
22:31:42 -!- AnotherTest has joined.
22:36:08 -!- LKoen has joined.
22:37:46 <rdococ> What is the COMEFROM/CALLFROM equivalent of first-class functions?
22:48:39 -!- TheKing01 has joined.
22:51:33 <fizzie> b_jonas: shachaf: You are allowed to have macros lexically identical to keywords, you just can't have any of them defined at the time when you include a standard header or expand any macro defined in a standard header. C11 7.1.2p4.
22:55:19 <shachaf> Oh, even better
22:57:34 <b_jonas> fizzie: ok
22:57:49 -!- AnotherTest has quit (Ping timeout: 250 seconds).
23:05:18 -!- yaewa has quit (Quit: Leaving...).
23:05:41 -!- moei has joined.
23:13:04 <shachaf> ski: What do you think of this linear Prolog thing?
23:22:48 -!- sleepnap has left.
23:37:00 -!- b_jonas has quit (Quit: leaving).
23:39:38 -!- Lord_of_Life_ has joined.
23:40:56 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
23:41:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
←2019-01-29 2019-01-30 2019-01-31→ ↑2019 ↑all