00:26:26 <Taneb> ^bf ,>,>,.<.<.!123
00:45:58 <Taneb> oerjan, I was trying to see how fungot did its input for ^bf
00:45:58 <fungot> 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 <Taneb> 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 <Taneb> A sort-of friend from high school has messaged me telling me to drink more alcohol!
00:50:46 <Taneb> I don't think anyone told her about this dream
00:52:09 <oerjan> 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 <fungot> 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 <oerjan> `! bf ,+++++++++++++++++++++++++++++++++.!
00:54:18 <oerjan> hm maybe it didn't take input
00:55:17 <oerjan> fungot: any sword stopping today?
00:55:17 <fungot> 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 <oerjan> ah, the synchronicities are catching up with Taneb *evil cackle*
00:56:32 <oerjan> elliott: *SOON I WILL HAVE CONVERTED ALL THE HEXHAMMERS*
00:56:57 <elliott> oerjan: are you creating all the synchronicities?
00:57:06 <oerjan> no, just pointing them out
00:57:22 <oerjan> i think. but who knows, really.
01:05:16 <boily> fungot: what do you think of Taneb?
01:05:16 <fungot> boily: must think of a way to the ocean palace?!
01:05:39 <boily> Taneb: any link with some branch of a royal lineage? anything you'd like us to know?
01:06:32 <oerjan> any strange birthmarks?
01:07:44 <oerjan> any suspiciously fancy swords placed above your parents' fireplace?
01:09:27 <oerjan> does the flashlight in their drawer burn holes in stuff when you turn it on?
01:11:43 <boily> is your cranium nicely and crownly shaped? do you gain a booming authorative voice when wielding a sceptre?
01:14:14 <oerjan> do birds inexplicably land on your finger if you point at something too long
01:15:33 <boily> Taneb as a Disney princess???
01:16:37 <oerjan> or possibly a distant relative of francis of assisi
01:17:38 <oerjan> do you have webs between your toes
01:18:38 <boily> 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 <oerjan> spider _or_ duck-like count
01:18:52 <oerjan> um i'm still asking Taneb here
01:19:20 <oerjan> unless you are hiding something
01:20:03 <oerjan> are you the descendant of the secretly escaped last dauphin
01:20:37 <Taneb> I do not believe I have any royal connections
01:20:48 <oerjan> (that last one was to boily)
01:21:20 <oerjan> also that seems to be wrong, i didn't realize there were dauphins after the revolution too
01:22:03 <boily> I don't think so, but everything is possible.
01:22:47 <oerjan> well, one, https://en.wikipedia.org/wiki/Louis_Antoine,_Duke_of_Angoul%C3%AAme
01:24:09 <boily> he's too late. my French ancestors came here 12 generations ago (give or take some fuziness and inaccuracy.)
01:25:43 <Taneb> I do not believe I have any french ancestry
01:27:07 <boily> interesting result. that'd put them right there at the beginning of Québec City (1608).
01:29:38 <oerjan> the length of a generation may need some disclaimers.
01:31:16 <boily> > 33 * 365.25 * 86400
01:31:44 <boily> a generation is about a gigasecond.
01:32:16 <boily> but now is the time to answer the call of the mattress.
01:32:22 -!- boily has quit (Quit: INTEMPESTIVE CHICKEN).
01:35:37 <Melvar> Huh, I thought the standard estimate of a generation was 25 years.
01:49:11 <Sgeo> 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 <Sgeo> http://ddili.org/ders/d.en/ufcs.html makes even more sense to me
01:50:30 <Sgeo> Although... a.b() could mean something other than expected if a defines its own b, I guess
01:55:45 <Melvar> I wonder if there’s any language where decimal literals are actually method calls.
01:56:27 <oerjan> Melvar: DISCLAIMER I SAID
01:57:35 <oerjan> <Melvar> Huh, I thought the standard estimate of a generation was 25 years.
01:59:33 <Melvar> 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 <Taneb> My gran's 67 years older than me which makes 33 years decent in my case
02:03:50 <oerjan> 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 <oerjan> <fizzie> 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 <oerjan> not a single IO command without those characters, and "import" cannot be used either.
03:15:21 <Bike> looks like some solutions abuse case
03:15:44 <oerjan> sure, but in haskell you cannot do that with actual identifiers
03:15:48 <elliott> oerjan: use pointer manip to write out a machine code solution and jump to it
03:16:13 <elliott> I guess you can't without import
03:16:17 <oerjan> elliott: and how do you expect ... right
03:16:19 <Bike> just write a small language implementation and use that
03:16:53 <oerjan> a LANGUAGE pragma cannot be done without a ... oh wait you can use tabs can't you
03:17:04 <oerjan> but are there any that would help
03:17:24 <Bike> have it be C-preprocessed first and use trigrams
03:17:31 <coppro> I think you can't do it in whitespace either
03:17:35 <elliott> you can do LANGUAGE CPP actually
03:17:37 <oerjan> Bike: huh that might actually work :P
03:17:52 <elliott> doesn't get you letters though
03:17:59 <elliott> fish them out of header files
03:18:14 <elliott> (obviously not exactly that)
03:18:21 <Bike> sounds like a job for M4
03:18:33 <elliott> coppro: you might be able to? haskell cpp runs in a weird traditional mode
03:19:13 <elliott> I guess you cannot #include at all.
03:19:45 <oerjan> not literally, anyway...
03:20:18 <elliott> no way to do non-literal cpp directives
03:20:23 <elliott> unless you /nested/ cpp...
03:20:29 <elliott> you can use {-# OPTIONS #-}, at least
03:20:33 <Bike> set it to some sensible locale like zh-trad, problem solved
03:20:36 <elliott> and you can set an arbitrary preprocessor with that
03:20:56 <Bike> i'm going to go ahead and assume that haskell reserved words are also translated
03:21:02 <elliott> -pgmf doesn't even have any banned characters
03:21:06 <oerjan> elliott: but you don't have exec ability?
03:21:14 <elliott> oerjan: you must in the compiler
03:21:18 <elliott> it calls out to the linker, after all
03:21:33 <elliott> (I wonder if that's a security hole... hopefully it sandboxes the compilers)
03:22:19 <elliott> {-# OPTION -F -pgmF perl #-} ...
03:22:30 <elliott> well, you can't use perl, but
03:24:33 <elliott> oerjan: ooh, I have an idea
03:24:37 <elliott> use cpp and then do __FILE__
03:25:03 <FireFly> Can you name the file on anagolf?
03:25:06 <oerjan> hm do we have control over the file name?
03:25:13 <oerjan> let's see what it returns
03:25:28 <elliott> pretty sure it has an e in it though, it's like test.ext by default or something
03:25:56 <FireFly> well even better if you can just name the file putStrLn
03:26:07 <oerjan> an r would be nice, that's the only thing broken in putChar ... oh right
03:26:18 <elliott> hmph, no __FILE__ in the cpp by default
03:26:19 <oerjan> except it must end in .hs
03:26:31 <oerjan> _but_ we can define hs as a function
03:26:34 <FireFly> So define an identity function called hs
03:26:46 <elliott> since you can pass options to cpp I think
03:27:53 <oerjan> oh hm possibly ghc names the file something else before passing it to cpp
03:28:17 <elliott> hm, is OPTIONS ignored now or something...
03:29:45 <oerjan> i think zzo38 said the anagolf code is open source? can we find out how it calls ghc
03:29:50 <elliott> heh LANGUAGE is picky about syntax, it seems
03:31:54 <zzo38> 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 <elliott> oerjan: proof of concept: http://sprunge.us/UiPO
03:32:01 <oerjan> elliott: does it at least accept newlines or tabs?
03:32:21 <elliott> but you can just use OPTIONS_GHC
03:33:10 <oerjan> oh __FILE__ gets put quotes around? :(
03:33:37 <elliott> yeah, it's a string literal
03:33:51 <elliott> wonder what it does in haskell
03:34:46 <elliott> 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 <elliott> ... -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 <elliott> that's what it uses to preprocess by default here
03:34:56 <elliott> none of those defines look useful
03:36:17 <oerjan> 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 <elliott> oerjan: oh and we can get spaces
03:38:26 <elliott> 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 <oerjan> we have succ working, btw
03:38:44 <oerjan> so missing a character in strings isn't a disaster
03:39:19 <oerjan> so essentially our _only_ problem is getting a printing function.
03:39:39 <elliott> can we use foreign declarations
03:39:46 <elliott> you can quote the external C name in those
03:39:50 <elliott> and give the imported function your own name
03:40:29 <oerjan> hm we cannot use #define
03:40:43 <elliott> oerjan: btw we _can_ set file and line
03:40:45 <elliott> but it's probably not useful
03:40:53 <elliott> from within the file I mean
03:41:10 <oerjan> i guess there is no way to construct characters arithmetically in CPP?
03:43:41 <oerjan> i checked, everything in IO breaks
03:44:46 <elliott> % echo ':browse Prelude' | ghci | sed 's/ *//;/^$/d' | cut -d' ' -f 1 | grep -v '[Hello, world!]' | sort | fmt | curl -F 'sprunge=<-' sprunge.us
03:44:58 <oerjan> http://sprunge.us/BIPP
03:45:13 <elliott> heh you are way ahead of me
03:45:43 <oerjan> actually i checked that just before i mentioned the problem here
03:46:05 * elliott pores over http://www.haskell.org/ghc/docs/7.8.3/html/users_guide/flag-reference.html
03:46:42 <oerjan> i removed them by hand, albeit with search highlighting
03:46:55 <elliott> -fcase-mergeEnable case-merging. Implied by -O.
03:47:04 <elliott> I briefly got excited thinking that might make the language case-insensitive...
03:47:35 <elliott> maybe there is some file _somewhere_ we can #include helpfully. probably not.
03:48:27 <elliott> 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 <FireFly> 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 <elliott> for instance -x c might work
03:49:47 <elliott> but doesn't work in OPTIONS_GHC, rat
03:50:55 <elliott> though it might/probably does add some additional junk of its own
03:51:06 <oerjan> real C somehow feels a step too far, but if it's the only way...
03:51:25 <elliott> -F -pgmF echo gives hello.hs hello.hs /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10789_0/ghc10789_1.hspp
03:51:52 <elliott> and it has to output to the latter.
03:52:21 <elliott> 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 <elliott> ... assembler-with-cpp hello.hs -o /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10902_0/ghc10902_1.hscpp
03:52:30 <elliott> you also have control over the assembler and linker, though
03:53:26 <elliott> you could definitely make the cpp stage do a full C compile instead I think
03:53:32 <elliott> but a C binary is unlikely to be valid Haskell :P
03:53:51 <elliott> _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:07 <FireFly> Oh wait, it needs to write to a file
03:55:17 <elliott> ooh, to get a range of characters?
03:55:46 <FireFly> But the fact that the preprocessor doesn't just write to stdout thwarts that
03:56:08 <oerjan> tr contains a forbidden character, mind you
03:56:57 <elliott> I need my terminal to highlight the forbidden characters :)
03:57:34 <elliott> oerjan: hm... do you have a link to the anagolf code repo?
03:57:58 <oerjan> https://github.com/shinh/ags
03:58:03 <oerjan> was open in another tab
03:58:27 <elliott> https://github.com/shinh/ags/blob/4fa35532fe1d73747384b326c0feb713a9b81bec/be/srv/s/_hs, at least
03:59:26 <FireFly> There's not much useful provided by coreutils that doesn't include a forbidden character
03:59:45 <elliott> so can we get ghc to output an executable file that looks like #!/bin/cat \n blah or similar
04:01:14 <elliott> this is _way_ too addictive a puzzle.
04:01:39 <elliott> okay one really simple thing would be if we could find some way to get the entire program text downcased, maybe
04:01:53 <elliott> then we might be able to get a FOREIGN PUTS
04:02:04 <elliott> camel casing makes it annoying, but...
04:02:20 <FireFly> Oh, right, the output has to be executable... I was thinking we could just stop after pre-processing
04:03:11 <elliott> if you can downcase the program
04:05:30 <FireFly> The preprocessor receives input on stdin and is supposed to write to the filename given as an argument?
04:06:03 <FireFly> It *might* be possible to use vi/vim as a preprocessor
04:06:47 <elliott> no, it receives filenames on stdin
04:07:13 <FireFly> well that's fine for vi(m)
04:07:34 <oerjan> <elliott> -F -pgmF echo gives hello.hs hello.hs
04:07:34 <oerjan> /var/folders/mm/28htjypd3lq6zk80tbsf6g9h0000gn/T/ghc10789_0/ghc10789_1.hspp
04:11:30 <oerjan> hm it's supposed to read from the first file and write to the last one?
04:12:43 <oerjan> and who knows why it gives the first one twice
04:13:16 <FireFly> oh come on, vim didn't want to write to a file that is already open in another buffer
04:13:38 <FireFly> vim +b2 +b'#' +wq'#' would've acted as "cp" otherwise
04:14:07 <oerjan> you need w! then, i guess
04:14:14 <FireFly> Tried that, it still complains
04:14:33 <oerjan> well then try to change buffer
04:16:34 <FireFly> vim +b2 +bun +wq'#' hello world # copies hello to world
04:16:47 <FireFly> Might be possible to use vim as a preprocessor then
04:16:59 <oerjan> note that the first argument is duplicated
04:17:09 <FireFly> Yeah, so the 2 would be a 3
04:19:06 <oerjan> :%s/.*/\L&/g to lowercase a buffer
04:20:05 <oerjan> there are going to be escaping problems, isn't there :(
04:20:43 <oerjan> and who knows if shinh.org even has vim :P
04:23:00 <elliott> OPTIONS_GHC isn't sh, at least
04:23:12 <FireFly> oerjan: well it allows vim as a golf language
04:26:42 <FireFly> I can't get -pgmF to work with parameters
04:29:31 <oerjan> i suppose we cannot be the first to try this problem with haskell
04:29:57 <elliott> I suspect we're already further out there than most people took it
04:42:53 -!- password2 has joined.
04:45:13 <oerjan> elliott: oh __FILE__ doesn't work with anagol either, i tried your proof of concept http://sprunge.us/UiPO
04:45:23 <oerjan> well, not in that way at least
04:45:48 <oerjan> because i had an idea to get around the problem, but __FILE__ has to work first
04:46:18 <oerjan> oh wait it's complaining about the #-0
04:46:25 <oerjan> *oh wait it's complaining about the #-}
04:46:32 <oerjan> let's see if we can fix that
04:47:14 <oerjan> ah yes, just adding a tab to that line
04:52:29 <oerjan> 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 <oerjan> hm CPP doesn't know about {- -} comments does it
04:55:14 <oerjan> ooh this seems to work
04:55:25 -!- idris-bot has quit (Quit: Terminated).
04:56:39 -!- idris-bot has joined.
05:01:22 <oerjan> map fromEnum "Hello, world!"
05:01:25 <oerjan> > map fromEnum "Hello, world!"
05:01:26 <lambdabot> [72,101,108,108,111,44,32,119,111,114,108,100,33]
05:16:58 <HackEgo> [wiki] [[Special:Log/newusers]] create * BCompton * New user account
05:25:37 <oerjan> elliott: OPTIONS_GHC contains a forbidden H
05:25:56 <oerjan> and i basically had it working ;_;
05:49:00 <oerjan> > map pred "Hello, world!"
05:49:24 <oerjan> 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 <oerjan> (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:32:40 <Sgeo> Wonder if I could make a Racket language that has something approximating Scala-style implicit parameters
06:44:28 <fizzie> elliott: I'm there nowadays. :/
06:45:54 <elliott> fizzie: good, I want to see the reaction for the program I'm about to submit
06:46:19 <fizzie> It doesn't seem to be a very active channel.
06:46:40 <oerjan> well, let's see your reaction at least :P
06:47:11 <fizzie> 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 <elliott> something tells me this submission may be an exception
06:48:13 <oerjan> well elliott is making something truly evil with a little help from me
06:48:47 <oerjan> and you started it by linking the helloworldless hello world
06:48:50 <fizzie> 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 <fizzie> (Or something else that clearly stands out in the announcement.)
06:50:27 <oerjan> well it's a haskell submission to a problem that should really be impossible in haskell
06:51:38 <fizzie> Then it's probably up to whether people will realize that based on the name.
06:51:51 <fizzie> I'm going to have to a breakfast now.
07:00:20 <oerjan> `run echo hi | tr f-e g-d
07:00:20 <HackEgo> tr: range-endpoints of `f-e' are in reverse collating sequence order
07:03:29 <lambdabot> ‘IM.intersection’ (imported from Data.IntMap),
07:03:45 <lambdabot> ‘IM.intersection’ (imported from Data.IntMap),
07:04:15 <oerjan> > let s=map ord "Hello, world!" in take 10 [n| n<-[2..], null(s`intersect`map(+n)s)]
07:04:19 <oerjan> > let s=map ord "Hello, world!" in take 10 [n| n<-[2..], null(s`intersect`map(+n)s)]
07:18:14 <fizzie> 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 <elliott> I wish brute forcing gigantic search spaces was feasible
08:56:19 <Lymia> I wish Java let you return multiple primitive values from methods without a heap allocation somewhere
08:57:20 <elliott> Lymia: okay, you work on mine and I'll see to yours.
08:58:34 <Lymia> Your problem is solved.
08:59:21 <elliott> I... think my searchspaces are a bit too big for even that much progress
08:59:42 <elliott> 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 <elliott> I was going to suggest passing in a callback or something, but I guess those get heap-allocated in Java.
09:00:15 <b_jonas> elliott: can't you pass in mutable slots (arrays) by reference to a Java method already?
09:00:44 <elliott> do those get stack-allocated? I don't know the JVM.
09:01:04 <b_jonas> no, I don't think so, but you can allocate one and call a method multiple times
09:01:26 <b_jonas> I don't really know, I don't do java
09:01:42 <elliott> well, it's Lymia's problem, not mine.
09:02:18 <elliott> I think it's hard to do just about anything in Java without a heap allocation, though.
09:02:50 <Lymia> <b_jonas> elliott: can't you pass in mutable slots (arrays) by reference to a Java method already?
09:02:55 <Lymia> <b_jonas> no, I don't think so, but you can allocate one and call a method multiple times
09:02:58 <Lymia> Not viable for compiler magic
09:03:22 <elliott> do solutions using JNI count? :p
09:03:26 <elliott> I guess JNI is really slow and awful.
09:03:35 <elliott> can you do something at the bytecode level?
09:06:05 <b_jonas> elliott: sure, just write the whole program in another language and call the main function from JNI
09:07:18 <b_jonas> don't bother to return, and during startup, free the hundreds of megabytes of copies of bytecode libraries allocated by java.
09:07:39 <b_jonas> or just exec, that might be cleaner
09:08:41 <Lymia> On the bytecode level? Nope
09:09:15 <Lymia> Only hope I have is some pattern that the JVM will consistantly JIT away
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 <Taneb> 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:12:09 <Taneb> (the issue was I misunderstood Data.Text's WHNF)
10:13:30 <Taneb> I was adding a brainfuck interpreter to a friend's IRC bot
10:14:03 <fizzie> 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 <Taneb> Looking at it now, the code was pretty hideous
10:15:17 <Taneb> Except for one line, which is merely hideously lensy
10:15:20 <Taneb> "consumeElement I = tape.focus.enum <~ input %%= fromMaybe ('\0', "") . uncons"
10:18:08 <Taneb> Which I guess is as close to Haskell as JavaScript with JQuery is to JavaScript
10:21:49 <Lymia> fizzie, use ISO time format next time
10:22:05 <Lymia> You can say they're objectively wrong reading it that way.
10:28:52 <fizzie> 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 <oerjan> today in girl genius, a darwin award.
11:09:06 <oerjan> you know the guy is creepy when you sympathize with the big bad killing him
11:11:47 <Taneb> Soon I shall have a shirt stating that zero is a natural number!
11:12:16 <Taneb> Solely because I have a lecturer who says it isn't and the computer scientists are wrong.
11:13:00 <oerjan> is there a shirt that has lots of such statements
11:14:00 <boily> “here is no universal agreement about whether to include zero in the set of natural numbers.”
11:14:40 <oerjan> 's ok, the ancient greeks didn't even include one, i hear
11:14:44 <Taneb> boily, I know, this is just to annoy my poor lecturer
11:15:05 <boily> no problem with annoying lecturers.
11:15:07 <oerjan> Taneb: buy one that says the opposite and wear it in the other camp
11:15:25 <Taneb> oerjan, I don't have any lecturers who that would really annoy
11:15:39 <Taneb> Otherwise, I'd regret not ordering that one at the same tome
11:16:16 <oerjan> 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 <Taneb> That's be a good idea!
11:18:06 <oerjan> then you can stealthily change it while people aren't watching, confusing them
11:19:44 <boily> have we started embedding e-ink or similar into fabric? that way Taneb wouldn't even have to take off his clothes.
11:20:05 <boily> (unless it is natural for university students to suddenly take off their shirts idk hth)
11:20:13 <oerjan> of course the next step is e-ink tattoos
11:20:17 <Taneb> boily, I could probably get away with it
11:20:51 <Taneb> Yay, yukibot has a working brainfuck interpreter!
11:21:42 -!- boily has quit (Quit: IMPRINTED CHICKEN).
11:23:33 <Taneb> @@ @type @pl \x -> x+1
11:23:42 <elliott> it really puzzles me that anyone would exclude 0.
11:23:48 <elliott> like, don't you like addition having an identity??
11:24:15 <Taneb> elliott, if you're dealing with prime numbers, excluding 0 is sometimes nice
11:25:04 -!- scounder has quit (Changing host).
11:25:04 -!- scounder has joined.
11:25:24 <elliott> 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 <elliott> okay I guess {1,2,...} is a... semi-semi-ring?
11:27:28 -!- shikhout has joined.
11:27:56 <oerjan> well without 0 it _is_ the free semigroup on one generator
11:28:08 <oerjan> with 0 it is the free monoid
11:28:45 <elliott> yeah but who likes semigroups.
11:28:47 -!- ineiros has quit (Remote host closed the connection).
11:28:50 <elliott> oerjan: btw how can you stand the faces in girl genius?
11:30:13 <oerjan> it's the most realistically drawn webcomic i'm regularly reading
11:30:25 <elliott> https://i.imgur.com/QOK6Zpa.png they're terrifying.
11:30:37 -!- shikhin has quit (Ping timeout: 265 seconds).
11:31:09 <Taneb> elliott, my own face is terrifying, it makes me feel at home
11:33:22 <oerjan> also, the colors are much better now than in the beginning http://www.girlgeniusonline.com/comic.php?date=20030611#.VFDQb5UtBjo
11:55:03 -!- impomatic_ has joined.
11:56:37 <int-e> heh, there still aren't any entries for "Make 24"
11:59:06 <int-e> Cheyenne Wright is doing an amazing job.
11:59:12 <oerjan> 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 <oerjan> i didn't read enough of it to see whether it was _supposed_ to give a unique answer
12:00:09 <int-e> It's a data compression task.
12:00:46 <int-e> As far as I understand, the solutions were derived manually, so there's no clear preferences.
12:02:19 <oerjan> but probably still too arduous
12:03:22 <int-e> 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 <int-e> And it's a bit embarrassing to see that the program size exceeds the total output size.
12:07:26 <int-e> But I guess I can still submit the code during post mortem :P
12:07:51 <lambdabot> EFHK 291150Z 21026G38KT 9999 BKN021 10/05 Q1005 NOSIG
12:08:10 <lambdabot> LOWI 291150Z VRB02KT 9999 FEW060 11/03 Q1019 NOSIG
12:08:24 <int-e> quite nice, actually
12:08:32 <int-e> compared to the 09/07 a couple of days ago.
12:08:57 <fizzie> (I assume "26G38KT" is 26 knots, up to 38 in gusts.)
12:09:08 <fizzie> It's going to get freezing here Fri/Sat night again.
12:12:33 -!- oerjan has quit (Quit: leaving).
12:12:52 <b_jonas> int-e: I've sent a solution so now you won't be the first
12:26:08 <b_jonas> heh, this one I just put in the golf is the weirdest looking regex I ever wrote
12:41:46 <nyuszika7h> haha, that's not surprising for #esoteric, a cryptic weather command
12:41:58 <b_jonas> int-e: now I've submitted a solution that is actually shorter than the outputs
12:42:48 <b_jonas> not haskell though. I don't do haskell golf.
12:43:19 <b_jonas> nyuszika7h: http://golf.shinh.org/p.rb?Make+24
12:51:08 <int-e> 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 <int-e> (that initial string is 49 characters compared to 5 for just 'main=')
12:52:14 <elliott> 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 <b_jonas> int-e: can't that be worked around somehow?
12:56:08 <int-e> Not as far as I know, unless we can convince shinh to set LC_CTYPE (or LANG) before invoking ghc.
12:56:51 <elliott> do we still have any fancy welcomes
12:56:53 <HackEgo> ls: cannot access bin/*elcome: No such file or directory
12:56:57 <HackEgo> bin/r13elcome \ bin/relcome \ bin/rwelcome \ bin/welcome \ bin/welcome
12:57:03 <HackEgo> nyuszika7h: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
12:57:57 <int-e> b_jonas: with LC_CTYPE=C, trying to output a character 128 and above just results in <stdout>: hPutChar: invalid argument (invalid character)
12:58:38 <nyuszika7h> ah, esolangs.org, I know about that site :)
12:58:40 <b_jonas> int-e: but isn't there some other function you can call?
12:59:13 <elliott> nyuszika7h: your nick reminds me of, like, mangled C++ or Haskell function names.
12:59:42 <nyuszika7h> well, "nyuszika" means "bunny" in Hungarian, the rest is a bit of a long story
13:00:17 <elliott> ah, hungarian. that explains why it looks mangled <_<
13:01:54 <b_jonas> but mangled C++ names usually have a ? or _Z or some other similar magic code in them
13:02:51 <elliott> it's more Z-encoding it reminds me of I think. https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/SymbolNames
13:03:28 <elliott> they get nice clusters of letters and numbers.
13:04:38 <int-e> b_jonas: not really. There are other routes, the most promising one is going via bytestrings.
13:05:21 <elliott> I think there might be some shorthand to set stdout to binary/latin-1?
13:05:22 <int-e> b_jonas: but just 'import Data.Bytestring' is already a mouthful.
13:05:25 <elliott> like a convenience function for it
13:05:31 <elliott> which would save a bit compared to utf8
13:05:40 <elliott> but also I think GHC always treats source programs as UTF-8, so
13:13:34 -!- password2 has joined.
13:28:50 <elliott> 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 <FireFly> Are you still working on the helloworldless one?
13:29:17 <elliott> it's not very space-effective though.
13:29:36 <elliott> FireFly: it's far worse than you could possibly imagine, I just need to do some brute forcing to finish it off
13:29:57 <elliott> but it's waiting until I have enough of a barin to trim down the search space, tomorrow.
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 <b_jonas> is that about http://golf.shinh.org/p.rb?Helloworldless+Hello+world ?
13:52:31 <b_jonas> is that even solvable in C++ ?
13:54:09 <b_jonas> 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 <b_jonas> oh damn... I can't include anything.h
14:02:04 <b_jonas> I'm most definitely screwed then
14:02:21 <int-e> I guess there's a reason why no Haskell solution has been submitted...
14:02:33 <int-e> stupid 'r' in putChar
14:03:32 <elliott> you're very unlikely to find out how to do it.
14:03:48 <elliott> may I suggest waiting until tomorrow-ish to see? :p
14:04:50 <b_jonas> elliott: I'm trying C++, not haskell
14:04:57 -!- password2 has quit (Ping timeout: 244 seconds).
14:05:12 <elliott> you can do C++ just by cheating and pretending it's C, presumably
14:05:46 -!- `^_^v has joined.
14:06:09 <b_jonas> elliott: not easily... I'm trying, but I have to find a way to call a function without doing a #include
14:06:30 <elliott> c'mon, you can use functions without declaring them.
14:06:35 <elliott> or is g++ stricter than gcc about that?
14:06:35 <b_jonas> 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:56 <b_jonas> hmm, actually, I _coudl_ call fputs probably
14:07:07 <b_jonas> I can't call printf, write, send, because they contain wrong letters
14:07:13 <elliott> I mean, there's already a C solution
14:07:19 <elliott> a C++ solution will be identical
14:07:22 <b_jonas> elliott: yes, but C++ is much stricter
14:07:38 <b_jonas> both about converting pointers (that I can circumvent) and about calling undeclared functions
14:07:57 <b_jonas> besides, I want to make my own solution, not copy an existing one
14:08:03 <b_jonas> just wait a minute, I can solve this
14:08:23 <elliott> won't you need ExtERn "C"?
14:09:26 <b_jonas> wait, maybe I can just call printf
14:10:35 <b_jonas> hmm no, not with these compile optoins it seems
14:14:00 <b_jonas> and I can't even call functions with two arguments
14:14:52 <fizzie> There's a C++ solution now.
14:15:00 <b_jonas> but that might be because nobody tried
14:15:38 <b_jonas> it can probably solved at least by jumping to native code which you embed
14:15:57 <b_jonas> hmm wait, I have another idea
14:18:37 -!- password2 has joined.
14:19:59 <elliott> b_jonas: I think you misread fizzie's line
14:22:28 -!- impomatic_ has joined.
14:24:20 <HackEgo> [wiki] [[Special:Log/newusers]] create * Pietu1998 * New user account
14:59:58 <fizzie> 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 <HackEgo> [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:56:15 <int-e> b_jonas: http://golf.shinh.org/reveal.rb?Helloworldless+Hello+world/int-e_1414598126&hs :-P
15:57:04 <int-e> I should try the three-letter shells.
15:58:11 <int-e> or the two letter one, which happens to be bash.
15:59:17 -!- impomatic_ has quit (Ping timeout: 264 seconds).
16:00:18 <elliott> (but mine was nicer, I was just going to brute-force the tr)
16:00:24 <elliott> oh well, won't bother finishing it
16:00:25 <int-e> Oh I mixed up elliott and b_jonas. Mumble.
16:01:06 <elliott> 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 <elliott> also, you have too many newlines.
16:04:18 <int-e> /*/*/t? expands to /usr/bin/tr /usr/lib/tc
16:05:24 <elliott> /*/*/t?\"-y'\40-~'>$2<<<ockp?rwvUvt\$Jgnnq.\"yqtnf#$
16:05:29 <elliott> (yes contains forbidden characters, just a WIP)
16:05:47 <elliott> formerly I used a $'' for tr but replaced it with the /* version since it worked on my machine.
16:06:19 <elliott> 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 <Bike> that's quite the haskell
16:07:56 <int-e> http://golf.shinh.org/reveal.rb?Helloworldless+Hello+world/eban_1295411637&zsh is a cute tr.
16:08:36 <elliott> int-e: harder when you need to output a haskell program
16:09:22 <elliott> also, there's no need for the Ln in putStrLn.
16:10:00 <elliott> (I don't know if the noisy one adds it, but the eban one does)
16:10:14 <int-e> elliott: You provided me with excellent motivation: "<elliott> you're very unlikely to find out how to do it."
16:10:18 <elliott> 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:11:12 <elliott> anyway this kind of thing lets you bypass exec restrictions
16:12:00 <int-e> for a short time I was worried you'd be exploiting some GC error leading to code execution :P
16:14:17 <int-e> it's counted. I did head -c77 hw.hs > hw_.hs before submitting
16:15:13 <int-e> (since none of my standard editors seem to support saving without a final newline?)
16:17:02 <elliott> that's one of the few things I use emacs for these days...
16:17:12 <elliott> you might find shinh's caddy tool exciting
16:18:56 <int-e> oh. require-final-newline
16:22:24 <fizzie> Vim can do it too. (See the eol/noeol option.)
16:22:46 <fizzie> (Also needs 'binary' on to happen.)
16:23:16 <fizzie> (In short, ":set binary noeol".)
16:24:08 -!- password2 has joined.
16:26:05 <int-e> 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 <Melvar> 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 <Melvar> ( let foo = "bar" in getNamedVar "f\111\111"
16:44:43 <elliott> right. you showed it here, I think.
16:44:46 <elliott> I remember being disgusted.
16:45:06 <Melvar> Oh, I didn’t remember if you were there.
16:46:34 <Melvar> 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 <int-e> 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:57:05 <int-e> `` dc<<<16i6D61696E3D7075745374722248656C6C6F20776F726C642122P
16:57:52 <elliott> need to escape that d, though
16:57:53 <Bike> uh where's the comma
16:58:02 <elliott> but yes, that would have style if you didn't steal it from the dc solution :P
16:58:54 <int-e> elliott: I forgot the comma. It's too long.
16:59:14 <elliott> > (length "/*/*/t[q-s]", length "tr$'\\162'")
17:00:19 <int-e> but $'t\162' has the same length (you had an extra r in there)
17:01:23 <int-e> elliott: note also that invoking dc like that isn't allowed.
17:01:30 <elliott> hmm, what does ITYP stand for?
17:01:37 <int-e> damn, you mentioned that.
17:01:39 <Bike> i think you pantsed
17:01:41 <int-e> "I think you'd prefer"
17:02:53 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
17:02:56 <int-e> I don't know, " tc - show / manipulate traffic control settings"
17:03:57 <elliott> sounds useful. I bet you can use it for this.
17:04:08 <elliott> (I'd suspect it's some programming language anagol has)
17:05:46 <Melvar> It’s about network traffic control in the linux kernel apparently?
17:05:49 <int-e> oooh. test.sh: line 1: /usr/lib/tc: is a directory
17:07:33 <int-e> but nevertheless, it's part of the oproute package
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 <int-e> 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 <HackEgo> [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 <HackEgo> [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 <HackEgo> [wiki] [[FakeASM]] http://esolangs.org/w/index.php?diff=40705&oldid=40704 * CosmoConsole * (+870) examples
20:00:07 -!- drdanmaku has joined.
20:05:08 <HackEgo> [wiki] [[FakeASM]] M http://esolangs.org/w/index.php?diff=40706&oldid=40705 * CosmoConsole * (+359) some additional formatting, fixes, fakeasm2
20:07:27 <HackEgo> [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 <fizzie> Speaking of unlikely POSIX permissions (like we were the other day), these files for some reason are u+rw, g+rx, o+r.
20:21:58 <fizzie> That's quite possible.
20:22:10 <int-e> umask 123, looks good
20:23:08 <b_jonas> int-e: is that decimal or octal?
20:23:48 <int-e> b_jonas: it's the complement of rw-r-xr-- = 654.
20:26:24 <fizzie> The files in question don't have any business being created with any x bits on, though.
20:26:35 <int-e> pity, there goes that theory
20:39:53 <HackEgo> [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 <zzo38> 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:50:26 <zzo38> 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 <HackEgo> [wiki] [[FakeASM]] http://esolangs.org/w/index.php?diff=40709&oldid=40708 * CosmoConsole * (+270)
23:31:48 <HackEgo> [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 <Sgeo> 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:43 <int-e> I know, it's more efficient than returning an empty array.
23:57:15 <Sgeo> http://www.javapractices.com/topic/TopicAction.do?Id=59 maybe the authors of the standard library should read this site
23:59:08 <int-e> 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.