←2021-03-22 2021-03-23 2021-03-24→ ↑2021 ↑all
00:12:00 -!- S_Gautam has joined.
00:13:05 -!- craigo has quit (Quit: Leaving).
00:27:50 <esowiki> [[User:Dbtx]] https://esolangs.org/w/index.php?diff=81507&oldid=81500 * Dbtx * (+178)
00:35:43 -!- dcristofani has quit (Ping timeout: 260 seconds).
00:46:07 -!- spruit11 has quit (Ping timeout: 256 seconds).
00:47:52 -!- spruit11 has joined.
00:53:31 <esowiki> [[User:Dbtx]] https://esolangs.org/w/index.php?diff=81508&oldid=81507 * Dbtx * (+214)
00:56:06 -!- zeroed has quit (Ping timeout: 265 seconds).
00:58:08 -!- adminh has joined.
00:58:52 <esowiki> [[User:Dbtx]] M https://esolangs.org/w/index.php?diff=81509&oldid=81508 * Dbtx * (+61)
01:01:55 <esowiki> [[User:Dbtx]] M https://esolangs.org/w/index.php?diff=81510&oldid=81509 * Dbtx * (+58)
01:03:29 <esowiki> [[User:Dbtx]] M https://esolangs.org/w/index.php?diff=81511&oldid=81510 * Dbtx * (+0) /* C */
01:20:14 -!- dcristofani has joined.
02:44:39 <zzo38> We are trying to save the princess by attacking her, and the man in black is trying to kill the princess by means of healing her.
02:51:39 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
02:52:01 <zzo38> (That is the game.)
06:07:06 -!- Sgeo has quit (Read error: Connection reset by peer).
06:17:37 -!- sprock has quit (Ping timeout: 256 seconds).
06:29:05 -!- arseniiv_ has joined.
07:27:29 <zzo38> A quine in Free Hero Mesh (displays in a popup message): ($A(INIT"($A(INIT%c%s%c34 over 34(PopUp 3)))"34 over 34(PopUp 3)))
07:48:54 -!- olsner has quit (Ping timeout: 256 seconds).
07:57:45 -!- olsner has joined.
08:01:27 <esowiki> [[UM8]] https://esolangs.org/w/index.php?diff=81512&oldid=76478 * Palaiologos * (-38)
08:08:03 -!- hendursa1 has joined.
08:10:35 -!- hendursaga has quit (Ping timeout: 268 seconds).
08:26:36 -!- Lord_of_Life has joined.
08:39:46 -!- LKoen has joined.
09:13:46 <esowiki> [[Talk:Zirconium]] M https://esolangs.org/w/index.php?diff=81513&oldid=81481 * Strohtaler * (+61) added ''alternative''
09:28:47 -!- dcristofani has quit (Ping timeout: 244 seconds).
09:39:20 -!- dcristofani has joined.
11:46:04 <esowiki> [[Underload/Numbers]] M https://esolangs.org/w/index.php?diff=81514&oldid=71184 * Monochromeninja * (+545) Added Python program
11:57:23 <esowiki> [[User:Monochromeninja]] N https://esolangs.org/w/index.php?oldid=81515 * Monochromeninja * (+532) Created page
11:57:54 <esowiki> [[User:Monochromeninja]] https://esolangs.org/w/index.php?diff=81516&oldid=81515 * Monochromeninja * (-27) Created page
12:16:53 -!- b_jonas has quit (Ping timeout: 256 seconds).
12:22:06 -!- dcristofani has quit (Quit: Leaving).
13:31:50 -!- Taneb has quit (Ping timeout: 264 seconds).
13:31:55 -!- atriq has joined.
13:33:55 -!- b_jonas has joined.
13:34:05 -!- atriq has changed nick to Taneb.
13:38:23 -!- HackEso has quit (Ping timeout: 245 seconds).
13:38:31 -!- HackEso has joined.
13:46:28 -!- aloril has quit (Ping timeout: 256 seconds).
13:57:16 -!- LKoen_ has joined.
14:00:04 -!- LKoen has quit (Ping timeout: 256 seconds).
14:02:13 -!- aloril has joined.
14:27:24 -!- Sgeo has joined.
15:35:16 -!- Soni has quit (Remote host closed the connection).
15:35:48 -!- none30 has quit (Ping timeout: 246 seconds).
15:35:48 -!- wmww has quit (Ping timeout: 246 seconds).
15:36:26 -!- verdecchia[m] has quit (Ping timeout: 240 seconds).
15:36:29 -!- Soni has joined.
15:36:56 -!- Discordian[m] has quit (Ping timeout: 240 seconds).
15:37:06 -!- laerling has quit (Remote host closed the connection).
15:37:10 -!- TannerSwett[m] has quit (Ping timeout: 244 seconds).
15:37:24 -!- laerling has joined.
15:37:24 -!- laerling has quit (Changing host).
15:37:24 -!- laerling has joined.
15:37:24 -!- jix has quit (Remote host closed the connection).
15:37:41 -!- jix has joined.
15:51:55 -!- wmww has joined.
15:52:05 -!- none30 has joined.
15:52:34 <esowiki> [[BrainFlow]] M https://esolangs.org/w/index.php?diff=81517&oldid=78843 * Monochromeninja * (+122) Updated & description
16:01:29 -!- verdecchia[m] has joined.
16:03:09 -!- Discordian[m] has joined.
16:05:26 -!- TannerSwett[m] has joined.
16:06:04 -!- 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.”).
17:06:17 <esowiki> [[Special:Log/newusers]] create * Arcs * New user account
17:07:03 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=81518&oldid=81496 * Arcs * (+54) /* Introductions */
17:25:08 -!- delta23 has joined.
17:27:46 -!- LKoen has joined.
17:34:07 -!- sprock has joined.
19:35:23 -!- Lord_of_Life_ has joined.
19:36:23 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
19:36:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:36:54 -!- arseniiv_ has changed nick to arseniiv.
19:58:06 -!- ubq323 has joined.
20:04:16 <arseniiv> lambdabot is really useful when you’re lazy to install ghci
20:05:03 <int-e> @bot
20:05:04 <lambdabot> :)
20:05:33 <int-e> arseniiv: happy to hear it :)
20:08:37 <arseniiv> int-e: this is my final result:
20:08:50 <arseniiv> @run let x = map sum . inits . three (1:) $ [] where { plus = liftA2 (.) ; three = plus id id (plus (plus id id) id) } in x
20:08:52 <lambdabot> [0,1,2,3,4,5,6,7,8,9]
20:10:48 <int-e> pfft, "three"
20:12:00 <int-e> > let two f x = f (f x); three f x = f (f (f x)) in two three succ 0
20:12:03 <lambdabot> 9
20:12:42 <int-e> > let two f x = f (f x); three f x = f (f (f x)) in two three (1 +) x
20:12:44 <lambdabot> 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + x))))))))
20:15:27 <int-e> arseniiv: of course I don't remember the last time I didn't have ghci installed ;)
20:17:07 <arseniiv> oh, those expression-y pluses
20:22:16 <int-e> it's a fun abuse of type classes: https://hackage.haskell.org/package/simple-reflect
20:25:34 <shachaf> > foldMap N $ S.fromList [1,2,3]
20:25:37 <lambdabot> N 1 ◇ (N 2 ◇ N 3)
20:25:42 <shachaf> > foldMap N $ S.fromList [1,2,3,4,5]
20:25:44 <lambdabot> (N 1 ◇ (N 2 ◇ N 3)) ◇ (N 4 ◇ N 5)
20:25:54 <shachaf> Oh man, it's all fixedy-wixedy, right.
20:26:50 <shachaf> > foldMap N $ Seq.fromList [1,2,3,4,5,6]
20:26:52 <lambdabot> ((N 1 ◇ N 2) ◇ N 3) ◇ (ε ◇ ((N 4 ◇ N 5) ◇ N 6))
20:26:55 <shachaf> That's pretty good.
20:27:46 <shachaf> Hmm, does IntSet not have a balanced fold function?
20:28:18 <int-e> shouldn't it be Foldable?
20:28:32 <int-e> > IS.fromList [1..10]
20:28:34 <lambdabot> fromList [1,2,3,4,5,6,7,8,9,10]
20:28:37 <shachaf> It's the wrong kind.
20:28:43 <shachaf> Since it's only for Ints.
20:28:52 <int-e> of course.
20:30:53 <int-e> > IS.foldMapWithKey (const N) $ IS.fromList [1..10]
20:30:56 <lambdabot> error:
20:30:56 <lambdabot> Not in scope: ‘IS.foldMapWithKey’
20:30:56 <lambdabot> Perhaps you meant one of these:
20:31:05 <int-e> err, that was stupid
20:31:32 <int-e> > IM.foldMapWithKey (const N) $ IM.fromList [(i,i) | i <- [1..10]]
20:31:34 <lambdabot> ((N 1 ◇ (N 2 ◇ N 3)) ◇ ((N 4 ◇ N 5) ◇ (N 6 ◇ N 7))) ◇ ((N 8 ◇ N 9) ◇ N 10)
20:31:53 <shachaf> I sent the maintainer an email a long time ago saying that was full of epsilons.
20:32:05 <shachaf> And now it's all unepsilonized.
20:32:43 <int-e> > IS.fold (\k -> (N k <>)) $ IS.fromList [1..10]
20:32:46 <lambdabot> error:
20:32:46 <lambdabot> • Couldn't match expected type ‘N IS.Key’
20:32:46 <lambdabot> with actual type ‘IS.IntSet’
20:33:17 <shachaf> IS.fold is defined to be foldr.
20:33:17 <int-e> > IS.fold (\k -> (N k <>)) mempty $ IS.fromList [1..10]
20:33:19 <lambdabot> N 1 ◇ (N 2 ◇ (N 3 ◇ (N 4 ◇ (N 5 ◇ (N 6 ◇ (N 7 ◇ (N 8 ◇ (N 9 ◇ (N 10 ◇ ε)))))...
20:34:32 <int-e> Evidently. Oh well. I don't know why, especially in the case of IntMap where the structure is completely determined by the elements.
20:35:12 <int-e> s/Map/Set/
20:35:46 <int-e> Not that I've ever missed such a balanced fold...
20:36:35 <int-e> I have implemented it for lists several times though.
20:36:51 <shachaf> I'm not sure I've ever actually used IntSet.
20:37:35 <shachaf> I guess it's some sort of fancy radix tree.
20:37:53 <int-e> (the bottom-up version, foldb f [] = error "..."; foldb f [x] = x; foldb f xs = foldb f (pairUp f xs); pairUp f (x:y:xs) = f x y:pairup f xs; pairup f xs = xs)
20:38:13 <int-e> it is a trie
20:38:21 <int-e> which I guess is a fancy radix tree
20:38:32 <shachaf> Hmm, doesn't actually look that fancy, it just has binary nodes.
20:38:49 <int-e> the fanciness is in the bitmasks
20:39:06 <shachaf> It's not just a prefix tree, right? You don't walk a 64-long path for a 64-bit number.
20:39:27 <int-e> well you check the whole key, of course
20:39:43 -!- arcsor5 has joined.
20:39:57 <shachaf> I wonder, are B-trees good in Haskell or is all the copying too much?
20:40:30 <int-e> it's not prefix-oriented either; tries elide all nodes that would only have one non-empty child
20:40:35 <shachaf> If your workload is mostly reads I'm sure they're better than Data.Map. Writes might be worse but I'm not sure.
20:40:53 <shachaf> I think the thing you're calling a "trie" I'd call a "radix tree".
20:41:11 <shachaf> And when people say "trie" I read that as "prefix tree".
20:41:17 <arcsor5> Brainfuck interpreter in Rust
20:41:20 <int-e> the thing I'd call a radix tree cannot skip levewls
20:41:22 <int-e> -w
20:41:47 <shachaf> You mean it has to have a node at every single bit?
20:41:53 <int-e> yesd
20:41:58 <int-e> wow, typing...
20:42:14 <shachaf> That seems backwards from https://en.wikipedia.org/wiki/Radix_tree
20:46:23 <arseniiv> ((N 1 ◇ N 2) ◇ N 3) ◇ (ε ◇ ((N 4 ◇ N 5) ◇ N 6)) => wait, how do we know? Is this the Seq from Data.Sequence? It didn’t export any patterns, or did it?..
20:46:45 <shachaf> Patterns?
20:48:22 <shachaf> Oh, you mean constructors aren't exported?
20:48:36 <arseniiv> ah, I should have said pattern synonyms and usual constructors
20:48:49 <shachaf> N has a monoid instance with a non-associative mappend and non-identity mempty.
20:48:56 <shachaf> So you can look at the Monoid calls.
20:49:35 <arseniiv> yeah, does Data.Sequence.Seq export any? But now I think it doesn’t have to if it has Typeable-Generic-something-something instances
20:49:55 <shachaf> This just uses Monoid.
20:50:03 <shachaf> > N 1 <> (N 2 <> N 3)
20:50:05 <lambdabot> N 1 ◇ (N 2 ◇ N 3)
20:50:15 <shachaf> > (N 1 <> N 2) <> N 3
20:50:17 <lambdabot> (N 1 ◇ N 2) ◇ N 3
20:50:48 <arseniiv> ah! foldMap! I got it I think now
20:50:53 <arseniiv> @type foldMap
20:50:55 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
20:51:05 <arseniiv> @type foldMap N
20:51:07 <lambdabot> Foldable t => t a -> N a
20:51:21 <arseniiv> that’s now clear
20:52:39 <arcsor5> zzo38 is fabrice bellard
20:52:39 <arseniiv> so Foldable Seq decides the matter and it’s safe to assume it uses the internal structure of a Seq to fold
20:53:51 <shachaf> Right.
20:55:31 <arseniiv> interesting that we can extract details like those by using something as simple as a free monoid-bar-associativity thing
20:55:33 <int-e> shachaf: Hmm. I'm not sure whether my usage is wrong or outdated.
20:56:06 <arseniiv> int-e: btw regarding lambdabot, it one asks:
20:56:19 <shachaf> I don't like "trie" because of pronunciation issues (especially since they say it comes from "retrieval").
20:56:23 <arseniiv> @pointless \m n f -> m f . n f
20:56:23 <lambdabot> liftM2 (.)
20:56:49 <shachaf> So I always say "prefix tree".
20:56:57 <arseniiv> it gives us liftM2, but could it give liftA2 now? What modules does this command use?
20:57:35 <shachaf> It uses https://hackage.haskell.org/package/pointfree
20:57:44 <int-e> no it doesn't
20:58:15 <int-e> the code originates in lambdabot but lambdabot still has its own copy of it
20:58:16 <shachaf> Uh oh, my information is out of date.
20:58:29 <shachaf> Oh, it was never correct, OK.
20:59:38 <int-e> I should maybe change that... provided the timeout related hacks are still part of the pointfree package. (that's why this isn't a no-brainer)
21:02:41 <arseniiv> shachaf: anyway thanks as I now see there’s just a simple line replace like https://github.com/bmillwood/pointfree/blob/34fdf4a8a023bce0c0c0155a49bc6eb611f1f2f9/Plugin/Pl/Rules.hs#L209 that line in that fork
21:02:46 <int-e> shachaf: it's hard to keep track. for example, @djinn is properly externalized
21:03:22 <arseniiv> (or not a simple replace, I didn’t scan all of code)
21:03:40 <arseniiv> (maybe it’s used for something other than functions)
21:04:09 <arseniiv> (which should be a monad and not simply an applicative)
21:04:15 <int-e> arseniiv: `grep` should do the trick
21:04:37 <arseniiv> ha :D
21:05:14 <arseniiv> like a good mathematician, I see that a solution exists and lay my hands off!
21:05:25 <int-e> perfect
21:05:51 <int-e> the last thing we want is to make @pl more useful
21:06:04 <arseniiv> or, I mean, not just any solution but a more or less good solution, so laying hands off is not too bad an inaction
21:07:03 <arseniiv> <int-e> the last thing we want is to make @pl more useful => because it would conquer the world? (slowly and inefficiently but inevitably)
21:08:03 <int-e> shachaf: FWIW, I'm aware of that split (pointfree vs. lambdabot), cf. https://github.com/bmillwood/pointfree/issues/30
21:08:40 <shachaf> I mean, I imagine you would be.
21:11:09 <int-e> I don't know, I'm not the greatest of maintainers.
21:11:15 * int-e shrugs.
21:11:51 <arseniiv> hehe hm don’t mind me
21:32:57 -!- delta23 has quit (Quit: Leaving).
21:45:37 -!- ubq323 has quit (Ping timeout: 260 seconds).
21:51:19 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
22:11:05 -!- ubq323 has joined.
22:15:47 -!- ubq323 has quit (Client Quit).
22:15:59 -!- ubq323 has joined.
22:28:33 <b_jonas> ...
22:44:43 -!- 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.”).
22:46:26 <zzo38> arcsor5: I think that I am not Fabrice Bellard.
22:52:00 <zzo38> (Rather, I think that I am Aaron CLC Black.) (No relation to CLC-INTERCAL; that is named after someone else whose name is also CLC)
22:57:07 <arcsor5> zzo38 well regardless I still think you are a great programmer.
23:03:37 <zzo38> OK
23:05:45 -!- arseniiv has quit (Ping timeout: 272 seconds).
23:28:15 <arcsor5> Whenever i learn a new programming language I like to write a brainf*** compiler to test my skills
23:28:41 <zzo38> I have added a README file into Free Hero Mesh now. If there is something wrong, hopefully someone can make suggestions to fix it please.
23:29:39 -!- ubq323 has quit (Quit: WeeChat 2.3).
23:29:58 <zzo38> arcsor5: Yes, that is one thing that you can do when learning a new programming language. I think it is not that bad to try that
23:30:42 <zzo38> (I had previously also tried to write Z-machine interpreter in some programming languages that I had learned of, if they support byte arrays; that includes PostScript.)
23:30:51 <arcsor5> what is your favorite esolangs?
23:31:13 <arcsor5> Someone was making an alternative to Ghostscript, but as I like to think, Postscript is a esoteric language while not being at the same time
23:31:17 <zzo38> I don't think I have a single favourite one, although some I like better than others
23:32:47 <zzo38> arcsor5: Yes, I suppose that could be said about PostScript. Who was making what alternative to Ghostscript? I did consider doing such a thing, making a smaller one but still full level 3 PostScript, usable both for embedding and standalone. (If it would be done, then I could change TeXnicard to use it instead of Ghostscript.)
23:35:34 -!- hendursa1 has quit (Quit: hendursa1).
23:35:56 <arcsor5> https://github.com/luser-dr00g/xpost
23:36:27 -!- hendursaga has joined.
23:38:11 <arcsor5> Someone should make a browser that works with none of all the crap Chrome is pulling off. Its sad how Github makes little effort to be compatible with all browsers
23:40:06 <zzo38> Xpost looks like a good idea, but far from complete it looks like. Hopefully it will be, in time.
23:40:31 <zzo38> I agree that a better web browser should be made. I had many ideas about how to design it better.
23:42:01 <arcsor5> what are those ideas
23:43:29 <zzo38> One is meta-CSS, another is a table of contents window. Also many things are just removed or left unimplemented. Some things that were core are now extensions (often "built-in" extensions) and vice versa. Ensure the user has full control.
23:45:23 <arcsor5> I will keep that in mind. Have you heard of Gemini and/or the Pale moon browser? They may be what you are looking for.
23:45:38 <zzo38> There are many other things too, including ARIA view, save/recall form data using local files, cookie editor, animation skipping, possibility to load animated GIF and PNG as videos, relative location bar, etc.
23:46:22 <zzo38> I have heard of those. They are not quite it, but they have done some of the things.
23:47:45 <arcsor5> isn't cookie editing already a thing? along with saving form data? animated gif as video would be useful?
23:47:49 <arcsor5> .
23:47:53 <arcsor5> the last ? is a .
23:48:16 <zzo38> No "do not track" setting is needed; instead, the header overriding feature can be used to do the same thing (and it can also be used to specify what languages you want, and other things). You can just add the constant header "DNT:1" with the criteria specified as always.
23:49:32 <zzo38> Cookie editing isn't fully featured in the common modern browsers; you can only delete them. Saving form data seems not to be. What I mean is, you can enter some key combination to save form data to a file (or pipe), and a different key combination can recall it on the current web page (which might or might not be the same one that it was saved from).
23:50:07 <zzo38> Keyboard-oriented operation is good; you don't need all sorts of icons, menus, etc.
23:50:28 <zzo38> I think I saw once one web browser has a table of contents window, but it is supported only for Gemini and Markdown, not HTML.
23:52:33 <arcsor5> In chrome I think I can edit cookies, but I'm not to sure about it. It would be in inspect element. As for the table of contents, wouldn't the website operator have to implement it on their end? How would the browser know what to put in a table of contents
23:52:35 <zzo38> I don't like the way that many of the APIs accessible to the document work, either. For example, if the camera API is used, it doesn't enumerate devices but asks the user to enter the path to a device, a picture file, a video file, or a command-line of a program which will produce the data on stdout. Similar can be applicable to the other APIs.
23:53:11 <zzo38> The browser would know what to put in the table of contents from the <H1> and <H2> and stuff like that, as well as newer things such as <ARTICLE>.
23:54:31 <zzo38> I think Lynx supports a footnote command in HTML, but other web browsers don't.
23:55:08 <arcsor5> The api thing is a good idea. What are your thoughts on Javascript? My website uses very little Javascript (and even if you don't have Javascript enabled the site works fine)
23:55:59 <zzo38> Most web pages should not need JavaScripts at all. It is used way too much. If you do use it, ensure it works without if possible (like you mention).
23:57:18 <zzo38> Sometimes it is useful though. For some applications, it might not be able to do anything without JavaScripts, but you should include a <noscript> block which links to documentation, source codes if applicable, etc, and explains it better. Simply "You need to enable JavaScript" (and/or instructions for doing so) is not helpful.
23:57:49 <arcsor5> I agree Javascript is used way too much. If I recall from my browser testing, the problem with Lynx, Netsurf, and co. is not HTML, rather it is javascript parsing. The scope is simply way to wide in my opinion. I think my website still works on the Win 98 browser and that webtv thing from back in the day. Javascript does have some good uses, but like you said the noscript blocks need to be more descriptive
23:58:28 <arcsor5> Things like webcomponents, amp, forced https, and other stuff are simply not necessary
23:59:14 <arcsor5> I never got the whole HTTPS rush. Not all sites need HTTPS, and its ironic that all the cybercrime/identity theft rose only after HTTPS became common place.
23:59:39 <zzo38> Yes, I agree, they are not necessary.
←2021-03-22 2021-03-23 2021-03-24→ ↑2021 ↑all