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: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: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: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:43:23 <david_werecat> 17 StackOverflow.Sp3000_ParanoidBot 21.02 3.19 18637
15:44:07 <david_werecat> 37 Gregor.furry_furry_strapon_pegging_girls 14.22 -4.79 114923
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: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: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: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: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> • Occurs check: cannot construct the infinite type: t0 ~ t0 -> t
21:04:06 <kmc> I'm not sure you can
21:11:14 <Phantom_Hoover> i know you can circumvent the type problems that break the Y combinator
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: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:58 <lambdabot> It could refer to either ‘Lambdabot.Plugin.Haskell.Eval.Trusted.Rec’,
21:18:34 <shachaf> @let newtype Curry a = Curry { runCurry :: Curry a -> a }
21:19:25 <int-e> newtype Rec a = InR { outR :: Rec a -> a }
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: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: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: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).