←2019-03-18 2019-03-19 2019-03-20→ ↑2019 ↑all
00:03:44 <oerjan> <b_jonas> stupid stemmer search, "miserable" is not related to "miser" <-- surely they're from the same latin word, "miser".
00:12:23 <oerjan> b_jonas: i think your stasis cupboard may have the flaw that if it fails you get a nuclear sized explosion
00:12:52 <oerjan> see: various xkcd whatifs
00:13:01 <oerjan> (well #1 iirc)
00:27:56 -!- fmease has quit (Remote host closed the connection).
00:27:58 -!- tswett[m] has quit (Remote host closed the connection).
00:28:22 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:30:59 -!- Lord_of_Life has joined.
00:35:37 -!- fmease has joined.
00:49:22 -!- tswett[m] has joined.
01:26:29 -!- sebbu has quit (Ping timeout: 246 seconds).
01:33:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:42:24 -!- sebbu has joined.
02:52:13 -!- oerjan has quit (Quit: Nite).
03:31:41 -!- tromp has joined.
03:35:59 -!- tromp has quit (Ping timeout: 246 seconds).
04:26:21 -!- tromp has joined.
04:30:35 -!- tromp has quit (Ping timeout: 246 seconds).
05:20:47 -!- FreeFull has quit.
06:14:11 -!- tromp has joined.
06:18:23 -!- tromp has quit (Ping timeout: 246 seconds).
06:54:48 -!- danieljabailey has joined.
06:55:10 -!- danieljabailey has quit (K-Lined).
07:00:03 -!- arseniiv has joined.
07:49:25 -!- xkapastel has joined.
07:57:44 -!- tromp has joined.
08:32:50 -!- b_jonas has quit (Quit: leaving).
08:59:27 -!- SoniEx2 has joined.
08:59:27 -!- Soni has quit (Ping timeout: 264 seconds).
09:12:20 -!- S_Gautam has joined.
09:13:18 * Taneb hello!
09:31:25 -!- SoniEx2 has changed nick to Soni.
10:21:47 -!- AnotherTest has joined.
10:56:02 -!- danieljabailey has joined.
11:32:59 -!- aloril has quit (Remote host closed the connection).
11:36:47 -!- aloril has joined.
11:45:50 -!- oerjan has joined.
12:11:32 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
12:23:04 -!- danieljabailey has quit (Ping timeout: 250 seconds).
12:28:43 -!- Lord_of_Life_ has joined.
12:29:31 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:29:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:41:42 -!- AnotherTest has quit (Ping timeout: 250 seconds).
12:51:41 -!- oerjan has quit (Quit: Later).
12:58:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:15:38 <zemhill_______> david_werecat.slag: points 16.83, score 42.00, rank 3/47
13:26:11 -!- AnotherTest has joined.
13:31:51 <Taneb> :O
13:34:32 -!- AnotherTest_ has joined.
13:34:32 -!- AnotherTest has quit (Ping timeout: 272 seconds).
13:34:32 -!- AnotherTest_ has changed nick to AnotherTest.
13:50:17 <esowiki> [[User:David.werecat]] M https://esolangs.org/w/index.php?diff=60534&oldid=50855 * David.werecat * (+14716) Updated BFJoust competitors
13:51:45 -!- xkapastel has joined.
13:52:54 <Taneb> Idea: BF Joust variant where scores are divided by some function of the program's length
13:56:42 -!- david_werecat has joined.
14:01:29 <myname> not sure why. in theory, aren't you already at a disadvantage through longer time to cycle throughyour program?
14:08:01 <david_werecat> Most large competitors have many branches and thus may not be significantly slower than smaller competitors.
14:19:50 -!- tromp has quit (Remote host closed the connection).
14:24:55 -!- Sgeo__ has joined.
14:26:08 <Taneb> On a completely different note, can I regard Set as the full subcategory of Cat restricted to discrete (small) categories?
14:27:20 -!- tromp has joined.
14:27:45 -!- Sgeo__ has quit (Excess Flood).
14:28:04 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
14:28:12 -!- Sgeo__ has joined.
14:41:46 -!- AnotherTest has quit (Ping timeout: 258 seconds).
14:52:17 -!- AnotherTest has joined.
14:58:40 -!- AnotherTest has quit (Ping timeout: 244 seconds).
15:42:54 <david_werecat> As a note: the following is a list of BFJoust competitors and their sizes:
15:42:56 <david_werecat> Place Name Score Points Size
15:42:56 <david_werecat> 1 david_werecat.mist 52.05 12.36 67
15:42:56 <david_werecat> 2 Lymia.nyuroki2 50.56 19.9 9299
15:42:56 <david_werecat> 3 david_werecat.slag 42 16.83 173
15:42:57 <david_werecat> 4 quintopia.space_hotel 35.96 12.05 334244
15:42:59 <david_werecat> 5 ais523.growth2 34.49 11.9 185931
15:43:01 <david_werecat> 6 ais523.margins3 33.56 6.52 12028
15:43:03 <david_werecat> 7 david_werecat.MV 32.59 12.14 14135
15:43:05 <david_werecat> 8 ais523.omnipotence 32.3 11.83 21695
15:43:07 <david_werecat> 9 david_werecat.jackal2 29.45 9.38 69
15:43:09 <david_werecat> 10 quintopia.space_elevator 28.03 7.71 19635
15:43:11 <david_werecat> 11 ais523.preparation 27 7.29 34356
15:43:13 <david_werecat> 12 david_werecat.antigen 24.53 5.48 205
15:43:15 <david_werecat> 13 ais523.monolith 23.81 4.33 195
15:43:17 <david_werecat> 14 Oj742.quicklock 22.44 3.64 14117
15:43:19 <david_werecat> 15 mroman.cupnoodles 22.4 3.21 92
15:43:21 <david_werecat> 16 mroman_.cupnoodles 22.4 3.21 92
15:43:23 <david_werecat> 17 StackOverflow.Sp3000_ParanoidBot 21.02 3.19 18637
15:43:25 <david_werecat> 18 david_werecat.atom 20.93 0.38 28
15:43:29 <david_werecat> 19 david_werecat.neutrino 20.19 0 96
15:43:31 <david_werecat> 20 Lymia.finnel 19.69 -0.17 55
15:43:33 <david_werecat> 21 david_werecat.xurtle 19.32 -0.24 62
15:43:35 <david_werecat> 22 ais523.hippo_ballerina 17.82 -2.76 1651
15:43:37 <david_werecat> 23 ais523.optimism 17.7 -2.26 78
15:43:39 <david_werecat> 24 ais523.stealth2 17.38 -3.81 954
15:43:41 <david_werecat> 25 david_werecat.pheonix 17.21 -2.4 115
15:43:43 <david_werecat> 26 david_werecat.leviathan 17.19 -2.74 146
15:43:45 <david_werecat> 27 ais523.margins 16.39 -2.4 618
15:43:47 <david_werecat> 28 david_werecat.dreadnought 15.64 -3.88 5148
15:43:49 <david_werecat> 29 ais523.slowpoke 15.61 -3.86 7100
15:43:51 <david_werecat> 30 ais523.anticipation2 15.55 -2.74 188182
15:43:53 <david_werecat> 31 SuperJedi224.Hyper 15.23 -5.45 100
15:43:55 <david_werecat> 32 ais523.death_to_defence 15.12 -6.17 827
15:43:59 <david_werecat> 33 Oj742.smartlock 15.09 -5.86 343489
15:44:01 <david_werecat> 34 web.TellsToBeat 14.81 -6.6 195
15:44:03 <david_werecat> 35 david_werecat.behemoth 14.79 -5.88 199
15:44:05 <david_werecat> 36 mroman_.funky 14.41 -7.02 157
15:44:07 <david_werecat> 37 Gregor.furry_furry_strapon_pegging_girls 14.22 -4.79 114923
15:44:09 <david_werecat> 38 quintopia.brachiation 13.98 -6.24 342
15:44:11 <david_werecat> 39 mroman_.athena 13.96 -7.67 61
15:44:13 <david_werecat> 40 mroman_.snail 13.76 -7.71 54
15:44:15 <david_werecat> 41 ais523.sometimes 13.69 -6.19 23
15:44:17 <david_werecat> 42 kerbal.Checkers 13.64 -7 144
15:44:19 <david_werecat> 43 AndoDaan.BeatYouMate 13.61 -8.38 194
15:44:21 <david_werecat> 44 mroman_.strapon_fuck_machine 12.99 -8.71 75
15:44:23 <david_werecat> 45 oerjan.pathetic 11.84 -9.83 18
15:44:24 <izabera> fuck you
15:44:25 <david_werecat> 46 oerjan.lame_horse 11.84 -9.83 22
15:44:29 <david_werecat> 47 web.very_suicidal 11.82 -10.79 30
15:48:35 <Lymia> wtf is that lock loop in mist
15:49:23 <Lymia> I'm surprised that Nyuroki's anti-defense loop doesn't clear it
15:51:12 <david_werecat> It was originally (+-++)*-1, but I found (+-++-+++)*-1 later via brute-force
15:51:25 <david_werecat> It works unusually well
15:52:04 <david_werecat> (not just at locking programs, but at forcing them off the end of the tape)
15:52:45 <Lymia> Nyuroki assumes its anti-defense loop will clear shudder locks.
15:53:30 <Lymia> But I guess that loop specifically avoids it.
15:54:00 <Lymia> I have a billion copies of the anti-defense loop, so. I wonder if I can make it effectively choose randomly
15:54:18 <Lymia> That'd prevent a specifically chosen defense loop from doing this.
15:54:25 <Lymia> Since it'd have to be effective against every defense loop.
15:54:32 <Lymia> anti-defense*
15:56:49 <david_werecat> True; at the very least the anti-defense loop could be different for each branch. Given that different tape sizes will typically yield different branches, it could work most of the time.
15:58:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:00:02 <david_werecat> Actually, maybe not in Nyuroki. It appears that most of the branching is due to the checks on the decoy setup.
16:04:16 <david_werecat> (and to break out of clear loops)
16:13:53 <david_werecat> Still, I'm surprised that mist made it to first place; it started as a joke. I didn't think that a strategy like that would do well.
16:20:39 <david_werecat> As for the random anti-defense, that would be far easier to do in LuaJoust (adjust the seed each cycle and do additional modifications on any conditional operator)
16:26:13 <Lymia> Synchronization seems to have been the key here.
16:26:22 <Lymia> It turns 10% wins into 100% wins.
16:26:43 <Lymia> And given that, you can brute force a defense loop that works very well against the current hill more than likely
16:30:59 <david_werecat> Yes. In fact, just that part of the strategy alone made it up to 16th place. I tried more sophisticated synchronization strategies but didn't find one of hand-editable size that worked well.
16:31:48 <david_werecat> The other half of the strategy is the weird attack loop (which is tuned against the defense programs on the current hill).
16:32:23 <david_werecat> Really, mist only does well because it's optimized against the current "meta".
16:34:29 <david_werecat> In fact, running an amalgamation of the current hill, the Codu hill, and the StackOverflow hill yields scores where mist doesn't do nearly as well.
16:35:44 <david_werecat> (IIRC, I ran the test on my home computer and don't have the logs with me right now)
16:53:14 -!- kmc has joined.
17:00:02 -!- LKoen has joined.
17:06:58 -!- LKoen has quit (Remote host closed the connection).
17:10:57 -!- LKoen has joined.
17:20:13 -!- Essadon has joined.
17:34:44 -!- AnotherTest has joined.
17:41:30 -!- b_jonas has joined.
18:09:42 -!- LKoen has quit (Remote host closed the connection).
18:33:09 -!- Phantom_Hoover has joined.
18:33:09 -!- Phantom_Hoover has quit (Changing host).
18:33:09 -!- Phantom_Hoover has joined.
19:00:22 -!- LKoen has joined.
19:09:24 -!- LKoen has quit (Remote host closed the connection).
19:09:41 -!- LKoen has joined.
19:54:54 -!- TheWild has joined.
20:07:36 <b_jonas> `? dog
20:07:37 <HackEso> dog? ¯\(°​_o)/¯
20:26:24 -!- david_werecat has quit (Quit: Leaving).
20:35:13 -!- dub has joined.
20:36:33 -!- dub has quit (Client Quit).
20:37:59 -!- FreeFull has joined.
20:59:17 <kmc> > (\x. x x) (\x. x x)
20:59:19 <lambdabot> <hint>:1:4: error: parse error on input ‘.’
20:59:26 <kmc> > (\x -> x x) (\x -> x x)
20:59:28 <lambdabot> error:
20:59:28 <lambdabot> • Occurs check: cannot construct the infinite type: t0 ~ t0 -> t
20:59:28 <lambdabot> Expected type: t0 -> t
21:01:27 <Phantom_Hoover> lol
21:01:52 <Phantom_Hoover> you need to define names to type it, right?
21:04:06 <kmc> I'm not sure you can
21:10:55 <Phantom_Hoover> hmm
21:11:14 <Phantom_Hoover> i know you can circumvent the type problems that break the Y combinator
21:11:45 <shachaf> hi kmc
21:12:30 <Phantom_Hoover> apparently? https://stackoverflow.com/questions/33546004/is-it-possible-to-define-omega-combinator-%CE%BBx-xx-in-modern-haskell
21:13:02 <shachaf> Yes, you can define Y and this thing with negative recursion.
21:13:59 <rain1> prove it
21:14:15 <shachaf> you prove it
21:14:17 <b_jonas> Phantom_Hoover: you can put a data type between it
21:14:26 <b_jonas> one with a constructor, not a synonym
21:14:32 <shachaf> The type error tells you what to do.
21:14:38 <shachaf> Cannot construct infinite type t0 ~ t0 -> t
21:14:51 <shachaf> So define a type T0 where T0 ~ T0 -> T
21:16:13 <b_jonas> I think I already mentioned the olvashato program http://math.bme.hu/~ambrus/pu/olvashato/t2n.olv which does something like this
21:16:34 <b_jonas> it's not quite the Y combinator, but it still does recursion without using the built-in named recursion calls, with just lambdas and named types
21:17:31 <b_jonas> you could write the Y combinator that way too
21:17:53 <b_jonas> you don't really need to, because the language allows you to just call named functions recursively, but still
21:17:56 <shachaf> @let newtype Rec a = Rec { runRec :: Rec a -> a }
21:17:57 <lambdabot> .L.hs:166:31: error:
21:17:58 <lambdabot> Ambiguous occurrence ‘Rec’
21:17:58 <lambdabot> It could refer to either ‘Lambdabot.Plugin.Haskell.Eval.Trusted.Rec’,
21:18:29 <b_jonas> what?
21:18:34 <shachaf> @let newtype Curry a = Curry { runCurry :: Curry a -> a }
21:18:35 <lambdabot> Defined.
21:19:25 <int-e> newtype Rec a = InR { outR :: Rec a -> a }
21:19:30 <int-e> :P
21:19:34 <shachaf> @let why :: (a -> a) -> a; why f = (\x -> runCurry x x) (Curry (\x -> f (runCurry x x)))
21:19:36 <lambdabot> ghc: panic! (the 'impossible' happened)
21:19:36 <lambdabot> (GHC version 8.2.2 for x86_64-unknown-linux):
21:19:36 <lambdabot> Simplifier ticks exhausted
21:19:44 <shachaf> int-e: Oh, InR/outR
21:20:14 <int-e> I have no clue why it's there instead of L.hs though.
21:20:31 <int-e> historical accident.
21:20:35 <shachaf> Anyway, this is the same deal as Curry's paradox.
21:20:42 <shachaf> "if this sentence is true, then a"
21:21:12 <int-e> And I see it's still a good way to exhaust ghc's simplifier. I was wondering about that.
21:24:00 <b_jonas> uh
21:49:32 <TheWild> do we love Turing tar-pits here, right?
21:49:52 <TheWild> how I'm going to add two numbers on this? https://en.wikipedia.org/wiki/Iota_and_Jot
22:01:19 <int-e> do it in combinatory logic and then replace S, K and I by the corresponding iota terms?
22:04:54 -!- AnotherTest has quit (Ping timeout: 258 seconds).
22:05:55 <TheWild> https://en.wikipedia.org/wiki/Combinatory_logic
22:06:09 <TheWild> reading this is as painful as reading arbitrary RFC
22:09:14 <int-e> https://esolangs.org/wiki/Combinatory_logic is perhaps less overwhelming
22:14:40 <b_jonas> https://esolangs.org/wiki/Combinatory_logic doesn't really talk about numbers or algebraic types IIRC
22:15:46 <b_jonas> what's the name for that technique where you translate algebraic data types (like products and distinguished sums) into combinatory logic?
22:15:55 <b_jonas> IIRC it was named of someone
22:16:20 <b_jonas> TheWild: there's of course always http://www.madore.org/~david/programs/unlambda/
22:26:02 <TheWild> reading unlambda... I mean, not reading, it's impossible ;)
22:26:46 <TheWild> I didn't get it how functions fighting functions using functions could produce a single bit.
22:29:47 <b_jonas> TheWild: well, you eventually need some sort of I/O primitives, either Haskell style or with side effects
22:35:23 <int-e> and there's tromp's Binary Lambda Calculus (which basically follows the main :: [Char] -> [Char] model)
22:36:45 <int-e> Hmm https://esolangs.org/wiki/Lambda_calculus gives a glimpse at Church numerals
22:39:10 <int-e> So basically that's what you do in pure lambda calculus: represent data as special kinds of functions. It takes a while to get used to, but it can be fun. It's not terribly useful though.
22:39:43 <b_jonas> I think of it as first representing the data as algebraic data types, untyped, and then encoding that as functions
22:39:44 <int-e> I wonder whether wikipedia has an articule on Church encodings...
22:39:49 <b_jonas> even though that's not, strictly speaking, necessary
22:40:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:41:13 <int-e> `? articule
22:41:13 <HackEso> articule? ¯\(°​_o)/¯
22:41:38 <int-e> I must have been feeling particularly articulate there.
22:48:07 -!- heroux has quit (Ping timeout: 240 seconds).
22:48:45 -!- heroux has joined.
22:57:42 <TheWild> what sane language you know?
23:00:49 <TheWild> okay, let it be JavaScript. Did I get iota right? https://kopy.io/DFPdI
23:00:53 -!- moei has quit (Quit: Leaving...).
23:04: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.”).
23:13:27 -!- TheWild has quit (Quit: TheWild).
23:50:13 -!- Essadon has quit (Quit: Qutting).
23:51:24 <zemhill_______> web.silly-pi: points -33.19, score 3.14, rank 47/47
23:51:51 <fizzie> Heh.
←2019-03-18 2019-03-19 2019-03-20→ ↑2019 ↑all