00:00:11 ais523: note periodicity 00:00:29 oerjan: indeed 00:00:37 although that type's not /quite/ the same, a and a1 swapped names :-P 00:01:24 ais523: they're alpha equivalent. 00:01:34 yes 00:04:00 oerjan: I got bibled. 00:04:28 fmap fmap (fmap (fmap fmap)) = fmap (fmap fmap) fmap (fmap fmap) = fmap (fmap (fmap fmap) fmap) fmap fmap 00:04:41 boily: yw 00:06:06 now I'm wondering if (.) and ((.) (.)) are enough 00:06:10 me too 00:06:13 probably not, but at least it doesn't obviously fall into cycle issues 00:07:39 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:09:24 oops, missed a syllable 00:09:34 `? ais523 00:10:27 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 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 it looks like possibly the blob is never larger than the original? 00:13:03 That blob isn't done. 00:13:30 no. i'm talking about the general process: you never add more fmaps than you get variables extracted 00:13:46 Yay, figured out a way to do the checkerboard in 0x16 cycles... and actually 0x15 might just be possible. 00:13:49 Ah. Hm. Maybe. 00:13:54 if this is true, then (.) and (.) (.) must be enough. 00:14:05 I always tried to deblob the fmaps too 00:14:16 because if you can use (.) (.) you can force it to shrink 00:14:41 because a nontrivial fmap blob must contain fmap fmap somewhere. 00:17:18 i'm a little worried if it's true though, what if c above is composite? 00:18:30 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 i can assume e is, because it's the "innermost" 00:20:24 -!- hppavilion[2] has joined. 00:20:29 I just had an awful, awful idea 00:20:37 The Minimalist's Web 00:21:23 AKA Web ε.0 00:21:43 Click here 00:21:52 oerjan: It's even worse than that 00:22:13 oerjan: I'm creating a page on the markup now 00:22:32 hppavilion[2]: my point is there's only one page, and it links only to itself hth 00:22:46 oerjan: Oh, that's called AJAX 00:22:59 OKAY 00:24:09 oerjan: fmap (fmap a b) c (d e) = fmap (fmap (fmap a b)) c d e ? 00:24:10 . o O ( at least it keeps him off the streets ) 00:24:48 shachaf: oops 00:25:58 oerjan: surely it could have a more informative link text than "click here" 00:25:58 -!- gremlins has quit (Quit: Alsithyafturttararfunar). 00:26:26 ais523: only if it's more minimal hth 00:26:41 what about "top"? 00:26:55 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 oerjan: It's dot dot (dot (dot a b)) c d e 00:30:15 > fmap fmap (fmap (fmap f g)) h f x :: Expr 00:30:17 No instance for (Show a2) arising from a use of ‘f’ 00:30:17 The type variable ‘a2’ is ambiguous 00:30:17 Note: there are several potential instances: 00:30:21 shocking 00:30:28 :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 (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e 00:30:31 hth 00:31:42 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 that's what i wrote above hth 00:32:36 switching notation in the middle of the process again is too much for my brain. 00:33:07 anyway, that does indeed not look smaller. 00:33:21 unless we use that fmap fmap is allowed. 00:33:46 = dot (dot dot) (dot dot (dot a)) b c d e 00:34:20 ditto. 00:35:06 = dot (dot (dot dot)) (dot (dot dot) dot) a b c d e 00:35:17 Of course you can dot that some more. 00:35:54 ok that's not smaller. 00:36:02 even with (dot dot) 00:36:10 what if the other function you need is called dash 00:36:16 you can encode binary trees in morse code 00:36:21 fancy 00:36:30 :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 (d -> e) -> (c -> d) -> (b -> c) -> (a -> b) -> a -> e 00:36:49 dot (dot^4) (dot^5) 00:37:11 But this particular tree is a special one, of course. 00:38:37 yay trees 00:38:55 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:11 ... 00:39:42 = dot (dot (dot (dot dot)) (dot dot)) dot a b c d e 00:39:50 oerjan: whoa, yours is different 00:39:53 yep 00:40:00 i thought yours seemed fishy 00:40:13 Well, it's correct. 00:41:19 mine somehow manages not to grow there 00:41:59 :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 (b2 -> c) -> (b1 -> b2) -> (b -> b1) -> (a -> b) -> a -> c 00:43:25 [wiki] [[Minimalist's Markup]] N https://esolangs.org/w/index.php?oldid=46760 * Hppavilion1 * (+3290) Created Page 00:44:10 oerjan: Marvel at my evilocity 00:45:33 oerjan: It can ONLY be edited in a monospace fontface :) 00:45:45 Hmm. 00:45:49 OKAY 00:46:12 hppavilion[2]: is that more or less evil than using terminal control codes as an HTML equivalent? 00:46:22 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 (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 @unpl (.) ((.) ((.) ((.) (.))) ((.) (.))) 00:46:41 (\ b c i l n o -> b c i (l (n o))) 00:46:47 ais523: I would guess less, because mine will allow more complex things 00:46:48 @unpl to the rescue 00:47:01 @unpl (.) ((.) ((.) ((.) (.))) ((.) (.))) (.) 00:47:01 (\ c i l n o -> c (i (l (n o)))) 00:47:02 hppavilion[2]: no, this allowed more complex things 00:47:07 ais523: ? 00:47:08 it had the same featureset as, say, OpenDocument 00:47:12 ais523: Oh. 00:47:13 despite being based on terminal control codes 00:47:18 ais523: What is it? 00:47:20 ais523: *where 00:47:21 it even had support for things like vector graphics 00:47:30 hppavilion[2]: look up "Open Document Architecture" (e.g. on Wikipedia) 00:47:55 ais523: so it was the hurd of hypertext? 00:48:25 oerjan: more like the hurd of Word, I guess 00:48:36 it was originally intended to migrate things out of Word and WordPerfect 00:48:37 ais523: Interesting... 00:48:40 then it sort-of blew up 00:48:54 Crap, just realized that it doesn't support hyperlinks, and that there's no way to do that 00:49:01 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 I guess I'll have to introduce them as part of the scripting 00:49:39 ais523: One of the rules of it is that it's pretty much just a finite (albeit > 16m) set of tags 00:50:12 @@ @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 (.) ((.) ((.) ((.) (.))) ((.) (.))) (.) 00:50:18 @@ @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:20 (\ c i l n o -> c (i (l (n o)))) 00:50:29 ais523: There is an effectively infinite number of hyperlinks, so I don't know how to introduce those properly 00:50:40 ais523: Have I mentioned that it's a scripted markup language 00:50:40 ? 00:51:59 @@ @@ (@where dedot) dot dot dot 00:52:00 (\ c e f i -> c (e f i)) 00:52:52 AAAAAAAA 00:53:07 logs -> 00:53:24 @help dedot 00:53:24 help . Ask for help for . Try 'list' for all commands 00:53:35 @help where 00:53:35 where . Return element associated with key 00:53:40 ah right 00:53:42 @where dedot 00:53:42 @unpl @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show 00:54:54 oerjan: Maybe BCKW has some insight about this. 00:55:11 C, K, W are the three things people usually take away in substructural logics. 00:55:30 But what would it mean to take away B? 00:55:50 -!- Reece` has joined. 00:55:53 shachaf: Oh, are you still working on lefty CL? 00:59:47 @unpl @run text . (let { f ('d':'o':'t':xs) = "(.)"++f xs; f (x:xs) = x:f xs; f "" = "" } in f) $ @show 00:59:47 .hs: 1: 1:Parse error: @ 00:59:56 I was really hoping that would do something 01:01:51 -!- augur has quit (Ping timeout: 276 seconds). 01:06:19 prooftechnique: it's just a piece of shachaf's monstrosity, you need to surround it with @@s hth 01:06:42 are @@ called atats? 01:07:18 -!- augur has joined. 01:07:22 PLAUSIBLE 01:12:12 OKAY 01:13:30 -!- Kaynato has quit (Ping timeout: 268 seconds). 01:15:05 david morgan-mar will be doing a reddit r/comics AMA tomorrow hth 01:17:54 should we ask some #esoteric questions? 01:18:21 hm i dunno. he's on record as not doing programming any longer. 01:18:32 (when he can help it, anyway.) 01:20:36 i demand to see the record 01:26:26 Phantom_Hoover: http://www.irregularwebcomic.net/3431.html 01:26:55 second last paragraph. 01:27:27 oerjan: dmm's statements on programming reminds me of Keymaker 01:27:46 who apparently dislikes non-eso programming 01:29:36 mhm 01:32:01 -!- p34k has quit. 01:41:01 -!- boily has quit (Quit: WHITE CHICKEN). 01:43:44 -!- Kaynato has joined. 01:46:16 `unidecode ƿ 01:46:24 ​[U+01BF LATIN LETTER WYNN] 01:47:21 you know what made ds9 the best star trek series 01:47:39 its excellent villains, such as χ ƿ 01:48:10 <\oren\> chiwynn 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 okay, that was more tedious than expected... but I have a 0x15 cycles checkerboard now. 02:03:58 -!- rdococ has quit. 02:09:00 YES! 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:07 Wi is working 02:53:12 Partially 02:53:19 You can only s/// at the moment, but it works 02:53:40 -!- oerjan has quit (Quit: leaving). 02:55:46 I seem to have hit a wall though 02:58:36 "TedxKids" is a very badly-named thing 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 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:04:25 hello 04:05:12 Hello 04:09:01 int-e: How many instructions do you think is the minimum? 04:09:17 I instruct you to say yay 04:10:53 now 04:20:42 -!- Kaynato has quit (Ping timeout: 244 seconds). 04:22:55 -!- ^v has quit (Ping timeout: 252 seconds). 04:27:00 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 So... I have 0x13 cycles now. :-) 04:28:26 using 41 threads... 04:28:45 0x01 04:31:18 I saw the 4-instruction solution. 04:31:41 I kind of doubt you can do better than that. 04:34:37 I don't think that I can below those 0x13 cycles. 04:38:56 copumpkin: whoa whoa whoa 04:39:07 copumpkin: The answer is obviously "encrypt-then-MAC" 04:46:43 -!- Guest772714 has joined. 04:49:29 impomatic: if you want to play with it, the code is here: http://sprunge.us/PKXS 04:51:01 (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 "sound" instead of "count"... I think this is my cue to go to bed. 05:01:01 What about the blue box one... have people gotten below 8 lines (with wrapping code)? 05:01:49 oerjan: What transformation takes \a b c d e -> a (b c) (d e) to dot^6? 05:05:07 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 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:06:37 You mean "if"? 07:08:58 * rdococ slaps someone with a trout 07:10:13 -!- MoALTz has quit (Quit: Leaving). 07:18:21 what about lua without metatables 07:18:55 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 07:29:00 contrapumpkin: ☝ 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 int-e: nice work, you should submit it to the leaderboard on reddit 09:39:35 -!- jaboja has joined. 09:57:22 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 First time I've seen a coffin made to look like a wicker basket. 11:05:41 (There was one in the back of a hearse.) 11:07:23 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 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 I have coffee. gorgeous, beautiful coffee. aaaaaaaah :) 11:58:12 -!- Reece` has joined. 12:10:51 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 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). 12:37:02 shachaf: thanks! 12:46:19 i'm so happy there's another giant war in eve online 13:14:11 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 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 a1 ... an b (c1 ... cn d) = fmap (a1 ... an b) (c1 ... cn) d 14:58:07 that last one looks promising for recursing 15:01:30 a (b1 ... bn c) = fmap a (b1 ... bn) c = fmap (fmap a) (b1 ... bn-1) bn c 15:06:00 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 ah of course what we need is fmap . fmap . fmap 15:07:53 etc. 15:09:14 it might help that . is associative (and also is fmap) 15:15:23 hm... 15:15:37 fmap fmap fmap is one of my favorites 15:15:46 isn't it 15:17:28 a . (fmap . fmap) = fmap a (fmap fmap fmap) = fmap (fmap a) (fmap fmap) fmap 15:17:38 I guess the equivalent to fmap . fmap . fmap is fmap fmap fmap fmap fmap fmap fmap fmap, which is pleasing 15:19:22 :t (fmap . fmap . fmap) `asTypeOf` fmap fmap fmap fmap fmap fmap fmap fmap 15:19:23 (Functor f, Functor f1, Functor f2) => (a -> b) -> f (f1 (f2 a)) -> f (f1 (f2 b)) 15:20:07 but it has to break down somewhere, because fmap^6 = fmap^10 15:22:14 = fmap (fmap (fmap a)) fmap fmap fmap 15:22:39 hm... 15:23:17 Somehow, I've never seen asTypeOf 15:25:57 = (fmap . fmap . fmap) a fmap fmap fmap 15:27:24 this doesn't help enough if a is composite. 15:36:38 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 @tell 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:47:33 Consider it noted. 15:48:31 * oerjan got a bit confused about wicker <-> wicket, so before googling thought this was some cricket thing. 15:50:06 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 impomatic: ah, nice 0x12 cycles solution 16:01:27 * oerjan finds today's xkcd hilarious 16:02:06 why do i have this awful feeling that box256's thread mechanics are now locked in for good 16:02:51 int-e: thanks :-) 0x11 would be possible if I could find space for one more instruction! 16:03:13 Phantom_Hoover: it's because you're psychic hth 16:03:33 oerjan: I googled for "wicker basket coffin" to find the image. 16:03:51 impomatic: you can do it with misaligned instructions... you don't need the last bytes of the PIX ones. 16:04:08 what the hell is this garden thing 16:04:08 That said, my suggestions are "wicker baskets", "wicker baskets uk", "wicker basket with lid" and "wicker baskets ikea". 16:04:48 Phantom_Hoover: xkcd's april 1 comic that somehow got delayed 16:05:02 impomatic: oh wait, I'm doing the math wrong... 16:05:09 ah, it' some kind of waiting game 16:05:35 Phantom_Hoover: next year he'll do paint drying 16:05:46 it seems quite pointless after time 16:05:48 impomatic: so yeah I think I'm short by one byte. 16:05:50 Phantom_Hoover: i gave up because it kept resetting in my browser 16:05:55 i think time was probably the last genuinely great thing he did 16:06:35 before he managed to fuck up even the pictoblog stuff and wrote that godawful thing explainer book 16:06:36 Phantom_Hoover: what about the comet probe 16:06:41 comet probe? 16:07:07 he had a real-time comic following the landing 16:07:16 well that's kind of cool 16:07:41 anyway, i still think today's is hilarious, so there. 16:09:42 impomatic: hah! you can squeeze in a PIX nn 03 instruction at address 0x16 16:09:42 now gg 16:10:32 int-e: fantastic, I'll do that now, thanks :-) 16:11:25 (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 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 int-e: done that already. I'd allowed for that 16:15:39 :) 16:21:45 -!- Guest772714 has joined. 16:24:36 int-e: done, but didn't need the PIX at 0x16 after all. 16:25:33 -!- Kaynato has quit (Ping timeout: 268 seconds). 16:34:13 hmm, right. 16:50:05 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 oerjan: This is my garden: http://xkcd.com/1663/#abf5687c-fbaf-11e5-8001-42010a8e0011 17:10:53 Things are strange 17:14:37 -!- tromp_ has quit (Ping timeout: 244 seconds). 17:15:53 -!- Reece` has quit (Quit: Alsithyafturttararfunar). 17:26:10 contrapumpkin: ? 17:26:46 shachaf: you told me encrypt-then-MAC 17:28:04 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 unfortunately sizes blow up when trying to use those mutually. 17:29:20 *then 17:30:10 -!- Guest772714 has quit (Ping timeout: 244 seconds). 17:30:20 um, throw a1 ... an (b1 ... bn) in there too 17:31:14 a1 ... an b (c1 ... cn d) = fmap (a1 ... an b) (c1 ... cn) d was the main starting point 17:35:51 fmap (fmap (fmap ...)) is also a base. 17:36:03 oerjan: I just woke up, it'll be a bit before I can think about dots. 17:36:07 OKAY 17:36:40 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 copumpkin: I'm not even sure how to justify the other two. 18:14:52 oerjan: now i can think about dots but you already scrapped 18:16:09 -!- rdococ has quit (Quit: Leaving). 18:17:08 impomatic: http://sprunge.us/TaKQ is 0x10 cycles 18:17:50 -!- Guest772714 has joined. 18:19:22 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 shachaf: hmm, how concrete is your "that"? misaligned instructions, overlapping instructions, overlapping adds, this particular overlapping add? 18:26:21 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 well, some instructions come with unused bytes... 18:27:51 so I would see a difference between having a PIX every three bytes and this overlapping ADD. 18:28:10 Ah, I guess. 18:29:33 oh no... I have to do this again... 18:29:34 -!- hppavilion[2] has joined. 18:30:15 -!- p34k has joined. 18:32:26 even 0x0F should work 18:32:52 -!- augur has quit (Ping timeout: 260 seconds). 18:33:58 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 4 more threads = two more instructions (8 bytes). 4 for the IPs and 4 to overwrite the IPs :-( 18:41:06 I know. 18:41:13 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:56:54 impomatic: corewars? 18:57:48 int-e: For extra credit write a program that uses the IPs as part of an instruction. 18:58:18 ais523: box256 18:58:36 -!- centrinia has joined. 18:59:28 ais523: http://programminggames.org/BOX-256.ashx 18:59:41 -!- hppavilion[2] has joined. 19:00:08 -!- Caesura has joined. 19:15:58 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 zzo38: But you could make much less money that way. 19:16:39 zzo38: there are some games that work like that already 19:17:11 Isn't that how the new Netrunner works? 19:17:44 It is. 19:17:57 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 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 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 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 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 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:10 <\oren\> instead of 19:22:34 <\oren\> print "hello world"; 19:22:36 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:22:46 <\oren\> you have to do 19:23:14 <\oren\> print "hello world;" 19:25:03 -!- Sprocklem has quit (Ping timeout: 240 seconds). 19:26:16 -!- Sprocklem has joined. 19:27:25 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 (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 meh, I miscounted the threads... 19:30:33 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:30:36 A language 19:30:42 Where every instruction is an infinite string 19:30:52 Do you like this? 19:30:59 (Encoded as a lazy-evaluated sequence) 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:16 hola 19:58:27 hi 19:58:51 `? welcome.es 19:58:58 -!- Sprocklem has quit (Ping timeout: 244 seconds). 19:59:18 hablas español 19:59:26 -!- Guest772714 has quit (Quit: Nettalk6 - www.ntalk.de). 19:59:29 ​¡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 It should be generally expectted to be English to be reading/writing this channel effectively. 20:02:24 (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 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 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 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 hmm, which channel do we redirect to though? 20:05:26 like, what is it called? 20:05:30 we could give it a join message explaining 20:06:09 -!- Caesura has quit (Ping timeout: 244 seconds). 20:12:46 It is the "canaima notice channel" 20:13:02 -!- Caesura has joined. 20:14:12 hmm, #canaima exists, it's not empty but it's pretty small 20:15:20 It would be a different channel such as ##canaima-notice for example 20:17:01 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 "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 zzo38: Did you hear Conspiracy 2 was announced? 20:22:27 Release date in Aug. 20:22:59 I did not hear it, but now I do 20:24:16 Are you excited for all the new jams? 20:24:32 Also I think Return to Innistrad was released today or something. 20:24:55 What new jams? 20:25:20 I do not play the game much so I don't care 20:26:01 Would you be more excited for a new Magic: The Puzzling? 20:26:05 These new cards and new rules can be used with new puzzles though. 20:26:22 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 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 Apparently they have been getting fewer and worse every time, anyways I would want a paper version 20:32:13 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 impomatic: http://sprunge.us/EhhO 21:26:31 int-e: I didn't think it was possible. 62 threads, nice work :-) 21:30:07 I need to check my Smiley Face solution is safe 21:34:19 fwiw, I don't think 0x40 threads will fit :) 21:35:36 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 "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 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. 22:50:49 shachaf: *MWAHAHAHA* 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 oerjan: what are you mwahing about now 23:19:37 dots hth 23:23:56 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 @@ @@ (@where dedot) dot (dot dot) 23:24:22 (\ b c f h i -> b c f (h i)) 23:24:37 @@ @@ (@where dedot) dot (dot dot) dot 23:24:38 (\ c f h i -> c (f (h i))) 23:25:09 @@ @@ (@where dedot) dot dot (dot dot) 23:25:11 (\ c e f k l -> c (e f) (k l)) 23:26:40 @@ @@ (@where dedot) dot . dot dot 23:26:41 (\ l b c h i -> l (b c) (h i)) 23:26:50 @@ @@ (@where dedot) dot (dot dot) . dot 23:26:51 (\ o c f h i -> o (c f) (h i)) 23:27:07 why are you writing some dots infix twh 23:27:12 -!- kragniz has quit (Quit: leaving). 23:27:18 @@ @@ (@where dedot) dot dot dot dot dot dot 23:27:20 (\ i k l q r -> i (k l) (q r)) 23:27:22 they are operators 23:27:25 shachaf: because it's easier for my brain to apply them that way 23:28:55 is dot dot dpt and dot . dot equivalent? 23:29:01 -!- kragniz has joined. 23:29:05 myname: yes 23:30:28 I wonder if lambdabot's @where is meant to be abused like this 23:30:49 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 @pl \a b c d e -> a (b c) (d e) 23:32:21 (((.) .) .) . (.) 23:32:53 @@ @@ (@where dedot) dot (dot (dot dot)) dot 23:32:55 (\ c f i k l -> c (f i) (k l)) 23:33:40 @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 (((((((((((.) .) .) .) .) .) .) .) .) .) .) . (. ((((((((.) .) .) .) .) . (.) . (.)) .) .)) . (.) . (.) . (.) . (.) . (.) . (.) . (.) . (.) . (.) 23:34:07 @pl \a b c d e -> a (b (c (d e))) 23:34:07 (. ((. (.)) . (.) . (.))) . (.) . (.) . (.) 23:34:20 hmm, @pl output on this sort of grouping operation seems to obey a relatively restricted grammar 23:34:25 @pl is cheating because it uses (. f) 23:34:26 this might be exploitable somehow? 23:34:31 Which is really (flip dot f) 23:34:55 @pl \a b c -> a c (b c) 23:34:55 ap 23:34:57 hmm, perhaps dot and (flip dot) are leftassoc-complete? 23:35:00 neat 23:35:19 :t (flip dot) 23:35:20 Not in scope: ‘dot’ 23:35:20 Perhaps you meant ‘not’ (imported from Data.Bool) 23:35:24 :t (flip (.)) 23:35:25 Well, what I wanted was a pair of functions that don't need parentheses. 23:35:25 (a -> b) -> (b -> c) -> a -> c 23:35:34 @let dot = (.) 23:35:35 Defined. 23:35:54 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:36:58 right 23:37:05 hmm, can we think about this problem moving backwards? 23:37:25 e.g. is it possible to define openparen and closeparen combinators that let you specify the argument pattern in advance 23:37:35 and they somehow have the right functionality? 23:38:36 you could think about giving them the number 23:38:59 like paren 3 a b c d e f g = (a b c) d e f g 23:39:23 myname: ugh, be careful 23:39:27 you're halfway to inventing Ursala 23:39:42 what's the problem? 23:40:09 Ursala pointers use a syntax in which numbers effectively parenthesize that many elements 23:40:16 e.g. 3abcdef = (abc)def 23:40:23 inside a pointer 23:40:24 so? 23:40:29 :D 23:40:39 so, have you /seen/ Ursala? 23:40:44 no 23:40:46 it's at least as eso as BANCStar 23:43:04 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:43:26 oerjan: and flip hth 23:44:07 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 shachaf: no, there's no flip in there. it's (a .) not (. a) 23:45:39 oerjan: it generates both hth 23:46:16 well ok. you don't _need_ flip, though. 23:46:24 Agreed. 23:46:43 @@ @unpl @pl \a b c d e -> a (b (c (d e))) 23:46:44 (\ w al n q t -> w (al (n (q t)))) 23:46:47 btw i'm very doubtful that adding just dot dot as a single combinator helps. 23:46:49 walnqt 23:47:07 oh hm 23:47:23 @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) 23:47:24 (\ k l q r w x -> k l (q r) (w x)) 23:47:59 that's the only possible case which remains to check 23:48:27 everything shorter is equivalent to a straight line of dots. 23:48:39 @@ @@ (@where dedot) dot dot dot dot dot dot 23:48:40 (\ i k l q r -> i (k l) (q r)) 23:48:41 @@ @@ (@where dedot) dot dot dot dot dot 23:48:43 (\ f i k l -> f (i (k l))) 23:48:44 @@ @@ (@where dedot) dot dot dot dot 23:48:45 (\ e f i k l -> e f i (k l)) 23:48:47 @@ @@ (@where dedot) dot dot dot 23:48:48 (\ c e f i -> c (e f i)) 23:49:06 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 @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot 23:49:53 (\ l q r w x -> l (q r (w x))) 23:50:55 hm also new 23:51:01 @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) (dot dot) 23:51:02 (\ l q r w x ad -> l (q r) (w x ad)) 23:51:29 @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot dot 23:51:30 (\ q r w x ac ad -> q r (w x) (ac ad)) 23:52:10 @@ @@ (@where dedot) dot dot dot dot dot dot (dot dot) dot (dot dot) 23:52:12 (\ q r w x ad af ag -> q r (w x) ad (af ag)) 23:52:35 impomatic: smile! http://sprunge.us/VQCK 23:52:39 Oh, at least I figured out the general-case transformation for making a parenthesized dot blob. 23:52:57 ok doubt is lessening again, it seems that continuing from dot dot dot dot dot dot (dot dot) gives new functions 23:53:49 @let doot = dot dot dot 23:53:50 Defined. 23:53:56 I guess that doesn't fix the @where. 23:54:00 impomatic: there should still be room for another cycle or two 23:54:00 shachaf: no, just dot dot 23:54:05 int-e: that's a pretty big improvement! 23:54:05 Er, right. 23:54:59 impomatic: but I'm not going to try... using 16 cycles for the actual drawing is such a sweet spot 23:55:02 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:28 I must've missed that. 23:55:42 well basically, first you have 23:55:49 int-e: is your code specific to the smiley, or can you use it for any image? 23:56:43 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 shachaf: you have a (b1 ... bn c) = fmap^{\circ n-1} a b1 ... bn c 23:57:15 Right. 23:57:16 er 23:57:21 *--1 23:57:44 impomatic: so it's quite specific 23:57:56 Are you subtracting the "-1" there? 23:58:00 yeah 23:59:46 hm i'm jumping too fast