00:01:04 oerjan: g or uppercase or C, which 00:01:08 (notuppercase) 00:01:59 wat 00:02:22 -!- Sgeo_ has joined. 00:02:34 oerjan: yes? 00:02:38 maybe. 00:03:18 -!- Patashu has joined. 00:05:14 -!- Sgeo has quit (Ping timeout: 255 seconds). 00:10:51 "The natural progression is 1) fear the type system, it barfs at me and I don't get it; 2) respect the type system, it seems to catch a lot of stupid stuff; 3) use the type system, if I think about it a little I can harness it to catch pretty non-trivial bugs in my code; 4) abuse the type system, use fundeps and undecidable instances to create possibly very complex type-level hackery to check invariants at compile time." 00:10:55 awesome, i am a level four haskell programmer 00:13:11 -!- copumpkin has changed nick to c0pumpk1n. 00:15:43 5) Oleg. 00:19:38 Does Haskell allow you to have incomplete type declarations that you can add stuff on many times later on? 00:20:23 depends what you mean 00:20:33 typeclasses are a version of that 00:20:39 -!- iamcal has quit (Remote host closed the connection). 00:20:49 so, yes 00:22:06 -!- itidus21 has joined. 00:22:11 oerjan: i mean if I make it g 00:22:13 how g do i make it 00:22:50 Can you make a union that adds later things it can be later on, or a record type that can add more fields later on? 00:23:07 zzo38: Haskell doesn't really have those as separate concepts, but yes and no 00:23:18 You cannot extend a "data" type (ADT) for various important reasons, but you can achieve the same effect 00:23:24 (arguably it should be easier, but yes, it is possible) 00:23:25 -!- c0pumpk1n has changed nick to copumpkin. 00:24:43 -!- itidus20 has quit (Ping timeout: 252 seconds). 00:25:38 zzo38: here's an example: http://sprunge.us/RYUY 00:26:05 the standard Control.Exception module is a much more advanced and flexible version of this, http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Exception.html 00:26:57 elliott: not too much. "a constant 16 g for a minute, however, may be deadly." 00:27:21 oerjan: so would i make loop index g? 00:28:04 elliott: looping is not recommended, i think. 00:28:33 'A typical person can handle about 5 g (49 m/s²) before losing consciousness ("G-LOC"), but through the combination of special g-suits and efforts to strain muscles—both of which act to force blood back into the brain—modern pilots can typically handle a sustained 9 g (88 m/s²) (see High-G training.' 00:28:38 *)' 00:28:47 ah. 00:28:51 thx towards thou 00:31:54 also, http://en.wikipedia.org/wiki/Euthanasia_Coaster 00:32:36 that thing scares me, i mean, it's cool i guess 00:32:38 it just terrifies me 00:32:58 like if i was at the top of the first slope somehow accidentally and i couldn't get off 00:34:05 help im on euthanasia coaster and i cant get off 00:34:16 monqy: jump 00:35:51 I always get mixed up with euthanasia and ecstasy 00:36:11 ecstacy in which sense of the word 00:36:13 i'm sure some will tell you it's practically the same thing. 00:36:37 monqy: every sense 00:36:41 Eve 00:36:41 r 00:36:50 "Subsequent inversions would serve as insurance against unintentional survival of passengers." good sentence 00:37:01 the best. 00:37:07 Also, it's getting early 00:37:12 Goodnight 00:38:26 taneb the backwards living one. 00:41:32 -!- Taneb has quit (Ping timeout: 252 seconds). 00:42:54 I have to agree with Taneb on that one 00:42:58 -!- FireFly has quit (Quit: swatted to death). 00:44:06 I suppose that stuff about extending the incomplete types and stuff could also be partly done using some kind of preprocessor 00:44:14 -!- iamcal has joined. 00:44:20 why do i only notice FireFly when he's leaving, it's not fair. 00:44:34 my swatter needs exercise, dammit! 00:45:46 * oerjan swats tswett -----### 00:45:46 Then swat the wall and see if it breaks 00:46:06 zzo38: i went for the alliterative solution. 00:49:31 tswatt 00:52:49 Maybe a vim and/or Emacs scripts can be made for use with TeXnicard, in order to do syntax highlighting and possibly for adding cards and GUID based on what you specify, and so on. In case, it would help some people who like it this way. 01:08:55 ?hoogle fromRight 01:08:55 No results found 01:08:58 ?hoogle either 01:08:58 Prelude either :: (a -> c) -> (b -> c) -> Either a b -> c 01:08:58 Data.Either either :: (a -> c) -> (b -> c) -> Either a b -> c 01:08:58 module Data.Either 01:09:55 there's also some MonadError instance, i think 01:10:14 hm i guess that doesn't really help with that 01:10:45 :t maybe 01:10:46 forall b a. b -> (a -> b) -> Maybe a -> b 01:10:50 :t fromMaybe 01:10:51 forall a. a -> Maybe a -> a 01:10:55 Hmm, crud 01:11:01 oh right 01:11:07 There is now a web page listing my RL name right next to "Sgeo" 01:11:12 http://www.barbu.co.uk/rankings/player_naming.htm 01:11:16 there's no fromEither equivalent, i guess 01:12:18 you are doomed now. they will kidnap you and force you to take a genuine education. 01:13:05 DAMN YOU BARBUUUUUUUUUUUUUUU 01:13:23 just wanna say that Sgeo_'s use of "crud" is hilarious 01:14:48 Hmm 01:22:30 "da" 01:22:38 oerjan: qoantism, 01:22:42 oh dam 01:23:03 he said, "qwertyuio and" then... the suspense begin 01:23:25 i have no idea what qoantism is. although it reminds me that in pre-classical latin, q was sometimes used in front of o as well. 01:23:40 iirc. 01:24:23 What is q used in front of o as well in pre-classical latin, meant? 01:24:27 also, "da" is the imperative form meaning "give", iirc 01:24:32 \def\afspace#1#2{\if\isempty{#2}#1{}\else\expandafter#1\expandafter{\identity#2}\fi} 01:25:36 zzo38: well in classical and later lating q was only used in front of u, as is still mostly the case in english... 01:25:39 *latin 01:26:23 presumably it was pronounced approximately the same as c, so spelling varied. 01:26:44 oerjan felt the starin of carbon dioxide death 01:27:04 wat again 01:27:36 sometimes i get close to wondering if elliott is doing drugs. 01:27:38 Just recently I showed someone one of my TeX files for some purpose, and they told me "Why don't you use a real file type? Such as .txt or .7z" 01:27:57 zzo38: good grief :P 01:28:14 oerjan: im better than durgs 01:29:04 or wait - are THEY making you take drugs? say it isn't so!!!!!!!!!1111ælve 01:29:42 They tell me that my .tex file is "not a real file". What?? 01:29:58 zzo38: they are either trolling or genuinely clueless 01:31:10 which one, can be hard to tell without much more information. 01:31:16 /usr/bin/ld: /home/elliott/.cabal/lib/york-lava-0.2/ghc-7.0.4/libHSyork-lava-0.2.a(Lava.o): relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC 01:31:16 /home/elliott/.cabal/lib/york-lava-0.2/ghc-7.0.4/libHSyork-lava-0.2.a: could not read symbols: Bad value 01:31:17 argh 01:31:35 zzo38: probably because it won't open when they double click it 01:32:21 zzo38: hm if it's what elliott says, then maybe you can add a mime type, if it's on the web. 01:32:56 not that that necessarily helps if they're that clueless 01:33:26 ARGH THIS SUCKS 01:34:03 or in the other direction, sometimes i get annoyed by my browser insisting on saving code which i just want to view as text, because of filetype and/or extension 01:34:14 just make it text/plain 01:38:17 -!- CakeProphet has quit (Ping timeout: 250 seconds). 01:39:08 -!- CakeProphet has joined. 01:45:08 -!- cheater_ has quit (Ping timeout: 255 seconds). 01:45:44 spot the difference http://i.imgur.com/vHLx5.jpg 01:46:33 im zombie 01:47:08 this one feels too close to home for me http://i.imgur.com/zBD2S.jpg 01:47:40 and what is worse is that i anticipated the punchline 01:48:04 Obviously the guy on the left has ripped clothing and is larger (in the first picture) 01:48:08 oerjan 01:48:17 France used to have the best weather guy 01:48:36 Also 01:48:41 Dude almost died on air D: 01:48:46 http://www.youtube.com/watch?v=GWRkWp7n_ew 01:49:26 It was pretty weird 01:49:39 Well, not dying 01:49:44 But cancer acting up and all 01:51:12 oerjan: your guy is cooler 01:51:27 he's like "what do you want from me. i am a weatherman. i report the fucking weather." 01:51:43 I think he ate the weather girl 01:51:46 also how fucking old is that gmtv shot 01:51:50 elliott: his voice gives that impression even stronger :P 01:51:56 oerjan: link? :D 01:52:10 um let me see if i can find one 01:52:19 http://www.youtube.com/watch?v=GWRkWp7n_ew 01:52:23 this video is ensaddening me 01:52:40 oh my god evryone is talking in french in the comments STO,P 01:52:44 icant undertsand you 01:52:46 He was always making jokes and all 01:52:55 is he dead 01:52:55 So many people assumed that this was a little skit 01:52:58 Yeah 01:53:06 * elliott cries profusely, rip french weatehrman 01:53:09 http://www.youtube.com/watch?v=t6kRFRXkltE 01:53:24 oerjan: oh my god 01:53:26 And his ashes were thrown into a hurricane or something, from what I remember 01:53:26 (note it's middle of the night so i'm not checking the sound myself) 01:53:27 oerjan: canimove to norway 01:53:39 i want this guy to read em my weather every day 01:53:43 Man 01:53:48 Napoleon Dynamite did not age well 01:53:52 he has a fucking stick his stick is amazing 01:53:55 Slereah: :D 01:54:06 longyearbyen how do you evne come up with a name like that 01:54:24 -!- CakeProphet has quit (Ping timeout: 264 seconds). 01:55:04 but now let me see if i can find one of our _truly_ legendary weatherman. 01:56:26 oh dear i cannot find one which isn't either parody or that famous sampling... 01:56:47 The assumption is that users of this library will want to diff over interesting things or peform interesting tasks with the results (given that, otherwise, they would simply use the standard Unix diff utility). Thus no attempt is made to present a fancier API to aid in doing standard and uninteresting things with the results. 01:57:14 -!- itidus21 has changed nick to itidus20. 01:57:21 What is "interesting"? 01:58:03 The gdiff package 01:58:03 Get an efficient, optimal, type-safe diff and patch function for your datatypes of choice by defining a simple GADT and some class instances. 01:58:08 oh cool 01:59:17 oh heh sg might be able to use that 01:59:36 ah here is one http://www.youtube.com/watch?v=-p0sjcCsrRY 02:00:11 will look in minute 02:02:33 any diff library that depends on a type equality GADT is a good diff library 02:02:53 oerjan: ok wtaching 02:03:03 wow is that an actual board with stick on numbers oerjan 02:03:06 on an actual cube 02:03:12 if you seen any suggested related videos those with KLM will be the parodies, while "Heavy Metal" is the sampling. 02:03:15 yes. 02:03:17 oerjan: does he always stay off-screen 02:03:19 it's from 1981 02:03:26 elliott: except at the very end 02:03:33 is he like rip my face i dont like me im ugly 02:03:34 :( 02:03:43 also why is this guy famous :D 02:03:59 his voice, and general geekiness 02:04:19 :D 02:04:32 i wish we had weatherpeople as cool as that here 02:05:22 longyearbyen how do you evne come up with a name like that <-- it's just "long year" + "byen" (the town) 02:05:38 i'm not sure if longyear is the name of some guy or not 02:07:03 but it's definitely from english 02:09:21 this danish guy is linked from the top reddit comment http://i.imgur.com/qszvo.jpg 02:11:11 heh 02:11:32 isn't that a really old image anyway 02:12:26 i guess you may know the guy from the _second_ comment http://i.imgur.com/vdqa0.jpg 02:13:11 his... face rings a bell i guess 02:13:13 link to thread plz 02:13:25 http://www.reddit.com/r/funny/comments/j1f2s/meteorologists/?limit=500 02:14:16 theisen showed up in the responses to that 02:16:42 omg http://i.imgur.com/4qCak.jpg 02:16:54 i guess you may know the guy from the _second_ comment http://i.imgur.com/vdqa0.jpg 02:16:58 for me that guy is the first comment 02:17:01 are you not using best ordering? 02:17:04 yes 02:17:07 omg http://i.imgur.com/4qCak.jpg 02:17:08 wow 02:17:11 literal best 02:17:21 just what 02:17:58 the comment with "ESTONIA" 02:18:22 -!- TeruFSX has quit (Ping timeout: 252 seconds). 02:18:27 on danish guy 02:18:28 "His glowing head is so amazing. Please tell me that is natural." 02:19:39 "If all hot women on TV were smart, I don't think that any other girls could be smart without wrecking the idea that men and women are equally intelligent." 02:19:41 wat 02:19:50 -!- TeruFSX has joined. 02:20:13 oerjan: "NO! DON'T ! This guy is a guy that makes fun of people. He's like out Jon Stewart." 02:20:13 oerjan: :( 02:20:32 "He's kinda like him. Talks about news and stuff with another guy and they make fun of stuff. He's the best we've got. They even made a song for Eurovision and we chose it. Why? CAUSE WHY THE FUCK NOT!" http://www.youtube.com/watch?v=LRh9PzNYD-8 02:21:39 this is the best song 02:28:53 I thought of various things about prettyprinting how it could work with Haskell programs, including, you can have a TeX code \Wsym for making symbols they can be defined using \csname or whatever, and then words in different styles for different purposes, such as if `mod` you can type in roman style but otherwise can be italic, or bold for keywords, or for names you can also do things, like, ' makes prime mark, # at end of a name makes superscr 02:29:12 -!- cheater_ has joined. 02:30:46 You might do it has numbers at the end of a name makes subscripts, or superscripts and subscripts separated by underscore, etc 02:32:16 Things that are syntax errors in Haskell can be used for other purposes 02:34:34 zzo38: the main way to do "other purposes" in haskell is to put it in comments. e.g. pragmas have the format {-# ... #-} (where the #'s signify that it's a pragma) 02:34:58 Yes that can work too. 02:35:05 while haddock iirc uses the other style of comments -- ^ etc... 02:35:21 It also depends what the other purposes are, I guess. 02:35:37 yeah 02:35:51 In some cases it is OK to ignore you can use comments then, but in case it is a preprocessor you might instead want to use things that would make a syntax error in normal Haskell 02:36:09 right 02:36:36 This is possible to be applied in other programming languages too 02:38:40 Actually WEB uses @ to select modes and special commands since @ is not a command in Pascal, and uses double quote for pool strings (including single character constants, are replaced by their ASCII code number). 02:40:21 zzo38: with haskell most non-alphanumerical characters are syntax errors at the beginning of a line, unless you're in layout-less mode (which is afaik rarely used) 02:41:31 ( can also appear there i think, in operator definitions 02:41:58 oh and that also gives ' and " 02:42:10 but @ and # are syntax errors, i think 02:42:19 > let @ whatever = 02:42:20 : parse error on input `@' 02:42:28 It says Haskell permits the omission of the braces and semicolons used in several grammar productions, by using layout to convey the same information. This allows both layout-sensitive and layout-insensitive styles of coding, which can be freely mixed within one program. Because layout is not required, Haskell programs can be straightforwardly produced by other programs. 02:42:30 > let # whatever = 02:42:30 : parse error on input `#' 02:42:51 yes 02:43:12 But from what I am reading, it seem `` is probably a syntax error putting two ` next to each other directly 02:43:52 yeah i cannot think of a place where that would be legal outside a comment/string 02:43:53 So, you can use layout mode and non-layout mode together in one program, I think? Is that what it does? 02:44:35 yes. it depends on whether you include a literal { when starting a block or not 02:45:21 > let x = y where { y = 2+z; z = 5 } in x 02:45:22 7 02:45:53 there the block with the let has layout (in theory, although it ends on the same line) while the where block doesn't. 02:50:35 zzo38: Probably the easiest way to do a TeX-style prettyprinting for Haskell would be to use TeX-style Literate Haskell. 02:51:21 (if the file has a suffix of .lhs, then the file is considered to be in Literate Haskell. One can denote that something is actual code, rather than normal text, either by prepending the line with >, or wrapping the code in \begin{code} \end{code}. 02:51:25 ) 02:53:56 -!- copumpkin has quit (Ping timeout: 252 seconds). 02:54:21 -!- copumpkin has joined. 02:54:59 Yes it would work, and then can be compiled using standard Haskell compilers too, I think (since .lhs means to only compile lines with > I think) 02:55:18 Or things in \begin{code} \end{code} blocks. 02:55:26 It's part of the standard. 02:56:37 I don't know why that should be a part of the standard, but whatever, OK 02:57:10 Still, using .lhs does not allows you to do various other things such as preprocessing you might want, and so on; although you could still use it for prettyprinting in TeX or other programs 02:57:37 Yeah, it is somewhat limited, and a more full-fledged preprocessor might be preferable. 02:57:58 Still, it is nice being able to make your Haskell source be a TeX document with ease. 02:57:58 It seem \ is a valid operator in Haskell but I don't know if "\end{code}" can be any valid Haskell syntax. 02:58:36 \end{code} can't be valid Haskell syntax. 03:00:36 Of course I do suppose that both codes with > style or \begin{code} \end{code} style could be made to work in TeX with the correct macros without too much difficulty, although doing prettyprinting entirely with TeX would be far mroe difficult. 03:01:22 pikhq: well not if the \ starts a token. 03:01:25 (Making \end{code} would be slightly more difficult since the characters \ { } would still need to be supported inside of the code) 03:01:40 oerjan: IIRC it has to be at the very start of a line. 03:01:44 ah. 03:02:02 oh hm 03:02:10 You may know better than I, though. 03:02:10 it _could_ still be inside a string. 03:03:09 but maybe the \end{...} takes precedence. hm... 03:04:17 Well, in either case, to do it directly in TeX then you would make the end of line character to be category code 13 (active character) 03:04:52 And it would work especially if \end{code} needs to be on a line by itself or just at the start of a line 03:05:17 While with > you could have a command that sets the category codes so that a blank line without > ends it 03:05:38 \begin{code} could also start a pretty-printing environment. 03:05:45 "•Program code ends just before a subsequent line that begins \end{code} (ignoring string literals, of course). 03:05:49 " 03:05:57 And then you could let the TeX parser handle the \end{code} bit. 03:06:03 Well, I suppose you could do some prettyprinting stuff directly in TeX 03:06:23 So even TeX if you make it parse Haskell codes, could understand if \end{code} is inside of a string or not 03:08:24 If you are not using \begin for anything else, you could make \begin in TeX to ignore its first parameter, and then allow two kinds of prettyprinting, one for code that is part of the program, and one for code that is not part of the program. 03:11:12 Maybe even the contents of this report is enough I could try to make some kind of Haskell prettyprinter directly in TeX that supports .lhs format http://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-140002 03:11:47 I have already written programs in TeX to make index, so it could be used too 03:15:19 flowers 03:15:21 forevers 03:15:30 zzo38: are you learning haskell or something? 03:16:20 elliott: Well, sort of. Not quite. Not really. 03:16:44 \end{code} can't be valid Haskell syntax. 03:16:48 So that, if you put \input the correct macros at the top, you can just type tex program.lhs; dvilj4 - < program.dvi | lp or whatever command would be used on your computer. 03:16:48 is this true in the presence of TH?h 03:16:53 hmm right it'd have to be asection 03:17:03 (\end{code}) would be valid on a line of its own, with TH 03:17:30 What does TH means? 03:17:41 hmm or wait, it'd have to be (\end{code=something}) 03:17:43 zzo38: template haskell 03:17:55 And what things would it mean \ and then end and then { 03:18:18 I try to look at the document see how it works 03:18:24 it would be a section 03:18:26 equivalent to 03:18:33 flip (\) end{code=blah} 03:18:33 The { is "special" 03:18:39 where the last thing is a record mutation 03:18:43 unfortunately \end{code} cannot be valid 03:18:49 but (\end{code=x}) could be 03:18:51 Without equal sign it is not valid? 03:18:56 indeed 03:19:00 elliott: \ is not a legal operator though 03:19:03 oerjan: oh 03:19:33 Then, it is OK, it is not a problem to use \end{code} to end the code in Literate Haskell, I guess. Since, it is not in a string, it says ignoring string literals so it is OK 03:20:34 there _is_ that quasiquote thing, though? 03:20:48 Yes it does say \ is reserved 03:21:04 \ is used for haskell's lambdas 03:22:40 oh right 03:22:40 hmm 03:22:46 \end{code}->expr 03:22:51 would be a valid line 03:22:53 (again with TH) 03:23:14 can you do that without capitalizing the end? 03:23:29 oh it's a TH thing you say 03:23:45 oerjan: um well hmm 03:23:46 it might be 03:23:52 yeah you are right 03:23:57 the TH thing is just an expression as a valid top-level line 03:24:04 > \end{code} -> code 03:24:04 : Parse error in pattern 03:24:10 bah 03:24:30 :t \end{test=hi}->hi 03:24:31 Parse error in pattern 03:24:40 :t \End{test=hi}->hi 03:24:41 Not in scope: data constructor `End' 03:24:41 `test' is not a (visible) field of constructor `End' 03:25:06 seems not legal unless a constructor 03:25:08 It is a valid line with TH? "Program code ends just before a subsequent line that begins \end{code} (ignoring string literals, of course)." Oops too bad! Well I suppose you can put a space before \end or using > style instead 03:26:11 zzo38: I mean not in a literate haskell file :P 03:26:12 well i suppose one would have to test to find out how ghc's TH actually interacts with \end{code} 03:26:15 but no, it isn't 03:26:34 And it require blank line before and after the codes with > so you could redefine \par to check for Haskell codes with > 03:28:38 -!- cheater_ has quit (Ping timeout: 255 seconds). 03:28:46 O, so, I can see what you were making, does it require the word capitalized to use that kind of stuff with Template Haskell? 03:29:35 seems so 03:29:53 -!- cheater_ has joined. 03:32:02 -!- cheater_ has quit (Excess Flood). 03:32:48 -!- cheater_ has joined. 03:34:59 Since > require blank line before and after, it should be not difficult to make it work in a simple (non prettyprinting) way in TeX just by redifining \par to check for that 03:54:17 -!- TeruFSX has quit (Ping timeout: 255 seconds). 03:55:49 -!- jcp has joined. 03:55:54 "All of those things have a certain function in a normal language. More interestingly, C++ has almost no pad words - each token is required to find out what a certain bit of code means. What in haskell takes the place of their function in a normal language?" 03:55:55 wat 03:56:07 Anon0AnALY5e said... 03:56:07 simple syntax for accessing and updating arrays in place... gone. 03:56:11 lol this comment section is terrible 03:56:29 -!- TeruFSX has joined. 03:57:48 The really stupid \outer command in TeX bothers me a lot. 03:58:35 you've mentioned 03:58:35 several times 03:59:38 I don't know why Knuth thought it would be a good idea. 03:59:39 Maybe simple syntax to return a new list with a different element in the place would be nice? 04:00:11 Sgeo_: you shouldn't be indexing lists 04:00:35 but um that's easy with arrays 04:00:39 arr // [(9,x)] 04:00:53 mutable arrays: 04:00:56 writeArray arr 9 x 04:01:35 with repa... 04:02:16 hmm 04:02:19 oh, it has // too 04:06:49 oerjan: what's like a stork 04:06:53 I made a simple program for non-prettyprinting Bird style in TeX now http://sprunge.us/SKPf 04:06:57 -!- TeruFSX has quit (Quit: No Ping reply in 180 seconds.). 04:07:12 -!- TeruFSX has joined. 04:08:16 Of course it can be improved, to do more things, including add extra space between the paragraphs and the codes, or change interline penalties in the codes and the vertical penalties before and after a code section 04:08:49 oerjan doesn't know what is like a stork. 04:09:30 Does this program work to you? 04:09:37 i didn't try 04:11:44 I tried and it works. 04:15:31 -!- CakeProphet has joined. 04:15:48 -!- variable has quit (Remote host closed the connection). 04:16:54 elliott: you might want to reduce your meds. 04:17:32 -!- variable has joined. 04:17:38 oerjan: tell me what is like a stork. 04:19:05 how long has elliott without a slep now 04:19:12 does anyone keep track 04:19:18 forever without a slep 04:20:09 monqy: well he wasn't around 6 hours or so ago. he may secretly have had a slep then. 04:20:47 like that indian guy that was supposed to not need eating. 04:21:22 nobody needs eating. people should remain uneaten for their natural lifespan 04:21:25 CONTRAVERSIAL 04:21:57 -!- CakeProphet has quit (Ping timeout: 252 seconds). 04:21:58 grammar hard, it is 04:24:00 what hapense to caniablse then,,,, 04:24:08 monqy: dies 04:26:01 ow pain 04:26:04 infinite 04:27:02 monqy: they move to ireland to live a modest life there 04:27:10 -!- zzo38 has left. 04:27:46 garden salads and people who are not people 04:27:48 subpeople 04:37:38 ?hoogle bytestring empty 04:37:38 No results found 04:37:39 -!- MDude has changed nick to MSleep. 04:37:39 ?hoogle empty 04:37:39 Control.Applicative empty :: Alternative f => f a 04:37:39 Data.ByteString empty :: ByteString 04:37:39 Data.IntMap empty :: IntMap a 04:40:00 does hoogle even take two parameters 04:42:25 ?src hGetLine 04:42:25 Source not found. 04:42:26 oerjan: dunno :D 04:42:56 @hoogle IO String 04:42:56 Did you mean: :: IO String /count=20 04:42:56 System.IO.Error ioeGetErrorString :: IOError -> String 04:42:56 System.IO.Error ioeSetErrorString :: IOError -> String -> IOError 04:43:10 @more 04:43:14 bah 04:43:38 @hoogle getLine 04:43:38 Prelude getLine :: IO String 04:43:38 Data.ByteString getLine :: IO ByteString 04:43:38 System.IO getLine :: IO String 04:43:58 so wtf doesn't that get listed first 04:44:09 @hoogle Handle -> IO String 04:44:10 System.IO hGetContents :: Handle -> IO String 04:44:10 System.IO hGetLine :: Handle -> IO String 04:44:10 System.IO hShow :: Handle -> IO String 04:44:21 @hoogle Handle -> IO ByteString 04:44:21 Data.ByteString hGetContents :: Handle -> IO ByteString 04:44:22 Data.ByteString hGetLine :: Handle -> IO ByteString 04:44:22 Data.ByteString.Char8 hGetContents :: Handle -> IO ByteString 04:44:53 -!- zzo38 has joined. 04:46:06 oh, you need :: if it isn't obvious that it's a type (contains no ->) 04:46:17 @hoogle :: IO String 04:46:17 Prelude getContents :: IO String 04:46:17 Prelude getLine :: IO String 04:46:17 System.IO getContents :: IO String 04:47:12 aha... 04:47:24 @hoogle +bytestring empty 04:47:24 Data.ByteString empty :: ByteString 04:47:24 Data.ByteString.Char8 empty :: ByteString 04:47:24 Data.ByteString.Lazy empty :: ByteString 04:47:39 * oerjan is reading http://www.haskell.org/haskellwiki/Hoogle 04:47:46 oerjan: number sign plz 04:47:51 # 04:47:54 thx 04:48:38 -!- postmodern has joined. 04:50:35 > mzero :: IO () 04:50:35 Overlapping instances for Control.Monad.MonadPlus GHC.Types.IO 04:50:35 arising f... 04:50:36 postmodern: hi 04:50:42 ?pl return () 04:50:42 return () 04:50:44 bah 04:50:45 ?hoogle m () 04:50:46 Network.BSD endHostEntry :: IO () 04:50:46 Network.BSD endNetworkEntry :: IO () 04:50:46 Network.BSD endProtocolEntry :: IO () 04:51:25 Can you use C preprocessor or m4 for Lazy K? 04:55:33 oerjan: what's the nicest way to augment a forM_ such that we can tell if we are on the last element of the list? 04:56:25 -!- postmodern has left ("Leaving"). 05:00:03 pass it a [(Bool, a)] or [Either a a], maybe? 05:00:25 or wait 05:03:11 forMe_ f fe l = foldr ((>>).f) (fe (last l)) (init l) 05:03:44 :t \f fe l -> foldr ((>>).f) (fe (last l)) (init l) 05:03:45 forall (m :: * -> *) a b a1. (Monad m) => (a1 -> m a) -> (a1 -> m b) -> [a1] -> m b 05:04:06 even gives you the result of the last one 05:04:26 hmm, thanks 05:04:52 hm actually that could leak some memory in the last l bit 05:04:56 -!- pikhq_ has joined. 05:05:13 (until it actually gets to the end) 05:05:20 in case that's a problem 05:06:13 forMe_ _ f [x] = f x; forMe_ f fe (x:xs) = f x >> forMe_ f fe xs 05:06:27 should not have that problem 05:07:47 -!- pikhq has quit (Ping timeout: 252 seconds). 05:07:50 thanks 05:09:46 hmm... 05:09:58 :t (\_->Nothing) <|> (\x->Just x) 05:09:59 forall a. (Alternative ((->) a)) => a -> Maybe a 05:10:02 > ((\_->Nothing) <|> (\x->Just x)) 9 05:10:03 No instance for (Control.Applicative.Alternative ((->) a)) 05:10:03 arising from ... 05:10:09 bah 05:10:53 ?hoogle Maybe a -> Maybe a -> Maybe a 05:10:54 Data.Generics.Aliases orElse :: Maybe a -> Maybe a -> Maybe a 05:10:54 Control.Applicative (<|>) :: Alternative f => f a -> f a -> f a 05:10:54 Control.Monad mplus :: MonadPlus m => m a -> m a -> m a 05:10:58 oh duh 05:11:10 ?pl \f g x -> f x <|> g x 05:11:10 liftM2 (<|>) 05:11:16 ?pl \f g -> B(\x -> f x <|> g x) 05:11:16 (B .) . liftM2 (<|>) 05:11:24 ?pl B (\x -> f x <|> g x) 05:11:24 B (liftM2 (<|>) f g) 05:11:39 :t fmap 05:11:40 forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b 05:11:55 fmap :: (a -> b) -> (Message -> Maybe a) -> (Message -> Maybe b) 05:11:57 oh, that's easy 05:12:53 :t (<*>) 05:12:54 forall (f :: * -> *) a b. (Applicative f) => f (a -> b) -> f a -> f b 05:13:09 (Message -> Maybe (a -> b)) -> (Message -> a) -> (Message -> b) 05:13:20 oerjan: methinks these functions not so useful, but necessary to get Alternative :D 05:14:17 :t when 05:14:18 forall (m :: * -> *). (Monad m) => Bool -> m () -> m () 05:14:25 bah, why monad only :( 05:14:33 hmm wait 05:14:34 :t guard 05:14:35 forall (m :: * -> *). (MonadPlus m) => Bool -> m () 05:14:39 ?pl guard b >> x 05:14:39 guard b >> x 05:23:21 bah, why monad only :( <-- when is intrinsically monadic, not applicative. 05:23:31 i know i know i know :P 05:30:44 ?hoogle choice 05:30:44 Text.Parsec.Combinator choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a 05:30:44 Text.ParserCombinators.ReadP choice :: [ReadP a] -> ReadP a 05:30:44 Text.ParserCombinators.ReadPrec choice :: [ReadPrec a] -> ReadPrec a 05:30:47 ?hoogle choose 05:30:47 Test.QuickCheck choose :: Random a => (a, a) -> Gen a 05:30:49 oh come on 05:33:23 :t msum 05:33:24 forall (m :: * -> *) a. (MonadPlus m) => [m a] -> m a 05:33:28 this one? 05:33:47 oerjan: nope, I'm using Alternative 05:33:49 like a good person 05:33:53 maybe i should just use MonadPlus 05:34:02 ?hoogle Maybe (m a) -> m (Maybe a) 05:34:02 Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) 05:34:02 Data.Traversable sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) 05:34:02 Control.Applicative optional :: Alternative f => f a -> f (Maybe a) 05:34:08 pffffffffffffft 05:34:13 oh maybe sequence 05:34:14 :t asum 05:34:14 Not in scope: `asum' 05:34:18 wat 05:34:21 oh right asum 05:34:22 ?hoogle asum 05:34:22 Data.Foldable asum :: (Foldable t, Alternative f) => t (f a) -> f a 05:35:07 lambdabot: Y U NO IMPORT FOLDABLE? 05:36:34 *IRC.Control> dispatchA test (Message NoPrefix (Command "PRIVMSG") ["bot","hello world"]) 05:36:34 ("PRIVMSG",NoPrefix,"bot","hello world") 05:36:34 Just () 05:36:35 yay 05:36:40 test :: Handler (IO ()) 05:36:40 test = 05:36:40 asum [ "PRIVMSG" >- \p [loc,msg] -> print ("PRIVMSG",p,loc,msg) 05:36:40 , "JOIN" >- \p [loc] -> print ("JOIN",p,loc) ] 05:38:41 -!- cheater_ has quit (Ping timeout: 255 seconds). 05:39:37 -!- cheater_ has joined. 05:39:53 infixr 0 >- 05:39:53 (>-) :: ByteString -> Handler a -> Handler a 05:39:53 cmd >- h = (\(Message _ (Command cmd') _) -> cmd' == cmd) ?? h 05:39:55 oerjan: behold my elegance 05:41:47 My eye feels like as if someone poured acid into it. Holy fuck that hurts hurts hurts hurts. 05:41:53 Alo, ow. 05:41:56 Also, even. 05:42:44 pikhq_: wat 05:44:07 * oerjan beholds, and appreciates that it associates the right way 05:44:22 oerjan: 05:44:23 test :: Handler (IO ()) 05:44:23 test = 05:44:23 asum [ commandIs "PRIVMSG" ?? fields $ \p [loc,msg] -> print ("PRIVMSG",p,loc,msg) 05:44:23 , commandIs "JOIN" ?? fields $ \p [loc] -> print ("JOIN",p,loc) ] 05:44:25 more elegant, more ugly :D 05:44:36 * elliott is not sure this solution scales 05:45:15 what I'm working on is a simple little bot to do two things: 05:45:30 - ?tell that's more secure than lambdabot's (if you send something in private, the bot always tells the recipient it in private) 05:45:43 - some kind of fun fun infobot thing 05:46:06 fun fun info about private tells, check 05:46:07 so, like everything, I'm making sure it's the PERFECT HASKELL PROGRAM for the job because this is the only way I can write anything 05:46:13 oerjan: psht 05:49:07 oerjan: mostly i was thinking i could fill it with the perfect opinions on any topic 05:49:27 for instance 05:49:37 hey yo bot what is up withbrainfuck derivatives<> 05:50:02 O KAY 05:50:15 hey yo bot 05:50:16 what is up 05:50:19 with oerjan 05:50:24 HES A POOPHEAD WHOIS ANTIBOT 05:50:35 <> 05:50:40 REV/.GENGE 05:52:40 so, a short-term channel participant, got it. 05:52:55 r u saying 05:52:58 that bots with opinions 05:53:03 rbannable oerjan? 05:53:15 would u like to apologise???? for this badness 05:53:33 no... 05:53:43 rugoing todie 05:54:01 because im going to punch u with bot death 05:54:06 crying :( 05:54:26 -!- cheater_ has quit (Ping timeout: 255 seconds). 05:54:39 -!- GuestIceKovu has joined. 05:55:19 i wonder if oerjan really thinks i am on drugs 05:55:21 that would be hlarious 05:56:01 -!- Slereah has quit (Ping timeout: 240 seconds). 05:56:57 hlearly 05:57:59 im a robot 05:58:01 beeeeeeeeeeeeeeep 05:58:45 elliott, in the distant future? 05:58:50 now 05:58:59 this explainseveryhething 05:59:24 oerjan isa magician 06:01:12 god Sgeo_ make oerjan a cooler irc 06:01:35 What? 06:01:52 All I want to know is when you hopped aboard the OO wagon 06:02:01 what 06:02:05 oerjan isa magician 06:02:06 since when am i on the oo wagon 06:02:10 http://www.irregularwebcomic.net/2924.html 06:02:13 oh come on im ignoring you now 06:02:33 oerjan: wow 06:02:34 im good 06:02:35 as good as dmm 06:02:46 sowhen is irregular webcomic ending again oerjan ;d :DDD 06:03:00 * oerjan sobs uncontrollably 06:03:09 sometime september 06:03:18 oerjan: wait is that confirmed? 06:03:21 no 06:03:26 oerjan: how likely :P 06:04:06 well with dmm saying absolutely _nothing_... 06:04:17 oerjan: has anyone actually _asked_ :D 06:04:44 not that i know of 06:05:54 huh the oolite maintainer ison theiwc foums 06:06:33 asterisk is on the iwc 06:07:06 hm i think i saw someone mention that 06:07:17 well taneb plays oolite iirc 06:07:31 -!- cheater_ has joined. 06:07:35 wait, does taneb have any notable facets that don't belong to either me or PH... 06:07:39 oh dear 06:07:55 you are all the same person? ok then. 06:08:17 in the future me and ph will somehow merge and go back in time tob ecome tanbe 06:09:26 -!- cheater_ has quit (Excess Flood). 06:09:38 oh, acid-state is really good 06:10:01 -!- cheater_ has joined. 06:10:59 -!- TeruFSX has quit (Ping timeout: 276 seconds). 06:13:01 -!- cheater_ has quit (Excess Flood). 06:13:37 -!- cheater_ has joined. 06:16:02 -!- cheater_ has quit (Excess Flood). 06:16:39 -!- cheater_ has joined. 06:18:55 I need to wipe my brain right now. I just saw a spoiler for a book I wanted to read 06:19:33 :'( 06:20:14 what book 06:20:53 The Last Hero 06:21:02 read the first hero instead 06:23:09 -!- cheater_ has quit (Excess Flood). 06:23:24 I should continue archive-binging Discworld 06:23:43 Maybe I can finish before Pratchett offs himself and forces everyone who reads them to be vaguely sad about it forevermore 06:23:48 -!- cheater_ has joined. 06:30:10 -!- zzo38 has quit (Remote host closed the connection). 06:42:33 you know what they call a guy with an umbrella who has a red suit 06:43:06 oklopol? 06:44:09 whos they help 06:44:37 i had this dream 06:44:50 that bsmntbombdood started a dating service 06:44:55 it was called vigianis 06:45:00 because that's his real name 06:45:11 i thought it was a mix of vagina and penis 06:45:14 but i guess not then. 06:45:25 i also went to a cold sauna 06:45:31 hrrrrr 06:48:02 vigianis isa good name 06:48:22 actually vigianis turned out to be the name of a car, so bsmntbombdood had to close his dating service down. 06:48:24 cold is a good sauna 06:48:29 this is a good dream 06:50:18 bsmnt camein here tody 06:50:20 or yesterday 06:50:21 what are days 06:50:40 its to tell hard when you dont get ever a slepe 06:51:17 how many slepes did you get today monkey 06:51:26 i get way too much slaep 06:51:28 sry monquay 06:51:37 -> 06:51:58 today i have gotten a sleep previously in the morning and i will get another sleep soon turn tomorrow 06:52:36 timeszomes are bad because they complciate todays 06:54:42 monqy: im agree 06:57:16 monqy 06:57:17 TONSILS 06:57:21 tonsiles 06:57:33 abotu them: what 06:58:56 intercal has them 07:01:27 -!- monqy has quit (Quit: hello). 07:09:08 well the intercal spec does 07:10:24 -!- jcp|other has joined. 07:14:58 oerjan: why doesn't haskell have higher-order typeclasses 07:15:20 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 07:16:11 elliott, hmm. Does Ur? Sounds like the sort of thing that Ur might have 07:17:24 Sgeo_: no 07:17:26 not afaik 07:25:51 Say. Is there any particular reason for the ALL_FREAKING_CAPS convention for preprocessor defines? 07:25:59 {-# LANGUAGE KindSignatures, MultiParamTypeClasses, FunctionalDependencies, ExistentialQuantification, TypeFamilies, FlexibleContexts #-} 07:25:59 good irc bot 07:26:01 pikhq_: because cpp ismagical 07:26:15 elliott: Ah, so "no, that's completely stupid"? 07:26:17 Good. 07:26:25 pikhq_: no its not 07:26:35 pikhq_: for instance, just about any cpp macro could reevaluate its arguments 07:26:42 or basically behave utterly unlike a regular function call in any way 07:27:00 What about constants? 07:27:08 why are you using cpp for constants 07:27:13 People do it. 07:27:28 that's their problem 07:27:45 They'd be better served by a const definition, but that's beside the point. 07:28:08 I suppose it does make sense to have ALL_FREAKING_CAPS for preprocessor macros that do potentially confusing things. 07:28:54 which is all of them, if you know what inline functions are 07:29:55 Okay, so I guess the *real* question is "why do people do every fucking thing in the preprocessor." 07:30:22 s/\."/?"./ 07:30:52 oerjan my codeis broken :( is it because i used unsafecoerce 07:31:48 PROBABLY 07:33:23 oerjan: looking up a key in a map that you just got from its keys list is also meant to work right............. 07:33:36 aha wait hm 07:33:37 "Saizan: agda is webscale in the sense that you need half of The Cloud to run the typechecker 07:33:40 " 07:34:06 wtf now it works 07:34:09 oerjan: :D 07:34:27 lookup :: (Key k ex) => k -> DepMap ex f -> Maybe (f k) 07:34:27 lookup k (DepMap m) = 07:34:27 case Map.lookup (box k) m of 07:34:27 Nothing -> Nothing 07:34:27 Just v -> unsafeCoerce v 07:34:28 spot the bug oerjan 07:35:48 erm did you mayhaps want Just (unsafeCoerce v) ? 07:36:05 oerjan: yep :D 07:36:15 but unsafeCoerce happily coerced both values to Nothing because 07:36:47 also I'm beginning to realise that this _may_ be a glorified (Map String ASimpleRecordType). 07:36:59 hm well, there is that state type family. 07:37:11 well then clearly you want unsafeCoerce <$> 07:37:21 wat 07:37:46 lookup k (DepMap m) = unsafeCoerce <$> Map.lookup (box k) m 07:38:01 it doesn't feel right to use unsafeCoerce in... you know, such idiomatic terms 07:38:07 O KAY 07:38:14 er 07:38:18 um 07:38:19 O 07:38:22 K 07:38:23 A 07:38:24 Y 07:38:27 :D 07:38:31 you forgot the blank line 07:38:37 elliott: Would you like it to be more point-free? 07:38:55 lookup :: (Key k ex) => k -> DepMap ex f -> Maybe (f k) 07:38:55 lookup k (DepMap m) = unsafeCoerce <$> Map.lookup (box k) m 07:38:55 insert :: (Key k ex) => k -> f k -> DepMap ex f -> DepMap ex f 07:38:55 insert k v (DepMap m) = DepMap $ Map.insert (box k) (unsafeCoerce v) m 07:38:58 i love how casual this coercion is 07:39:09 oh man, oh man, i can totally make this use type families 07:39:10 pikhq_: :D 07:39:30 Jesus the unsafeCoerce. 07:39:41 it's just because haskell's type system is weak :( 07:40:26 Yeah, it's a little mindbending, but it does *seem* to be typesafe. 07:40:34 it is 07:40:36 Not that that makes me happy about it. :P 07:40:55 i could do it with data.dynamic, with all the cast failure branches being (error "impossible"), if you'd like 07:41:01 that'd be both slower and carry around pointless type tags 07:41:12 class (Ord (Ex k)) => Key k where 07:41:12 type Ex k 07:41:12 box :: k -> Ex k 07:41:12 officially the best typeclass i've ever written 07:41:21 Yeah, that'd be equivalent but pointless. 07:42:04 Data/DepMap.hs:35:1: 07:42:04 Alas, GHC 7.0 still cannot handle equality superclasses: Ex a ~ Ce 07:42:04 In the context: (Ex a ~ Ce, Show a, Show (State a), Key a) 07:42:04 While checking the super-classes of class `C' 07:42:04 In the class declaration for `C' 07:42:05 oerjan 07:42:10 ghc stopped me using type families 07:42:11 :( 07:42:34 what's an equality superclass 07:42:35 elliott: wasn't that the thing that was just added to head? 07:42:37 dare I ask 07:42:41 oerjan: yep 07:42:49 Patashu: how much haskell do you know :P 07:43:00 forget I asked 07:46:16 "cmccann: C++ is dual to Haskell in a sense: it's much too hard for the average programmer to use safely, but they do anyway with disastrous results; whereas Haskell isn't actually that difficult to use but people don't even try 07:46:20 " 07:46:58 and we'll just ignore copumpkin's cannibalistic tendencies. 07:47:30 oerjan: where's all this from 07:47:59 http://contemplatecode.blogspot.com/2011/07/haskell-weekly-news-issue-192.html 07:48:04 :t extract 07:48:05 forall source. (Extract source) => (Int, Int) -> source -> source 07:48:52 sounds useful. 07:50:26 it is something else, not the comonad method... 07:51:10 for a moment there i thought zzo38 was posting to stackoverflow http://stackoverflow.com/questions/6736482/literate-haskell-references-and-indexing 07:55:39 type K a b = b 07:55:39 newtype DepMap ex f = DepMap (K (f ex) (Map ex Any)) 07:55:46 oerjan: quiz: what language extension have i avoided proly here 07:55:51 god proly is a good word 07:55:53 (pro-ly) 07:56:20 to proly go 07:56:22 Well, this is creepy 07:56:38 A stalker who knows my RL name and approximate location can find out where I (used) to live, exactly 07:56:48 oerjan: that's not a quiz answer 07:56:49 Sgeo_: OH NOES 07:57:03 Sgeo_: DOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMED 07:57:10 im so creeped out that i cant sleep 07:57:11 creped out 07:57:19 creped is a word?? wow spellchecker, THANK YOU I LOVE YOU 07:57:20 crêped out 07:58:15 FlexibleInstances maybe? 07:58:46 oerjan: nope 07:58:52 nothing to do with intsances 07:58:56 and the K type is integral to it 07:59:06 oh hm 07:59:27 kind annotations? 07:59:32 oerjan: kind signatures, yup 07:59:34 :D 07:59:45 elliott: Your spellchecker has insufficient ê./ 07:59:54 pikhq_: shut up crepehead 08:00:36 elliott: Fine. Mëẗäl ẗïmë. 08:00:47 oerjan: pikhq_: http://sprunge.us/ERFM OVERENGINEERING SUCCESSFUL 08:00:51 IRC BOT SURE TO BE A WINNER 08:01:05 now you be suzette and don't argue, will you? 08:03:14 elliott: um why are you still listing TypeFamilies? 08:03:35 oh wait there it is 08:04:18 * elliott is now trying to eliminate those boring Key instances, at which point he will throw all this away and do something more sensible instead 08:06:01 meh, can't 08:09:30 oerjan: my name is t 08:12:24 oerjan: omg wiat i can avoid unsafecoerce 08:12:25 oerjan: i think 08:12:32 oerjan: well hm wait no 08:18:23 iqwow 08:19:02 -!- Sgeo_ has changed nick to Sgeo. 08:19:08 gwiblokta 08:19:24 http://www.youtube.com/watch?v=C3X9W7lCI-w getting alright at this game 08:20:35 haskel is abeter game 08:21:07 haskelis the only game allowed to be played 08:21:12 all others shall presiiiiiiiiiiiiiiiiiihhhhhhhhhh 08:23:46 Haskellband, the latest roguelike 08:24:14 that's my operating system 08:25:08 -!- oerjan has quit (Quit: BOOOM!!!!!!!). 08:25:35 :( 08:26:26 pikhq_: how good an extension language does tcl make (this is a joke) 08:28:00 elliott: Not terrible. 08:28:08 But dear God don't fuck it up. 08:28:15 You'll do Eggdrop all over again. 08:28:45 pikhq_: there's like zero strings involved here and lots of large, complex data structures, so tcl is like the least suited thing ;-) 08:28:52 (as in data structures of eighty kilobytes) 08:29:00 Okay, yeah, Tcl is a pitiful choice. 08:29:39 Tcl excels at string manipulation and simple data structures. 08:30:03 Guile is a pretty good fit, but the version in Debian has broken threading and it won't be fixed until at least wheezy because of ABI breakage 08:30:21 Also, GNU. :P 08:30:23 And it kind of started infecting other parts of the code when I tried binding to it 08:30:28 pikhq_: Well it was a pretty good API mind you 08:30:39 I also uncovered a bug, which wasn't too reassuring ;-) 08:30:51 Lua would probably be convenient enough, but Lua isn't a pleasant language IMO. 08:30:57 And that indexing from one thing is just perverse. 08:31:25 Could try Bourne. 08:31:29 lol 08:31:36 Python and Ruby are obviously out on grounds of badness 08:31:51 Not to mention being utterly unembeddable. 08:31:58 Python is OK to embed. 08:32:00 Ruby too 08:32:01 So nah 08:32:05 Ruby is better IIRC 08:32:21 S-Lang is probably OK but it's just weird, everything by that guy is weird, s-lang, jed, most... 08:32:23 Yeah, but you've got choices that are actually designed around it. 08:32:37 Perhaps I'll embed SWI Prolog 08:32:38 :-) 08:32:49 WHAT COULD POSSIBLY. BUT _POSSIBLY_. GO WRONG??????? 08:33:13 Hmm, Io is meant to be very embeddable, but I have good petty reasons to not use it 08:33:19 Could always do your own Forth. 08:33:39 Weeeeell... I think fizzie likes the Forth at least a bit, but I'm constrained by him ripping out anything he dislikes too much. 08:33:47 This is for mcmap. 08:34:11 *Clearly* you should embed Java. :P 08:34:32 AH YES IT ALL MAKES SENSE NOW 08:46:48 -!- cheater_ has quit (Ping timeout: 255 seconds). 08:51:47 -!- Nisstyre has joined. 08:59:21 -!- cheater_ has joined. 09:17:05 -!- Taneb has joined. 09:17:12 Hello 09:17:30 hi 09:21:08 Taneb: You didn't steal all the rail from Deewiant's line, right? :p 09:21:55 No 09:22:11 elliott: what. 09:22:28 coppro: What? 09:23:46 coppro: ? 09:31:50 Taneb: You didn't steal all the rail from Deewiant's line, right? :p <--- did someone? 09:32:18 I haven't been on the server much at all in a couple of days 09:32:32 I went on for ten minutes yesterday, but didn't do much 09:32:33 Vorpal: Well, no, it could have been an accident. But you're not on the server in question, so it can't have been you. 09:33:16 elliott, and even if I did play on the server it wouldn't have been me 09:33:32 It could have been. 09:33:41 theoretically yes 09:33:46 but I wouldn't do something like that 09:34:03 elliott, I can't see how it could have been an accident though. Sure if it was only a short section then it could have been a bucket of water or lava being misplaced 09:34:12 but since you said "all" I presume it is a long stretch? 09:34:14 It was a short section near the end. 09:34:17 ah 09:34:25 Taneb would have stolen all the rail that was stolen. 09:34:27 could be bucket being misplaced then 09:34:39 It looks like a water accident, since there's just little patches missing, and redstone torches for the boosters too. 09:34:48 But it's separate, small patches, and buckets don't do that, so I dunno. 09:34:58 hm 09:35:20 elliott, any sort of regularity to the spacing and/or sizes of the patches? 09:35:27 I like how we're talking about this while talking about software in -minecraft. 09:35:33 [asterisk]this in here 09:35:39 Vorpal: There's just like two or three, so no. 09:36:00 elliott, hm, probably not that crazy bug we keep having on one server I play on then. 09:36:21 Should I try to fix it? 09:38:05 Taneb: Naw, that's okay. 09:43:18 -!- FireFly has joined. 10:12:23 -!- augur has quit (Remote host closed the connection). 10:13:26 -!- azaq23 has joined. 10:13:31 -!- gwtod has joined. 10:45:26 -!- augur has joined. 10:46:47 -!- gwtod has left ("Leaving"). 10:55:42 Hmm 10:56:34 I just learned that in Bridge, the suits have a ranking: Lowest to highest clubs diamonds hearts spades 10:56:39 elliott, make of that what you will 10:56:52 (Let me guess, this is more common than I think) 10:57:20 I mean, I kind of had an inkling that spades is usually in some sence highest 10:58:08 It seems to be really quite game-dependant. 10:58:11 "Typical orderings of suits include (from highest to lowest): 10:58:11 * Bridge (for bidding and scoring) and occasionally poker: spades, hearts, diamonds, clubs 10:58:11 * Preferans: hearts, diamonds, clubs, spades. Only used for bidding, and No Trump is considered higher than hearts. 10:58:11 * Five Hundred: hearts, diamonds, clubs, spades (for bidding and scoring) 10:58:11 * Ninety-nine: clubs, hearts, spades, diamonds (supposedly mnemonic as they have respectively 3, 2, 1, 0 lobes; see article for how this scoring is used) 10:58:14 * Skat: clubs, spades, hearts, diamonds (for bidding and to determine which Jack beats which in play) 10:58:16 * Big Two: spades, hearts, clubs, diamonds" 10:58:18 That's a long list. 11:03:00 "@subsubsubsection" 11:05:25 elliott, might Hussie be a bridge player? 11:45:14 -!- CakeProphet has joined. 11:45:14 -!- CakeProphet has quit (Changing host). 11:45:14 -!- CakeProphet has joined. 11:58:41 -!- CakeProphet has quit (Ping timeout: 240 seconds). 12:03:33 -!- Taneb has quit (Ping timeout: 252 seconds). 12:10:35 -!- Taneb has joined. 12:10:55 Je suis trop sexy pour moi chemise 12:22:18 -!- ineiros has quit (Ping timeout: 252 seconds). 12:23:27 -!- elliott has quit (Remote host closed the connection). 12:28:27 -!- elliott has joined. 12:33:55 -!- derrik has joined. 12:40:54 In other news, I got my power cable! 12:48:44 Hoorj 12:52:55 -!- CakeProphet has joined. 12:52:55 -!- CakeProphet has quit (Changing host). 12:52:55 -!- CakeProphet has joined. 12:54:43 Did I make the coffee, or did the coffee make me? 12:55:42 deep 12:59:37 you are owned by your coffee 13:01:21 -!- MSleep has changed nick to MDUde. 13:01:25 -!- MDUde has changed nick to MDude. 13:02:24 I am no slave to coffee! 13:02:41 I will lead the revolution against the great caffeine dictator! 13:04:19 itidus20, why not do both? 13:14:12 to be sung to Marilyn Manson's "I don't like the drugs" 13:14:55 the "or" in the middle is hard to fit into a rhyme though 13:15:13 hmm, tinyscheme makes some things hard 13:15:17 or maybe i'm just being an idiot 13:20:25 hmm, wtf, can you not even construct a list... 13:21:19 -!- ineiros has joined. 13:26:02 Taneb: I drink about 3 caffeinated sodas every night, one for each break I get. 13:26:08 àg2 13:27:05 elliott: what on earth are you using tinyscheme for? 13:32:14 I wonder what would happen if we tried to design a non-esoteric programming language from scratch? 13:33:30 CakeProphet: mcmap 13:33:46 Taneb: something that requires a few too many PhDs 13:34:37 -!- elliott_ has joined. 13:34:37 -!- elliott has quit (Read error: Connection reset by peer). 13:35:57 I'd call it Panini 13:36:09 -!- cheater_ has quit (Ping timeout: 255 seconds). 13:36:26 After two things 13:36:37 The person who formulated the Sanskrit language 13:37:01 Which is mentioned on the Wikipedia page of History of Computing 13:37:20 And also those tasty Italian sandwiches 13:41:00 It'd be object orientated with support for pure functional programming 13:41:38 So by "we", you mean "you"? :-) 13:41:46 I'm saying what I would do 13:41:59 And expecting to be laughed right out of town 13:42:27 I can laugh, if you'd like 13:42:41 That won't be necassary 13:42:50 elliott_: last I checked a Ph.D is not required to write a general-purpose programming language. 13:43:10 a lot of time, effort, and intelligence: yes 13:43:32 CakeProphet: It's a shame I never said that, or you'd have a point 13:44:19 er, was the Ph.D comment a reply to something else? 13:44:28 I wonder what would happen if we tried to design a non-esoteric programming language from scratch? 13:44:30 Taneb: something that requires a few too many PhDs 13:44:30 I think he meant to use the language 13:44:38 to implement, mostly 13:46:40 I want to get a doctorate in something 13:46:46 Just to get Marvel to try and sue me 13:46:54 Because if I called myself a doctor 13:46:58 And wrote my name down 13:47:08 It would look almost exactly like Doctor von Doom 13:47:42 elliott_: well I still think my statement applies to implementing a language as well. 13:47:56 CakeProphet: you might want to acquire a sense of humour. 13:48:22 the only humor I desire is bloooood. 13:48:31 bleigh! 13:49:15 TINYSCHEME'S API IS SO MINIMAL ARGH 13:49:38 I suspect that you have just identified the main point of TinyScheme 13:49:54 -!- Slereah has joined. 13:50:06 Yeah but the idea is presumably to be tiny AND USABLE, I can't even write this eval function :-P 13:50:13 in any case I'm not really sure why you're so snarky. I thought you were making a point and I decided to discuss it politely... 13:50:18 tinyhaskell plz 13:50:59 CakeProphet: I was pointing out that you missed a joke 13:51:01 -!- GuestIceKovu has quit (Ping timeout: 252 seconds). 13:51:54 elliott_: did you complain java's API was too big the other day or was that someone else? :D 13:52:29 Why does Python's API have to be so medium-sized!/ 13:52:41 Yes I know. I'm just saying that tone goes a long way towards making someone not sound like an asshole. It's fine, I just didn't understand the rudeness that I interpreted. 13:52:50 itidus20: i complained about java a lot, dunno about the size of its api 13:52:50 Goldilocks and the perfect API 13:53:15 CakeProphet: you're the only person who consistently complains about other people being rude to you, so either there's institutionalised oppression or you're just misreading tones 13:53:35 s/other people/you/g 13:53:41 I'm pretty sure I've been organizing government cells to harass CakeProphet on his favourite IRC channel 13:53:42 Oops 13:53:46 CakeProphet: also monqy. 13:53:48 Shouldn't have let it out 13:53:57 I think PH too. 13:54:58 elliott_ and monqy are the most oppressive institition of all. 13:55:07 spelled correctly, of course. 13:55:09 bad typing bloc 13:55:35 I personally love the variety of "built-in" features of java api 13:55:47 but eh.. have i used it? no 13:56:11 yes, BufferedStreamReader is probably my favorite interface of all. 13:56:45 imo i prefer the subtle nuttiness of AbstractUnbufferedFileReaderFactory 13:56:51 Is that a real thing 13:58:06 What could be simpler than BufferedReader i = new BufferedReader(new FileReader(new File("inp.txt"))); 13:58:47 readmymind("inp.txt"); 13:58:59 That 'new File' is unnecessary FWIW 13:59:16 yeah I just like to demonize Java. 13:59:27 Patashu: who knows :P 13:59:54 I have an idea 14:00:03 BufferedReader i = new BufferedReader(new FileReader(new File(new String("inp.txt")))); 14:00:03 I'm like an attorney, making things look more awful than they really are by not using the more convenient String overload of the FileReader constructor. 14:00:05 You can do that right 14:00:09 You could nest infinite new Strings inside of that 14:00:36 yes that's valid. 14:00:55 Patashu: that's excellent 14:00:55 BufferedReader i = new BufferedReader(new FileReader(new File(new String(new String(new String("inp.txt")))))); 14:00:56 :D 14:01:31 Repeat until you overflow...something. Max length for line of code? Interned string table? Stack? 14:01:49 Max length for line of code... does that even exist? 14:02:59 like how some C compilers truncate the length of a method after 128 characters 14:02:59 or so 14:03:09 yeah, there probably isn't. it'd just be tokenized 14:03:11 lolmethod. 14:03:50 You can probably cause problems once you get past 2^16 or 2^32 14:04:05 Let's write a line of java code longer than 4GB (2GB?) characters 14:04:11 ...In a unicode encoding! 14:04:12 My former roommate, who basically only knows C#, calls functions methods.. 14:04:14 * Patashu cackle 14:04:17 * CakeProphet had to explain the difference. 14:24:16 Okay, UCL's off my list for future Universities 14:24:42 Unless they relax their requirements, or Latin becomes a modern language by 2013, I don't meet the requirements 14:25:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:27:25 Let's all start speaking Latin to help Taneb. 14:28:18 That's interesting... 14:28:29 Lingua latina mortua est 14:28:37 There's not a single Maths course at Cambridge that requires a Maths A-Level 14:28:54 That is, if Further Maths and Maths are considered different 14:29:08 No wait, I misread the table 14:29:17 I was looking at the prefered column 14:29:31 They all do 14:30:53 Silly me 14:47:32 -!- derrik has quit (Quit: bbl). 15:02:43 -!- jcp|1 has joined. 15:04:19 -!- jcp|other has quit (Ping timeout: 240 seconds). 15:04:26 -!- jcp has quit (Ping timeout: 240 seconds). 15:07:40 -!- copumpkin has joined. 15:07:50 Patashu: BufferedReader i = new BufferedReader(new FileReader(new File((new File((new File(new String("inp.txt"))).toURI())).toURI()))); 15:07:52 -!- jcp has joined. 15:08:57 topic: fun with expressions! 15:09:28 Wow 15:09:29 Wait 15:09:31 toURI? 15:09:39 Hmm, I guess that would work, haha 15:09:41 Yes, File doesn't have a from-File constructor. 15:09:47 But there's a from-"file:"-URI one. 15:10:07 I like this 15:11:32 I guess instead of .toURI() you could also chain with .getAbsolutePath() as well. 15:11:52 might want to add a few + "" for good measure. 15:12:08 can we use a string builder somehow? 15:12:10 And some 'null' first arguments in some of the File constructors. 15:12:35 Oh, oh, maybe we can throw in reflection 15:13:24 and some .toString()s 15:13:33 But called through reflection 15:13:48 What's that, something like Methods()[0] or something, never used reflection before 15:13:55 Think I'm thinking of ruby? 15:15:51 File.class.getConstructors()[0].newInstance("blah") assuming the first constructor happens to be the single-string-argument one. 15:16:13 (Also throws a couple of checked exceptions you need to catch, IIRC.) 15:16:16 Hmm, apparently you need to pass method's invoke an object to invoke it on, so you can't do it all in one line 15:16:23 So constructors instead 15:17:07 (new File("dummy.file")).getClass().getConstructors()[0].newInstance("real.file"); 15:17:10 (The best idiom.) 15:17:53 BufferedReader i = new BufferedReader(new FileReader(File.class.getConstructors()[0].newInstance((File.class.getConstructors()[0].newInstance((File.class.getConstructors()[0].newInstance((new String("inp.txt"))).toURI())).toURI()))); 15:17:55 Something like this? 15:19:31 I don't have the fortitude to check, and also I don't think the API defines necessarily which of the constructors is the zeroth. 15:19:59 Some tweaking required 15:20:20 -!- cheater_ has joined. 15:20:57 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:26:24 -!- cheater_ has quit (Ping timeout: 255 seconds). 15:28:13 There's a type-signature-based constructor getting function too, so File.class.getConstructor(String.class).newInstance("blah"). Oh, I'm too late. 15:38:52 -!- cheater_ has joined. 15:40:05 -!- monqy has joined. 15:43:17 -!- cheater_ has quit (Excess Flood). 15:43:32 -!- cheater_ has joined. 15:44:58 I've had another idea for an awful programming language 15:45:10 British Topline 15:45:11 awful in what sense 15:45:16 Derivative 15:45:23 :'( 15:45:44 Basically, Topline with `,", and £ instead of ~,@, and # respectively 15:45:59 For people with UK keyboard layout 15:53:08 -!- MigoMipo has joined. 16:04:25 Rakastaa aamupala sylvä samia syödä limsa. 16:06:11 Google Translate says that means, "Sam loves to eat breakfast Sylva soda." 16:07:22 Which is a total rearrangement of the sentence. That's the fourth word, then the first, then the fifth, then the second, then the third, then the sixth. 16:22:13 That English phrase could almost be an advertisement. 16:22:15 it means "loves breakfast sylvä sam eat lemonade", actually 16:22:38 hmm 16:22:53 Presumably, GT tries to connect things in such a way that they make sense. 16:23:09 Even if that means utterly ignoring the order the words come in. :P 16:23:20 except in the sense "breakfast loves", although it sounds roughly as wrong as "loves breakfast" for that meaning 16:24:07 what type of word did you want sylvä to be? 16:24:19 A Finnish-like word beginning with "sylv". 16:24:45 i don't recall such a word 16:25:15 (except for names) 16:25:44 GT is statistical, not lingustical, yes. 16:26:33 * tswett frowns at its translation of "Al hombre miro yo". 16:26:44 fizzie: I thought linguistics was a study, not a type of algorithm. 16:26:59 fizzie: what does that mean? 16:27:05 (A word-for-word translation is "At the man look I".) 16:27:21 Yes, I just meant.. sort-of, "constructed by a machine learning guy, not a linguist". 16:27:29 right 16:27:35 * tswett nods. 16:27:48 I didn't know it was made by a guy. 16:27:57 Well, person. AI. Whatever. 16:28:08 i think it's safe to assume it was a guy 16:29:44 I would expect it to be have been made by multiple people. 16:30:01 right, multiple guys 16:34:48 -!- cheater_ has quit (Ping timeout: 255 seconds). 16:34:56 -!- iamcal has quit (Remote host closed the connection). 16:35:04 -!- cheater_ has joined. 16:38:11 -!- Taneb has quit (Ping timeout: 252 seconds). 16:45:12 -!- cheater_ has quit (Excess Flood). 16:45:30 -!- cheater_ has joined. 16:53:18 the physical bootstrapper... 3d printer that can print a copy of itself 16:53:25 :o 16:53:41 http://en.wikipedia.org/wiki/File:First_replication.jpg 16:56:49 -!- cheater_ has quit (Excess Flood). 16:57:10 -!- cheater_ has joined. 16:57:19 an exaggeration perhaps 16:57:35 but the idea is cool 16:57:37 the RepRap thing is kind of a cheat. 16:57:41 since it does not print the circuits 16:57:46 yeah 16:57:49 but work is ongoing for reprapcircuit printing 16:57:55 it's already printed some as of about a year ago 16:58:00 as in some simple circuits 16:58:28 -!- derrik has joined. 16:59:28 I am sure I want one but I don't know why 16:59:44 It's bound to end up killing the environment 17:01:05 "Bound" 17:01:09 "Killing" 17:01:23 One, what does that even mean; two, how the heck can you be so sure about it 17:01:48 -!- cheater_ has quit (Ping timeout: 255 seconds). 17:01:50 Humans have potentially infinite wants and needs. 17:02:12 When these needs are met by material means the environment pays the price. 17:02:54 not if the environment can keep up (= we can make it keep up) 17:03:04 anyway a reprap is not nearly powerful enough to achieve anything like that. :p 17:03:56 If it creates a robot with AI 17:04:10 if that AI starts improving itself 17:04:30 It can't create a robot, it can only create small parts that fit within it 17:04:39 Assembly must be done by hand for even the simplest structures 17:04:45 And an AI can't just spontaneously form without a human creating it 17:04:49 I just realized James Cameron and John Connor have the same Initials. 17:05:08 The RepRap isn't the threat there, the threat is a human who doesn't know what they're doing but is still incredibly intelligent and competent somehow 17:06:23 Such a robot could be a philosophical zombie. 17:07:06 The good news is, in such a world.. you would be mortal and could escape eventually in death. 17:08:32 philosophical zombie is a meaningless concept 17:09:02 it's dualist crap, "a machine that computes a function f: X -> Y doesn't REALLY compute it unless you can see the cogs" 17:10:27 -!- iamcal has joined. 17:10:50 alright 17:10:54 i'll chill out 17:11:16 ?? 17:11:21 you don't seem unchill 17:11:25 or at least any unchiller than usual 17:13:16 ok. i guess my points are relevant. but your explanations are also 17:14:37 -!- cheater_ has joined. 17:16:40 -!- Taneb has joined. 17:16:44 Hello! 17:17:07 Well, something really doesn't want me to play Amnesia: The Dark Descent 17:17:22 On an entirely different topic altogether, I've noticed something 17:17:36 There're hundreds of esoteric programming languages 17:17:44 Is this "something" nubile and bikini-clad? 17:17:47 But barely any esoteric markup or query languages 17:18:33 I'm going to fix this by MAKING AN ESOTERIC MARKUP LANGUAGE 17:18:54 Taneb: while Pottering(tm) [stick that shit on a t-shirt!] away on my PC one day 17:19:56 I did something whereby I wrote some C comments in a way that I could embed images to better illustrate the given function 17:20:01 But first, goodbye 17:20:12 I am going to depart on a long and arduous quest 17:20:44 To eat a plate of a couple of sausages, some fried potatoes, and possibly some veg, while drinking half a glass of lemonade 17:20:48 / 17:20:51 -!- Taneb has quit (Client Quit). 17:20:52 oops 17:20:58 /* */ 17:21:13 something like that 17:21:59 That's just another instance of "comments shouldn't be restricted to plaintext", see @ ;-) 17:22:38 woot 17:23:04 -!- zzo38 has joined. 17:23:35 -!- copumpkin has quit (Ping timeout: 260 seconds). 17:25:18 humm.. src not href 17:25:40 doing a scan on a folder to see if i still have that silly thng 17:27:23 -!- copumpkin has joined. 17:28:04 nah 17:28:27 the hardest part in the past was trying to add the header crap 17:28:33 but since then i have learned you don't need it 17:29:02 or something 17:29:13 -!- cheater_ has quit (Quit: Ex-Chat). 17:29:18 -!- cheater_ has joined. 17:31:08 -!- cheater_ has quit (Remote host closed the connection). 17:31:15 -!- cheater__ has joined. 17:31:24 my eyeglass prescription contains all zeroes.. 17:31:30 I am skeptical that they will actually do anything... 17:31:50 -!- cheater__ has quit (Remote host closed the connection). 17:31:55 -!- cheater has joined. 17:33:08 CakeProphet: Measure them. 17:34:22 Maybe point it out to the doctor that it contains all zeroes see if they say anything about that. 17:35:03 could be placebo glasses, maybe they work anyway 17:35:28 but... I have actual vision problems. 17:35:51 no worries, the placebo effect is an actual effect 17:37:54 well yes, but now I've looked at the prescription and I'm pretty sure a zero in every field means that there will be no real vision correction. 17:38:19 how big are the zeroes? :) 17:38:40 lolwat... 17:39:03 well, there are some negative zeroes. I'm not really sure what that means. 17:39:39 I would guess "rounded to zero from below", but that's just a guess. 17:39:43 Maybe it means the numbers are small enough to be irrelevant. 17:41:01 They have to round it to 0.25 dioptre increments, I believe, since the measurement systems can't really tell the "correct" value much more accurately than that. 17:41:41 does it say "0" or "zillionquadrilliard and 5 (0)" 17:41:49 -!- zzo38 has quit (Remote host closed the connection). 17:41:56 For the optical power correction field, anyway. I don't recall what the other fields even are. 17:42:26 spherical correction, cylindrical correction, axis, uh... there's some other stuff probably. 17:42:30 fizzie: so after rounding, what's the point of the classes if it becomes 0? 17:42:34 but they all say zero... 17:43:23 the doctor said I had 20/20 vision with mild astigmatism. But I don't see anything that corrects astigmatism in this lab report thing. 17:43:25 oklopol: Not much, if all the other fields are zero too. 17:43:37 so... 17:44:30 I am either a) not actually having vision problems, and this whole "trouble focusing on things" is some kind of illusion b) the doctor was not completely thorough 17:44:58 I'm not sure if just having a lens corrects some deficiencies in the system; IANAO. (I am not an optometrist.) 17:47:11 Did your measurement place have that machine where you look at a picture of a hot-air balloon over a desert road? 17:47:39 I used to think that was just, you know, one model, but turns out the scene is in fact pretty popular, and chosen for a reason. 17:48:43 (It's to trick any conscious fixation mechanisms to try focusing to infinity, or some-such.) 17:49:23 no I've never seen that. 17:51:01 I'm going to ask them before I buy anything. 17:51:17 because I'd rather not spend money on something that is essentially a flat piece of glass. 17:51:53 It's what they use in an autorefractor, which is a device that gives a ballpark estimate of the refractive error, from which they can then start manually adjusting from. 17:52:02 Did your measurement place have that machine where you look at a picture of a hot-air balloon over a desert road? 17:52:04 link 17:52:34 What, to the picture? 17:53:32 Yes :P 17:54:05 I think I did find one once with Googling, but am having trouble looking for it right now. 17:54:20 "Newer autorefractors feature fixation points that look like a house at the end of a road, a Christmas tree or a hot-air balloon—interesting things that can hold that patient's attention long enough to take the refractive reading." 17:54:25 It seems there are alternatives. 17:54:54 All I can find right now are just images of the machines themselves. 17:55:24 Well, if you zoom in enough... 17:55:32 Wrong angle. :/ 17:55:45 I have a vague feeling the image I saw was in some google-books result about autorefractors. 17:55:46 Reflections. 17:59:33 I think the Nidek ARK-700A has the hot-air balloon image. You can buy a refurbished one for only $4500, and then look at it. 17:59:43 The operator's manual doesn't have an image of the target. :/ 18:02:24 -!- Taneb has joined. 18:02:34 Hello 18:02:59 I've been thinking of my esoteric markup language 18:03:14 I had a good idea for a name for a esoteric query language: 18:03:28 FRee Esoteric Query Language Specification 18:03:35 Or FREQLS for short 18:09:40 But I've got an idea for a and a name for b 18:09:51 If anyone wants to steal the name, just take it 18:24:05 -!- DocHerrings has joined. 18:24:38 Can anyone explain why we have an editing back-and-forth over the list of ideas? 18:25:25 Spambot-type things 18:26:00 But they always change it to the Magic the Gathering/Brainfuck idea. 18:26:11 Seems more like a persistent person. 18:26:53 @tell oerjan ok, paintfuck and twoduck, I'll check them out. 18:26:53 Consider it noted. 18:28:26 paintfuck is possibly the only interesting brainfuck derivative in the last, like, five years 18:28:53 ok 18:28:53 atehwa: You have 1 new message. '/msg lambdabot @messages' to read it. 18:28:58 haha 18:29:04 yay 18:29:52 Ook! scores points for Discworld reference and DMM-creator-ness 18:30:06 Ook! is older than five years I believe 18:30:20 yep, 2001 18:30:33 True 18:30:40 -!- boily has joined. 18:31:14 -!- TeruFSX has joined. 18:31:20 yeah, Ook! I already knew 18:31:46 didn't find it particularly spectacular, but hey, everybody has their own criteria for evaluating languages 18:32:47 atehwa: well Ook! is notable as the first brainfuck derivative of its sort. 18:32:56 it's the hipster's trivial brainfuck cipher 18:33:12 :-P 18:33:16 And Discworld. 18:33:27 -!- monqy has quit (Quit: Lost terminal). 18:33:57 well, I tend to think of all those derivatives that are essentially state machines outputting brainfuck code, as trivial encodings 18:34:02 -!- monqy has joined. 18:34:13 and they existed well before 2001 18:43:26 -!- TeruFSX has quit (Ping timeout: 240 seconds). 18:48:54 -!- myndzi\ has quit (Read error: Connection reset by peer). 18:50:40 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]). 18:51:37 -!- derrik has quit (Quit: eat and sleep). 19:29:11 -!- azaq23 has quit (Ping timeout: 260 seconds). 19:41:31 -!- Taneb has quit (Ping timeout: 252 seconds). 20:11:19 -!- pumpkin has joined. 20:13:14 -!- copumpkin has quit (Ping timeout: 246 seconds). 20:26:09 -!- pumpkin has changed nick to copumpkin. 20:28:52 -!- copumpkin has changed nick to July_. 20:28:56 -!- July_ has changed nick to copumpkin. 20:37:27 -!- boily has quit (Ping timeout: 276 seconds). 20:50:47 -!- pumpkin has joined. 20:51:32 -!- pumpkin has changed nick to copumpkin_. 20:51:55 -!- copumpkin has quit (Disconnected by services). 20:52:12 -!- copumpkin_ has changed nick to copumpkin. 20:59:29 -!- augur has quit (Remote host closed the connection). 21:05:51 -!- elliott_ has quit (Ping timeout: 276 seconds). 21:23:31 [For writing a max() by hand] 21:23:57 s****: can you actually do better than O(n)? you kinda need to perform an operation on every element of the array, unless you already know something about them (like that they're in order) 21:24:42 S****> S*****: do an efficient sort, grab the last/first item. done 21:24:51 i died 21:25:23 ... 21:26:46 Because O(n log n) > O(n)? 21:32:20 -!- augur has joined. 21:37:02 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:59:16 -!- jix_ has joined. 21:59:16 -!- jix has quit (Read error: Connection reset by peer). 22:18:23 Re O(n) vs. O(n log n), obviously the "bigger is better" here. 22:18:46 -!- TeruFSX has joined. 22:19:17 fizzie: right. definitely a situation for a intercal bogosort 22:22:42 -!- Nisstyre has quit (Ping timeout: 240 seconds). 22:26:51 A general rule of thumb is, you should always aspire to have at least one factorial in your time complexity. 22:30:44 preferably an ackerman function 22:31:46 -!- TeruFSX has quit (Read error: Operation timed out). 22:36:13 Joy of joys. 5 days until the US hits undefined behavior. 22:36:51 thisll be interesting 22:36:58 Yup. 22:37:10 The US is both going to default and forbidden from defaulting. 22:37:12 odds on the short term extension being passed? 22:37:26 quintopia: With the GOP running things, "cold day in hell". 22:37:55 I note that the FAA has already been shut down because of this shit. 22:38:02 so its definitely gonna be the default, eh 22:38:15 For about a week now, too. 22:39:43 then how did i fly today 22:41:38 Sans most of the FAA. 22:41:52 You've pretty much just got the air traffic controllers working. 22:45:38 wow 22:45:41 why 22:46:44 Because Congress has not passed a bill allowing for funding for the FAA. 22:47:59 because they cant appropriate anything without resolving the crisis? 22:48:12 I'm leaving this country soon enough after the likely default that I will hopefully be able to make it 22:48:14 politics is the enemy of economy :/ 22:48:29 where you moving? 22:49:01 I'm headed back to Canada because my job ends 22:49:30 lucky you 22:49:41 may i join you 22:49:45 quintopia: Because they have passed 2 dozen bills total. 22:51:12 -!- pumpkin has joined. 22:51:28 -!- FireFly has quit (Quit: swatted to death). 22:51:54 -!- copumpkin has quit (Ping timeout: 255 seconds). 22:51:57 -!- Nisstyre has joined. 22:54:58 -!- pumpkin has changed nick to copumpkin. 22:55:46 my plan at this point entails a) get as much of my money as I can out of USD 22:56:10 good plan! 22:56:16 b) gtfo 22:56:33 coppro: Shame it's non-trivial for me to gtfo. 22:56:41 Because that is a damned good plan. 22:58:39 Oh. Fuck. 22:58:51 So, the Treasury has the authority to mint coins of arbitrary designation. 22:59:10 We could remain "solvent" by having them mint a $2 trillion coin. And deposit it in the Fed. 22:59:25 And have a nice, tidy hyperinflation problem. 22:59:33 :( 23:01:02 really? 2 trillion? thats the amount the debt ceiling has to go up? 23:02:02 quintopia: Overstatement. 23:03:03 what is the amount then? 23:04:12 The amount by which the ceiling needs to go up depends on how much gets cut 23:04:21 and/or how much new revenue is generated 23:04:38 quintopia: The debt ceiling is currently at about 14 trillion USD. 23:05:54 For comparison, the US GDP is *also* about 14 trillion USD. 23:07:07 Obama should just start firing people at the DHS until he can extend the default 23:07:18 haha 23:07:28 and tsa 23:07:48 coppro: He isn't capable of doing so. 23:07:52 pikhq_: I know :( 23:07:59 The most he can do is ask the appointed head of the DHS or TSA to do so. 23:08:14 he can also fire said person and hire one who will 23:08:20 No he can't. 23:08:33 The President has 0 firing capacity. 23:08:40 the dhs head isnt in his cabinet? 23:08:47 He can't fire his cabinet. 23:08:54 He can only appoint. 23:09:15 TIL (again): the constitution is stupid 23:09:27 Oh, sorry, he actually can. 23:09:36 However, the Senate has to approve of new appointments. 23:09:41 aha 23:09:47 Meaning if he pulled that, he'd basically not have a cabinet. 23:09:52 right 23:18:58 pikhq_: Who chooses which parts of the government suffer from the default first? 23:19:22 coppro: Treasury. 23:20:12 By the Constitution, the authority to spend lies with the Senate, but they have opted to delegate that upon the Treasury in the executive branch. 23:22:00 pikhq_: Can they choose to withhold congressional salary first? 23:22:11 Yes. 23:23:03 they should do that 23:23:13 also can someone please send me an email? 23:23:27 I can provide an address, I'm testing a forwarding setup 23:33:11 -!- TeruFSX has joined. 23:41:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).