00:04:47 -!- 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.”).
00:06:19 -!- Melvar has quit (Ping timeout: 265 seconds).
00:07:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:08:59 -!- Sgeo has quit (Read error: Connection reset by peer).
00:09:26 -!- Sgeo has joined.
00:14:37 <oerjan> @tell imode assuming i understand what you mean by 01[], it is TC as you can encode cyclic tag in it: 100 = false, 1010 = true, 1010 [][bits] -> bits, 100 [][bits] -> nothing. [ [][...] ... [][...] ] loops through a list of productions.
00:19:01 -!- Taneb has quit (*.net *.split).
00:19:01 -!- zemhill_________ has quit (*.net *.split).
00:19:41 -!- Melvar has joined.
00:22:16 <oerjan> my brain occasionally tries to think about 2-echo tag without really getting anywhere
00:22:36 -!- FreeFull has quit.
00:22:41 -!- b_jonas has quit (Remote host closed the connection).
00:24:14 -!- Taneb has joined.
00:24:14 -!- zemhill_________ has joined.
00:40:44 <oerjan> i conclude that the haskell/esolangs overlap remains large https://www.reddit.com/r/esolangs/comments/dkxsqi/haskell_on_the_jvm_frege_vs_eta/
00:41:06 <oerjan> (that question was posted in the wrong subreddit - and still got sensible answers)
00:41:50 <oerjan> either that or reddit is putting things in the wrong place. i _did_ see some strange behavior in a thread i read yesterday.
00:42:01 <oerjan> but not quite out-of-subreddit strange
00:42:03 -!- aloril has quit (Ping timeout: 264 seconds).
00:48:53 -!- Taneb has quit (*.net *.split).
00:48:53 -!- zemhill_________ has quit (*.net *.split).
00:50:11 -!- tromp_ has joined.
00:50:12 -!- hppavilion[2] has quit (Quit: Leaving).
00:53:47 -!- tromp has quit (Ping timeout: 252 seconds).
00:54:18 -!- Taneb has joined.
00:54:18 -!- zemhill_________ has joined.
00:54:54 -!- aloril has joined.
01:19:38 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
01:26:16 <oerjan> bah, the us has switched off daylight savings time too. i was enjoying reading schlock mercenary an hour earlier!
01:26:50 <shachaf> What time zone is the author at?
01:26:59 <shachaf> Or rather what state and time zone.
01:27:27 <shachaf> Maybe there are multiple authors.
01:27:40 <shachaf> The point is, CA might switch to year-round DST.
01:31:15 -!- moony has quit (Ping timeout: 264 seconds).
01:32:21 -!- iczero has quit (Ping timeout: 265 seconds).
01:32:27 -!- iovoid has quit (Ping timeout: 264 seconds).
01:32:50 -!- Bowserinator has quit (Ping timeout: 265 seconds).
01:35:33 <fizzie> EU's planning to stop adjusting clocks from 2021 onwards, but each member state gets to decide whether they want to stick with the summer or the winter mode.
01:36:00 <fizzie> (And with luck, Brexit's still unsolved at that point and UK will follow.)
01:39:36 -!- Bowserinator has joined.
01:40:03 -!- iczero has joined.
01:40:14 -!- iovoid has joined.
01:40:27 -!- moony has joined.
01:48:44 -!- Taneb has quit (*.net *.split).
01:48:44 -!- zemhill_________ has quit (*.net *.split).
01:54:26 -!- Taneb has joined.
01:54:26 -!- zemhill_________ has joined.
01:56:06 -!- imode has joined.
02:23:24 <esowiki> [[W (A)]] N https://esolangs.org/w/index.php?oldid=66961 * A * (+668) Created page with "{{lowercase}} [[w]] is a function-based [http://wren.io/ esoteric programming language] based on [http://wren.io/ wren]. It implicitly provides a lot of values that allows the..."
02:25:05 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=66962&oldid=66961 * A * (+178)
02:27:38 <esowiki> [[W (A)]] M https://esolangs.org/w/index.php?diff=66963&oldid=66962 * A * (+249) /* An example */
02:32:14 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=66964&oldid=66963 * A * (+283)
02:35:12 <esowiki> [[99 bottles of beer]] https://esolangs.org/w/index.php?diff=66965&oldid=66686 * A * (+100) /* External resources */
02:48:49 -!- Taneb has quit (*.net *.split).
02:48:49 -!- zemhill_________ has quit (*.net *.split).
02:53:53 -!- Taneb has joined.
02:53:53 -!- zemhill_________ has joined.
03:06:08 -!- Phantom_Hoover has joined.
03:13:42 -!- oerjan has quit (Quit: Nite).
03:28:02 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
03:36:34 -!- imode has quit (Ping timeout: 265 seconds).
04:04:51 -!- ArthurStrong has joined.
04:17:21 -!- hppavilion[1] has joined.
05:48:19 <myname> so, what are the requirements for a language to write a quine in it
05:48:44 -!- Taneb has quit (*.net *.split).
05:48:44 -!- zemhill_________ has quit (*.net *.split).
05:48:56 -!- zemhill_________ has joined.
05:49:28 -!- Taneb has joined.
06:18:10 -!- heroux has quit (Ping timeout: 268 seconds).
06:52:34 <ArthurStrong> myname: this is enough, IMHO: https://esolangs.org/wiki/HQ9+
06:53:17 <myname> well obviously, but you can write quines in languages that do not have a quine command
07:26:07 -!- ArthurStrong has quit (Quit: leaving).
07:38:36 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
08:18:48 <shachaf> OK, the "just don't mask the ring buffer indices" model seems pretty appealing now.
08:19:15 <shachaf> You need your buffer size to be a power of 2. Is there any other downside?
08:41:14 -!- hppavilion[1] has joined.
09:24:41 -!- Phantom_Hoover has joined.
09:46:48 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
10:04:21 -!- arseniiv has joined.
10:34:39 -!- aloril has quit (Ping timeout: 265 seconds).
10:48:24 -!- aloril has joined.
11:05:30 <arseniiv> I need to inject Nat into an infinite algebraic type possibly mutually recursive with several other types like this one (but not necessarily all of them infinite)
11:06:19 <arseniiv> it seems to be always possible but I don’t see how to formulate this thing in the manner it would have an obvious proof
11:11:43 <arseniiv> I think injecting Nat into t means precisely the following: there are tz :: t, ts :: t → t and tfoldNat :: u → (u → u) → t → u such that ∀z' s'. foldNat z' s' == tfoldNat z' s' . foldNat tz ts
11:12:34 <arseniiv> or maybe the consequence of the latter suffices: id == tfoldNat z s . foldNat tz ts
11:15:58 <arseniiv> I think tz and ts x would always be compositions of several constructors, the latter also having one occurrence of x. Still, the picture isn’t clear to me at all
11:24:15 <arseniiv> hmm would we always be able to “contract” the definition of that type so that other types aren’t mentioned in it after that?.. The simple case { data E = Z | Se O; data O = So E } is for example easy: { data E = Z | SeSo E } or { data O = SoZ | SoSe O }
11:25:22 <arseniiv> I think I miss knowledge of a framework
11:27:59 <arseniiv> the tricky case: { data A = A N; data N = Z | S N } — now we can’t return to A and the naive approach would result in an infinite definition { data A = AZ | ASZ | ASSZ | … }
11:29:38 <arseniiv> so though we can’t always contract a definition naively, maybe we can always find a type with a definition which contracts?.. E. g. that’s N in this example
11:31:20 <arseniiv> nope: { data A M; data M = Z | S A M }, now they *both* don’t contract in a naive fashion
11:33:51 <arseniiv> you may see that’s indeed a tricky situation. Okay I don’t need to contract definitions, I need `z` and `s` and a glimpse of `fold` (relating to GMMs, I don’t really need the last one, just a partial destructor `t → 1 + (1 + t)`, the first `1 +` is for values of `t` which aren’t injected Nats)
11:36:50 <arseniiv> even simpler: `z` and `s` a compositions of constructors, as hypothesized above. I’m sure that’s always possible, and in this case they would have all the remaining needed properties
12:54:00 <esowiki> [[Basis]] N https://esolangs.org/w/index.php?oldid=66966 * A * (+2540) Created page with "== Example programs == <pre> "This is a language that I invented in early 2012 to be a simple golfing language. By this, I mean that there is very little to no operator over..."
12:55:18 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
12:55:42 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66967&oldid=66966 * A * (+273)
13:01:24 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66968&oldid=66967 * A * (+742)
13:21:49 -!- aloril has quit (Ping timeout: 268 seconds).
13:35:24 -!- aloril has joined.
13:42:14 -!- imode has joined.
13:44:00 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66969&oldid=66968 * A * (+16)
13:51:34 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66970&oldid=66969 * A * (-57)
13:54:35 <imode> []01$ can be reduced to boolfuck.
13:55:35 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66971&oldid=66970 * A * (-14) /* Factorial */
13:57:24 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66972&oldid=66971 * A * (+191)
14:30:39 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66973&oldid=66972 * A * (-5) /* Truth-machine */
14:31:02 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66974&oldid=66973 * A * (+32) /* Documentation */
14:33:17 -!- imode has quit (Ping timeout: 240 seconds).
14:40:56 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66975&oldid=66974 * A * (+931) /* GCD of two numbers */
15:08:00 <esowiki> [[Basis]] https://esolangs.org/w/index.php?diff=66976&oldid=66975 * A * (+68)
15:25:06 <arseniiv> we can eliminate nonconstructivle types and constructors with arguments of those types and be left with at least one type having a nullary constructor
15:28:02 <arseniiv> though there are no guarantees this constructor is used in infinitely many values, and I seem to finally get what I should have done: there are infinitely many values, and only a finite amount of nullary constructors. At least one of them should occur in infinitely many values, pick that one
15:44:24 <arseniiv> hm no, we don’t need a single constructor, we need an inhabited type with a constructor “eventually taking” an argument of that type, yes
15:45:37 -!- sprocklem has quit (Ping timeout: 240 seconds).
15:47:19 <arseniiv> I don’t like proof by contradiction but suppose none of inhabiter types has one. I think that should imply there are only a finite set of values overall
15:50:02 <arseniiv> s/inhabiter/inhabited; every value of type t should not have values of type t inside so each value can only be a |type count| levels deep, yes, and there are only so many constructors so we get a finite set of values
15:50:21 <arseniiv> now how do I prove that without using contradiction
15:50:51 <arseniiv> I think I flooded the channel, sorry :/
15:51:46 <lf94> Has anyone tried typeclasses.com?
15:56:33 <arseniiv> lf94: me not; is there something which I could see without paying? (I’m lazy to register to get to know that by myself)
15:57:13 <lf94> https://typeclasses.com/profunctors
16:03:00 <arseniiv> though I don’t know profunctors yet too
16:03:23 <arseniiv> “Profunctors are bifunctors that are contravariant in their first type argument and covariant in their second one.” → ah okay now I know
16:06:56 <arseniiv> lf94: the canonical example would be (->), it’s covariant in the result type and contravatiant in argument type; the function type is very useful to visualize co/contravariant type arguments in general; at least for me: they can be “like function arguments” and “go somewhere”, or they can be “like function results” and “come from somewhere” (and also there can be these that come and go—these are “invariant” in the
16:06:56 <arseniiv> terminology of e. g. C#, these are somewhat bad as they don’t play nicely with subtyping in languages with subtyping like mentioned C#)
16:12:36 <lf94> The terms "covariant" and "contravariant" cannot be memorized for some reason.
16:12:44 <lf94> I can't memorize what these actually mean
16:13:04 <lf94> If you could explain what these mean in some plain english, I'd greatly appreciate it
16:13:55 <arseniiv> (e. g. if you are designing API for some collections, it could be wise to tear collection interfaces into halves with one half being covariant in element type and containing only get-like operations (perfect to implement by immutable collections) and the other half containing only set-like operations and being contravariant in the element type; a mutable collection would implement both parts. Now these two interfaces could be used separa
16:13:55 <arseniiv> tely and benefit from argument subtyping one way or the other)
16:16:19 <arseniiv> covariant means it behaves like (co-) a plain value: function result is a normal value; contravariant means it behaves in the opposite way (contra-): function argument is in some way an “antivalue”, a hole waiting to be filled, before we could get the result; that’s not all
16:17:34 <arseniiv> I don’t know if there is any special sense in “-variant” here, maybe theory category guys made it up independently, but they could have borrowed it from linear algebra
16:18:55 <arseniiv> there, tensor arguments/indices can be covariant and contravariant, which means if the thing changes (“varies”?) like or unlike basis vectors when changing the basis
16:19:52 <arseniiv> that’s about “-variant” part, I’m almost sure it’s related that way though “-variant” part is plain latin
16:20:16 <lf94> co- means plain?...
16:20:35 <arseniiv> now that should be accompanied by many examples but I don’t know which would be nice
16:20:52 <arseniiv> <lf94> co- means plain?... => AFAIR it’s more like “with”
16:21:37 <arseniiv> also I’d say these are more like automorphism/antiautomorphism distinction than 1/−1, but the last pair may be illustrative too
16:23:28 <arseniiv> contra- changes arrow directions just like antiautomorphism. Though I don’t know why I picked auto-, any kind of morphisms suffices
16:23:52 <arseniiv> (anti(something)morphism changes operands, not arrows)
16:24:14 <arseniiv> let’s pretend I didn’t confuse you with morphisms
16:25:03 <arseniiv> hopefully someone more experienced in explaining in a clear way will come
16:27:48 <arseniiv> also you can try to label them `in` and `out` as C# syntax does
16:28:11 <arseniiv> in for contravariant, “argument-like”, and out for covariant, “result-like”
16:28:45 <arseniiv> just don’t confuse “in”-variant with invariant, there were cases :)
16:29:17 <arseniiv> anyway there are no invariant functor arguments in Haskell
16:29:38 <arseniiv> they are either co- or contra- or that’s not a functor in that argument
16:46:04 <lf94> when you talk about morphisms, it helps I think
16:52:28 <arseniiv> when we have a category whose objects are categories themselves, morphisms C → D are functors covariant in C and morphisms C^op → D are functors contravariant in C; where C^op is the opposite category to C: it has all its objects but every morphism reversed
16:57:45 -!- sprocklem has joined.
17:02:51 <esowiki> [[Full Stack]] N https://esolangs.org/w/index.php?oldid=66977 * Challenger5 * (+3264) Created page with "Full Stack is an esolang created by [[User:Challenger5]] and inspired by <code>///</code>. Its Turing completeness is not known. Before we define Full Stack, however, we must..."
17:03:34 <esowiki> [[User:Challenger5]] https://esolangs.org/w/index.php?diff=66978&oldid=66938 * Challenger5 * (+84)
17:39:42 -!- heroux has joined.
17:43:46 -!- FreeFull has joined.
17:50:41 -!- sprocklem has quit (Ping timeout: 268 seconds).
17:59:44 -!- sprocklem has joined.
18:01:11 -!- atslash has quit (Quit: This computer has gone to sleep).
18:02:01 -!- Phantom_Hoover has joined.
18:33:26 -!- ais523_ has joined.
18:34:50 -!- ais523_ has changed nick to ais523.
18:35:06 -!- ais523 has changed nick to ais523_.
19:19:48 <ais523_> <oerjan> my brain occasionally tries to think about 2-echo tag without really getting anywhere ← I think that 2-Echo Tag is still more likely than 50:50 to be Turing-complete, but would no longer be surprised if it were Turing-incomplete; there are some qualitative differences to 3-Echo Tag
19:26:25 <ais523_> <wib_jonas> "The Program Is Mostly Ignored" -- like in the pear tree? ← actually, in A Pear Tree, the entire program is always parsed; it's just commonplace to put much of it in a comment
19:26:58 <ais523_> the interesting factor in the language is that you can use cues to specify where in the program to start parsing, but the parser wraps around the end of the program and finishes where it started
19:28:03 -!- FreeFull has quit (Remote host closed the connection).
19:29:51 -!- FreeFull has joined.
19:34:02 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
19:40:27 -!- sprocklem has quit (Ping timeout: 268 seconds).
19:45:54 <esowiki> [[The Program Is Mostly Ignored]] M https://esolangs.org/w/index.php?diff=66979&oldid=66955 * Ais523 non-admin * (+18) /* When the blockchain has a blue block */ prettier table
19:51:00 -!- Phantom_Hoover has joined.
19:55:00 -!- impomatic has joined.
19:55:29 <impomatic> Is there any Esoteric stuff on Yahoo groups which needs archiving before they remove groups?
19:57:52 <ais523_> none of the esoteric mailing lists or newsgroups that I know of were on Yahoo
20:00:27 <impomatic> Thanks. I've been downloading messages for the programming game groups (robowar, crobots, etc) and thought I'd check :-)
20:00:44 <ais523_> how are things going in the programming games community, btw?
20:02:38 <arseniiv> <lambdabot> Sorry, no messages today. => they say this often to me; I think there’s an inherent and indescribable sadness in the situation so I drew this: https://i.postimg.cc/BnBkw5Vt/mr-postman.png
20:02:38 <arseniiv> I planned to add dialogue but this ended up quite self-explanatory
20:05:07 <arseniiv> look here instead: https://i.postimg.cc/Wz9tnJcy/mr-postman.png
20:06:42 -!- LKoen has joined.
20:13:58 -!- b_jonas has joined.
20:16:00 -!- sprocklem has joined.
20:16:14 <b_jonas> impomatic: oh yeah, good thinking. I've got one of Yahoo's nice false assurance email about how Yahoo groups is totally not going away
20:16:22 <b_jonas> at least they did send an email
20:17:40 <b_jonas> I think this will have less impact than gmane, google plus, or geocities though.
20:18:12 <b_jonas> Hmm, that's an interesting pattern there. If I see an online service whose name starts with g, should I suspect that it won't last long even if it's not by google?
20:18:57 <b_jonas> I looked among my links for stuff starting with "g"
20:20:52 <b_jonas> https://directory.fsf.org/ is at least branded "FSF" now more prominently than "GNU"
20:21:39 <fizzie> I haven't yet read that "Evolution of Yahoo Groups" email, but I got one as well.
20:22:12 <b_jonas> fizzie: I only skimmed it too
20:22:38 <b_jonas> I didn't bother because all the mailing lists hosted there that I'm on are defunct
20:26:24 <impomatic> ais523_: a little slow at the moment. What tends to happen is the level in a game quickly escalates so that it's pretty difficult for anyone new to get involved :-(
20:45:35 -!- atslash has joined.
21:00:00 -!- sprocklem has quit (Ping timeout: 268 seconds).
21:01:41 -!- oerjan has joined.
21:05:29 -!- ais523_ has quit (Quit: quit).
21:06:39 <oerjan> <myname> so, what are the requirements for a language to write a quine in it <-- see https://esolangs.org/wiki/User_talk:Smjg for pervious discussion that i keep linking
21:06:54 * oerjan saw the typo and refused to correct
21:07:15 <b_jonas> ais523_: yeah, I was wrong about Pear Tree, I misremembered how it worked
21:09:20 <oerjan> @tell imode actually, what i said is more or less 10 = true, 0 = false and a slighly different halting condition on BCT than usual, which i'm pretty sure is still TC.
21:30:35 -!- LKoen has quit (Remote host closed the connection).
21:34:28 <arseniiv> re: Haskell: BlockArguments: finally!
21:37:24 <lambdabot> Control.Exception finally :: IO a -> IO b -> IO a
21:37:24 <lambdabot> Control.Exception.Base finally :: IO a -> IO b -> IO a
21:37:24 <lambdabot> System.Directory.Internal.Prelude finally :: () => IO a -> IO b -> IO a
21:37:40 <oerjan> seems like a good use for it
21:38:01 -!- LKoen has joined.
21:38:05 -!- LKoen has quit (Read error: Connection reset by peer).
22:03:03 <arseniiv> hm BTW does hoogle search GHC language extensions?:
22:03:08 <lambdabot> Language.Haskell.TH BlockArguments :: Extension
22:03:08 <lambdabot> Language.Haskell.TH.LanguageExtensions BlockArguments :: Extension
22:03:08 <lambdabot> Language.Haskell.Extension BlockArguments :: KnownExtension
22:06:01 -!- ais523_ has joined.
22:08:04 <ais523_> b_jonas: it was important that all the source code were retained, so that A Pear Tree could be used to write programs that detected edits to themselves and figured out what part was missing
22:08:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
22:08:36 <ais523_> I'm not sure how useful that capability is, but a) this is #esoteric so it doesn't matter, b) it comes in handy on CGCC on occasion
22:21:07 <b_jonas> and like you said, you can still make most of the code ignored as a comment when your program wants that
22:40:47 <HackEso> You have discovered an eerie cavern. The air above the dark stone floor is alive with vortices of purple light and dark, boiling clouds. Seemingly bottomless pits mark the surface.
22:41:23 <ais523_> hmm, dramatic, it's a pity you can't use commands to continue the text adventure
22:41:36 -!- hppavilion[1] has joined.
22:46:22 <b_jonas> ``` ( hg log -T "{desc}\n" -r 7960; hg cat -r 7960 wisdom/hfs ) | sed s/o/о/ # and the command that created it is funny too
22:46:23 <HackEso> <zzо38> ` le/rn "hfs/`hfs`" # Maybe this way better? \ Yоu have discovered an eerie cavern. The air aboe the dark stone floor is alive ith vortices of purple light and dark, boiling clouds. Seemingly bottemless pits mark the surface.
22:46:34 <b_jonas> apparently it was in bin before it was moved to wisdom
22:46:57 <ais523_> there are quite a few typos in that version
22:47:04 <b_jonas> yes, they got fixed in later revisions
22:47:14 <ais523_> I was wondering if they were intentional
22:47:21 <ais523_> "aboe" looks like the sort of word that belongs in poetic English
22:47:41 <ais523_> (there are a few interesting words from poetic English, like "ere" which is just too good not to use; it means "before")
22:47:57 <ais523_> (strangely, it isn't used anywhere but poetry and literature despite being such a good word)
22:48:27 <b_jonas> ``` hg log -T "{desc}\n" -r 7961 | sed s/oa/оа/
22:50:12 <b_jonas> and bin/hfs was apparently created by moon__
23:02:00 -!- ais523_ has quit (Quit: quit).
23:04:48 <esowiki> [[Special:Log/newusers]] create * Noogleburt * New user account
23:04:50 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
23:08:10 -!- Melvar has quit (Ping timeout: 265 seconds).
23:10:41 -!- hppavilion[1] has joined.
23:11:38 -!- Melvar has joined.
23:33:22 -!- hppavilion[1] has quit (Remote host closed the connection).
23:33:46 -!- hppavilion[1] has joined.