00:00:11 <oerjan> ais523: note periodicity
00:00:37 <ais523> although that type's not /quite/ the same, a and a1 swapped names :-P
00:01:24 <oerjan> ais523: they're alpha equivalent.
00:04:00 <boily> oerjan: I got bibled.
00:04:28 <oerjan> fmap fmap (fmap (fmap fmap)) = fmap (fmap fmap) fmap (fmap fmap) = fmap (fmap (fmap fmap) fmap) fmap fmap
00:06:06 <ais523> now I'm wondering if (.) and ((.) (.)) are enough
00:06:13 <ais523> probably not, but at least it doesn't obviously fall into cycle issues
00:07:39 <shachaf> higgledy piggledy / a i s 5 2 3, / composed composition, fell / into a trap; // lacking regard for the / periodicity / he got stuck in a cycle, for- / ever to map
00:10:27 <HackEgo> Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
00:11:56 <oerjan> a (b (c (d e))) = fmap a b (c (d e)) = fmap (fmap a b) c (d e) = fmap (fmap (fmap a b)) c d e
00:12:37 <oerjan> it looks like possibly the blob is never larger than the original?
00:13:30 <oerjan> no. i'm talking about the general process: you never add more fmaps than you get variables extracted
00:13:46 <int-e> Yay, figured out a way to do the checkerboard in 0x16 cycles... and actually 0x15 might just be possible.
00:13:54 <oerjan> if this is true, then (.) and (.) (.) must be enough.
00:14:05 <shachaf> I always tried to deblob the fmaps too
00:14:16 <oerjan> because if you can use (.) (.) you can force it to shrink
00:14:41 <oerjan> because a nontrivial fmap blob must contain fmap fmap somewhere.
00:17:18 <oerjan> i'm a little worried if it's true though, what if c above is composite?
00:18:30 <oerjan> if c, d and e are plain variables, then a (b (c (d e))) = fmap (fmap (fmap a b)) c d e does not grow the initial "blob"
00:19:59 <oerjan> i can assume e is, because it's the "innermost"
00:20:24 -!- hppavilion[2] has joined.
00:21:43 <oerjan> <html><body><a href="/">Click here</a></body></html>
00:22:32 <oerjan> hppavilion[2]: my point is there's only one page, and it links only to itself hth
00:24:09 <shachaf> oerjan: fmap (fmap a b) c (d e) = fmap (fmap (fmap a b)) c d e ?
00:24:10 <oerjan> . o O ( at least it keeps him off the streets )
00:25:58 <ais523> oerjan: surely it could have a more informative link text than "click here"
00:25:58 -!- gremlins has quit (Quit: Alsithyafturttararfunar).
00:26:26 <oerjan> ais523: only if it's more minimal hth
00:26:55 <hppavilion[2]> oerjan: The language you use instead of JavaScript is Brainfuck (well, a derivative, but it has to be for it to work)
00:28:27 <shachaf> oerjan: It's dot dot (dot (dot a b)) c d e
00:30:15 <oerjan> > fmap fmap (fmap (fmap f g)) h f x :: Expr
00:30:17 <lambdabot> No instance for (Show a2) arising from a use of ‘f’
00:30:17 <lambdabot> The type variable ‘a2’ is ambiguous
00:30:17 <lambdabot> Note: there are several potential instances:
00:30:28 <shachaf> :t (\a b c d e -> dot dot (dot (dot a b)) c d e) :: (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e
00:30:29 <lambdabot> (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e
00:31:42 <oerjan> fmap (fmap a b) c (d e) = fmap (fmap (fmap a b) c) d e = fmap fmap (fmap (fmap a b)) c d e
00:32:28 <shachaf> that's what i wrote above hth
00:32:36 <oerjan> switching notation in the middle of the process again is too much for my brain.
00:33:07 <oerjan> anyway, that does indeed not look smaller.
00:33:21 <oerjan> unless we use that fmap fmap is allowed.
00:33:46 <shachaf> = dot (dot dot) (dot dot (dot a)) b c d e
00:35:06 <shachaf> = dot (dot (dot dot)) (dot (dot dot) dot) a b c d e
00:35:17 <shachaf> Of course you can dot that some more.
00:35:54 <oerjan> ok that's not smaller.
00:36:10 <shachaf> what if the other function you need is called dash
00:36:16 <shachaf> you can encode binary trees in morse code
00:36:30 <shachaf> :t (\a b c d e -> dot (dot dot dot dot) (dot dot dot dot dot) a b c d e) :: (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e
00:36:31 <lambdabot> (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e
00:37:11 <shachaf> But this particular tree is a special one, of course.
00:38:55 <oerjan> dot (dot dot) (dot dot (dot a)) b c d e = dot (dot (dot dot)) (dot dot) (dot a) b c d e
00:39:42 <oerjan> = dot (dot (dot (dot dot)) (dot dot)) dot a b c d e
00:39:50 <shachaf> oerjan: whoa, yours is different
00:40:00 <oerjan> i thought yours seemed fishy
00:41:19 <oerjan> mine somehow manages not to grow there
00:41:59 <shachaf> :t (`asTypeOf` (\a b c d e -> a (b (c (d e))))) $ \a b c d e -> dot (dot (dot (dot dot)) (dot dot)) dot a b c d e
00:42:00 <lambdabot> (b2 -> c) -> (b1 -> b2) -> (b -> b1) -> (a -> b) -> a -> c
00:43:25 <HackEgo> [wiki] [[Minimalist's Markup]] N https://esolangs.org/w/index.php?oldid=46760 * Hppavilion1 * (+3290) Created Page
00:45:33 <hppavilion[2]> oerjan: It can ONLY be edited in a monospace fontface :)
00:46:12 <ais523> hppavilion[2]: is that more or less evil than using terminal control codes as an HTML equivalent?
00:46:22 <oerjan> a (b c) = dot a b c is the fundamental transformation here. is there some kind of measure on it which doesn't grow?
00:46:40 <ais523> (I learned recently that there was a serious attempt to do that, but it ran so far behind schedule that it was only finished in 1999, by which point other standards had already won)
00:46:41 <shachaf> @unpl (.) ((.) ((.) ((.) (.))) ((.) (.)))
00:46:41 <lambdabot> (\ b c i l n o -> b c i (l (n o)))
00:46:47 <hppavilion[2]> ais523: I would guess less, because mine will allow more complex things
00:47:01 <shachaf> @unpl (.) ((.) ((.) ((.) (.))) ((.) (.))) (.)
00:47:02 <ais523> hppavilion[2]: no, this allowed more complex things
00:47:08 <ais523> it had the same featureset as, say, OpenDocument
00:47:13 <ais523> despite being based on terminal control codes
00:47:21 <ais523> it even had support for things like vector graphics
00:47:30 <ais523> hppavilion[2]: look up "Open Document Architecture" (e.g. on Wikipedia)
00:47:55 <oerjan> ais523: so it was the hurd of hypertext?
00:48:25 <ais523> oerjan: more like the hurd of Word, I guess
00:48:36 <ais523> it was originally intended to migrate things out of Word and WordPerfect
00:48:40 <ais523> then it sort-of blew up
00:48:54 <hppavilion[2]> Crap, just realized that it doesn't support hyperlinks, and that there's no way to do that
00:49:01 <ais523> also it suffers from the problem that some of the most basic terminal control codes (like cursor movement) don't really translate well to a word-processing conteext
00:49:03 <hppavilion[2]> I guess I'll have to introduce them as part of the scripting
00:49:39 <hppavilion[2]> ais523: One of the rules of it is that it's pretty much just a finite (albeit > 16m) set of tags
00:50:12 <shachaf> @@ @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show dot (dot (dot (dot dot)) (dot dot)) dot
00:50:13 <lambdabot> (.) ((.) ((.) ((.) (.))) ((.) (.))) (.)
00:50:18 <shachaf> @@ @unpl @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show dot (dot (dot (dot dot)) (dot dot)) dot
00:50:29 <hppavilion[2]> ais523: There is an effectively infinite number of hyperlinks, so I don't know how to introduce those properly
00:50:40 <hppavilion[2]> ais523: Have I mentioned that it's a scripted markup language
00:51:59 <shachaf> @@ @@ (@where dedot) dot dot dot
00:53:24 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
00:53:35 <lambdabot> where <key>. Return element associated with key
00:53:42 <lambdabot> @unpl @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show
00:54:54 <shachaf> oerjan: Maybe BCKW has some insight about this.
00:55:11 <shachaf> C, K, W are the three things people usually take away in substructural logics.
00:55:30 <shachaf> But what would it mean to take away B?
00:55:50 -!- Reece` has joined.
00:59:47 <prooftechnique> @unpl @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show
01:01:51 -!- augur has quit (Ping timeout: 276 seconds).
01:06:19 <oerjan> prooftechnique: it's just a piece of shachaf's monstrosity, you need to surround it with @@s hth
01:06:42 <boily> are @@ called atats?
01:07:18 -!- augur has joined.
01:13:30 -!- Kaynato has quit (Ping timeout: 268 seconds).
01:15:05 <oerjan> david morgan-mar will be doing a reddit r/comics AMA tomorrow hth
01:17:54 <ais523> should we ask some #esoteric questions?
01:18:21 <oerjan> hm i dunno. he's on record as not doing programming any longer.
01:18:32 <oerjan> (when he can help it, anyway.)
01:26:26 <oerjan> Phantom_Hoover: http://www.irregularwebcomic.net/3431.html
01:26:55 <oerjan> second last paragraph.
01:27:27 <ais523> oerjan: dmm's statements on programming reminds me of Keymaker
01:27:46 <ais523> who apparently dislikes non-eso programming
01:32:01 -!- p34k has quit.
01:41:01 -!- boily has quit (Quit: WHITE CHICKEN).
01:43:44 -!- Kaynato has joined.
01:46:24 <HackEgo> [U+01BF LATIN LETTER WYNN]
01:49:52 -!- tromp_ has joined.
01:51:20 -!- lambda-11235 has joined.
01:52:37 -!- rdococ has quit (Read error: Connection reset by peer).
01:52:58 -!- rdococ has joined.
01:53:18 -!- rdococ has quit (Changing host).
01:53:18 -!- rdococ has joined.
02:02:33 <int-e> okay, that was more tedious than expected... but I have a 0x15 cycles checkerboard now.
02:03:58 -!- rdococ has quit.
02:09:15 -!- XorSwap has quit (Quit: Leaving).
02:24:25 -!- Kaynato has quit (Ping timeout: 268 seconds).
02:25:28 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:29:04 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
02:29:32 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
02:31:41 -!- Reece` has joined.
02:32:00 -!- Reece` has quit (Read error: Connection reset by peer).
02:33:22 -!- Reece` has joined.
02:34:22 -!- Reece` has quit (Client Quit).
02:35:10 -!- Reece` has joined.
02:37:08 -!- hppavilion[2] has joined.
02:53:40 -!- oerjan has quit (Quit: leaving).
03:03:33 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
03:03:41 -!- tromp_ has quit (Remote host closed the connection).
03:08:50 -!- iconmaster has quit (Ping timeout: 244 seconds).
03:09:13 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
03:10:02 -!- hppavilion[2] has joined.
03:15:36 -!- llue has joined.
03:16:30 -!- lleu has quit (Ping timeout: 250 seconds).
03:18:45 -!- Kaynato has joined.
03:19:13 -!- rdococ has joined.
03:32:30 -!- tromp_ has joined.
03:36:52 -!- tromp_ has quit (Ping timeout: 260 seconds).
03:39:36 <int-e> So I've now looked at existing programs (in particular the "small" 0x16 cycle solution)... it should be possible to get down to 0x14, perhaps even 0x13 cycles.
03:40:24 -!- ais523 has quit.
04:01:44 -!- zzo38 has joined.
04:09:01 <shachaf> int-e: How many instructions do you think is the minimum?
04:09:17 <rdococ> I instruct you to say yay
04:20:42 -!- Kaynato has quit (Ping timeout: 244 seconds).
04:22:55 -!- ^v has quit (Ping timeout: 252 seconds).
04:27:00 <int-e> shachaf: impomatic said there's a 4 instruction solution; my best was 6 (or 5 if one relies on wrapping code execution and doesn't sound the 0s)
04:27:20 <int-e> So... I have 0x13 cycles now. :-)
04:28:26 <int-e> using 41 threads...
04:31:18 <shachaf> I saw the 4-instruction solution.
04:31:41 <shachaf> I kind of doubt you can do better than that.
04:34:37 <int-e> I don't think that I can below those 0x13 cycles.
04:39:07 <shachaf> copumpkin: The answer is obviously "encrypt-then-MAC"
04:46:43 -!- Guest772714 has joined.
04:49:29 <int-e> impomatic: if you want to play with it, the code is here: http://sprunge.us/PKXS
04:51:01 <int-e> (I rediscovered the gang scheduling idea... so to speak... myself... that's how I got to 0x16 and then 0x15 cycles. But the reduction in code size was essential to get to 0x13.)
04:54:43 <int-e> "sound" instead of "count"... I think this is my cue to go to bed.
05:01:01 <int-e> What about the blue box one... have people gotten below 8 lines (with wrapping code)?
05:01:49 <shachaf> oerjan: What transformation takes \a b c d e -> a (b c) (d e) to dot^6?
05:05:07 <shachaf> oerjan: Or dot dot (dot dot), for that matter.
05:15:01 -!- contrapumpkin has joined.
05:18:22 -!- copumpkin has quit (Ping timeout: 260 seconds).
05:27:51 -!- variable has joined.
05:34:05 -!- tromp_ has joined.
05:38:48 -!- variable has quit (Quit: 1 found in /dev/zero).
05:38:49 -!- tromp_ has quit (Ping timeout: 252 seconds).
05:38:49 -!- Guest772714 has quit (Ping timeout: 252 seconds).
05:45:16 -!- variable has joined.
05:49:19 -!- Guest772714 has joined.
05:53:46 -!- variable has changed nick to trout.
06:04:44 -!- tromp_ has joined.
06:09:27 -!- tromp_ has quit (Ping timeout: 264 seconds).
06:33:45 -!- trout has quit (Quit: 1 found in /dev/zero).
06:42:42 <zzo38> Another kind of card for Magic: the Gathering might be: Whenever a nonactive player would draw a card, the active player draws a card instead.
07:08:58 * rdococ slaps someone with a trout
07:10:13 -!- MoALTz has quit (Quit: Leaving).
07:18:21 <rdococ> what about lua without metatables
07:18:55 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
07:32:03 -!- Froox has joined.
07:35:51 -!- Frooxius has quit (Ping timeout: 264 seconds).
08:02:47 -!- lambda-11235 has quit (Quit: Bye).
08:14:35 -!- AnotherTest has joined.
08:29:39 -!- Guest772714 has quit (Quit: Nettalk6 - www.ntalk.de).
09:19:02 -!- bb010g has quit (Quit: Connection closed for inactivity).
09:22:31 -!- J_Arcane has quit (Ping timeout: 268 seconds).
09:38:53 <impomatic> int-e: nice work, you should submit it to the leaderboard on reddit
09:39:35 -!- jaboja has joined.
09:57:22 <impomatic> My BOX-256 solutions are here if anyone can improve them? https://github.com/impomatic/BOX256
10:08:06 -!- dancek has joined.
10:12:29 -!- jaboja has quit (Ping timeout: 248 seconds).
10:43:30 -!- rdococ has quit (Ping timeout: 244 seconds).
11:05:06 <fizzie> First time I've seen a coffin made to look like a wicker basket.
11:05:41 <fizzie> (There was one in the back of a hearse.)
11:07:23 <fizzie> Seems like it's a thing http://www.thegreenfuneralcompany.co.uk/graphics/cms/wicker3.jpg
11:15:12 * int-e prefers to stay away from reddit
11:26:22 <impomatic> int-e: do you mind if I post your solution on the leaderboard then? I can credit it to anonymous if you like?
11:38:12 -!- Phantom_Hoover has joined.
11:40:23 -!- Reece` has joined.
11:40:40 -!- boily has joined.
11:57:09 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
11:57:58 <boily> I have coffee. gorgeous, beautiful coffee. aaaaaaaah :)
11:58:12 -!- Reece` has joined.
12:10:51 <int-e> impomatic: no I don't mind at all... attributing it to int-e may help some people recognize the author
12:11:25 -!- rdococ has joined.
12:14:24 <int-e> cool 6 line solution for the big square (by staying away from reddit I mean that I don't want to post there... I'd just end up polling for replies every 5 minutes)
12:22:25 -!- tromp_ has joined.
12:23:46 -!- boily has quit (Quit: CAROTID CHICKEN).
12:26:51 -!- tromp_ has quit (Ping timeout: 244 seconds).
13:14:11 <int-e> ah grammar... are there giants in eve online?
13:38:52 -!- tromp_ has joined.
13:43:19 -!- tromp_ has quit (Ping timeout: 260 seconds).
13:50:30 -!- spiette has joined.
13:57:57 -!- spiette_ has joined.
13:59:52 -!- spiette has quit (Ping timeout: 260 seconds).
14:07:03 -!- Sgeo has quit (Ping timeout: 240 seconds).
14:18:58 -!- spiette_ has quit (Quit: :qa!).
14:31:24 -!- oerjan has joined.
14:54:21 <oerjan> a (b c d) = fmap a (b c) d = fmap (fmap a) b c d = fmap fmap fmap a b c d
14:56:07 <oerjan> a1 ... an b (c1 ... cn d) = fmap (a1 ... an b) (c1 ... cn) d
14:58:07 <oerjan> that last one looks promising for recursing
15:01:30 <oerjan> a (b1 ... bn c) = fmap a (b1 ... bn) c = fmap (fmap a) (b1 ... bn-1) bn c
15:06:00 <oerjan> a (b c d e) = fmap (fmap (fmap a)) b c d e this is related to fmap being sort of "lensy"
15:07:47 <oerjan> ah of course what we need is fmap . fmap . fmap
15:09:14 <oerjan> it might help that . is associative (and also is fmap)
15:17:28 <oerjan> a . (fmap . fmap) = fmap a (fmap fmap fmap) = fmap (fmap a) (fmap fmap) fmap
15:17:38 <prooftechnique> I guess the equivalent to fmap . fmap . fmap is fmap fmap fmap fmap fmap fmap fmap fmap, which is pleasing
15:19:22 <oerjan> :t (fmap . fmap . fmap) `asTypeOf` fmap fmap fmap fmap fmap fmap fmap fmap
15:19:23 <lambdabot> (Functor f, Functor f1, Functor f2) => (a -> b) -> f (f1 (f2 a)) -> f (f1 (f2 b))
15:20:07 <oerjan> but it has to break down somewhere, because fmap^6 = fmap^10
15:22:14 <oerjan> = fmap (fmap (fmap a)) fmap fmap fmap
15:25:57 <oerjan> = (fmap . fmap . fmap) a fmap fmap fmap
15:27:24 <oerjan> this doesn't help enough if a is composite.
15:36:38 <oerjan> a (b1 ... bn) = fmap^{\circ n-1} a b1 ... bn
15:45:13 -!- Kaynato has joined.
15:45:38 -!- spiette has joined.
15:47:33 <oerjan> @tell fizzie <fizzie> First time I've seen a coffin made to look like a wicker basket. <-- all i know is that when i googled "wicker basket" right now, google's second suggestion appended "coffin".
15:48:31 * oerjan got a bit confused about wicker <-> wicket, so before googling thought this was some cricket thing.
15:50:06 <oerjan> after darths & droids made me google ewoks yesterday, "wicket" doesn't give the hits i expected, either.
15:56:04 -!- lambda-11235 has joined.
15:56:50 * oerjan fails to spot any pictures of ewoks playing cricket.
15:59:37 <int-e> impomatic: ah, nice 0x12 cycles solution
16:01:27 * oerjan finds today's xkcd hilarious
16:02:06 <Phantom_Hoover> why do i have this awful feeling that box256's thread mechanics are now locked in for good
16:02:51 <impomatic> int-e: thanks :-) 0x11 would be possible if I could find space for one more instruction!
16:03:13 <oerjan> Phantom_Hoover: it's because you're psychic hth
16:03:33 <fizzie> oerjan: I googled for "wicker basket coffin" to find the image.
16:03:51 <int-e> impomatic: you can do it with misaligned instructions... you don't need the last bytes of the PIX ones.
16:04:08 <fizzie> That said, my suggestions are "wicker baskets", "wicker baskets uk", "wicker basket with lid" and "wicker baskets ikea".
16:04:48 <oerjan> Phantom_Hoover: xkcd's april 1 comic that somehow got delayed
16:05:02 <int-e> impomatic: oh wait, I'm doing the math wrong...
16:05:35 <oerjan> Phantom_Hoover: next year he'll do paint drying
16:05:48 <int-e> impomatic: so yeah I think I'm short by one byte.
16:05:50 <oerjan> Phantom_Hoover: i gave up because it kept resetting in my browser
16:05:55 <Phantom_Hoover> i think time was probably the last genuinely great thing he did
16:06:35 <Phantom_Hoover> before he managed to fuck up even the pictoblog stuff and wrote that godawful thing explainer book
16:06:36 <oerjan> Phantom_Hoover: what about the comet probe
16:07:07 <oerjan> he had a real-time comic following the landing
16:07:41 <oerjan> anyway, i still think today's is hilarious, so there.
16:09:42 <int-e> impomatic: hah! you can squeeze in a PIX nn 03 instruction at address 0x16
16:10:32 <impomatic> int-e: fantastic, I'll do that now, thanks :-)
16:11:25 <int-e> (fortunately the number of threads will remain even)
16:14:01 * int-e is happy to leave the tedious work to impomatic ;)
16:14:07 -!- llue has quit (Quit: That's what she said).
16:14:26 -!- lleu has joined.
16:14:26 -!- lleu has quit (Changing host).
16:14:26 -!- lleu has joined.
16:15:00 <int-e> impomatic: and you can reduce the amount of misaligned code by putting the jump table right in front of the thread instruction pointers.
16:15:29 <impomatic> int-e: done that already. I'd allowed for that
16:21:45 -!- Guest772714 has joined.
16:24:36 <impomatic> int-e: done, but didn't need the PIX at 0x16 after all.
16:25:33 -!- Kaynato has quit (Ping timeout: 268 seconds).
16:50:05 <int-e> okay, we can do better still :)
16:58:21 -!- acertain has quit (Quit: Leaving).
17:08:45 -!- Kaynato has joined.
17:10:30 -!- tromp_ has joined.
17:10:41 <prooftechnique> oerjan: This is my garden: http://xkcd.com/1663/#abf5687c-fbaf-11e5-8001-42010a8e0011
17:14:37 -!- tromp_ has quit (Ping timeout: 244 seconds).
17:15:53 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
17:28:04 <oerjan> shachaf: if you can express dot . ... . dot than you can express a (b1 ... bn), which allows you to build anything by recursion.
17:29:09 <oerjan> unfortunately sizes blow up when trying to use those mutually.
17:30:10 -!- Guest772714 has quit (Ping timeout: 244 seconds).
17:30:20 <oerjan> um, throw a1 ... an (b1 ... bn) in there too
17:31:14 <oerjan> a1 ... an b (c1 ... cn d) = fmap (a1 ... an b) (c1 ... cn) d was the main starting point
17:35:51 <oerjan> fmap (fmap (fmap ...)) is also a base.
17:36:03 <shachaf> oerjan: I just woke up, it'll be a bit before I can think about dots.
17:36:40 <oerjan> and i'll be leaving soon anyway so...
17:36:44 -!- oerjan has quit (Quit: Later).
17:38:28 -!- contrapumpkin has changed nick to copumpkin.
17:44:18 -!- hppavilion[2] has joined.
17:46:19 -!- ais523 has joined.
18:11:00 -!- bb010g has joined.
18:14:12 <shachaf> copumpkin: I'm not even sure how to justify the other two.
18:14:52 <shachaf> oerjan: now i can think about dots but you already scrapped
18:16:09 -!- rdococ has quit (Quit: Leaving).
18:17:08 <int-e> impomatic: http://sprunge.us/TaKQ is 0x10 cycles
18:17:50 -!- Guest772714 has joined.
18:19:22 <shachaf> int-e: whoa, I was wondering if anyone would use that in a solution
18:20:01 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
18:23:57 -!- Caesura has joined.
18:25:45 <int-e> shachaf: hmm, how concrete is your "that"? misaligned instructions, overlapping instructions, overlapping adds, this particular overlapping add?
18:26:21 <shachaf> Is there a use case for misaligned instructions that aren't overlapping?
18:27:03 -!- Kaynato has quit (Ping timeout: 240 seconds).
18:27:23 <int-e> well, some instructions come with unused bytes...
18:27:51 <int-e> so I would see a difference between having a PIX every three bytes and this overlapping ADD.
18:29:33 <int-e> oh no... I have to do this again...
18:29:34 -!- hppavilion[2] has joined.
18:30:15 -!- p34k has joined.
18:32:26 <int-e> even 0x0F should work
18:32:52 -!- augur has quit (Ping timeout: 260 seconds).
18:33:58 <int-e> let's see... I need four more threads.
18:37:04 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
18:40:10 -!- augur has joined.
18:40:55 <impomatic> 4 more threads = two more instructions (8 bytes). 4 for the IPs and 4 to overwrite the IPs :-(
18:41:13 <int-e> But it's possible... just needs work.
18:43:13 -!- hppavilion[2] has joined.
18:48:40 -!- Caesura has quit (Ping timeout: 244 seconds).
18:56:19 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
18:57:48 <shachaf> int-e: For extra credit write a program that uses the IPs as part of an instruction.
18:58:36 -!- centrinia has joined.
18:59:28 <impomatic> ais523: http://programminggames.org/BOX-256.ashx
18:59:41 -!- hppavilion[2] has joined.
19:00:08 -!- Caesura has joined.
19:15:58 <zzo38> Instead of booster packs I may prefer to sell a customizable card game set as a "set box" which contains divisions by rarity and alphabetical order within each section. After confirming that you have received the correct cards, you can mix them and construct packs from them in order to make up a draft, and then afterward you can separate them by rarity to replace them into the box.
19:16:33 <shachaf> zzo38: But you could make much less money that way.
19:16:39 <ais523> zzo38: there are some games that work like that already
19:17:11 <impomatic> Isn't that how the new Netrunner works?
19:17:57 <zzo38> shachaf: The goal is to make a card game, not to make money. In a large enough tournament they would purchase a lot of boxes anyways. (Booster packs could still be sold as well, in case you deliberately want random cards or do not want to construct the packs yourself)
19:18:21 <shachaf> Hasbro's goal is to make money.
19:18:56 * impomatic only has the old Netrunner to play. But I set up a business account with the supplier of the new Netrunner last week so I can retail it.
19:20:47 <fizzie> Superb. Trying to operate the British Airways reservation site -- the dynamic part of the forms are subtly broken. So I check the javascript console, and it says "SyntaxError: expected expression, got '<'" for the file jquery-1.8.3.min.js.
19:21:16 <fizzie> Turns out that's because, instead of returning the jQuery library, their server has returned a HTML page saying "We are experiencing high demand at the moment. If you would like to continue please click on one of the following links, otherwise please visit us again later."
19:21:26 <zzo38> The instructions in the box would specify how many of each rarity per pack, as well as a copy of the game rules, and the computer codes for the cards in the set. (But I would also allow proxies unlike Hasbro anyways)
19:21:26 <fizzie> That's certainly very user-friendly, but it's a poor substitute for jQuery.
19:21:37 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
19:22:02 <\oren\> what if there was a languahe where
19:22:36 <zzo38> When I said it is not to make money, I meant the goal is not primarily earning money; it is secondary. The primary goal is to make up the game.
19:25:03 -!- Sprocklem has quit (Ping timeout: 240 seconds).
19:26:16 -!- Sprocklem has joined.
19:27:25 <zzo38> Also can include a barcode on the front of the card, so that it can be scanned into the computer. A computer database can be provided that includes the barcode numbers, so that the program can then be written to make scanning and make up the list on the computer from that.
19:28:08 <zzo38> (Possibly it could be a UUID or something like that in order that the same way can then even be used with custom cards)
19:28:49 -!- hppavilion[2] has joined.
19:30:13 <int-e> meh, I miscounted the threads...
19:30:33 <zzo38> Including computer codes too also allows anyone to make implementations of the game on computer, as well as to clarify the rules more even if you are not using the computer.
19:33:26 -!- rdococ has joined.
19:36:35 -!- idris-bot has quit (Quit: Terminated).
19:36:52 -!- idris-bot has joined.
19:46:00 -!- Reece` has joined.
19:55:32 -!- sheili has joined.
19:58:58 -!- Sprocklem has quit (Ping timeout: 244 seconds).
19:59:26 -!- Guest772714 has quit (Quit: Nettalk6 - www.ntalk.de).
19:59:29 <HackEgo> ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.)
20:01:26 -!- Guest772714 has joined.
20:01:28 -!- Reece has joined.
20:01:54 -!- Reece` has quit (Ping timeout: 246 seconds).
20:01:54 <zzo38> It should be generally expectted to be English to be reading/writing this channel effectively.
20:02:24 <zzo38> (Despite many Spanish people seem to come on, but I don't know read/write Spanish so well)
20:02:51 -!- Guest772715 has joined.
20:03:03 <ais523> zzo38: it's another person with ~canaima in their username
20:03:15 -!- Guest772714 has quit (Read error: Connection reset by peer).
20:03:49 <ais523> at this point it's almost worth banning the username fragment, lots of Spanish-speakers using canaima seem to end up here when they shouldn't be for no obvious reason
20:04:37 <zzo38> Yes, many people are thinking it is the Spanish IRC even though it is not, it seem? If it can be ban with the note/redirect so that if they do actually want it, to knock or whatever?
20:05:18 <ais523> hmm, which channel do we redirect to though?
20:05:26 <ais523> like, what is it called?
20:05:30 <ais523> we could give it a join message explaining
20:06:09 -!- Caesura has quit (Ping timeout: 244 seconds).
20:12:46 <zzo38> It is the "canaima notice channel"
20:13:02 -!- Caesura has joined.
20:14:12 <ais523> hmm, #canaima exists, it's not empty but it's pretty small
20:15:20 <zzo38> It would be a different channel such as ##canaima-notice for example
20:17:01 <ais523> yes, I wasn't planing to use #canaima, was just curious as to whether it existed
20:17:03 -!- Sprocklem has joined.
20:19:27 -!- sheili has quit (Quit: Leaving.).
20:19:36 -!- sheili has joined.
20:20:07 <zzo38> "Important Note: This is not the Spanish IRC. If this is the channel you want anyways, please to knock or to change your username." (And then also write the same thing in Spanish)
20:22:21 <shachaf> zzo38: Did you hear Conspiracy 2 was announced?
20:22:59 <zzo38> I did not hear it, but now I do
20:24:16 <shachaf> Are you excited for all the new jams?
20:24:32 <shachaf> Also I think Return to Innistrad was released today or something.
20:25:20 <zzo38> I do not play the game much so I don't care
20:26:01 <shachaf> Would you be more excited for a new Magic: The Puzzling?
20:26:05 <zzo38> These new cards and new rules can be used with new puzzles though.
20:26:22 <zzo38> Yes I would be more excited for a new Magic: The Puzzling, and I would purchase it if they made available for purchase
20:28:22 <shachaf> zzo38: Have you tried http://markrosewater.tumblr.com/post/121390976958/the-duels-games-have-puzzle-duels-which-are ?
20:28:58 -!- sheili has left.
20:31:42 <zzo38> Apparently they have been getting fewer and worse every time, anyways I would want a paper version
20:32:13 <zzo38> Still some other people (including myself) do make up puzzles too
20:49:04 -!- Guest772715 has quit (Ping timeout: 252 seconds).
20:55:23 -!- Reece` has joined.
20:55:27 -!- Reece has quit (Ping timeout: 246 seconds).
20:56:50 -!- Caesura has quit (Ping timeout: 244 seconds).
20:58:43 -!- shachaf has quit (Ping timeout: 260 seconds).
21:01:42 -!- FireFly has quit (Remote host closed the connection).
21:01:57 -!- hppavilion[1] has joined.
21:04:28 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
21:06:40 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:07:25 -!- FireFly has joined.
21:08:18 -!- iconmaster has joined.
21:11:04 -!- shachaf has joined.
21:11:55 -!- Caesura has joined.
21:12:36 -!- Reece` has quit (Ping timeout: 246 seconds).
21:16:01 -!- Reece` has joined.
21:20:21 -!- puck1pedia has joined.
21:20:33 -!- puckipedia has quit (Ping timeout: 240 seconds).
21:21:45 -!- puck1pedia has changed nick to puckipedia.
21:23:53 -!- ais523 has quit (Quit: buying food).
21:25:11 <int-e> impomatic: http://sprunge.us/EhhO
21:26:31 <impomatic> int-e: I didn't think it was possible. 62 threads, nice work :-)
21:30:07 <impomatic> I need to check my Smiley Face solution is safe
21:34:19 <int-e> fwiw, I don't think 0x40 threads will fit :)
21:35:36 <int-e> besides they wouldn't help... duh.
21:52:15 -!- Reece` has quit (Quit: Alsithyafturttararfunar).
21:52:40 -!- augur_ has joined.
21:54:31 -!- augur has quit (Ping timeout: 252 seconds).
22:04:04 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:23:36 -!- ais523 has joined.
22:39:08 <zzo38> "Science is always discovering odd scraps of magical wisdom and making a tremendous fuss about its cleverness." I have seen this quotation attributed to Aleister Crowley but have been unable to confirm it. Do you know who it is?
22:39:21 <zzo38> Another quotation is "The best armor is to keep out of range." Do you know where it comes from?
22:43:06 -!- spiette has quit (Quit: :qa!).
22:44:38 -!- spiette has joined.
22:46:00 -!- spiette has quit (Read error: Connection reset by peer).
22:47:03 -!- Caesura has quit (Ping timeout: 240 seconds).
22:49:25 -!- oerjan has joined.
23:03:06 -!- Caesura has joined.
23:06:03 -!- p34k has quit.
23:09:01 -!- hppavilion[1] has joined.
23:09:57 -!- kragniz has quit (Quit: leaving).
23:10:23 -!- kragniz has joined.
23:19:29 <shachaf> oerjan: what are you mwahing about now
23:23:56 <oerjan> dot, dot dot, dot . dot, dot (dot dot), dot dot . dot, dot . dot dot, dot (dot . dot), dot . dot . dot, dot (dot (dot dot)), dot (dot dot) . dot, dot dot . dot dot, dot . dot . dot ...
23:24:21 <shachaf> @@ @@ (@where dedot) dot (dot dot)
23:24:37 <shachaf> @@ @@ (@where dedot) dot (dot dot) dot
23:25:09 <shachaf> @@ @@ (@where dedot) dot dot (dot dot)
23:26:40 <oerjan> @@ @@ (@where dedot) dot . dot dot
23:26:50 <oerjan> @@ @@ (@where dedot) dot (dot dot) . dot
23:27:07 <shachaf> why are you writing some dots infix twh
23:27:12 -!- kragniz has quit (Quit: leaving).
23:27:18 <shachaf> @@ @@ (@where dedot) dot dot dot dot dot dot
23:27:25 <oerjan> shachaf: because it's easier for my brain to apply them that way
23:28:55 <myname> is dot dot dpt and dot . dot equivalent?
23:29:01 -!- kragniz has joined.
23:30:28 <ais523> I wonder if lambdabot's @where is meant to be abused like this
23:30:49 <ais523> and if not, whether it would be worth adding an equivalent feature that's more appropriately named, and/o closing the loophole
23:32:21 <shachaf> @pl \a b c d e -> a (b c) (d e)
23:32:53 <shachaf> @@ @@ (@where dedot) dot (dot (dot dot)) dot
23:33:40 <ais523> @pl \a b c d e f g h i j k l m -> a (((b c) d (e f g)) h (i j) k) (l m)
23:33:40 <lambdabot> (((((((((((.) .) .) .) .) .) .) .) .) .) .) . (. ((((((((.) .) .) .) .) . (.) . (.)) .) .)) . (.) . (.) . (.) . (.) . (.) . (.) . (.) . (.) . (.)
23:34:07 <shachaf> @pl \a b c d e -> a (b (c (d e)))
23:34:07 <lambdabot> (. ((. (.)) . (.) . (.))) . (.) . (.) . (.)
23:34:20 <ais523> hmm, @pl output on this sort of grouping operation seems to obey a relatively restricted grammar
23:34:25 <shachaf> @pl is cheating because it uses (. f)
23:34:26 <ais523> this might be exploitable somehow?
23:34:31 <shachaf> Which is really (flip dot f)
23:34:55 <myname> @pl \a b c -> a c (b c)
23:34:57 <ais523> hmm, perhaps dot and (flip dot) are leftassoc-complete?
23:35:20 <lambdabot> Perhaps you meant ‘not’ (imported from Data.Bool)
23:35:25 <shachaf> Well, what I wanted was a pair of functions that don't need parentheses.
23:35:54 <shachaf> So you can use "f g f f f g f" or something to define your blob, and then give it all your arguments.
23:36:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
23:36:16 -!- Caesura has quit (Ping timeout: 252 seconds).
23:37:05 <ais523> hmm, can we think about this problem moving backwards?
23:37:25 <ais523> e.g. is it possible to define openparen and closeparen combinators that let you specify the argument pattern in advance
23:37:35 <ais523> and they somehow have the right functionality?
23:38:36 <myname> you could think about giving them the number
23:38:59 <myname> like paren 3 a b c d e f g = (a b c) d e f g
23:39:23 <ais523> myname: ugh, be careful
23:39:27 <ais523> you're halfway to inventing Ursala
23:40:09 <ais523> Ursala pointers use a syntax in which numbers effectively parenthesize that many elements
23:40:16 <ais523> e.g. 3abcdef = (abc)def
23:40:39 <ais523> so, have you /seen/ Ursala?
23:40:46 <ais523> it's at least as eso as BANCStar
23:43:04 <oerjan> <ais523> hmm, @pl output on this sort of grouping operation seems to obey a relatively restricted grammar <-- it all consists of applications of (.), itym
23:43:21 -!- Sgeo has joined.
23:44:07 <ais523> oerjan: yes, it's clearly made out of applications and partial applications of (.) but it appears to be even more restricted than that
23:45:14 <oerjan> shachaf: no, there's no flip in there. it's (a .) not (. a)
23:45:39 <shachaf> oerjan: it generates both hth
23:46:16 <oerjan> well ok. you don't _need_ flip, though.
23:46:43 <shachaf> @@ @unpl @pl \a b c d e -> a (b (c (d e)))
23:46:44 <lambdabot> (\ w al n q t -> w (al (n (q t))))
23:46:47 <oerjan> btw i'm very doubtful that adding just dot dot as a single combinator helps.
23:47:23 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot)
23:47:24 <lambdabot> (\ k l q r w x -> k l (q r) (w x))
23:47:59 <oerjan> that's the only possible case which remains to check
23:48:27 <oerjan> everything shorter is equivalent to a straight line of dots.
23:48:39 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot
23:48:41 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot
23:48:44 <oerjan> @@ @@ (@where dedot) dot dot dot dot
23:48:47 <oerjan> @@ @@ (@where dedot) dot dot dot
23:49:06 <oerjan> hm admittedly that single one _does_ seem to give something new.
23:49:14 -!- kragniz has quit (Quit: leaving).
23:49:31 -!- kragniz has joined.
23:49:51 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot
23:51:01 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) (dot dot)
23:51:02 <lambdabot> (\ l q r w x ad -> l (q r) (w x ad))
23:51:29 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot dot
23:51:30 <lambdabot> (\ q r w x ac ad -> q r (w x) (ac ad))
23:52:10 <oerjan> @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot (dot dot)
23:52:12 <lambdabot> (\ q r w x ad af ag -> q r (w x) ad (af ag))
23:52:35 <int-e> impomatic: smile! http://sprunge.us/VQCK
23:52:39 <shachaf> Oh, at least I figured out the general-case transformation for making a parenthesized dot blob.
23:52:57 <oerjan> ok doubt is lessening again, it seems that continuing from dot dot dot dot dot dot (dot dot) gives new functions
23:53:56 <shachaf> I guess that doesn't fix the @where.
23:54:00 <int-e> impomatic: there should still be room for another cycle or two
23:54:00 <oerjan> shachaf: no, just dot dot
23:54:05 <impomatic> int-e: that's a pretty big improvement!
23:54:59 <int-e> impomatic: but I'm not going to try... using 16 cycles for the actual drawing is such a sweet spot
23:55:02 <oerjan> shachaf: i deduced earlier that if you can convert every dot . dot ... . dot sequence to a straight lassoc line, then you get everything.
23:55:42 <oerjan> well basically, first you have
23:55:49 <impomatic> int-e: is your code specific to the smiley, or can you use it for any image?
23:56:43 <int-e> impomatic: http://sprunge.us/TfbH is how I planned it... the Y and Z regions (y and z are erasures) are specific to the smiley
23:56:50 <oerjan> shachaf: you have a (b1 ... bn c) = fmap^{\circ n-1} a b1 ... bn c
23:57:44 <int-e> impomatic: so it's quite specific
23:57:56 <shachaf> Are you subtracting the "-1" there?
23:59:46 <oerjan> hm i'm jumping too fast