00:01:50 -!- b_jonas has joined.
00:23:32 -!- rain1 has quit (Quit: WeeChat 2.9).
00:44:14 <esowiki> [[Stu]] M https://esolangs.org/w/index.php?diff=79418&oldid=79412 * PythonshellDebugwindow * (+24) /* Infinite cat program */ Until EOF
00:45:22 <esowiki> [[SCREAMCODE]] M https://esolangs.org/w/index.php?diff=79419&oldid=79417 * PythonshellDebugwindow * (+35) /* Trivial brainfuck substitution interpreter */ Cat
00:57:27 -!- TheLie has quit (Remote host closed the connection).
01:09:54 -!- earend1 has quit (Quit: Connection closed for inactivity).
01:16:44 <esowiki> [[Subleq]] https://esolangs.org/w/index.php?diff=79420&oldid=74492 * Unl256 * (+97) /* External resources */
01:48:06 -!- Lord_of_Life_ has joined.
01:48:42 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
01:49:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:13:47 <nakilon> That's the right answer! You are one gold star closer to saving your vacation. [Continue to Part Two]
02:14:46 <nakilon> https://dpaste.org/n7bd/slim
02:15:02 <nakilon> 2020 day 1 is solved in RASEL ..)
02:15:37 <b_jonas> nakilon: ok, although technically it only counts as solving in a new language if the language is older than the task specification
02:18:49 <nakilon> the lack of '+' and '*' obviously result in more instructions used
02:19:28 <nakilon> but it's interesting how non-trivial it becomes, there are different approaches to the same thing instead of one straight forward
02:20:51 <nakilon> for example, to compare the number with 2020, in Befunge I would build 2020 first as 59*:*5-, then -, then I already can call _ or |
02:22:43 <nakilon> but here I had to find another approach, and I'm not if it's optimal but I added 5 (05--), then divided by 45 twice (5/5/9/9/) -- after that if the number was 2020 the result should be exactly 1
02:23:16 <nakilon> how do I check if it's 1? I subtract 1 check if it's positive, then negate and check if it's positive again
02:23:38 <nakilon> that's far more complex than in Befunge but a good playground for golfing ..D
02:24:19 <b_jonas> I should write up my favorite programming practice tasks somewhere so I can just link to them. I know I've told them in chat often, but that's chat.
02:26:10 <b_jonas> of course you probably already know some of the stock ones, like print hello world, print the first 100 prime numbers, fizzbuzz, etc
02:27:06 <nakilon> does anyone have the first task solution in Befunge? I would like to compare the size
02:28:32 <b_jonas> that's quite specific. if fizzie doesn't have it then probably nobody does.
02:30:59 <fizzie> I haven't been doing Befunge. I kind of thought about it, though. Maybe I should.
03:01:06 <fizzie> Here's a quickly thrown together Befunge-98 version of 2020 day 1 part 1. It's not necessarily going to be *good* Befunge-98, mind you: http://ix.io/2HXh
03:01:50 <fizzie> Very much in the "use playfield cells as variables" style.
03:10:50 <esowiki> [[$ $]] https://esolangs.org/w/index.php?diff=79421&oldid=79080 * Pppery * (-2) /* Implementations */ "An interpreter has been implemented in perl "
03:16:20 <esowiki> [[$ $]] https://esolangs.org/w/index.php?diff=79422&oldid=79421 * Pppery * (-94) /* Examples */
03:29:34 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:32:10 -!- delta23 has quit (Quit: Leaving).
03:56:21 <nakilon> you wrote it several times faster than I would do that
03:57:26 <fizzie> I spent at least half of that trying to find a browser-friendly Befunge-98 debugger, because I'm very lacking of a locally installed Befunge development environment at the moment.
03:58:55 <fizzie> For the record, landed on https://misc.purkka.codes/jsfunge-98/befunge98.html which doesn't do input, so I had to debug it with a 2a*a*a*1fp2a*2fp3 in place of the input loop to preload 2000, 20 as my expense report.
03:59:19 <fizzie> Then ran it on cfunge locally on my AoC puzzle input; but cfunge isn't that great for debugging.
04:00:01 -!- Taneb has quit (Quit: I seem to have stopped.).
04:00:54 <fizzie> I did in fact get it almost right on the first try without the debugger, just had 00g where I needed a fg00gfg, i.e., it was printing the product of the *indices* of the matching values, not the product of the matching values.
04:01:38 -!- Taneb has joined.
04:05:04 -!- adu has joined.
04:24:33 <int-e> b_jonas: I knew that and in fact I didn't implement or use modular inverses in my solution... but we meandered to the question of how to do it efficiently
05:39:18 -!- arseniiv has joined.
06:08:28 -!- adu has quit (Quit: adu).
06:40:27 <b_jonas> also it looks from the world map like we'll have to leave this island in a few days for some reason, even though the flavor text suggested that this is our destination island
06:40:52 <Arcorann> We were diverted to another island due to the storm, remember?
06:51:58 <int-e> totally blown off course
06:52:27 <b_jonas> then I didn't follow the flavor enough
07:11:04 <int-e> maybe in the end the path will crisscross all around the map and spell out an obscenity
07:11:19 <int-e> or look like a penis
07:12:10 <int-e> https://dailyhive.com/mapped/penis-flight-russia
07:31:57 <zzo38> Have you made implementations with bug for bug compatibility of complex programs?
07:34:26 -!- imode has quit (Ping timeout: 256 seconds).
07:34:40 <int-e> Intel famously did with the A20 line.
07:35:01 <int-e> . o O ( best abuse of keyboard controller )
07:36:40 <zzo38> Yes, I know that there are many that did, but I mean to ask how many people on here have done.
07:38:25 <int-e> Oh actually I contributed a patch to npiet once that emulates an implementation bug in the (a?) perl interpreter, because one of the programs (towers of hanoi) that I had relied on that.
07:38:31 <int-e> So... I suppose the answer is yes.
07:39:19 <zzo38> OK. What specific bug is that?
07:40:54 <int-e> I forgot. Something with positioning after sliding through white areas.
07:41:36 <int-e> This was over 14 years ago.
07:57:48 <b_jonas> zzo38: I'm not sure if I have a good example for that. I've reintroduced bugs to my own code to be able to easily compare the outputs to see if other changes have broken something. And I've worked around bugs in third-party software a lot of times. But I don't think I deliberately tried to add an interesting bug to my code to reproduce a bug in a third-party code. Copied typos in names to match
07:57:54 <b_jonas> identifiers or filenames, sure, but not for interesting logic bugs.
08:00:17 <shachaf> Man, everything I hear about the new Apple CPUs sounds unreasonably good.
08:07:44 <zzo38> shachaf: Do they have their own instruction set or implement an existing instruction set?
08:10:13 <zzo38> One of my project is working on bug for bug compatibility, by testing various strange things in the original software to see what happens, and then implementing the program to do the same thing. (This also means that the new program can also serve as documentation for the original program too, I suppose, although that isn't quite the intention.) Some people who write emulators have probably done similar things too.
08:14:58 <zzo38> There is thing also when changing existing programs though, to try to maintain compatibility (such as the "cannot #PUT on bottom row" bug in ZZT; some variants maintain that bug, while some variants remove that bug; I have maintained it but added a per-board option in the extended world format which can remove that bug)
08:16:54 -!- int-e has quit (*.net *.split).
08:16:54 -!- ineiros has quit (*.net *.split).
08:16:54 -!- Hooloovo0 has quit (*.net *.split).
08:16:54 -!- APic has quit (*.net *.split).
08:16:54 -!- fungot has quit (*.net *.split).
08:19:01 -!- sebbu has quit (Ping timeout: 246 seconds).
08:22:19 -!- int-e has joined.
08:22:19 -!- ineiros has joined.
08:22:19 -!- Hooloovo0 has joined.
08:22:19 -!- APic has joined.
08:22:19 -!- fungot has joined.
08:56:48 -!- Sgeo has quit (Read error: Connection reset by peer).
09:11:56 <zzo38> The documentation for the "goto" statement in Hero Mesh says "Very structured, very object oriented. If you don't like it, don't use it." However, it is needed for any kind of loops (except ForEachObjAt loops); there is no "while" command.
09:17:24 <Taneb> Perhaps you could use a macro library or similar that implements while loops in terms of goto, and not use goto directly?
09:17:42 <Taneb> I'm not familiar with Hero Mesh
09:19:25 <zzo38> Hero Mesh doesn't have macros. (However, Free Hero Mesh does have macros, and it also has while loops)
09:20:28 <zzo38> (Although, anything converted from Hero Mesh will not use the macros or while loops, of course.)
09:45:29 -!- sprocklem has quit (Ping timeout: 256 seconds).
10:17:15 -!- sebbu has joined.
10:24:57 -!- TheLie has joined.
11:00:01 -!- LKoen has joined.
12:03:53 -!- rain1 has joined.
12:07:28 <nakilon> I woke up and realised that
12:07:57 <nakilon> to check if the value is zero you don't have to check if it's positive, negate and then check again
12:08:24 <nakilon> you can square it and then check
12:08:38 -!- FastestCoderOnEa has joined.
12:09:48 <FastestCoderOnEa> Is this the correct place to ask for feedback on new esolang ideas?
12:10:22 <rain1> you can use the wiki too to write it up
12:11:00 <FastestCoderOnEa> I think about creating a pointer based language, where the syntax would look like this.
12:11:12 <FastestCoderOnEa> # average ####### l 0 0 ## ↑ len ##↺ ↑ ↑ <= ## ↑ ↑ at ## ↑ ↑ += ##\ ↑ ↑ / #################
12:11:27 <FastestCoderOnEa> # average ####### l 0 0 ## ↑ len ##↺ ↑ ↑ <= ## ↑ ↑ at ## ↑ ↑ += ##\ ↑ ↑ / #################
12:14:15 <FastestCoderOnEa> Ok thanks, here it is https://privatebin.net/?4751c7dd2a0ea64d#8fyAkGLhRBqxenXHVv2DU1FsHms65PKgmicjjXZBawxN
12:15:01 <FastestCoderOnEa> That is a function to calculate the average of a list. Do you think this is a good idea for an esolang, if i work on expanding the functionality?
12:16:21 -!- adu has joined.
12:27:36 <FastestCoderOnEa> The # box is a function and arrows are used to reference a value, then it would have different High Order Functions like ↺ loop and \ change scope.
12:34:19 -!- delta23 has joined.
12:36:05 -!- TheLie has quit (Remote host closed the connection).
12:46:06 -!- FastestCoderOnEa has left.
13:03:42 <nakilon> and with "j" the zero check is even simplier: :/jvv
13:12:38 -!- delta23 has quit (Ping timeout: 260 seconds).
13:15:05 -!- delta23 has joined.
13:39:20 <esowiki> [[$ $]] M https://esolangs.org/w/index.php?diff=79423&oldid=79422 * PythonshellDebugwindow * (-71) /* Constants */ Remove empty rows
14:23:37 -!- Arcorann has quit (Ping timeout: 264 seconds).
14:28:06 <nakilon> fizzie I wanna add your Befunge solution to README to show that non-golfed code in both languages have about the same size -- 1) may I do it? 2) may I credit your github username?
14:41:25 -!- LKoen has quit (Read error: Connection reset by peer).
14:43:17 -!- LKoen has joined.
14:53:54 <nakilon> I wonder if you didn't check that you don't sum two numbers from the same index too
14:56:50 -!- user24 has joined.
15:18:14 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
15:20:39 -!- Sgeo has joined.
15:35:07 -!- delta23 has quit (Ping timeout: 246 seconds).
15:35:44 -!- delta23 has joined.
16:13:49 <rain1> baba is you have a level editor now
16:17:26 <int-e> Right, I even deleted my savegame so that I wouldn't go back.
16:20:20 <rain1> levels can be shared
16:21:07 <int-e> lalala I'm not listening
16:22:41 -!- MDude has joined.
16:28:12 <delta23> 5 star programmer challenge should be a thing
16:31:44 <nakilon> (never mind about the "check that you don't sum two numbers from the same index")
16:33:16 <Taneb> I never managed to finish baba is you :(
16:33:39 <Taneb> I did manage to do a puzzle I was struggling with last week
16:35:36 <int-e> baba did get impressively complicated
16:36:53 <int-e> Though as I recall it, it did a good job of introducing the mechanics and tricks you need.
16:37:39 <kmc> i like that game
16:39:14 <Taneb> int-e: I think I'm just bad at puzzles
16:41:36 <int-e> The way I do it it's a weird process of exploring (looking at the outcome of certain moves, trying to figure out how objects interact, because I can't visualize everything) and trying to find attractive intermediate goals
16:42:45 <rain1> some levels were very intersting in that i could not solve them at all and they only had a couple things going on and i thought i had explored all options
16:42:56 <rain1> i remember the lava and ice level being like that
16:43:04 <arseniiv> <int-e> Right, I even deleted my savegame so that I wouldn't go back. => ow
16:44:42 <arseniiv> <rain1> baba is you have a level editor now => am I guessing right it requires you to solve all the levels first? Or to get a specific amount of those flowery flowers?
16:46:00 <arseniiv> <rain1> some levels were very intersting in that i could not solve them at all and they only had a couple things going on and i thought i had explored all options => yep. I remember int-e trying to explain me how to solve one without spoiling it
16:47:53 <arseniiv> there was one level in Snakebird which I solved on PC but then couldn’t solve on the phone for tens of tries, and then suddenly I saw what I was missing again. And by now I probably won’t remember that move if I’ll retry again
16:48:02 <int-e> https://babaiswiki.fandom.com/wiki/Level_Editor says it has to be enabled manually
16:48:41 <int-e> Snakebird ... I was so happy when I finished that one.
16:49:30 <arseniiv> oh! by the way have somebody seen Jelly no puzzle by qrostar (IIRC)? I think there should be a clone of it, the ideas are pretty interesting
16:51:11 <int-e> Hmm. Maybe I'll declare Infinifactory finished without even trying the last level set. I can't see myself ever sit down and try it seriously.
16:51:22 -!- LKoen has joined.
16:54:54 <int-e> (I've talked about this before... There's dozens of levels in Infinifactory that I actually found fun, but the last set just seems to be about making things *big*. And that's not really interesting to me, it's just tedious and complicated.
16:56:07 <arseniiv> found a clone playable in a browser: https://jackkutilek.com/puzzlescript/jelly-no-puzzle.html
16:56:22 <arseniiv> but having your own custom levels is the goal
16:57:14 <int-e> One of the levels has you put pieces on a kind of PCB. So the way the game works, you have to weld them onto the board. But you can only weld stuff together from the side. So what I think you'll have to do is take two boards, cut them into complementary strips, attach the parts to the strips, and then reassemble the strips to a complete board
16:57:50 <int-e> and the board is maybe 15 blocks in both dimensions. (1 block in the third).
16:58:41 <int-e> ("cutting" is lossy, you have to destroy a whole row of blocks)
16:59:03 <int-e> (so that why you'll need two boards to make one)
16:59:10 <int-e> anyway, uninstalled.
17:11:45 <arseniiv> in Opus Magnum there is a level where you need to upgrade lead atoms five times to make gold, but you need to upgrade them in two ways simultaneously, both using mercury and no mercury, as that level doesn’t provide you with the atom recycle bin thing (of course, otherwise it will be very simple to solve). That makes a grandiose machinery which is very unwieldy to optimize or even lay out in the first place. But there are levels far more tedious to s
17:14:30 <int-e> haven't touched it, haven't heard anything about it that's remarkable either, other than being designed as an embedded language that can easily be extended
17:14:50 <int-e> --> no opinion, really
17:16:24 <arseniiv> I used to know it with its basic library almost entirely, once, though I barely wrote in it at all, just a bit of playing in repl
17:19:01 -!- rain1 has quit (Quit: WeeChat 2.9).
17:24:41 -!- rain1 has joined.
17:34:46 <nakilon> adventofcode day 1 part 2 is computationally hard; takes my interpreter 6 seconds for a line
17:36:06 <nakilon> pyramid's volume is cube's volume / 6, right? then it will take 6 * 2 * 200 / 6 = 400 seconds to run through all the data
17:36:46 <nakilon> not that I want to implement sort() for day 1 part 2 _--
17:50:38 <fizzie> nakilon: 1) yes 2) yes NaN) yeah, I thought it's not going to have 2020/2 on the list anyway
17:53:14 <nakilon> I've got fish in my code: >$$$>
17:53:33 -!- TheLie has joined.
17:57:52 <nakilon> fizzie since I store the array on stack to iterate the first index I just pop the top and the first half of the sum is always the top value
17:58:19 <nakilon> then I start the second index from 2 so it does does not collide
17:58:39 <nakilon> so the fix is trivial, does not need any conditionals
18:00:53 <fizzie> The fix for the Befunge-98 solution is equally trivial, just an extra 1- to the index kept on stack right before the inner loop. I just didn't want to add "extra" characters.
18:02:38 <nakilon> that fish is actually the piece of code that pops the top
18:09:42 -!- LKoen has quit (Remote host closed the connection).
18:43:25 -!- arseniiv has quit (Ping timeout: 264 seconds).
18:48:10 -!- rain1 has quit (Quit: WeeChat 2.9).
19:15:50 <nakilon> hmmm, stack being of Rational type gives me an ability to divide every number pushed to it by 2020, so instead of checking if sum is 2020 I can check if sum is 1, that will be simpler
19:26:48 -!- rain1 has joined.
19:59:34 -!- S_Gautam has joined.
20:21:13 -!- TheLie has quit (Remote host closed the connection).
20:39:46 <esowiki> [[PRSCNT]] N https://esolangs.org/w/index.php?oldid=79424 * Someone else * (+2384) Created page
20:41:04 -!- imode has joined.
21:55:42 -!- rain1 has quit (Quit: WeeChat 2.9).
22:03:43 -!- grumble has quit (Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.).
22:04:03 -!- someone_else98 has joined.
22:05:46 -!- someone_else98 has quit (Remote host closed the connection).
22:12:05 -!- grumble has joined.
22:19:20 -!- esolang has joined.
22:19:29 -!- esolang has quit (Remote host closed the connection).
22:38:15 -!- user24 has quit (Quit: Leaving).
22:39:51 <fizzie> nakilon: You might be interested, did part 2 of day 1 in Befunge-98 as well, though it's a bit of a cheat: http://ix.io/2I57
23:24:15 -!- adu has quit (Quit: adu).
23:29:08 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
23:31:48 <fizzie> And for the same low price of none, here's also a stack-only day 2 part 1, but I really need a better Befunge development environment, debugging these is far too slow: http://ix.io/2I5r
23:43:45 -!- imode has quit (Quit: WeeChat 2.9).
23:46:50 -!- sprocklem has joined.
23:54:22 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).