00:26:05 ^bf ,,,... 123 00:26:09 ^bf ,,,...!123 00:26:10 333 00:26:26 ^bf ,>,>,.<.<.!123 00:26:26 321 00:41:19 ^rev 123 00:41:19 321 00:45:58 oerjan, I was trying to see how fungot did its input for ^bf 00:45:58 Taneb: cyrus! are you leaving! strange, but!? noooo!! the king does not wish! we shall hold this position to the last man! big fire where lavos fall from sky! we no can call you " knight cyrus fell while protecting our kingdom from magus. i'd stay away! 00:48:23 Hmm, you know how I said earlier that I had a dream last night where someone told me I needed to drink more alcohol? 00:49:03 A sort-of friend from high school has messaged me telling me to drink more alcohol! 00:50:46 I don't think anyone told her about this dream 00:52:09 Taneb: i think what you tested is pretty standard behavior, although one difference i recall between fungot and EgoBot was that the latter kept the final newline in the input. 00:52:09 oerjan: to the northwest of this cape. he took back the medal from the frog king. and i'd like to see that mystical sword for myself! geez! 00:53:47 `! bf ,+++++++++++++++++++++++++++++++++.! 00:54:05 wat 00:54:18 No output. 00:54:18 hm maybe it didn't take input 00:54:22 oh 00:54:51 in that mode 00:55:17 fungot: any sword stopping today? 00:55:17 oerjan: are you a man, if there weren't evil in this world are places like that. a peaceful. hah! you think you are? coming and going out?! hey! is that for us! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have? transform! this trading house. it's the kind! i've decided to stay with these humans! you're a traitor! you're not our 00:56:10 ah, the synchronicities are catching up with Taneb *evil cackle* 00:56:32 elliott: *SOON I WILL HAVE CONVERTED ALL THE HEXHAMMERS* 00:56:57 oerjan: are you creating all the synchronicities? 00:57:06 no, just pointing them out 00:57:22 i think. but who knows, really. 01:05:16 fungot: what do you think of Taneb? 01:05:16 boily: must think of a way to the ocean palace?! 01:05:39 Taneb: any link with some branch of a royal lineage? anything you'd like us to know? 01:06:32 any strange birthmarks? 01:07:44 any suspiciously fancy swords placed above your parents' fireplace? 01:09:27 does the flashlight in their drawer burn holes in stuff when you turn it on? 01:11:43 is your cranium nicely and crownly shaped? do you gain a booming authorative voice when wielding a sceptre? 01:14:14 do birds inexplicably land on your finger if you point at something too long 01:15:33 Taneb as a Disney princess??? 01:16:37 or possibly a distant relative of francis of assisi 01:17:38 do you have webs between your toes 01:18:38 last time I checked, no, not really. except for a mysterious grain de beauté on the side of a toe, nothing interesting there hth 01:18:39 spider _or_ duck-like count 01:18:52 um i'm still asking Taneb here 01:18:59 oh. 01:19:20 unless you are hiding something 01:20:03 are you the descendant of the secretly escaped last dauphin 01:20:37 I do not believe I have any royal connections 01:20:48 (that last one was to boily) 01:21:20 also that seems to be wrong, i didn't realize there were dauphins after the revolution too 01:22:03 I don't think so, but everything is possible. 01:22:47 well, one, https://en.wikipedia.org/wiki/Louis_Antoine,_Duke_of_Angoul%C3%AAme 01:24:09 he's too late. my French ancestors came here 12 generations ago (give or take some fuziness and inaccuracy.) 01:24:23 ooh 01:24:29 > 12*33 01:24:30 396 01:24:38 > 2014-12*33 01:24:40 1618 01:25:04 that's pretty old 01:25:43 I do not believe I have any french ancestry 01:27:07 interesting result. that'd put them right there at the beginning of Québec City (1608). 01:29:38 the length of a generation may need some disclaimers. 01:31:16 > 33 * 365.25 * 86400 01:31:18 1.0414008e9 01:31:44 a generation is about a gigasecond. 01:32:16 but now is the time to answer the call of the mattress. 01:32:22 -!- boily has quit (Quit: INTEMPESTIVE CHICKEN). 01:34:16 ^bf +[>+] 01:35:37 Huh, I thought the standard estimate of a generation was 25 years. 01:49:11 I think I prefer Scala's implicit conversions to Rubyesque monkey-patching... but ... it still strikes me as silly, all that effort for a bit of syntax sugar 01:49:54 http://ddili.org/ders/d.en/ufcs.html makes even more sense to me 01:50:30 Although... a.b() could mean something other than expected if a defines its own b, I guess 01:55:45 I wonder if there’s any language where decimal literals are actually method calls. 01:56:27 Melvar: DISCLAIMER I SAID 01:57:22 ? 01:57:35 Huh, I thought the standard estimate of a generation was 25 years. 01:59:33 Oh, yeah. It wasn’t about whether the estimate was good, only that it was not the estimate I expected someone to pick by default. 02:00:26 My gran's 67 years older than me which makes 33 years decent in my case 02:03:50 and mine was 44 years older than me, not so decent 02:06:32 -!- Left_Hand_6969 has joined. 03:05:45 -!- Left_Hand_6969 has quit. 03:13:43 The http://golf.shinh.org/p.rb?Helloworldless+Hello+world solutions might also give some ideas. <-- huh that actually seems to be impossible to do in haskell 03:14:28 not a single IO command without those characters, and "import" cannot be used either. 03:15:21 looks like some solutions abuse case 03:15:44 sure, but in haskell you cannot do that with actual identifiers 03:15:48 oerjan: use pointer manip to write out a machine code solution and jump to it 03:15:55 oh 03:16:13 I guess you can't without import 03:16:17 elliott: and how do you expect ... right 03:16:19 just write a small language implementation and use that 03:16:53 a LANGUAGE pragma cannot be done without a ... oh wait you can use tabs can't you 03:17:04 but are there any that would help 03:17:24 have it be C-preprocessed first and use trigrams 03:17:31 I think you can't do it in whitespace either 03:17:35 you can do LANGUAGE CPP actually 03:17:37 Bike: huh that might actually work :P 03:17:52 doesn't get you letters though 03:17:56 unless you can somehow... 03:17:58 oh. 03:17:59 fish them out of header files 03:18:02 can you do 03:18:03 foo = " 03:18:08 #include 03:18:08 " 03:18:09 elliott: no 03:18:10 or the like 03:18:14 (obviously not exactly that) 03:18:21 sounds like a job for M4 03:18:33 coppro: you might be able to? haskell cpp runs in a weird traditional mode 03:18:38 ah fair 03:19:13 I guess you cannot #include at all. 03:19:45 not literally, anyway... 03:20:18 no way to do non-literal cpp directives 03:20:23 unless you /nested/ cpp... 03:20:29 you can use {-# OPTIONS #-}, at least 03:20:33 set it to some sensible locale like zh-trad, problem solved 03:20:36 and you can set an arbitrary preprocessor with that 03:20:40 >:) 03:20:56 i'm going to go ahead and assume that haskell reserved words are also translated 03:21:02 -pgmf doesn't even have any banned characters 03:21:06 elliott: but you don't have exec ability? 03:21:14 oerjan: you must in the compiler 03:21:18 it calls out to the linker, after all 03:21:19 hm 03:21:33 (I wonder if that's a security hole... hopefully it sandboxes the compilers) 03:22:19 {-# OPTION -F -pgmF perl #-} ... 03:22:30 well, you can't use perl, but 03:24:22 did you just try 03:24:33 oerjan: ooh, I have an idea 03:24:37 use cpp and then do __FILE__ 03:24:40 >:) 03:25:03 Can you name the file on anagolf? 03:25:06 hm do we have control over the file name? 03:25:13 let's see what it returns 03:25:17 yes 03:25:20 if you upload it, I think 03:25:28 pretty sure it has an e in it though, it's like test.ext by default or something 03:25:56 well even better if you can just name the file putStrLn 03:26:07 or some such 03:26:07 an r would be nice, that's the only thing broken in putChar ... oh right 03:26:18 hmph, no __FILE__ in the cpp by default 03:26:19 except it must end in .hs 03:26:31 _but_ we can define hs as a function 03:26:34 So define an identity function called hs 03:26:34 elliott: oh :( 03:26:36 yeah 03:26:39 oerjan: but maybe fixable 03:26:46 since you can pass options to cpp I think 03:27:53 oh hm possibly ghc names the file something else before passing it to cpp 03:28:08 or maybe not 03:28:17 hm, is OPTIONS ignored now or something... 03:29:45 i think zzo38 said the anagolf code is open source? can we find out how it calls ghc 03:29:50 heh LANGUAGE is picky about syntax, it seems 03:31:54 oerjan: Yes, it is on Github you can look up all of that stuff (including how the scoring is implemented, how execution limits work, and others) 03:31:56 oerjan: proof of concept: http://sprunge.us/UiPO 03:32:01 elliott: does it at least accept newlines or tabs? 03:32:18 LANGUAGE doesn't 03:32:21 but you can just use OPTIONS_GHC 03:32:28 huh 03:33:10 oh __FILE__ gets put quotes around? :( 03:33:33 that's not good 03:33:37 yeah, it's a string literal 03:33:49 there's __FUNCTION__ 03:33:51 wonder what it does in haskell 03:34:46 fwiw: clang -E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/base-4.7.0.1/include -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/integer-gmp-0.5.1.0/include -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/include '-D__GLASGOW_HASKELL__=708' '-Ddarwin_BUILD_OS=1' '-Dx86_64_BUILD_ARCH=1' '-Ddarwin_HOST_OS=1' '-Dx86_64_HOST_ARCH=1' ... 03:34:52 ... -U__PIC__ -D__PIC__ '-D__SSE__=1' '-D__SSE2__=1' -x assembler-with-cpp hello.hs -o /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc9659_0/ghc9659_1.hscpp 03:34:55 that's what it uses to preprocess by default here 03:34:56 none of those defines look useful 03:36:17 i see shinh has golfed the file names in the anagolf code too, i cannot find out if languages specific code is even there :( 03:37:31 oerjan: oh and we can get spaces 03:37:35 with /**/ 03:37:36 using cpp 03:37:40 ah 03:37:51 * oerjan not that good with C 03:38:06 not inside strings though 03:38:26 https://gcc.gnu.org/onlinedocs/cpp/Traditional-lexical-analysis.html are the fancy buggy traditional semantics we get to work with here 03:38:27 we have succ working, btw 03:38:44 so missing a character in strings isn't a disaster 03:38:53 oh and we can use 03:38:56 > "\32" 03:38:57 " " 03:39:14 we also have __DATE__ 03:39:19 so essentially our _only_ problem is getting a printing function. 03:39:19 quoted too though 03:39:29 hmm 03:39:36 oerjan: ooh 03:39:39 can we use foreign declarations 03:39:46 you can quote the external C name in those 03:39:49 i dunno 03:39:50 and give the imported function your own name 03:39:52 oh 03:39:55 for"e"ign 03:39:59 * elliott sigh 03:40:00 :P 03:40:29 hm we cannot use #define 03:40:35 heh, right 03:40:43 oerjan: btw we _can_ set file and line 03:40:45 but it's probably not useful 03:40:53 from within the file I mean 03:41:10 i guess there is no way to construct characters arithmetically in CPP? 03:41:34 sadly 03:41:46 * elliott looks at Prelude 03:43:41 i checked, everything in IO breaks 03:43:48 absolutely everything 03:44:46 % echo ':browse Prelude' | ghci | sed 's/ *//;/^$/d' | cut -d' ' -f 1 | grep -v '[Hello, world!]' | sort | fmt | curl -F 'sprunge=<-' sprunge.us 03:44:49 http://sprunge.us/ZUUJ 03:44:58 http://sprunge.us/BIPP 03:45:01 not the most useful set 03:45:05 i was just doing that 03:45:13 heh you are way ahead of me 03:45:28 yours has isInfinite... 03:45:43 actually i checked that just before i mentioned the problem here 03:45:45 oh hm 03:46:05 * elliott pores over http://www.haskell.org/ghc/docs/7.8.3/html/users_guide/flag-reference.html 03:46:42 i removed them by hand, albeit with search highlighting 03:46:55 -fcase-mergeEnable case-merging. Implied by -O. 03:47:04 I briefly got excited thinking that might make the language case-insensitive... 03:47:12 :D 03:47:19 ALAS 03:47:35 maybe there is some file _somewhere_ we can #include helpfully. probably not. 03:47:42 oh 03:47:44 no #include. sigh. 03:48:27 oerjan: my best idea right now is that maybe there is some options you can pass to ghc that make it end up just passing the program direct to the C compiler, in which case you can use the C solution :P 03:48:46 You had the ability to use any command as a preprocessor? Does that include parameters to the preprocessor, too, or just the command name itself? 03:49:18 for instance -x c might work 03:49:47 but doesn't work in OPTIONS_GHC, rat 03:49:48 s 03:50:48 FireFly: parameters too 03:50:55 though it might/probably does add some additional junk of its own 03:51:06 real C somehow feels a step too far, but if it's the only way... 03:51:25 -F -pgmF echo gives hello.hs hello.hs /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10789_0/ghc10789_1.hspp 03:51:52 and it has to output to the latter. 03:52:21 with -cpp -pgmP echo you get the nasty -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/base-4.7.0.1/include -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/integer-gmp-0.5.1.0/include -I /usr/local/Cellar/ghc/7.8.3/lib/ghc-7.8.3/include -D__GLASGOW_HASKELL__=708 -Ddarwin_BUILD_OS=1 -Dx86_64_BUILD_ARCH=1 -Ddarwin_HOST_OS=1 -Dx86_64_HOST_ARCH=1 -U__PIC__ -D__PIC__ -D__SSE__=1 -D__SSE2__=1 -x ... 03:52:27 ... assembler-with-cpp hello.hs -o /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10902_0/ghc10902_1.hscpp 03:52:30 you also have control over the assembler and linker, though 03:53:26 you could definitely make the cpp stage do a full C compile instead I think 03:53:32 but a C binary is unlikely to be valid Haskell :P 03:53:51 _maybe_ you could make the cpp stage do a C compile only up to the assembly stage. and then use __asm__ to output a haskell program. or something. 03:55:00 Idea... what about tr? 03:55:07 Oh wait, it needs to write to a file 03:55:17 ooh, to get a range of characters? 03:55:22 Yeah, that was the idea 03:55:46 But the fact that the preprocessor doesn't just write to stdout thwarts that 03:56:08 tr contains a forbidden character, mind you 03:56:14 Oh. right. 03:56:21 as do awk, perl... 03:56:43 and sed 03:56:57 I need my terminal to highlight the forbidden characters :) 03:57:34 oerjan: hm... do you have a link to the anagolf code repo? 03:57:58 https://github.com/shinh/ags 03:58:03 was open in another tab 03:58:27 https://github.com/shinh/ags/blob/4fa35532fe1d73747384b326c0feb713a9b81bec/be/srv/s/_hs, at least 03:59:26 There's not much useful provided by coreutils that doesn't include a forbidden character 03:59:45 so can we get ghc to output an executable file that looks like #!/bin/cat \n blah or similar 04:00:25 XD 04:01:14 this is _way_ too addictive a puzzle. 04:01:39 okay one really simple thing would be if we could find some way to get the entire program text downcased, maybe 04:01:45 Um 04:01:51 huh 04:01:53 then we might be able to get a FOREIGN PUTS 04:01:58 and call that 04:02:04 camel casing makes it annoying, but... 04:02:20 Oh, right, the output has to be executable... I was thinking we could just stop after pre-processing 04:02:46 elliott: INTERACT 04:02:56 'e'? 04:03:00 oerjan: ah, perfect 04:03:08 FireFly: E 04:03:11 if you can downcase the program 04:03:11 Oh 04:05:30 The preprocessor receives input on stdin and is supposed to write to the filename given as an argument? 04:06:03 It *might* be possible to use vi/vim as a preprocessor 04:06:47 no, it receives filenames on stdin 04:06:49 sadly 04:07:00 er 04:07:02 in argv 04:07:13 well that's fine for vi(m) 04:07:34 -F -pgmF echo gives hello.hs hello.hs 04:07:34 /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10789_0/ghc10789_1.hspp 04:11:30 hm it's supposed to read from the first file and write to the last one? 04:12:43 and who knows why it gives the first one twice 04:13:16 oh come on, vim didn't want to write to a file that is already open in another buffer 04:13:25 heh 04:13:38 vim +b2 +b'#' +wq'#' would've acted as "cp" otherwise 04:14:07 you need w! then, i guess 04:14:14 Tried that, it still complains 04:14:17 oh 04:14:33 well then try to change buffer 04:14:48 Hm 04:16:15 Oh, this seems to work 04:16:34 vim +b2 +bun +wq'#' hello world # copies hello to world 04:16:47 Might be possible to use vim as a preprocessor then 04:16:59 note that the first argument is duplicated 04:17:09 Yeah, so the 2 would be a 3 04:19:06 :%s/.*/\L&/g to lowercase a buffer 04:20:05 there are going to be escaping problems, isn't there :( 04:20:17 *aren't 04:20:43 and who knows if shinh.org even has vim :P 04:22:41 vimgolf.com does hth 04:23:00 OPTIONS_GHC isn't sh, at least 04:23:12 oerjan: well it allows vim as a golf language 04:23:42 "ruby" is okay right 04:23:54 No, "r"? 04:23:55 ruby foo.hs ... 04:23:58 oh. 04:24:00 right. 04:26:42 I can't get -pgmF to work with parameters 04:27:21 -optF 04:27:23 oh. 04:27:24 crap. 04:27:34 ._. 04:27:39 Well there goes that idea 04:29:07 eek 04:29:31 i suppose we cannot be the first to try this problem with haskell 04:29:53 but still... 04:29:57 I suspect we're already further out there than most people took it 04:30:01 heh :P 04:30:49 oh hm 04:42:53 -!- password2 has joined. 04:45:13 elliott: oh __FILE__ doesn't work with anagol either, i tried your proof of concept http://sprunge.us/UiPO 04:45:23 well, not in that way at least 04:45:48 because i had an idea to get around the problem, but __FILE__ has to work first 04:46:18 oh wait it's complaining about the #-0 04:46:25 *oh wait it's complaining about the #-} 04:46:32 let's see if we can fix that 04:47:14 ah yes, just adding a tab to that line 04:52:29 ok so my idea is this: can we get CPP and haskell to confuse each other about where strings end, so that __FILE__ turns into "interact.hs" where the first " is the _end_ of a string to haskell? 04:52:52 hm CPP doesn't know about {- -} comments does it 04:55:14 ooh this seems to work 04:55:25 -!- idris-bot has quit (Quit: Terminated). 04:56:39 -!- idris-bot has joined. 05:01:22 map fromEnum "Hello, world!" 05:01:25 > map fromEnum "Hello, world!" 05:01:26 [72,101,108,108,111,44,32,119,111,114,108,100,33] 05:16:58 [wiki] [[Special:Log/newusers]] create * BCompton * New user account 05:25:13 oh f 05:25:37 elliott: OPTIONS_GHC contains a forbidden H 05:25:56 and i basically had it working ;_; 05:30:39 yay it runs! 05:49:00 > map pred "Hello, world!" 05:49:01 "Gdkkn+\USvnqkc " 05:49:24 a couple that won't work there, but it might still be shorter overall 05:49:53 -!- MDude has changed nick to MDream. 06:10:38 -!- password2 has quit (Read error: Connection timed out). 06:15:59 (since me and elliott are discussing this in private, maybe i should mention that this all fails at the moment because anagol _doesn't_ let you choose the filename, hth) 06:30:10 is anyone in #anagol? 06:32:40 Wonder if I could make a Racket language that has something approximating Scala-style implicit parameters 06:44:28 elliott: I'm there nowadays. :/ 06:45:54 fizzie: good, I want to see the reaction for the program I'm about to submit 06:46:19 It doesn't seem to be a very active channel. 06:46:30 aww 06:46:40 well, let's see your reaction at least :P 06:47:11 I mean, it's not dead by any means, and there are occasional discussions, but I haven't seen much reacting to submissions so far. 06:47:52 something tells me this submission may be an exception 06:48:13 well elliott is making something truly evil with a little help from me 06:48:47 and you started it by linking the helloworldless hello world 06:48:50 That's assuming people actually look at it. Though if it's 0B to something nontrivial, I think that might catch someone's attention. 06:49:54 (Or something else that clearly stands out in the announcement.) 06:50:27 well it's a haskell submission to a problem that should really be impossible in haskell 06:51:38 Then it's probably up to whether people will realize that based on the name. 06:51:51 I'm going to have to a breakfast now. 07:00:20 `run echo hi | tr f-e g-d 07:00:20 tr: range-endpoints of `f-e' are in reverse collating sequence order 07:03:28 :t intersection 07:03:29 Not in scope: ‘intersection’ 07:03:29 Perhaps you meant one of these: 07:03:29 ‘IM.intersection’ (imported from Data.IntMap), 07:03:44 :t DL.intersection 07:03:45 Not in scope: ‘DL.intersection’ 07:03:45 Perhaps you meant one of these: 07:03:45 ‘IM.intersection’ (imported from Data.IntMap), 07:04:15 > let s=map ord "Hello, world!" in take 10 [n| n<-[2..], null(s`intersect`map(+n)s)] 07:04:17 can't find file: L.hs 07:04:19 > let s=map ord "Hello, world!" in take 10 [n| n<-[2..], null(s`intersect`map(+n)s)] 07:04:21 [2,4,9,15,16,17,20,21,22,23] 07:18:14 I used 2 in a DOS .com solution (since the existing one was bloaty). 08:29:11 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:44:31 -!- shikhin has joined. 08:50:36 -!- FreeFull has quit (Ping timeout: 258 seconds). 08:55:10 I wish brute forcing gigantic search spaces was feasible 08:56:19 I wish Java let you return multiple primitive values from methods without a heap allocation somewhere 08:56:20 wtf 08:57:20 Lymia: okay, you work on mine and I'll see to yours. 08:57:23 deal? 08:58:29 Wait 100 years. 08:58:34 Your problem is solved. 08:59:21 I... think my searchspaces are a bit too big for even that much progress 08:59:42 you'll probably be able to return multiple primitive values from methods without a heap allocation somewhere in Java in 100 years, though! 09:00:13 I was going to suggest passing in a callback or something, but I guess those get heap-allocated in Java. 09:00:15 elliott: can't you pass in mutable slots (arrays) by reference to a Java method already? 09:00:25 not a callback 09:00:44 do those get stack-allocated? I don't know the JVM. 09:01:04 no, I don't think so, but you can allocate one and call a method multiple times 09:01:10 yeah, I know, that's weak 09:01:26 I don't really know, I don't do java 09:01:42 well, it's Lymia's problem, not mine. 09:02:18 I think it's hard to do just about anything in Java without a heap allocation, though. 09:02:50 elliott: can't you pass in mutable slots (arrays) by reference to a Java method already? 09:02:51 heap allocated 09:02:55 no, I don't think so, but you can allocate one and call a method multiple times 09:02:58 Not viable for compiler magic 09:03:22 do solutions using JNI count? :p 09:03:26 I guess JNI is really slow and awful. 09:03:35 can you do something at the bytecode level? 09:06:05 elliott: sure, just write the whole program in another language and call the main function from JNI 09:07:18 don't bother to return, and during startup, free the hundreds of megabytes of copies of bytecode libraries allocated by java. 09:07:39 or just exec, that might be cleaner 09:08:41 On the bytecode level? Nope 09:09:15 Only hope I have is some pattern that the JVM will consistantly JIT away 09:09:26 Or inlining 09:24:52 -!- impomatic_ has quit (Ping timeout: 240 seconds). 09:26:15 -!- impomatic has quit (Ping timeout: 244 seconds). 09:42:21 -!- FreeFull has joined. 10:11:18 I got up less than an hour ago and have already fixed a bug in a program I wrote at like 2 AM yesterday woo 10:11:52 Woo 10:12:09 (the issue was I misunderstood Data.Text's WHNF) 10:12:28 WTFNF 10:13:30 I was adding a brainfuck interpreter to a friend's IRC bot 10:14:02 fiendish 10:14:03 Thanks, date formats: I just got an email from someone who had thought a thing was happening on May 1st (2015), when it's actually happening on January 5th. 10:14:15 Looking at it now, the code was pretty hideous 10:15:17 Except for one line, which is merely hideously lensy 10:15:20 "consumeElement I = tape.focus.enum <~ input %%= fromMaybe ('\0', "") . uncons" 10:16:52 ugh... is that haskell? 10:16:57 looks like 10:17:42 Haskell with lens 10:18:08 Which I guess is as close to Haskell as JavaScript with JQuery is to JavaScript 10:19:57 heh 10:21:49 fizzie, use ISO time format next time 10:22:05 You can say they're objectively wrong reading it that way. 10:22:05 ;D 10:28:52 Lymia: I used "January 5th", but the date passed several hands before reaching the sender of this email. 10:40:16 -!- boily has joined. 11:05:56 today in girl genius, a darwin award. 11:06:34 (hoily) 11:08:29 Hehehe 11:09:06 you know the guy is creepy when you sympathize with the big bad killing him 11:10:51 (hellœrjan) 11:11:32 Soon... 11:11:47 Soon I shall have a shirt stating that zero is a natural number! 11:12:16 Solely because I have a lecturer who says it isn't and the computer scientists are wrong. 11:13:00 is there a shirt that has lots of such statements 11:14:00 “here is no universal agreement about whether to include zero in the set of natural numbers.” 11:14:09 s/“/“T/ 11:14:40 's ok, the ancient greeks didn't even include one, i hear 11:14:44 boily, I know, this is just to annoy my poor lecturer 11:15:05 no problem with annoying lecturers. 11:15:07 Taneb: buy one that says the opposite and wear it in the other camp 11:15:25 oerjan, I don't have any lecturers who that would really annoy 11:15:30 aww 11:15:39 Otherwise, I'd regret not ordering that one at the same tome 11:15:40 *time 11:16:16 hm what about a shirt that can be turned inside out 11:16:50 * oerjan is always so creative when overly tired, too bad his brain can't actually follow the ideas 11:17:07 That's be a good idea! 11:18:06 then you can stealthily change it while people aren't watching, confusing them 11:19:44 have we started embedding e-ink or similar into fabric? that way Taneb wouldn't even have to take off his clothes. 11:19:57 ah yes 11:20:05 (unless it is natural for university students to suddenly take off their shirts idk hth) 11:20:13 of course the next step is e-ink tattoos 11:20:17 boily, I could probably get away with it 11:20:51 Yay, yukibot has a working brainfuck interpreter! 11:20:58 yuk! 11:21:08 i! 11:21:42 -!- boily has quit (Quit: IMPRINTED CHICKEN). 11:23:09 @eval 1+1 11:23:19 @type 1+1 11:23:20 Num a => a 11:23:29 @run 1+1 11:23:31 2 11:23:33 @@ @type @pl \x -> x+1 11:23:34 Num a => a -> a 11:23:42 it really puzzles me that anyone would exclude 0. 11:23:48 like, don't you like addition having an identity?? 11:24:15 elliott, if you're dealing with prime numbers, excluding 0 is sometimes nice 11:24:20 But yeah, ew 11:25:04 -!- scounder has quit (Changing host). 11:25:04 -!- scounder has joined. 11:25:24 I mean, I just have a hard time imagining someone deciding that the One True Form of the naturals must definitely be nothing more than a commutative semigroup. 11:26:36 okay I guess {1,2,...} is a... semi-semi-ring? 11:27:28 -!- shikhout has joined. 11:27:56 well without 0 it _is_ the free semigroup on one generator 11:28:08 with 0 it is the free monoid 11:28:45 yeah but who likes semigroups. 11:28:47 -!- ineiros has quit (Remote host closed the connection). 11:28:50 oerjan: btw how can you stand the faces in girl genius? 11:29:16 wat 11:30:13 it's the most realistically drawn webcomic i'm regularly reading 11:30:22 I mean... 11:30:25 https://i.imgur.com/QOK6Zpa.png they're terrifying. 11:30:37 -!- shikhin has quit (Ping timeout: 265 seconds). 11:30:57 OKAY 11:31:09 elliott, my own face is terrifying, it makes me feel at home 11:33:22 also, the colors are much better now than in the beginning http://www.girlgeniusonline.com/comic.php?date=20030611#.VFDQb5UtBjo 11:37:34 heh 11:55:03 -!- impomatic_ has joined. 11:56:37 heh, there still aren't any entries for "Make 24" 11:59:06 Cheyenne Wright is doing an amazing job. 11:59:12 i got the vague impression from the discussion here (maybe from you) that the documentation wasn't enough to find the intended answer 12:00:06 i didn't read enough of it to see whether it was _supposed_ to give a unique answer 12:00:09 It's a data compression task. 12:00:28 ah well 12:00:46 As far as I understand, the solutions were derived manually, so there's no clear preferences. 12:01:47 hm interesting... 12:02:19 but probably still too arduous 12:03:22 I'm just wondering how good my 329 characters Haskell solution is. But I'm not going to be the first one to submit a solution. 12:03:39 And it's a bit embarrassing to see that the program size exceeds the total output size. 12:07:26 But I guess I can still submit the code during post mortem :P 12:07:50 @metar EFHK 12:07:51 EFHK 291150Z 21026G38KT 9999 BKN021 10/05 Q1005 NOSIG 12:07:59 Windy day. 12:08:10 @metar LOWI 12:08:10 LOWI 291150Z VRB02KT 9999 FEW060 11/03 Q1019 NOSIG 12:08:15 Not windy. 12:08:24 quite nice, actually 12:08:32 compared to the 09/07 a couple of days ago. 12:08:57 (I assume "26G38KT" is 26 knots, up to 38 in gusts.) 12:09:08 It's going to get freezing here Fri/Sat night again. 12:09:13 yeah. 12:12:33 -!- oerjan has quit (Quit: leaving). 12:12:52 int-e: I've sent a solution so now you won't be the first 12:26:08 heh, this one I just put in the golf is the weirdest looking regex I ever wrote 12:41:46 haha, that's not surprising for #esoteric, a cryptic weather command 12:41:58 int-e: now I've submitted a solution that is actually shorter than the outputs 12:42:48 not haskell though. I don't do haskell golf. 12:43:02 b_jonas: where? /me is curious 12:43:19 nyuszika7h: http://golf.shinh.org/p.rb?Make+24 12:43:27 ah 12:51:08 b_jonas: The problem is a bit annoying for Haskell anyway, because it uses unicode, so the program will start with import System.IO;main=hSetEncoding stdout utf8>> and only then it becomes interesting. wasting 44 characters that way is annoying. 12:52:04 (that initial string is 49 characters compared to 5 for just 'main=') 12:52:14 nyuszika7h: you new here? hi 12:52:33 * elliott gets a sudden feeling he's asked that exact question of you already 12:52:35 int-e: can't that be worked around somehow? 12:52:41 in golf I mean 12:56:08 Not as far as I know, unless we can convince shinh to set LC_CTYPE (or LANG) before invoking ghc. 12:56:14 elliott: pretty much 12:56:18 hi :) 12:56:51 do we still have any fancy welcomes 12:56:53 `ls bin/*elcome 12:56:53 ls: cannot access bin/*elcome: No such file or directory 12:56:56 `run ls bin/*elcome 12:56:57 bin/r13elcome \ bin/relcome \ bin/rwelcome \ bin/welcome \ bin/welcome 12:57:02 `relcome nyuszika7h 12:57:03 ​nyuszika7h: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 12:57:04 good enough 12:57:57 b_jonas: with LC_CTYPE=C, trying to output a character 128 and above just results in : hPutChar: invalid argument (invalid character) 12:58:38 ah, esolangs.org, I know about that site :) 12:58:40 int-e: but isn't there some other function you can call? 12:59:03 instead of putStr that is 12:59:13 nyuszika7h: your nick reminds me of, like, mangled C++ or Haskell function names. 12:59:19 lol 12:59:27 what 12:59:42 well, "nyuszika" means "bunny" in Hungarian, the rest is a bit of a long story 13:00:17 ah, hungarian. that explains why it looks mangled <_< 13:01:54 but mangled C++ names usually have a ? or _Z or some other similar magic code in them 13:02:51 it's more Z-encoding it reminds me of I think. https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/SymbolNames 13:03:28 they get nice clusters of letters and numbers. 13:04:38 b_jonas: not really. There are other routes, the most promising one is going via bytestrings. 13:05:21 I think there might be some shorthand to set stdout to binary/latin-1? 13:05:22 b_jonas: but just 'import Data.Bytestring' is already a mouthful. 13:05:25 like a convenience function for it 13:05:31 which would save a bit compared to utf8 13:05:40 but also I think GHC always treats source programs as UTF-8, so 13:13:34 -!- password2 has joined. 13:28:50 int-e: btw, you... probably can set LANG. via a certain really horrific hack that I am saving for this program I'm still working on. 13:29:13 Are you still working on the helloworldless one? 13:29:17 it's not very space-effective though. 13:29:18 FireFly: yes 13:29:21 Oh my 13:29:36 FireFly: it's far worse than you could possibly imagine, I just need to do some brute forcing to finish it off 13:29:45 I am so proud of it. 13:29:57 but it's waiting until I have enough of a barin to trim down the search space, tomorrow. 13:30:08 *brain 13:35:45 -!- Sprocklem has quit (Ping timeout: 260 seconds). 13:39:14 -!- impomatic_ has left. 13:41:42 -!- Bicyclidine has joined. 13:46:55 -!- nortti has quit (Ping timeout: 258 seconds). 13:48:41 is that about http://golf.shinh.org/p.rb?Helloworldless+Hello+world ? 13:51:22 yeah 13:51:50 that task is a bit scary 13:52:31 is that even solvable in C++ ? 13:54:09 oh, it probably is, because newline isn't banned 13:54:52 -!- MDream has changed nick to MDude. 13:57:19 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 14:00:58 oh damn... I can't include anything.h 14:01:04 I'm screwed then 14:01:07 well, almost 14:01:52 no wait 14:01:55 I can't include ANYTHING 14:02:00 because e is banned 14:02:04 I'm most definitely screwed then 14:02:21 I guess there's a reason why no Haskell solution has been submitted... 14:02:33 stupid 'r' in putChar 14:03:16 argh 14:03:32 you're very unlikely to find out how to do it. 14:03:48 may I suggest waiting until tomorrow-ish to see? :p 14:04:50 elliott: I'm trying C++, not haskell 14:04:57 -!- password2 has quit (Ping timeout: 244 seconds). 14:05:01 I meant int-e 14:05:12 you can do C++ just by cheating and pretending it's C, presumably 14:05:46 -!- `^_^v has joined. 14:06:09 elliott: not easily... I'm trying, but I have to find a way to call a function without doing a #include 14:06:30 c'mon, you can use functions without declaring them. 14:06:35 or is g++ stricter than gcc about that? 14:06:35 I can't call fputs or fputs, because even though I can declare them, I can't easily get a reference to stdout 14:06:44 uh, so use puts? :p 14:06:48 puts is a macro 14:06:56 hmm, actually, I _coudl_ call fputs probably 14:06:57 let me see 14:07:05 OK, printf then 14:07:07 I can't call printf, write, send, because they contain wrong letters 14:07:11 printf has an "r" 14:07:12 erm, right 14:07:13 I mean, there's already a C solution 14:07:19 a C++ solution will be identical 14:07:22 elliott: yes, but C++ is much stricter 14:07:38 both about converting pointers (that I can circumvent) and about calling undeclared functions 14:07:57 besides, I want to make my own solution, not copy an existing one 14:08:03 just wait a minute, I can solve this 14:08:08 good luck :P 14:08:23 won't you need ExtERn "C"? 14:09:26 wait, maybe I can just call printf 14:09:41 by calling it p\u0072intf 14:10:35 hmm no, not with these compile optoins it seems 14:13:55 oh damn 14:14:00 and I can't even call functions with two arguments 14:14:14 argh 14:14:52 There's a C++ solution now. 14:14:56 yes, I see 14:15:00 but that might be because nobody tried 14:15:38 it can probably solved at least by jumping to native code which you embed 14:15:42 but eww 14:15:57 hmm wait, I have another idea 14:17:48 ok, I got a segfault now 14:18:37 -!- password2 has joined. 14:19:59 b_jonas: I think you misread fizzie's line 14:20:11 oh 14:22:28 -!- impomatic_ has joined. 14:24:20 [wiki] [[Special:Log/newusers]] create * Pietu1998 * New user account 14:59:58 I mean, I made one, by copying a C one. 15:10:43 -!- Sprocklem has joined. 15:12:43 -!- password2 has quit (Ping timeout: 255 seconds). 15:21:53 [wiki] [[Lenguage]] N http://esolangs.org/w/index.php?oldid=40703 * Pietu1998 * (+3996) yeah, putting it out there 15:21:56 -!- MDude has quit (Ping timeout: 244 seconds). 15:22:54 -!- nortti has joined. 15:32:18 -!- mihow has joined. 15:40:12 -!- augur has quit (Remote host closed the connection). 15:44:50 !blsq_uptime 15:44:51 7d 7h 31m 31s 15:56:15 b_jonas: http://golf.shinh.org/reveal.rb?Helloworldless+Hello+world/int-e_1414598126&hs :-P 15:57:04 I should try the three-letter shells. 15:58:11 or the two letter one, which happens to be bash. 15:59:17 -!- impomatic_ has quit (Ping timeout: 264 seconds). 16:00:01 int-e: :/ 16:00:04 you beat me to it 16:00:18 (but mine was nicer, I was just going to brute-force the tr) 16:00:24 oh well, won't bother finishing it 16:00:25 Oh I mixed up elliott and b_jonas. Mumble. 16:00:41 /*/*/t? is shorter. 16:01:06 and you can just use sh. and non-printable characters lose serious style points. also, this is a loophole that should probably really be fixed 16:01:30 -!- impomatic_ has joined. 16:01:30 also, you have too many newlines. 16:01:41 true. 16:04:18 /*/*/t? expands to /usr/bin/tr /usr/lib/tc 16:05:09 oh, I guess. 16:05:23 what I had was 16:05:24 {-#OPTIONS 16:05:24 -F 16:05:24 -pgmFsh#-} 16:05:24 /*/*/t?\"-y'\40-~'>$2<< (yes contains forbidden characters, just a WIP) 16:05:47 formerly I used a $'' for tr but replaced it with the /* version since it worked on my machine. 16:06:19 I had some complete non-forbidden solutions but they were longer than I wanted. so I was going to brute force the best tr. 16:06:48 -!- impomatic_ has quit (Ping timeout: 256 seconds). 16:07:34 that's quite the haskell 16:07:56 http://golf.shinh.org/reveal.rb?Helloworldless+Hello+world/eban_1295411637&zsh is a cute tr. 16:08:36 int-e: harder when you need to output a haskell program 16:08:56 I know. 16:09:22 also, there's no need for the Ln in putStrLn. 16:10:00 (I don't know if the noisy one adds it, but the eban one does) 16:10:14 elliott: You provided me with excellent motivation: " you're very unlikely to find out how to do it." 16:10:18 similarly you can strip out the final newline if you are submitting the program by upload, though I don't know whether that's still counted or not 16:10:39 int-e: shoulda known 16:11:12 anyway this kind of thing lets you bypass exec restrictions 16:11:14 so it's really rather bad 16:12:00 for a short time I was worried you'd be exploiting some GC error leading to code execution :P 16:14:17 it's counted. I did head -c77 hw.hs > hw_.hs before submitting 16:15:13 (since none of my standard editors seem to support saving without a final newline?) 16:16:51 emacs can do it 16:17:02 that's one of the few things I use emacs for these days... 16:17:12 you might find shinh's caddy tool exciting 16:18:56 oh. require-final-newline 16:22:24 Vim can do it too. (See the eol/noeol option.) 16:22:46 (Also needs 'binary' on to happen.) 16:23:16 (In short, ":set binary noeol".) 16:24:08 -!- password2 has joined. 16:26:05 elliott: yes, the noisy one also had a putStrLn ... habitual golfing mistake. 16:38:11 -!- bb010g has quit (Ping timeout: 244 seconds). 16:40:42 elliott: A fun thing that I thought of while reading about your and ørjan’s efforts is that I once wrote an idris function that retrieves the value of a variable by name (a string), but it only works for local variables sadly. 16:44:08 ( let foo = "bar" in getNamedVar "f\111\111" 16:44:09 "bar" : String 16:44:43 right. you showed it here, I think. 16:44:46 I remember being disgusted. 16:45:06 Oh, I didn’t remember if you were there. 16:46:34 I just remembered it because it sure would be useful to be able to retrieve functions by a namestring for that particular problem. 16:49:09 -!- augur has joined. 16:50:29 elliott: ok, I'll stop at http://golf.shinh.org/reveal.rb?Helloworldless+Hello+world/int-e+%28%2B+elliott%29_1414601317&hs ... I saved the single quotes for the <<< parameter by pushing everything into the 128..255 character range. ugly, yes. but it saves 2 bytes. 16:50:45 you have no style :p 16:57:05 `` dc<<<16i6D61696E3D7075745374722248656C6C6F20776F726C642122P 16:57:06 main=putStr"Hello world!" 16:57:52 need to escape that d, though 16:57:53 uh where's the comma 16:57:57 !!!!! 16:58:02 but yes, that would have style if you didn't steal it from the dc solution :P 16:58:54 elliott: I forgot the comma. It's too long. 16:59:14 > (length "/*/*/t[q-s]", length "tr$'\\162'") 16:59:15 (11,9) 16:59:47 ITYP /*/*n/t? 17:00:19 but $'t\162' has the same length (you had an extra r in there) 17:01:23 elliott: note also that invoking dc like that isn't allowed. 17:01:30 hmm, what does ITYP stand for? 17:01:32 oh 17:01:37 damn, you mentioned that. 17:01:39 i think you pantsed 17:01:41 "I think you'd prefer" 17:02:01 going with Bike, here 17:02:19 what is tc, anyway? 17:02:31 as in the executable 17:02:40 `` man tc 17:02:53 man: can't open the manpath configuration file /etc/manpath.config 17:02:56 I don't know, " tc - show / manipulate traffic control settings" 17:03:57 sounds useful. I bet you can use it for this. 17:04:08 (I'd suspect it's some programming language anagol has) 17:04:47 it's not. 17:05:46 It’s about network traffic control in the linux kernel apparently? 17:05:49 oooh. test.sh: line 1: /usr/lib/tc: is a directory 17:07:33 but nevertheless, it's part of the oproute package 17:07:41 *iproute 17:16:32 -!- monotone has quit (Remote host closed the connection). 17:16:57 -!- monotone has joined. 17:27:10 -!- shikhin has joined. 17:30:24 -!- shikhout has quit (Ping timeout: 258 seconds). 17:31:19 -!- password2 has quit (Ping timeout: 255 seconds). 17:31:51 -!- password2 has joined. 17:37:53 Oh I guess for some old problems the Haskell records are no longer obtainable. (for example because of import List vs. import Data.List) 17:43:24 -!- bb010g has joined. 18:01:54 -!- MoALTz has joined. 18:02:10 -!- MDude has joined. 18:10:13 -!- vyv has joined. 18:10:48 [wiki] [[Special:Log/newusers]] create * CosmoConsole * New user account 18:25:12 -!- vyv has quit (Read error: No route to host). 18:28:37 -!- vyv has joined. 18:32:12 -!- augur has quit (Remote host closed the connection). 18:43:46 -!- Phantom_Hoover has joined. 18:43:56 -!- Phantom_Hoover has quit (Changing host). 18:43:57 -!- Phantom_Hoover has joined. 18:55:42 -!- nys has joined. 19:05:04 -!- Bicyclidine has joined. 19:07:26 -!- nys has quit (Ping timeout: 265 seconds). 19:07:51 -!- nys has joined. 19:20:23 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 19:20:35 -!- password2 has quit (Read error: Connection reset by peer). 19:25:48 -!- augur has joined. 19:29:39 -!- impomatic_ has joined. 19:31:29 -!- nys has quit (Ping timeout: 244 seconds). 19:39:51 [wiki] [[FakeASM]] N http://esolangs.org/w/index.php?oldid=40704 * CosmoConsole * (+16772) Created page with "'''FakeASM''' (''Fake'' ''As''se''m''bly) is an [[esoteric programming language]] in the past by [[User:CosmoConsole]] (in fact, so past that the original interpreter source i..." 19:40:21 -!- augur has quit (Read error: Connection reset by peer). 19:41:29 -!- augur has joined. 19:44:04 -!- nys has joined. 19:45:33 -!- password2_ has joined. 19:46:04 -!- password2_ has quit (Max SendQ exceeded). 19:47:21 -!- password2_ has joined. 19:52:58 [wiki] [[FakeASM]] http://esolangs.org/w/index.php?diff=40705&oldid=40704 * CosmoConsole * (+870) examples 20:00:07 -!- drdanmaku has joined. 20:05:08 [wiki] [[FakeASM]] M http://esolangs.org/w/index.php?diff=40706&oldid=40705 * CosmoConsole * (+359) some additional formatting, fixes, fakeasm2 20:07:27 [wiki] [[FakeASM]] M http://esolangs.org/w/index.php?diff=40707&oldid=40706 * CosmoConsole * (+2) 20:08:13 -!- password2_ has quit (Ping timeout: 260 seconds). 20:12:29 -!- augur has quit (Remote host closed the connection). 20:19:50 Speaking of unlikely POSIX permissions (like we were the other day), these files for some reason are u+rw, g+rx, o+r. 20:20:22 it could be a mistake 20:21:58 That's quite possible. 20:22:10 umask 123, looks good 20:23:08 int-e: is that decimal or octal? 20:23:16 octal 20:23:17 either way looks wrong 20:23:48 b_jonas: it's the complement of rw-r-xr-- = 654. 20:26:24 The files in question don't have any business being created with any x bits on, though. 20:26:35 pity, there goes that theory 20:39:53 [wiki] [[FakeASM]] M http://esolangs.org/w/index.php?diff=40708&oldid=40707 * CosmoConsole * (-30) YOU ARE WRONG 20:55:40 -!- boily has joined. 21:02:56 -!- Bicyclidine has quit (Ping timeout: 244 seconds). 21:12:00 -!- augur has joined. 21:13:59 -!- Bicyclidine has joined. 21:14:50 -!- augur has quit (Read error: Connection reset by peer). 21:15:23 -!- augur has joined. 21:15:57 -!- augur has quit (Remote host closed the connection). 21:16:03 -!- augur has joined. 21:21:57 -!- Sprocklem has quit (Ping timeout: 245 seconds). 21:49:18 -!- boily has quit (Quit: KINSHIP CHICKEN). 22:01:54 -!- Bicyclidine has quit (Ping timeout: 245 seconds). 22:04:57 -!- Bicyclidine has joined. 22:11:23 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 22:13:11 -!- Bicyclidine has joined. 22:24:29 -!- edwardk has joined. 22:25:57 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 22:27:32 -!- Bicyclidine has joined. 22:30:39 -!- `^_^v has quit (Ping timeout: 255 seconds). 22:34:45 -!- bitemyapp has joined. 22:35:12 -!- Bicyclidine has quit (Ping timeout: 265 seconds). 22:36:52 -!- Bicyclidine has joined. 22:47:02 -!- bb010g has quit (Quit: Connection closed for inactivity). 22:48:51 It should hopefully be easy to port ZTERM to other programming languages that can use binary I/O, probably it can be done in Haskell, and perhaps even with brainfuck. 22:49:38 uh 22:50:26 Unlike things such as Glk, which are pretty difficult to port to anything at all (except for some kinds of interpreters). 23:06:48 -!- Bicyclidine has quit (Ping timeout: 250 seconds). 23:12:47 -!- Bicyclidine has joined. 23:13:44 -!- Sprocklem has joined. 23:21:37 -!- Phantom_Hoover has joined. 23:27:51 -!- shikhout has joined. 23:31:20 -!- shikhin has quit (Ping timeout: 265 seconds). 23:31:29 [wiki] [[FakeASM]] http://esolangs.org/w/index.php?diff=40709&oldid=40708 * CosmoConsole * (+270) 23:31:48 [wiki] [[FakeASM]] M http://esolangs.org/w/index.php?diff=40710&oldid=40709 * CosmoConsole * (-1) /* Cat Program (FakeASM 2) */ case 23:34:22 -!- ais523 has joined. 23:56:02 I love Java, especially how Java EE follows all best practices. "Returns an array containing all of the Cookie objects the client sent with this request. This method returns null if no cookies were sent." 23:56:24 ... 23:56:43 I know, it's more efficient than returning an empty array. 23:56:47 like, instead of an empty arr- right. 23:57:15 http://www.javapractices.com/topic/TopicAction.do?Id=59 maybe the authors of the standard library should read this site 23:59:08 Of course ever since http://www.w3schools.com/tags/av_met_canplaytype.asp it's hard for an API's return value to be surprisingly bad anymore. 23:59:50 nice.