00:00:04 zzo38: submodules? 00:00:24 zzo38: Err, what? 00:00:30 That question makes very little sense. 00:00:43 *writes 00:00:57 nddrylliog: Does git have a submodules command? 00:01:10 elliott: Why is it doesn't make sense? 00:01:14 zzo38: very much indeed http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html 00:01:26 zzo38: Submodules might be hard to use with your crazy vcslist system :P 00:01:49 -!- quintopia has joined. 00:01:54 btw what nationality is that of zzo's 00:01:59 submodules suck big time. 00:02:04 even git guys say that. 00:02:06 Thanks for telling me about the submodules. Now I will read the instruction 00:02:10 oklofok: canadia 00:02:15 really? 00:02:18 but yeah, sometimes you need them 00:02:19 yes. 00:02:31 nddrylliog: i doubt it will work with zzo38's... idiosyncratic VCS usage 00:02:36 oklofok, he doesn't really have a nationality. 00:02:49 -!- cheater- has quit (Ping timeout: 240 seconds). 00:02:54 He is a citizen of Crazytown, and that is about it. 00:02:59 xD 00:03:01 subtle 00:03:11 oklofok: I live in Canada. And my internet service provider is also Canada. 00:03:30 zzo38: are you originally from there? 00:03:42 or are you a poser like lament 00:03:57 of course lament is not here so that's kind of a weird thing to say 00:04:04 oklofok: I was born in Canada, too. 00:04:36 zzo38: do you have long nails, and what color are your eyes 00:05:01 Why do you need to know what color are my eyes? 00:05:27 no reason i guess 00:06:01 What if I told you that I have fifteen and a half eyes and all of my finger nails are different length from 1cm to 20cm long? 00:06:15 well i would not believe you 00:06:23 oklofok: Good, because it isn't true. 00:06:38 okay. 00:06:50 i have two eyes myself 00:07:10 me too 00:07:15 nddrylliog: what about you 00:07:22 I am a tuatara. 00:07:28 elliott: don't you mean me 00:07:29 *two 00:07:32 People think I have 3 eyes but I actually only have 2. 00:08:51 My D&D character has 8 eyes but that is just a game. 00:08:56 oklofok: no 00:09:06 zzo38: it is not just game! it REAL! 00:09:17 Would you believe me if I told you that I have a cardboard cutout of a circle glued in my wall? 00:09:25 no 00:09:30 it's definitely not a perfect circle 00:09:30 i would 00:09:41 oklofok: i don't think that's possible the universe is discrete and all 00:09:51 elliott: shut up fag that's ignorant 00:09:56 Would you believe me if I told you that I have a periodic table of elements on the wall? 00:10:00 * Phantom_Hoover → sleep 00:10:11 zzo38: no table can be truly periodic in a discrete universe 00:10:23 Would you believe me if I told you that I am currently wearing a red shirt? 00:10:38 by red shirt 00:10:49 surely you mean a big box full of red shirts 00:10:50 it's definitely not a perfect circle <-- what about one perfect down to the atom level. 00:10:50 Do you believe I have all of the Akagi manga book so far? 00:10:53 zzo38: no table can be truly periodic in a discrete universe 00:10:54 :D 00:11:01 Vorpal: that's just an N-agon, not a circle 00:11:08 elliott, XD 00:11:10 zzo38: no that's impossible in a discrete universe 00:11:28 I hate discrete stuff 00:11:29 elliott, what about a sphere then? is that a n-what? 00:11:36 Sgeo, ... what 00:11:43 Therefore, I hate the universe. 00:11:45 it is a LOT better than non-discrete 00:11:52 a lot easier to calculate with generally 00:11:55 how can you hate discrete stuff 00:11:58 (okay, not always) 00:12:00 Sgeo: do you hate GOL 00:12:03 *GoL 00:12:07 ...good point 00:12:15 continuous stuff is just really small discrete stuff 00:12:20 Is the D&D characters game REAL because of discrete universe? 00:12:21 no, i mean /really/ small 00:12:25 zzo38: yes 00:12:32 What would a continuous GoL look like? 00:12:33 really really small like small to the seventh power 00:12:53 there was something called ummm larger than life? anyhow something like continuous go 00:12:53 Small as in lim size->0 small? 00:12:56 Sgeo: um it would not look like a cellular automata 00:12:58 *automaton 00:13:05 so it wouldn't be anything like GoL. 00:13:05 :p 00:13:12 Now try to answer these questions again by assuming not discrete universe. 00:13:22 you could take some sort of integral at each point, and average smaller and smaller neighborhoods to get some sort of local amount of neighbors 00:13:26 erm 00:13:41 ignore the integral, i glued together two sentences :D 00:14:00 i like that idea 00:14:00 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 00:14:10 -!- acetoline has quit (Ping timeout: 276 seconds). 00:14:11 "2.7 alive neighbours" 00:14:25 hmm what's the moore neighbourhood in a continuous universe 00:14:26 as in 00:14:27 how big is it 00:14:37 that's not how you do it 00:14:46 you can't have a fixed neighborhood size 00:14:55 you have to smallify it smaller and smaller. 00:14:55 well right 00:15:06 and take a limit 00:15:08 oklofok, you mean like falling off with distance? 00:15:09 oklofok: so basically it's all the particles that are infinitesimally close? 00:15:10 :P 00:15:16 divided by infinity ofc 00:15:28 then you assume something about your configurations, and show that this is well-defined almost everywhere or something 00:15:29 okay that is better 00:16:00 elliott, you could use some weight that falls off with distance for how much they affect you 00:16:06 no that is lame 00:16:08 GoL doesn't do that 00:16:12 elliott, I suspect inverse square would be a good function! 00:16:14 XD 00:16:24 everything is fuckin inverse square 00:16:33 elliott: no, just the limit of white/black as neighborhood gets smaller, unless you want to tell me what infitesimally close means 00:16:33 even your mom lol 00:16:35 -!- Wamanuz has quit (Ping timeout: 255 seconds). 00:16:51 are the configurations over hyperreal plane? 00:16:53 *over the 00:17:15 oklofok: say the position is (x,y), then you take the number of particles that can be expressed as (x+n\epsilon, y+n\epsilon) for real n 00:17:16 *alive particles 00:17:18 " elliott, you could use some weight that falls off with distance for how much they affect you" <<< yeah this was what the integral would've been about 00:17:23 where epsilon is infinitesimal 00:17:25 but that's not so nice for gol at least 00:17:28 oklofok, right 00:17:29 methinks 00:17:34 and then divide by infinity! :p 00:17:36 oklofok, that's true 00:18:01 elliott, I strongly suspect this is uncomputabe 00:18:11 uncomputable* 00:18:18 Do you think repo.or.cz should add a few commands into git-shell? 00:18:20 elliott: oh alright, so take no points, do no computation, and then divide 0 by 0? 00:18:33 well that's not really what you said 00:18:36 oklofok: why no computation 00:18:43 oklofok: there's an infinite number of points that can be expressed like that 00:18:51 aleph one of them 00:19:14 really? 00:19:30 i thought no matter what you multiply an infitesimal with, it's less than a real 00:20:02 in which case you'll just have your one particle at (x, y) 00:20:26 in any case, you're just being silly, and this is a serious topic 00:20:48 oklofok: well i'm assuming that the universe is indexed by two hyperreals 00:21:03 so we DO assume the configurations are over the hyperreal plane 00:21:09 yes 00:21:21 and then there's aleph one particles expressable as (x+n\epsilon,y+n\epsilon) 00:21:22 so umm 00:21:23 take the alive ones 00:21:24 and uh 00:21:27 divide by infinity again :D 00:21:41 assuming you can have more than a finite number of alive particles 00:21:44 then don't we just get the usual kinds of configurations over Z^2, but just an uncountable number of disjoint orbits 00:21:44 which seems, you know 00:21:45 reasonable 00:21:55 well 00:22:05 oklofok: yeah you're probably right... we need the neighbourhoods to overlap don't we 00:22:13 well more like 00:22:16 since they do in GoL 00:22:28 maybe that distance-scaling thing Vorpal proposed is right, even though Vorpal said it 00:22:30 if we just look an infitesimal away, there can be no communication between two reals 00:22:30 although you said it first 00:22:38 oklofok: yeah, indeed 00:22:43 oklofok: but then consider 00:22:45 elliott, well inverse square might not be right. That was just a joke 00:22:57 oklofok: we're looking at (42+5\epsilon, 34+6\epsilon) 00:23:05 they do overlap now, since by going one epsilons away, you'll have an overlapping neighborhood just like with Z^2 00:23:15 oklofok: *its* orbit is (42+(5+n)\epsilon, 34+(6+n)\epsilon) 00:23:16 right 00:23:22 oklofok: so the solution is obvious 00:23:30 oklofok: make there be only one real particle!!! 00:23:39 of course, also say (x, y) + epsilon/2 will have a disjoint orbit 00:23:39 ...xD 00:23:46 Maybe (Night →) 00:23:48 oklofok: then every cell has every other cell in its neighbourhood :D 00:23:54 Vorpal: ? 00:24:18 oerjan: can you make #haskell answer my qs 00:24:49 I don't know if submodule does what I wanted. What I wanted is add users into repo.or.cz project settings for a subdirectory of the project so that you have only permission for some files. 00:25:04 zzo38: you can't do that 00:25:15 well you can 00:25:21 zzo38: if you set up a separate repository for those subdirectories 00:25:23 btw, i'm going too -> 00:25:25 and have them as submodules inside the main repository 00:25:30 and only give people push access to the relevant repositories. 00:27:57 elliott: I could do like that. I still do not completely understand how to work submodules. 00:29:04 -!- acetoline has joined. 00:32:26 What subprojects do you think I will need? 00:33:42 zzo38: One for each directory with differing permissions. 00:34:42 But do you think I need a separate one for documentation and for testing, or can they be the same one with the same list of users? 00:34:55 I'd personally just do it all as one repository. 00:36:21 Yes, they can be separate directories inside the repository for documentation, testing, etc. But maybe not all of them go together, and should have different groups of people. 00:38:13 http://en.wikipedia.org/w/index.php?title=Talk:ALGOL_60&action=edit&redlink=1 00:38:13 What. 00:38:21 This is the first Wikipedia talk page to not exist. 00:38:52 Can you tell me what commands I need to add to the script to make it deal with these kind of things? I am not very experienced with git and I do not know. 00:39:10 elliott: erm i'm not on #haskell and haven't been for years 00:39:12 which commnads? 00:39:18 oerjan: hm why not, too crowded? :D 00:39:29 j-invariant: Do you know git? 00:39:47 oh not really 00:40:20 Then probably you will not know what commands I need to add. 00:40:53 sorry 00:41:51 Vorpal: ? <-- None 00:41:56 Vorpal: ? 00:42:06 elliott, it was pseudo-haskell 00:42:12 Vorpal: *Nothing 00:42:15 There is git-am command to receive patches from mailbox. But I am curious; can you pipe a message into this program when you are reading it from "mail" program? 00:42:16 Also *everything was wrong 00:42:18 elliott, oh right 00:42:24 elliott, *pseudo* 00:42:28 elliott, notice that word? 00:42:29 *wrong 00:42:30 http://www.youtube.com/watch?v=3zoTKXXNQIU&NR=1&feature=fvwp what. 00:42:30 :P 00:42:33 (okay so that is retcon) 00:42:42 -!- oerjan has quit (Quit: Good night). 00:42:46 Sgeo: That's how babies are made. 00:44:03 http://www.youtube.com/watch?v=3zoTKXXNQIU&NR=1&feature=fvwp what. <-- cool 00:46:08 I don't know if I should bother reading about Standard ML 00:52:28 don't then 00:58:11 "The article was apparently written with a close conflict of interest and does little more than assert the expertise and importance of the subject who, near as I can tell, is in the business of selling Vitamin C as a cancer cure." 00:58:18 ooh, Alluded-To is a MAN! 00:58:40 "Dr. Riordan has recently launched Stem-Kine, a nutritional supplement that has been clinically demonstrated to increase circulating stem cells." 00:58:42 xDDDD 01:00:00 elliott, isn't false marketing illegal? 01:00:29 yeah that's why there are no homeopaths 01:01:11 Sgeo: why don't you learn Coq 01:01:24 elliott, well some false marketing is forbidden I know. Probably they can get around it by putting a tiny label on the back saying "effects not confirmed" or such 01:02:36 These statements have not been evaluated by the FDA. 01:02:58 This product is not intended to diagnose, treat, cure or prevent any disease. 01:07:36 Sgeo, that's US 01:07:41 Sgeo, I meant in the rest of the world 01:08:20 -!- zzo38 has left (?). 01:10:04 -!- Mathnerd314 has joined. 01:29:27 -!- Mathnerd314 has quit (Ping timeout: 265 seconds). 01:30:40 * pikhq can only conclude one thing... 01:30:49 I need to take over Square Enix. 01:36:04 +1 01:36:32 Then and only then will they be forced to make the most profitable decision ever. 01:36:41 "Final Fantasy VII for the Playstation 3". 01:37:58 sadly that's probably true 01:38:07 no wait actually 01:38:11 make it a PSP2 launch title 01:38:20 that would be more profitable 01:38:53 Remember that this would sell systems. 01:39:21 More so than the usual Final Fantasy release. 01:40:09 hence PSP2 launch title 01:40:17 you lose money on systems 01:40:24 you only want them to sell o get penetration 01:40:28 Square Enix doesn't give a flying fuck. 01:40:33 They're not part of Sony. 01:40:45 oh right 01:40:53 then what you do it 01:40:54 *is 01:40:58 sign a contract 01:41:02 in which Sony pays tons of money 01:41:07 and then you make it a lunch title 01:41:27 Regardless of what they release it *for*, a remake of Final Fantasy VII would be a license to print money. 01:41:42 pretty much 01:42:12 Yeah, making it a launch title isn't as good. 01:42:50 They'd probably not want to make it an exclusive. 01:42:54 Moar money printing. 01:43:11 And then the 360 owners can have some extra authenticness: 3 disks! 01:44:21 It really does get me how many remakes of Final Fantasy I they end up making, though... 01:44:34 Do that many people want to really play that? 01:45:30 (FTR, it has been released for: the NES, the MSX2, the WonderSwan Color, the Playstation, the Game Boy Advance, Japanese cell phones, the PSP, the Wii, the PS3, *and* the iPhone.) 01:46:34 That's hilarious 01:46:37 That game sucked :P 01:46:51 It... Was decent for the time, I guess. 01:46:59 For the Wii, it's just on Virtual Console, right? (So, no real porting effort) 01:47:06 Yeah, just on Virtual Console. 01:47:27 Still a freaking joke to have it on all but one current-gen console. 01:47:34 Yesh :P 01:47:44 And have it playable a couple times over on the PS3 or PSP. 01:48:26 (they both play PS1 games, straight... Though for the PSP you need a PS3 to act as the disk drive. What a silly feature to have.) 01:48:38 That is the silliest. 01:48:41 ... I thought that the PS3 couldn't. 01:48:47 "And now, you can use an even SMALLER screen!" 01:48:56 Gregor: Newer PS3s can't play PS2 games. 01:49:04 They all do PS1 games with software emulation, though. 01:49:06 pikhq: I thought that /no/ PS3 could play PS1 games. 01:49:07 Ohhhh 01:49:12 Emulation, that explains it :P 01:49:19 What the fuck is this shit 01:49:32 And Sony sells old PS1 games on PSN for both systems. 01:49:45 pikhq: Probably not this one though. 01:49:52 HOW DO YOU FUCKING DO DIFFERENT CHARSETS IN HASKELL 01:50:03 I'd imagine it's a port rather than just being the PS1 port. 01:50:31 elliott: haskell only supports UNICODE 01:50:42 Oh, sorry, it's not actually offered for the PS3. 01:50:54 Though it would take very little effort to make it happen... 01:51:07 The PS3 also has a PSP emulator, which is only used for "Playstation Minis". 01:52:19 So. If I just hacked my PS3 a little bit, I could play every single game for every single system labelled "Playstation". That's... A bit nuts. 01:54:44 Pandoraaaaaaaaaaa 01:54:49 (Unrelated statement) 01:54:51 Is it possible to hack the virtual console emulator on Wii to play other games from the same system? 01:54:58 or is there encryption or something that keeps this from happening 01:56:27 I suck at Go 01:58:09 coppro: It's done often. 01:58:15 coppro: The problem is, the emulator sucks ass. 02:06:50 Sgeo: meu too :( 02:07:01 board games in general 02:09:13 maybe he means the language 02:09:36 pikhq: oh 02:09:44 one of those 'make it good enough to work' jobs? 02:10:29 coppro: They've got a config file for turning on and off various hacks in the emulator to make it work. 02:10:52 coppro: The Virtual Console selection is, in large part, limited by what they can get to work. 02:11:17 hah 02:11:26 Especially for the SNES, which is probably the hardest of the old console to emulate. 02:11:37 Ireland doesn't have post codes. what 02:12:33 why? 02:12:39 Also, it's somewhat likely that they're grabbing ROMs off the Internet; all the NES Virtual Console games have an iNES ROM... 02:12:46 ... 02:12:56 that would be so awesome 02:13:15 Going to watch The Maquis 2 parter soonn 02:14:37 Well. I suppose it's *possible* they got an NES copier that hands out iNES ROMs. But even that is pretty funny considering Nintendo's stance on *actual, honest-to-God backups*. 02:15:17 yeah 02:16:31 Wow. There's only 375 Virtual Console games available in the US... 02:17:06 That's probably not even all the games that people have heard of and care about on the various consoles they support. 02:17:16 it certainly isn't 02:17:37 Oh, right, includes NES, SNES, and N64. *Definitely* isn't. 02:18:47 Please tell me that DS9 maquis are more interesting than VOY maquis 02:19:02 Sgeo: That goes without saying. 02:19:12 DS9 * is more interesting than VOY *. 02:19:28 VOY Maquis are just Starfleet cocksuckers. 02:21:30 You know, I have all these issues.. but when I meet someone who has actual issues, and a good reason for them, I just feel... weird 02:21:51 Met a very short girl some time ago. She has some sort of.. digestive issues, I guess 02:22:00 Things like that 02:22:07 Digestive biscuit issues 02:22:25 I know what she told me, I don't want to say it for some weird reason 02:22:33 Despite not really knowing what it is, just the name 02:22:44 [And no, I'm not talking about Alluded-To here] 02:23:20 Tallorexia 02:23:28 *Tall-orexia 02:23:36 Chron's 02:23:58 That is not as good a name as tall-orexia. 02:24:02 Also, *Crohn's 02:25:47 I don't drive because.. because. A girl I know doesn't drive because she's mostly blind 02:26:18 *I don't drive because my dad 02:26:57 *I don't do anything because my dad 02:27:45 Apart from go to a terrible college 02:40:05 -!- azaq23 has joined. 02:41:08 -!- azaq231 has quit (Ping timeout: 240 seconds). 02:51:49 Verbal security authorizations suck 02:51:58 Gul Dukat: ADL-40 02:51:59 yes yes they do 02:53:26 are you indicating that it becomes a plot point? 03:31:43 http://www.youtube.com/watch?v=1yn1P72I7CY Python Bee. Contestants must think of, and then orally dictate their code, character by character. It must work first time. 03:31:49 They are not allowed to see it. 03:33:57 Oooh, should have used elif. 03:34:09 This ain't gonna handle ")(" properly. 03:34:16 Oh, wait, no, it will. 03:35:09 HE DID IT \O/ 03:35:09 elliott, it would suck to make whitespace mistakes 03:35:11 *\o/ 03:35:11 | 03:35:11 /< 03:35:14 acetoline: yeah :D 03:35:23 i coulda done that fast... prolly not 03:35:38 bonus points if you can rap it 03:36:27 "In the spirit of ‘the new programming’, the engineering of coincidence is replaced by the propagation of consequence." McBride & McKinna 03:36:54 :D 03:36:57 j-invariant: watch this python bee 03:37:00 it's amazing 03:38:16 why do they have to spell they should just say the words 03:38:24 j-invariant: because it's another cognitive load 03:38:31 this is hardcore :D 03:38:40 this is DUMB LOL 03:39:43 ah he is writing a paren matcher 03:40:30 j-invariant: um they said that before 03:40:40 that's the challenge 03:40:41 another dude does it after 03:40:43 I don't know if I am impressed or not 03:40:48 but i think he is going to do it wrong 03:40:50 I can't tell if this is easy or difficult 03:41:10 j-invariant: difficult, I just did it myself with a mental image, and I managed it, but I made a mistake at a vital point, and it was basically a direct copy of the first guy's program 03:41:17 if I'd just been given the challenge I'd be hyperventilating 03:41:41 bet it's easier with a brace language :D 03:41:50 j-invariant: hardcore version: bf interpreter 03:41:56 hehe 03:41:58 that would be fun 03:42:28 "paranthesi"? 03:42:34 yeah that'd be good, we should do that at the First Official Esoteric Meetup (which will never happen) 03:42:40 j-invariant: "parentheses" 03:42:51 the second guy says it weird 03:42:57 yeah he gets mixed up 03:43:08 his rhythm is good though when he's going 03:43:27 this would be fun in haskell 03:43:43 hardcore mode: has to be pointfree 03:43:49 that would be amazing 03:43:54 pointfree bf interp in haskell 03:43:59 olol 03:43:59 thing with python is 03:44:04 you can basically have useless variables lying around 03:44:06 Then writing a haskell compiler in the BF 03:44:06 and they don't hurt you 03:44:07 in haskell 03:44:10 it has to be right first fucking time 03:44:16 which is capable of running the program :P 03:44:22 lol 03:45:38 what is he doing 03:45:41 he's just counting the ( and )s 03:45:44 that won't work bitch 03:45:50 "Tab...tab... ohh shit" 03:46:24 the first guy did x-y, the second guy did (x,y).. but he did forget to check x-y == 0 aka x==y 03:46:37 that was goo 03:46:38 that was good 03:46:55 this would be a good thing to do, like as a regular challenge thing 03:46:57 this problem is pretty simple 03:47:02 I bet you could do a lot more, with practice 03:47:03 what are you rambling about 03:47:11 like once you write a function, forgetting the text, and just remembering what it does 03:47:23 you could try a natural language programming language 03:47:41 j-invariant: haskell would be more fun 03:47:41 J would be easy :P 03:47:50 since every program is short enough to write entirely in your head lol 03:48:01 will this make any more sense if I look at the logs? 03:48:14 i want to do this now 03:49:15 elliott! you are insane! 03:49:18 howso 03:49:51 quintopia: ? 03:51:02 nothing in particular, you have a good heart I GUESS. 03:51:13 but you think crazy thoughts 03:51:22 like what 03:52:34 j-invariant: what is this shit explain it to me http://hackage.haskell.org/packages/archive/base/4.3.1.0/doc/html/GHC-IO-Encoding-Types.html 03:54:26 Scheme Bee! 03:54:43 i will point it out to you next time you say so,ething crazy 03:54:47 Close parenthesis close parenthesis close ... parenthesis, close parenthesis, close parenthesis. "That's one too many." FUCK! 03:55:00 elliott: I didn't do it 03:55:00 Sgeo: I'm ready 03:55:02 damn m key 03:55:04 D: 03:55:09 j-invariant: do what 03:55:17 also there is too much elliott in this conversation 03:59:18 -!- zzo38 has joined. 04:00:00 I played Pokemon card today. We played with large decks (each player had half of the entire collection of cards, selected at random), rock-paper-scissors, nine side-cards each, and no coins. I lost by one card (if my opponent failed to get an energy card we probably would have tied). 04:05:24 :D 04:05:30 I used to play that but I can't remember the rules 04:05:50 j-invariant: I've gotta write that live programming war bot sometime 04:05:58 would be HARDCORE 04:06:01 war bot?? 04:06:11 j-invariant: basically you have this bot 04:06:15 j-invariant: you know games like corewars? 04:06:17 and fukyorbrane? 04:06:25 two programs try and make the other crash? 04:06:25 hmm 04:06:28 well 04:06:29 basically 04:06:33 you'd write the programs live 04:06:36 they run at a fixed, slow speed 04:06:42 like say 2 instructions per second 04:06:46 and the irc bot prints regular status updates 04:06:51 meanwhile, everything you write is appended to your program 04:06:55 in channel 04:07:02 so you have to constantly improve your bots 04:07:09 it would be AMAZING 04:07:27 You do not know the rules? We did not use all the normal rules anyways. One, we did not use any coin, we used rock-paper-scissors (Janken) instead. Second, whoever has lower level active card plays first. Third, ties stand, there is no sudden deathmatch. 04:07:53 And I prefer these modified rules. 04:08:26 elliott, do you think I'm mistaken in thinking that Factor's module system sucks? 04:08:39 Sgeo: I don't really care, but its module system seems fine to me. 04:09:45 * j-invariant reads Conors new paper (Ornaments) 04:10:05 -!- azaq23 has quit (Read error: Operation timed out). 04:10:16 some vcses are so weird 04:17:46 elliott, what about Monticello 04:17:53 double weird. 04:20:14 Vorpal: GNU tla system requirements list "The null Device Your system must have /dev/null. Information directed to /dev/null should simply disappear from the universe. As a special "Green Software" measure, we have made provisions that will enable your computers to convert that discarded information into heat, which you may use to supplement conventional heating systems." 04:20:17 This is the worst tutorial ever. 04:26:53 An imaginary Robert Harper reminds me to remark that the use of functions to account 04:26:56 for type dependency in the σ constructor does not constitute ‘higher-order abstract syntax’ 04:26:59 hahaa 04:27:20 http://math.andrej.com/2011/01/03/the-dialectica-interpertation-in-coq/comment-page-1/#comment-14608 04:27:23 he does that 04:27:43 -!- Mathnerd314 has joined. 04:31:02 where's that post about comparing those functions on Cantor 04:31:03 oh wait 04:31:05 is it on that blog? 04:31:18 -!- azaq23 has joined. 04:31:26 NO! 04:31:29 ? 04:32:20 j-invariant: ? 04:32:21 http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/ 04:32:38 j-invariant: so the real answer is "yes" not "no"? :P 04:32:48 I am not authorized to answer that 04:33:10 no this is not the post 04:33:17 the post had a bunch of successively optimised implementations 04:33:25 http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/ 04:33:25 ah 04:33:54 i miss it when ghci printed ascii art on startup :( 04:35:03 Data = Mu . interpret -- IT all makes sense now! 04:36:12 j-invariant: there is also this really cool thing: http://lukepalmer.wordpress.com/2010/11/17/searchable-data-types/ 04:36:37 j-invariant: exploiting the fact that haskell's nats are actually conats to do a search on functions 04:36:42 from Nat -> Bool 04:36:43 really cool 04:39:42 elliott: GRR 04:39:45 that was no fun 04:39:47 j-invariant: ? 04:39:57 the moment I figured out how it worked I was like "fuck. that's lame" 04:40:06 j-invariant: it's lame, but it's fun :) 04:40:09 it's based on lazy arithmetic 04:40:14 yes 04:40:22 but it is cool, whatever you say :D 04:42:13 it's really the x*x == 15 function that matters, rather than the other one 04:42:33 for other problems it might not terminate even though nothing satisfies the property 04:42:51 hard to build an example 04:43:20 x > x+1 04:44:02 it should return Nothing but instead it gives Just (fix Succ) 04:44:28 "return"? yuck 04:44:35 what should I say instead of return 04:45:11 j-invariant: return is fine 04:45:17 j-invariant: "reduce to" if you want to be anal 04:45:36 j-invariant: it doesn't return Just (fix Succ) does it? 04:45:43 well 04:45:47 elliott: well I think it does, haven't tried 04:45:50 j-invariant: actually it returns _|_ 04:45:52 because it checks the result 04:45:54 i.e. it does 04:45:55 inf > inf+1 04:45:59 which turns into 04:46:00 oh really, that's good actually 04:46:06 Succ (Succ (Succ ...)) > Succ (Succ (Succ ...)) 04:46:10 and so it just hangs 04:46:27 so actually, if it ever returns (Just foo), the result is correct 04:46:34 if it ever returns Nothing, there is no result 04:46:40 if it hangs, there is no result (<- ?) 04:47:51 j-invariant: so actually this is more interesting than it first appears 04:48:15 j-invariant: of course, if your property is False for all natural numbers, but somehow _true_ on (fix Succ), then you will get back Just (fix Succ) 04:48:25 but are there any such properties that you can do with a total function? 04:48:31 I doubt it 04:48:41 eyah that's a good question 04:48:50 j-invariant: so I'd say this program is almost as impossible-seeming as the other! 04:49:07 I think it must be impossible, because you can encoding halting problem as checking if a number is finite or not 04:49:12 yeah 04:49:19 so actually this works perfectly 04:49:37 j-invariant: crazy idea: integrate this into quickcheck :D 04:49:43 just cap the number of recursions it does to stop it inf-looping 04:50:03 j-invariant: "It looks like the key point is that the predicate must terminate on infinity, which means that it can only inspect a bounded amount of Succs before terminating. Fascinating!" --apfelmus 04:50:21 j-invariant: but as luke said, it's explicitly only for total functions 04:51:15 j-invariant: this kind of stuff is awesome 04:51:20 although i'm not sure how to define "this kind of stuff" 04:51:34 elliott: have you figured out how drunk i am yet? 04:51:41 quintopia: from your first line, my friend. 04:51:43 from your first line. 04:51:49 it is now tomorrow for me 04:53:12 the ornaments paper is about GADTs sort of 04:53:58 i'm going to sleep 04:54:02 maybe i will do something interesting tomorrow 04:54:08 like what 04:54:12 or get that log interface fixed! 04:54:14 j-invariant: i have no idea. 04:54:33 maybe i'll figure out how to define interesting and then figure out an efficient procedure to search for interesting things 04:54:37 which would, in itself, be interesting 04:54:42 and thus defeat the point. 04:54:44 um 04:54:47 this is a sign i'm tired isn't it 04:54:53 it's 5 fucking am j-invariant aren't you in the uk 04:54:54 why aren't you in bed 04:54:56 sleep god dammit 04:55:00 LOL 04:55:01 like i'm doing 04:55:01 watch me 04:55:06 look at this 04:55:07 sleeping 04:55:07 totally 04:55:09 sleeping is impossible 04:55:10 -!- elliott has quit (Quit: do this). 04:55:16 it's too much work 04:58:43 Do you want to join TeXnicard? 04:59:19 No thanks, I wouldn't have anything to add 04:59:25 if you meant me 05:00:25 j-invariant: I did not mean anyone in particular. 05:05:14 -!- zzo38 has quit (Quit: Lack of blue antiprotons.). 05:17:04 -!- copumpkin has joined. 05:22:04 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 05:57:03 -!- j-invariant has quit (Quit: leaving). 06:03:57 http://mashable.com/2011/01/22/the-internet-is-running-out-of-space-kind-of/ it's hit [not-quite] mainstream media 06:04:40 Gah. Still no IANA depletion. 06:05:33 Just finish it already, IANA. Hell, force APNIC to take some addresses for all I care. 06:05:59 pikhq, just because you're impatient? 06:06:53 Sgeo: At this point it's just pointless drawing it out. 06:07:22 Not to mention somewhat unusual; APNIC usually tries to allocate once they get below 2 /8s, IIRC... 06:15:53 -!- variable has quit (Read error: Connection timed out). 06:17:33 -!- variable has joined. 06:21:17 -!- variable has quit (Max SendQ exceeded). 06:22:40 -!- zzo38 has joined. 06:23:10 I set up TeXnicard_Extra repository by now. 06:23:33 Factor's standard library seems to include every concurrency primitive under the sun 06:23:46 I don't know whether that's a good or bad thing, but I suspect bad 06:23:57 Sgeo: How many are there? 06:24:15 It supports both synchronous channels (CSP) and actors 06:24:52 As well as more typical locks 06:25:27 And promises/futures, although I suppose those aren't an independent concurrency paradigm 06:25:29 (sp?) 06:27:25 http://docs.factorcode.org/content/vocab-concurrency.html and http://docs.factorcode.org/content/vocab-channels.html 06:27:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 06:28:13 What do the icons mean? 06:29:11 I'm not entirely sure, actually 06:30:00 I have seen the Factor documentations before, too, I do not know what the icons are for. 06:33:06 Do you have any ideas about what they might be for? 06:34:24 Now I looked at the filenames for the icons. 06:38:37 But I do not even understand what all of these things means anyways, since I did not write a program in Factor. 06:39:11 A normal word is just a word 06:39:29 A generic word is a word that dispatches based on the ... type of one or more of its arguments 06:40:02 A symbol word is a word that just puts itself on the stack. I think they're used to represent classes 06:41:36 (I think that's what a symbol is, anyway. Let me check) 06:41:57 "A symbol pushes itself on the stack when executed. " 06:50:27 Are parsing words meaning execute immediately while parsing so that you can make your own parsing? 07:06:48 Hmm? 07:07:12 Um, I think they're executed during execution, not entirely sure though 07:07:24 No 07:07:30 Actually, I have no idea 07:07:41 I do have some idea how to test it though 07:08:16 : and ; are both parsing words.. 07:10:03 ( scratchpad ) [ : mytest ( -- val ) 5 ; ] 07:10:03 --- Data stack: 07:10:03 [ ] 07:10:03 ( scratchpad ) mytest 07:10:03 --- Data stack: 07:10:04 [ ] 07:10:06 5 07:10:43 -!- TLUL has joined. 07:11:18 zzo38, but yes, you can make your own parsing 07:12:30 http://docs.factorcode.org/content/article-parsing-words.html 07:13:23 I can make my own parsing? 07:24:26 Please read this http://repo.or.cz/w/TeXnicard_Extra.git 07:25:16 Notify me if you can help the project by sending files there. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:23 -!- azaq23 has quit (Quit: Leaving.). 08:30:11 -!- Wamanuz has joined. 08:46:11 -!- zzo38 has quit (Remote host closed the connection). 08:46:40 -!- kwertii has joined. 09:05:25 -!- nddrylliog has quit (Ping timeout: 265 seconds). 09:30:24 -!- copumpkin has joined. 09:32:38 -!- FireFly has quit (Quit: swatted to death). 09:45:21 haha, that was the best dream ever 09:45:28 i was waiting for the death penalty 09:45:34 :D 09:46:29 for what felt like hours 09:47:19 also in another dream i could give myself a blowjob, that was almost as fun 09:50:13 we just sat on the couch with murderers, i tried to remember what i had done and cried like a little girl and asked them if i could be tried in finland instead (for some reason i lived in u.s.) 09:51:12 -!- Wamanuz has quit (Remote host closed the connection). 09:51:24 well i didn't cry all the time, feelings shifted rather randomly 09:53:39 at some point i even tried to find some sort of proof that there's something after this life, or otherwise make myself accept the fact that i'm going to stop living to "calm me down until they kill me" 09:53:53 because i didn't want to go like a shaking little loser 09:55:16 anyhow finally i went completely insane from the insanity of the situation and woke up, maybe this was a wake-up call for me to stop taking days off doing my master's thesis 09:55:56 *off from 09:56:24 -!- Phantom_Hoover has joined. 09:56:25 -!- BeholdMyGlory has quit (Ping timeout: 246 seconds). 09:56:55 hi Phantom_Hoover, i dreamt i could give myself a blowjob 09:57:50 I cannot think of an appropriate response to that. 09:58:03 well it was more for the other ppl on the channel 09:58:56 anyway, i think i'll make this day count, see you 09:59:01 -!- oklofok has quit. 10:01:57 -!- kwertii has quit (Quit: bye). 10:04:59 Dear god, Stargate was created by Roland Emmerich. 10:05:09 Sgeo, you should be ashamed. 10:08:19 Oh god, pikhq was right. 10:08:34 He has been contracted to direct a Foundation film. 10:11:33 Am I the only one who doesn't like Foundation? 10:12:04 I think a Foundation movie would seriously suck 10:18:55 It wouldn't if done well, but it won't be done well by Emmerich. 11:26:40 Gregor, HAVE YOU COMPOSED SUPERTURING'S THEME TUNE YET 11:31:50 -!- hiato has changed nick to moot. 11:31:57 -!- moot has changed nick to hiato. 11:42:18 -!- acetoline has quit (Ping timeout: 276 seconds). 12:01:55 -!- variable has joined. 12:06:39 -!- oerjan has joined. 12:11:50 00:00:43 */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output! 12:11:51 oerjan: action is better than scheme" 12:12:40 sheesh pasting changed the formatting to the exact opposite 12:12:48 00:00:43 12:12:56 */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output! 12:12:56 oerjan: i just want ( as first thing to learn. 12:13:34 elliott: i think you might want   after the date too 12:14:12 also it's still proportional front here 12:14:16 *font 12:25:47 oerjan, interesting paste 12:25:53 oerjan, what was it? 12:26:06 oerjan, he hates fixed font iirc? 12:26:07 from elliott's log 12:26:26 um no the logs were definitely _supposed_ to be monospace 12:26:33 discussed yesterday 12:27:22 (the paste itself is just the output of the underload fibonacci program) 13:02:33 -!- oerjan has quit (Quit: leaving). 13:06:51 -!- MigoMipo has joined. 13:29:36 -!- cheater00 has quit (Ping timeout: 240 seconds). 13:30:19 -!- cheater00 has joined. 13:31:31 Why does the Onion even have articles. 13:31:43 The headlines are the funniest parts 13:39:43 -!- Wamanuz has joined. 13:39:54 Hah: "New Study Shows that Lying About Your Hamburger Intake Prevents Disease and Death When You Eat a Low-Carb Diet High in Carbohydrates". 13:43:16 -!- BeholdMyGlory has joined. 13:45:23 -!- Wamanuz has quit (Read error: Connection reset by peer). 13:45:31 -!- Wamanuz has joined. 14:01:49 -!- ais523 has joined. 14:05:47 hmm: http://esolangs.org/w/index.php?title=Talk:Works_in_progress/&oldid=20846 14:06:03 spambot title, and spambot-reminiscent text, except it all makes perfect sense and there's no actual spam 14:06:39 it's clearly bot-generated, but I was wondering if I should leave it as a testament to the day when spambots got so good at trying to look legitimate that they forgot to spam 14:07:18 -!- FireFly has joined. 14:14:25 hmm, still seven /8s unallocated 14:15:30 * ais523 deletes the spambot text 14:19:50 Chrome is really starting to annoy me. 14:20:13 It seems to have no mechanism for easy RSS subscription, and it has no facility for temporary file downloads. 14:20:39 most browsers implement temporary file downloads as just downloading the file to /tmp (or another directory with similar semantics) 14:20:59 ais523, yes, but Chrome has no such mechanism. 14:21:02 also, people use browsers for RSS? I'm sure Google would want you to use Google Reader; I use Akregator myself 14:21:12 Phantom_Hoover: I'm wondering if you could just set /tmp as the default location to download to 14:21:19 *Everything* goes into ~/Downloads, which overflows. 14:21:27 ouch 14:21:29 * ais523 deletes the spambot text <-- I didn't read it in time. What was it about? 14:21:46 Vorpal, it was probably a theoretical copyright violation or something. 14:21:48 oh, it's just the typical "I'm new here, hello everyone at esolangs.org" but with worse grammar 14:21:54 -!- j-invariant has joined. 14:21:55 ais523, heh 14:22:05 completely useless, but it's trying to fit in to the extent that it isn't actually spam 14:22:17 ais523, :D 14:22:44 Probably a probe... Or an URL spamming attempt. 14:22:45 == hello! == I'm new here @ esolangs.org and wanna say hi to all the guys/gals of this board! 14:23:03 Ilari: yep, it probably tried to fill in the URL field with spam, didn't find one, and sent the spam anyway 14:23:21 ais523, url field? 14:23:22 esolangs.org only has a CAPTCHA on anons if they try to introduce new external links 14:23:37 Vorpal: on blogs, etc, there's often a field to enter your homepage on comments, and your comment links to it 14:23:50 ais523, well mediawiki never had that 14:23:55 indeed 14:24:01 ais523, and mediawiki is large enough to handle specially 14:24:02 but the spambot probably doesn't realise it's actually on mediawiki 14:24:07 I mean, wikipedia and so on 14:24:14 (actually, that one might, it uses == hello! == heading syntax) 14:24:28 wikipedia's anti-spam measures are somewhat different from esolang's 14:24:41 ais523, well yes 14:24:53 (I should know, possibly better than anyone else...) 14:25:42 If it accepts user comments, try to spam it... :-) 14:27:04 -!- alibaba_ has joined. 14:27:07 my favourite bit of spam on Esolang was the one that was almost impossible to delete, because any attempt to delete it tripped the spam filter 14:27:28 because apparently, the title of the page was on a list of banned referrers, of all things 14:27:44 eventually we (collectively) realised that you could spoof your referrer and delete it that way 14:28:07 and my Firefox has been configured to send no referrer to Esolang ever since 14:28:18 -!- alibaba_ has quit (Quit: Ex-Chat). 14:29:55 ais523, haha 14:30:15 ais523, how do you configure that 14:30:56 extension 14:30:59 RefControl, to be precise 14:30:59 ah 14:31:26 you can configure it per-site to give a real referrer, no referrer, or to lie about the referrer in a variety of ways 14:39:42 hmm, useful discovery: I don't need to log out and in again in order to get sound working when it goes wrong, "killall pulseaudio" works around 2 times in 3 15:01:59 Chrome is starting to get on my nerves again 15:02:08 Does Firefox really suck as badly as I remember? 15:08:42 "pacmd exit" is the official way of terminating the "current" pulseaudio session. 15:08:52 Though killall does in practice do just fine. 15:33:37 Haskell comes with a library of functions called the 'standard prelude'. Unfortunately, whoever designed it knew just enough mathematics to be dangerous and made a complete hash of it. Instead of using a well known hierarchy of algebraic structures such as group->ring->field they defined all kinds of bizarre structures starting with something like a ring with a norm or valuation. And while the library supports complex numbers it's not flexible 15:41:19 -!- pikhq has quit (Ping timeout: 250 seconds). 15:41:30 -!- FireFly has quit (Quit: swatted to death). 15:48:36 Phantom_Hoover: OK, I'm writing it. 15:48:56 :D 15:49:31 j-invariant, you said that with absolutely no context. 15:49:55 -!- impomatic has joined. 15:49:58 Hi :-) 15:51:03 hi 15:52:08 -!- pikhq has joined. 15:52:19 Phantom_Hoover: there was a bunch of context in the message 15:52:30 it's clearly about Haskell, for instance 15:52:43 ais523, yes, but we weren't talking about Haskell. 15:53:40 -!- FireFly has joined. 15:54:06 I mean, it's a non sequitur, but it has enough context to understand 15:55:46 -!- Slereah has quit. 16:03:57 hmm, I came up against this regex: ((R1|R1R2G2D2|R2R1G2D2|R2G2R1D2)((R2G1|G1R2)D1(R1G2|G2R1)D2)*G1D1|(R2|R2R1G1D1|R1R2G1D1|R1G1R2D1)((R1G2|G2R1)D2(R2G1|G1R2)D1)*G2D2)* 16:04:02 what I'm wondering is, can it be simplified? 16:04:28 (perhaps specifying the semantics of programming languages and circuits via regex isn't the best option) 16:05:44 Perhaps regex is never the best option 16:05:57 it sometimes is 16:06:04 * Sgeo goes off to hide some sox, of the p sort, into a closet 16:06:08 it works really well in most cases 16:06:20 for programming language semantics, I mean 16:06:31 that one's messy because it's designed for synchronizing threads 16:08:30 -!- Guest34714 has joined. 16:09:30 Gregor, how goes the composing? 16:10:24 Phantom_Hoover: You're going to hate it with hatred :P 16:10:34 Nooooooooo 16:19:55 -!- oerjan has joined. 16:20:23 Clearly SuperTuring's sidekick should be a Turing machine called Timmy. 16:21:26 a hyperintelligent machine which is so geeky that it _still_ keeps managing to fail the turing test, and so cannot get full human rights. 16:21:42 haha 16:21:59 oerjan, YES 16:22:16 You are now in charge of character wossname. 16:22:17 it's great dream in life is of course to pass 16:22:22 *its 16:22:40 timmy is fine 16:22:54 Phantom_Hoover: Nah, you'll love it. 16:22:56 Phantom_Hoover: With hatred. 16:23:41 Gregor, is it performed with a WUSSY instrument? 16:23:51 What instruments are wussy? 16:25:00 All the ones with at least one dimension greater than a metre. 16:26:18 it has considered cheating by simulating a whole normal human being, but considers that too unethical toward the simulated human 16:28:37 Phantom_Hoover: Sorry, it has a trumpet. 16:31:37 (actually, that one might, it uses == hello! == heading syntax) 16:31:55 it _might_ just be filling in the new section field for the + button 16:32:45 (on Talk pages) 16:34:25 Gregor, do you actually play the trumpet? 16:34:55 ais523: ^ 16:35:23 oerjan, now invent a villain. 16:35:31 -!- variable has quit (Ping timeout: 240 seconds). 16:35:46 Phantom_Hoover: I have a friend that plays the trumpet, but this is going to be a computer-played piece :P 16:36:29 Gregor: You mean with some sort of robot arms and a fan-driven contraption? 16:36:35 fizzie: Yes 16:37:19 * oerjan decides fizzie and Gregor are clearly describing the villain 16:39:15 his name is Cyberius Emmanuel Victor Imperator II 16:40:52 ironically, while being more than 2/3 mechanical, he is fanatically against mechanical _brains_ 16:41:19 and thus wants to eradicate timmy and by extension superturing. 16:41:36 in between conquering the world, of course 16:42:36 of course it doesn't help that they keep thwarting 90% of his plans, including all the really major ones 16:43:50 (btw. C.E.V.I. I met an unfortunate demise after trying to deny no. II staying up late to watch tv) 16:44:20 -!- j-invariant has quit (Quit: leaving). 16:44:57 oh wait the acronym needs some rearrangement 16:45:11 oerjan, I demand that ESR be a minor henchman. 16:45:13 clearly his name must be Victor Imperator Cyberius Emmanuel 16:45:32 (II) 16:47:08 Phantom_Hoover: quite possible, he could be responsible for V.I.C.E.'s american operations 16:47:25 * oerjan realizes he cannot possibly have seen a picture of esr before 16:47:54 http://www.pollsb.com/photos/o/6692-lt_a_href_http_en_wikipedia_org_wiki_eric_s__raymond_gt_eric_s_raymond_lt_a_gt.jpg 16:48:01 He always looks that ugly, BtW. 16:48:23 Phantom_Hoover: um i said that of course because i _was_ for the first time looking at a picture of him 16:48:36 oerjan, oh. 16:48:44 and it's clearly a face i would have remembered 16:49:10 Hahah this is AWESOME. I am the GREETIST. 16:50:02 hm that picture you linked reminds me of a certain swedish actor which i cannot remember the name of 16:53:38 I'm tempted to make an .ogg of what I've got, but I want to finish it so you can hear it in its FULL SPLENDOR. 16:56:58 american splendor 16:57:23 Oh, you will be floored. 16:57:50 well up to rounding error, yes 17:07:39 -!- ais523 has quit (Remote host closed the connection). 17:10:40 -!- j-invariant has joined. 17:13:13 http://i.imgur.com/hK8FV.gif 17:13:24 I have never been so glad not to live in the States. 17:20:03 Well, until I read the comment thread. 17:30:25 -!- Guest34714 has changed nick to Slereah. 17:34:12 -!- impomatic has quit (Read error: Connection reset by peer). 17:36:14 -!- ais523 has joined. 17:43:12 URGE TO POST PREVIEW RISING 17:43:52 -!- elliott has joined. 17:45:14 Gregor, ARE YOU TAKING THIS SERIOUSLY 17:45:25 Phantom_Hoover: Depends on your definition of "seriously"? X-P 17:46:58 04:03:38 also there is too much elliott in this conversation 17:47:11 I don't give a fuck if you ignore me, but seriously, shut the fuck up. 17:47:13 Nobody cares. 17:47:43 If you ignore people some conversations don't make sense. 17:47:46 Deal with it. 17:49:02 elliott, WORK HAS BEGUN ON SUPERTURING 17:49:11 O god. 17:49:14 oerjan is head of character design. 17:51:56 superturing? 17:52:01 zzo38 seems to think that anyone can push to his repository. 17:52:29 j-invariant, is it Gödel? Is it Church? No, it's SuperTuring! 17:52:47 what does it do ?:) 17:52:47 Gregor is doing the theme tune. 17:53:09 j-invariant, he goes around doing the standard supermathematician/computer scientist stuff. 17:53:16 Well, *flies 17:53:29 so is it a webcomic 17:53:33 And you will LOVE this theme tune. 17:53:34 LOVE IT TO DEATH 17:53:47 j-invariant, no, silly. 17:53:57 What kind of webcomic has a theme tune? 17:54:03 elliott: I've managed to build a cave/mine so confusing that I get lost in it 17:54:47 j-invariant: ha :D 17:54:50 j-invariant: make a troch system 17:55:10 A troch system. 17:55:19 *torch 17:55:24 TROCH 17:55:25 j-invariant: e.g. three torches in a row = to exit 17:55:29 also 17:55:30 -minecraft 17:55:32 -!- Mathnerd314 has joined. 17:58:20 http://codu.org/tmp/superturing.ogg <-- WORK IN PROGRESS 17:58:24 10:13:31 Dear god, Stargate was created by Roland Emmerich. 17:58:28 Phantom_Hoover: The Stargate film was shit on toast. 17:59:18 (And listen to the WHOLE THING before commenting :P ) 17:59:19 Phantom_Hoover: "It's "O'Neill," with two L's. There's another Colonel O'Neil with only one L, and he has no sense of humor at all." (O'Neill had only one L in the film.) 17:59:50 Gregor: needs more cowbell right at the start 18:00:05 Gregor, this is completely insane. I love it. 18:00:07 also it's insufficiently gay, overlay it with livin' la vida loca 18:00:10 thx 18:00:20 what is this xD 18:00:42 Dude, SuperTuring transcends genres. 18:01:00 It's just not gay enough, even though I love it. 18:01:05 Gregor: Dude, this needs to be performed live. 18:01:11 X-D 18:01:20 It would be amazing. 18:01:36 12:22:10 elliott: i think you might want   after the date too 18:01:37 12:22:48 also it's still proportional front here 18:01:37 12:22:52 *font 18:01:45 oerjan: I haven't rewritten it yet, need to figure out how to do encodings in Haskell :P 18:01:58 oerjan: I'm considering keeping the proportional font, dunno, comments welcome apart from from oklopol or Vorpal 18:02:12 13:40:10 Why does the Onion even have articles. 18:02:12 13:40:21 The headlines are the funniest parts 18:02:15 Phantom_Hoover: They start with the headlines 18:02:18 which explains everything. 18:02:25 Phantom_Hoover: There's that one section which is just headlines and pictures :P 18:02:47 14:14:27 hmm: http://esolangs.org/w/index.php?title=Talk:Works_in_progress/&oldid=20846 18:02:47 14:14:42 spambot title, and spambot-reminiscent text, except it all makes perfect sense and there's no actual spam 18:02:47 14:15:19 it's clearly bot-generated, but I was wondering if I should leave it as a testament to the day when spambots got so good at trying to look legitimate that they forgot to spam 18:02:49 ais523: what was the text? 18:02:59 I posted it a little later 18:03:04 oerjan: I'm considering keeping the proportional font, dunno, comments welcome apart from from oklopol or Vorpal <-- hey why not from me and oklopol? 18:03:19 Gregor, I have a nagging feeling that we'll need to have a really long opening sequence to get the whole theme in. 18:03:24 Vorpal: because you and oklopol are both fixed font nazis 18:03:25 X-D 18:03:32 Phantom_Hoover: That is no issue. 18:03:34 Phantom_Hoover: I still have two styles I need to get in :P 18:03:39 Just have SuperTuring standing there, looking awkwardly gay. 18:03:40 Constantly. 18:03:49 Without moving. 18:03:57 gregor: it would be excellent video game music...let me know when you use a non-suck sample pack 18:04:03 sound font 18:04:03 elliott: Except for the fluttering pink cape. 18:04:08 whatever people call them these dayws 18:04:13 quintopia: Let me know when you give me a non-sucky soundfont X-P 18:04:43 elliott, ESR is going to be one of the henchmen. 18:04:51 No. No he is not. 18:04:53 * oerjan dons a hitler moustache 18:04:55 the stereo effects are awful nice tho 18:05:07 Vorpal: because you and oklopol are both fixed font nazis <-- MAKE THAT THREE 18:05:22 oerjan: I WILL CONVERT YOU THROUGH MY ACCIDENT 18:05:27 elliott, WHY 18:05:32 oerjan: elliott and oklopol are both three? 18:05:34 it's just that i have no nice monospaced fonts :( 18:06:06 Gregor: >_> 18:06:28 argh you and your damn font fixation 18:07:00 16:30:10 a hyperintelligent machine which is so geeky that it _still_ keeps managing to fail the turing test, and so cannot get full human rights. 18:07:01 elliott, WHO ELSE CAN I MAKE INTO A VILLAIN 18:07:03 It should have a halting oracle. 18:07:23 This should be invoked regularly to prove or disprove famous mathematical theorems. 18:07:32 "Oh no! I can defeat this wicked trap only if Goldbach's conjecture is false!" 18:07:35 Halting Oracle. 18:07:40 "GOOD - NEWS - SUPER - TURING... IT IS!" 18:07:43 "Excellent!" 18:07:47 Phantom_Hoover: YES 18:07:48 Phantom_Hoover: YES YES YES 18:08:02 She has a stammer. 18:08:11 you mean 18:08:15 she says 18:08:31 "I want some banananananananananana pancakes" 18:08:47 and SuperTuring says "Does the hardware store accept returns on fenceposts?" 18:08:56 "Will this machine halt?" "This machine definitely w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-" 18:09:07 Why would she be a villain 18:09:25 So what's SuperTuring's overly phallic weapon of choice? 18:09:43 elliott, a whip made of TM tape. 18:09:58 X-D 18:10:00 Is it infinitely long? 18:10:05 Yes. 18:10:06 Does he keep it rolled up? 18:10:16 In his pockets, naturally. 18:10:36 I FEEL THAT SOME IMMATURE JOKE IS APPROACHING RAPIDLY 18:11:07 Gregor, I have a nagging feeling that we'll need to have a really long opening sequence to get the whole theme in. <-- what theme? 18:11:10 WE STARTED OFF WITH "OVERLY PHALLIC" I DON'T THINK WE CAN GET LESS MATURE 18:11:12 HERE GOES 18:11:22 Is that an infinitely long tape in your pants, or are you just happy to see me? 18:11:24 Vorpal: http://codu.org/tmp/superturing.ogg <-- WORK IN PROGRESS 18:11:30 Gregor: WHY, IT'S PERFECT 18:11:49 Gregor, "Resolving codu.org... " 18:11:50 what 18:11:54 ah there it goes 18:12:00 dns fucked up 18:12:05 Gregor: I HATE it! It's NOT MY STYLE 18:12:13 Wait, maybe the tapewhip should be Timmy's weapon. 18:12:22 Phantom_Hoover: Is Timmy the TM? 18:12:26 Yes. 18:12:29 I don't think we should have a TM, that's not super-Turing 18:12:31 That's just Turing 18:12:32 Phantom_Hoover: OMG 18:12:37 Gregor, wow awesome music 18:12:42 ...X-D 18:12:42 Yeah, that's where Halting Oracle comes in. 18:12:52 elliott, you fail at predicting me :P 18:12:52 Phantom_Hoover: When he got turned Super, his prototype Turing machine got turned Super too. 18:13:03 So obviously Timmy has a halting oracle. 18:13:06 THUS INVALIDATING YOUR PLOT 18:13:23 Naw, oerjan already made up a villain. 18:13:24 i do agree with the complaints that it is not a gay enough theme 18:13:26 Gregor, a bit cheesy though maybe? 18:13:35 Vorpal: That's the point :P 18:13:37 Vorpal misses the point entirely. 18:13:51 ok ok timmy can have a halting oracle 18:13:57 i think the villain should be MEGALONZO 18:14:01 Gregor, ah 18:14:13 oerjan: the stutter thing is a good idea though 18:14:17 a natural foil for superturing 18:14:29 quintopia, OMGYES 18:14:41 wth is megalonzo 18:14:44 "TIMMY, IS THE GOLDBACH CONJECTURE TRUE OR NOT?!" "THE PROGRAM IN QUESTION D-D-D-D-D-D-" "HURRY UP!" "DOES HALT!" 18:14:48 oh right 18:14:57 WAITWAITWAIT 18:15:00 hmm, so SuperTuring is devoutly religious then 18:15:06 because MegaLonzo is obviously for the separation of Church and State 18:15:07 :D 18:15:11 hahah 18:15:21 HE SHOULD BE ALONZO CHURCH III, THE SECRET LOVE CHILD OF ALONZO CHURCH II AND HASKELL CURRY'S DAUGHTER 18:15:29 who is Timmy? 18:15:39 timmy TM 18:15:43 Vorpal, SuperTuring's sidekick. 18:15:48 oerjan, ... such a bad joke 18:15:57 Oh yeah, this is the centre of GOOD JOKE DEVELOPMENTS. 18:15:57 Vorpal, MY JOKE 18:16:02 elliott: assuming you're still logreading, did you come across my regex yet? 18:16:04 Phantom_Hoover, okay. Still bad 18:16:05 (well, regular expression) 18:16:08 ais523: yes, I'm scared 18:16:11 i think elliott wins the computing pun award already. 18:16:14 ais523, what regex? 18:16:18 quintopia: For what :P 18:16:24 I didn't make up that Church and State thing, that's a Haskeller joke 18:16:28 oh 18:16:33 well damn 18:16:35 BUT I ACCEPT THE PRIZE 18:16:36 i'd never heard it 18:16:36 it's from liyang 18:16:42 elliott: typical computer scientist thinking: regular expressions can be represented by FSMs, thus FSMs can be represented by regular expressions 18:16:51 @go church of the lambda calculus 18:16:51 Maybe you meant: google googleit do 18:16:56 @go church of the least fixed point 18:16:57 Maybe you meant: google googleit do 18:17:04 ais523, well that is true 18:17:06 @goggle church of the least fixed point 18:17:07 http://www.springerlink.com/index/N4T2V573M58G2755.pdf 18:17:07 Title: SpringerLink - International Journal of Parallel Programming, Volume 15, Number ... 18:17:09 ISTR Sam Hughes did something along those lines. 18:17:10 ais523, given the right sort of regex 18:17:23 HOW DO YOU DO CHARSETS WITH HASKELL ASKJXGCYKLDFJHCNVKFJGNKGDXLF;SJ,NMBGHJDSUIDAOK;LCMVNBSJKGHRIJE89MU84OEITJRDGKLFMCVGDTRIO54896UFGJKNJKGTUIIGJKFN 18:17:25 Vorpal: simple regular expressions work 18:17:32 well, not "simple" in my case 18:17:41 ais523, yes but perl regexp would nopt 18:17:42 not* 18:17:59 they are more advanced than fsm 18:18:04 "Summary: Hoogle Embed lets you include a small interactive Hoogle search box on your web page." <-- so USEFUL 18:18:15 Vorpal: I'm talking about the mathematical concept 18:18:16 Oh: "Configuration options allow you to automatically add a prefix or suffix to the users search, for example adding +hoogle to search only the Hoogle API." :P 18:18:26 ais523, right 18:18:27 Vorpal: stop acting like AnMaste 18:18:27 r 18:18:28 oh wait 18:18:29 elliott: I have like 64x20 cobbleston, and athe same of dirt... I worry about conservation of mass 18:18:34 elliott, ................. 18:19:07 in fact, I had to translate that one into Perl so the notation was more familiar 18:19:19 ais523, so what is this monster regexp that was in logs then 18:19:23 or what it was about 18:19:25 the original uses + for alternation and superscript * for repetition 18:19:27 let me find it 18:20:28 ((R1|R1R2G2D2|R2R1G2D2|R2G2R1D2)((R2G1|G1R2)D1(R1G2|G2R1)D2)*G1D1|(R2|R2R1G1D1|R1R2G1D1|R1G1R2D1)((R1G2|G2R1)D2(R2G1|G1R2)D1)*G2D2)* 18:20:36 I have a hunch that it can be simplified, though 18:20:55 ais523, actually, don't you need an fsm with an accepting state to be able to encode it as a regexp. Consider a fsm for a door controller for example. It will have no accepting state since it will run forever 18:21:02 (it represents the concept of a critical section) 18:21:16 Vorpal: the regex matches all possible histories for the FSM 18:21:21 well, after you prefix-close it 18:21:24 ugh, this makes no damn sense 18:21:24 ais523, aha 18:21:31 elliott, what doesn't 18:21:35 *regular expression 18:21:40 Vorpal: charsets in haskell 18:21:45 multiple channel convergence ahoy...sam hughes appeared here and the "troll science: pi" thing appeared as a topic of discussion elsewhere... 18:21:49 elliott, ah... 18:22:17 quintopia, what "troll science: pi"? 18:22:21 quintopia: sam hughes is already on topic here 18:22:24 *always 18:22:36 ais523: there are some parts that can be distributed further 18:22:36 yes, but not always mentioned 18:22:43 Vorpal: http://qntm.org/trollpi 18:22:56 oerjan: I think there are, yes; but I was wondering if the two halves could be combined somehow 18:23:05 http://twitter.com/qntm I DID NOT KNOW THIS EXISTED 18:23:28 that regex is "psychic" in a way, in that it can go arbitrarily deep into the string before having to backtrack and using the second half of the main alternation 18:23:33 "Did you know? If you run ASCII text through an ASCII->EBCDIC converter 484,330 times, it'll come back as ASCII again." 18:23:42 Vorpal: http://qntm.org/trollpi <-- heh. 18:23:49 elliott: only if the converter is reversible 18:24:01 ais523: ASCII->EBCDIC is reversible 18:24:29 elliott: some of the weirder punctuation marks in ASCII don't have standard locations in EBCDIC 18:24:41 ais523: stop being AnMaster 18:25:05 why is this being AnMaster/Vorpal? it matters because INTERCAL 18:25:24 ais523, what about baudot? 18:26:11 Vorpal: that one definitely doesn't round-trip to ASCII or EBCDIC 18:26:20 it has no tab character 18:26:32 (convickt replaces tab with space when doing that conversion, so as not to break existing programs) 18:26:43 one space, that is; all whitespace is equivalent in INTERCAL 18:26:55 ais523: all whitespace in intercal is the same as no whitespace, isn't it? 18:27:27 elliott: it's debatable; sorear made a plausible claim that whitespace is allowed even inside constants (and the vim syntax highlighter for INTERCAL's based on that principle), but no known impl allows it 18:27:37 *inside keywords 18:27:57 and certainly, J-INTERCAL used to get confused by DOREADOUT, parsing it as DO REA DO UT 18:28:00 which is again arguably correct 18:28:20 so we'll just say that whitespace is possibly significant, and leave it at that 18:28:23 ais523: hmm, can I fix C-INTERCAL to allow whitespace in contents? 18:28:28 *constants 18:28:33 *keywords 18:28:46 elliott: if you can think of a plausible way to do it and it doesn't break anything else, why not? 18:29:03 (note that E000 preserves whitespace, so just stripping all the whitespace in advance doesn't work) 18:29:14 ais523: I'll just tweak the grammar 18:29:17 ais523: will you apply the patch if I write it? 18:29:20 (and it works) 18:29:25 depends on how well-written it is 18:29:38 I've been known to rewrite patches altogether but steal the algorithms 18:29:45 ais523: So it can be either really well-written or utterly horrid? :) 18:29:54 Got a link to the repository? 18:29:56 it's probably just worth mentioning that C-INTERCAL's parser is rather fragile 18:30:09 ais523, that is an understatement 18:30:14 checking browser history now 18:30:20 Vorpal: no it isn't, it's not /that/ fragile 18:30:31 elliott: http://git.gitorious.org/intercal/intercal.git 18:30:40 "The Social Network is the most accurate computer movie since Swordfish." --Sam Hughes 18:30:46 LOL 18:30:48 ais523: down 18:31:00 ais523, no longer darcs? 18:31:01 elliott: gitorious for me is slow but up 18:31:02 ais523, aww 18:31:06 Vorpal: due to esr 18:31:12 gah 18:31:13 Vorpal: that's the big combined everything repo made by esr 18:31:16 ais523: have you got a local repository you could send to me? it just isn't loading for me 18:31:18 ais523, "The requested URL /intercal/intercal.git was not found on this server." 18:31:28 ais523: darcs is fine, even preferable, if you still use that locally :P 18:31:37 what about git://gitorious.org/intercal/intercal.git 18:31:45 and no, I'm using the combined repo atm 18:31:51 "My latest hypothesis: every James Cameron movie is set in the same fictional universe." --Sam Hughes 18:32:05 ais523: grr, "intercal" 18:32:11 ais523: why not "c-intercal"? esr ego? 18:32:18 probably 18:32:24 although it's been called "intercal" in Debian, etc 18:32:32 so that might be another reason, consistency with package managers 18:33:00 What, Darren Aronofsky is directing Wolverine 2. 18:33:03 What is this I don't even 18:33:06 ais523, I used ick and c-intercal iirc for package names 18:33:35 I used C-INTERCAL as the main index entry in info, and ick for the subentry that specifically dealt with ick(1) the executable 18:34:20 (note to self: consider ick(6) and ick(8) as possible alternative locations) 18:34:48 and now, I delve into the C-INTERCAL lexer, knowing not what I am doing 18:34:56 elliott: don't worry, it doesn't either 18:34:56 ais523: ick(8)? it goes in sbin? :P 18:35:07 elliott: that would be a fun place for it, yes 18:35:18 I'm going to assume that I can do this in lexer.l and avoid the parser entirely 18:35:19 in case, umm, you need to recompile a kernel module written in INTERCAL 18:35:33 does my name go in the copyright line or no? I'll stick to your /* AIS: ... */ format I think 18:35:38 *not? 18:35:48 ais523, but gcc goes into bin not sbin... 18:35:53 I gave up the /* AIS: */ thing when I used version control, as that was an alternative way to log things 18:35:54 gcc goes into /usr/bin 18:36:04 ais523: I'm going to do it anyway, as I like the look of it 18:36:04 elliott, indeed 18:36:06 Feels like 70s Unix. 18:36:13 ais523: hmm, but I don't have a middle name, what do I do? 18:36:28 ais523, what does the i stand for btw 18:36:33 you could use x, that's what the university here does 18:36:39 in order to give everyone three-letter initials 18:36:47 ais523: /* EXH: ... */? that's ugly 18:36:52 maybe I'll invent a middle initial 18:36:52 (as for /why/ they give everyone three-letter initials, beats me) 18:36:58 elliott: EH? 18:37:04 that's INCONSISTENT! 18:37:12 hmm, I wish I was named Elliott Fsomething 18:37:13 so I could choose O 18:37:19 /* EOF: ... */ 18:37:22 elliott: who cares about consistency? 18:37:25 ais523, what does your I stand for 18:37:26 what name 18:37:36 Vorpal: that's quite a personal question... 18:37:37 Vorpal: Ia, as in Ia ftaghn. 18:37:44 *fhtagn 18:37:44 ais523, oh okay. Sorry then 18:37:52 It's actually "Isabelle". 18:37:57 elliott, XD 18:37:57 Or was it Ishmael? 18:37:59 \ 18:38:04 s/^\\$// 18:38:15 ais523: wow, where on earth are constants parsed here :-D 18:38:33 ais523: hmm, I think I should do this in the parser, or does the lexer already muck it up? 18:38:44 the two are designed to work together 18:38:47 I'm assuming the lexer just makes it "SOMETHING DIGIT DIGIT SPACE DIGIT" 18:38:53 although I think that's only necessary in the spark-ears matching 18:38:54 in which case the solution is easier to do in the parser 18:39:03 right? 18:39:05 the lexer does group adjacent digits, though, look at the {D} rule 18:39:07 ah 18:39:09 but I meant keywords 18:39:22 (is there support in the spec for spaces inside numbers?) 18:39:23 ais523: I don't understand 18:39:30 hmm, why the {}s around D? 18:39:36 to reference that definition? 18:39:37 oh 18:39:38 for "many" 18:39:44 no, because otherwise it would be a literal D 18:39:45 D [0-9][\ \t\n0-9]* 18:39:48 {D} {yylval.numval = myatoi(yytext); return(NUMBER);} 18:39:53 it's defined as D, but used as {D} 18:39:55 ais523: that looks to me like it should already support that 18:40:02 yes, that looks like it contains whitespace 18:40:03 depending on how myatoi works 18:40:07 hmm, what does myatoi do anyway? 18:40:13 I bet it skips spaces 18:40:13 it seems a little weird to use a custom atoi 18:40:18 yep 18:40:22 for(buf[i = 0] = '\0';*text && i < MAXTEXT;text++) { 18:40:23 if(isdigit(*text)) { 18:40:23 buf[i++] = *text; 18:40:23 } 18:40:23 } 18:40:28 you've edited it, even 18:40:32 "thinbuf code added by an AIS" wut 18:40:36 an AIS? :P 18:40:44 :D 18:40:46 well, there might be more than one person with my initials 18:40:50 CONFICE{W}\({W}{D}\) {yylval.numval = myatoi(yytext); return(CREATE);} 18:40:56 COME{W}FROM{W}\({W}{D}\) {/* AIS */ yylval.numval = myatoi(yytext); 18:40:56 return(COME_FROM);} 18:41:03 ais523: as far as I can tell, spaces are already supported in numbers 18:41:04 and thinbuf was just a bugfix for Unicode support 18:41:12 ais523: hmm, but I don't have a middle name, what do I do? <-- eh, i don't know 18:41:15 \%{W}{D} {yylval.numval = myatoi(yytext); 18:41:15 if (yylval.numval && yylval.numval < 100) 18:41:15 return(OHOHSEVEN); 18:41:15 else 18:41:15 ick_lose(IE017, iyylineno, (char *)NULL);} 18:41:18 oerjan: :D 18:41:24 ais523: what's the prefix of constants? 18:41:31 # 18:41:36 wait, what does CONFICE even mean? 18:41:39 now I'm confused 18:41:39 oerjan :D 18:41:43 who the fuck knows :D 18:41:46 oh, must be CREATE in Latin 18:41:49 :D 18:41:58 \# {return(MESH);} 18:42:05 ais523, hah 18:42:08 ok, so a constant is done with "MESH(value), NUMBER"? 18:42:13 {D} {yylval.numval = myatoi(yytext); return(NUMBER);} 18:42:14 erm 18:42:16 *MESH, NUMBER(value) 18:42:21 elliott: yep, in C-INTERCAL at least 18:42:29 I think CLC-INTERCAL can dynamically determine whether something's a constant or not 18:42:32 ais523: then since the {D} rule supports spaces, spaces in constants already worked, try it 18:42:35 *work 18:42:39 elliott: constants was a typo... 18:42:43 o 18:42:47 ais523: what did you mean :D 18:42:50 keywords 18:42:58 ais523: oh, dear. 18:43:12 ais523: so I'd have to change it to C{W}O{W}N{W}F{W}I{W}C{W}E? 18:43:42 ais523: hmm... perhaps I could write a program to automatically transform lexer.l so that every literal stream of characters gets separated by {W} 18:43:46 I think so, and so forth with all keywords 18:43:50 I'm just not certain that actually works 18:43:55 worth a try 18:44:04 ais523: why can't I just strip whitespace again? error reporting? 18:44:05 elliott, there will be ambiguities 18:44:10 elliott: indeed 18:44:19 and the fact that it possibly changes the semantics of something 18:44:22 `translatefromto la en confice 18:44:23 ais523: can't I just make the impl look at the source in a different place when error-reporting? 18:44:40 ais523: is it OK if the build depends on perl, so long as the pregenerated file is included? 18:44:41 No output. 18:44:41 C-INTERCAL screws up the line numbers atm when you start a statement halfway through a line and end it halfway through a different line 18:44:47 it's a nonstanding bug that nobody cares about 18:44:54 `translatefromto la en sic transit gloria mundi 18:44:55 No output. 18:44:57 *longstanding 18:44:57 presumably 18:44:59 elliott: hmm, does it not depend on perl already? 18:45:04 elliott: err, yes 18:45:05 possibly 18:45:07 /* 18:45:08 although the typo si fun 18:45:08 * The spectacular ugliness of INTERCAL syntax requires that the lexical 18:45:08 * analyzer have two levels. One, embedded in the getc() function, handles 18:45:08 * logical-line continuation and the ! abbrev, and stashes each logical 18:45:08 * line away in a buffer accessible to the code generator (this is necessary 18:45:08 * for the * construct to be interpreted correctly). The upper level is 18:45:10 * generated by lex(1) and does normal tokenizing. 18:45:12 */ 18:45:14 ais523: what if getc skipped whitespace? 18:45:18 ais523: It's si fun! 18:45:23 `translatefromto no en Hva er nå dette? 18:45:24 oh right, I forgot that the crazy function that did most of the parsing was called getc 18:45:24 What is this? 18:45:29 that was almost cetainly a bad idea 18:45:48 `translatefromto en la Is this right? 18:45:49 No output. 18:45:56 hmph 18:45:57 and lead to fun when the function it actually called to do the reading was implemented in terms of getc 18:46:07 ais523: but could I make getc skip whitespace or would that mess up error reporting too? 18:46:11 I think I replaced it with a call to read in the end, to reduce the chances of it going via getc to near zero 18:46:12 elliott: I'm not sure 18:46:18 really, would you expect me to be? 18:46:22 ais523: I'll try it :-) 18:46:48 try doing it at the same stage as expanding ! to .', though, as it has a similar issue 18:46:59 umm, to '. 18:47:02 .' is meaningless 18:48:02 c_char=0; /* AIS */ 18:48:02 do dummy = fread(&c_char,1,1,fp); 18:48:02 while (isspace(c_char)); /* EH: ignore whitespace */ 18:48:02 c = c_char; 18:48:09 I just did it at getc, let's see if it works 18:48:16 @list google 18:48:16 search provides: google gsite gwiki 18:48:20 ais523: is there an automated test suite of any kind? 18:48:22 elliott: that's a really evil do-while 18:48:28 elliott: indeed, two of them 18:48:31 ais523: evil, but fun! 18:48:37 OK, how do I run them? and can I run them without make installing? 18:48:42 `translatefromto en lat Is this right? 18:48:43 No output. 18:48:56 there's ESR's compile-all-known-programs testsuite (I integrated it into the build system, run "make check"), and my separate fuzztester (which I think is "make fuzz") 18:49:06 ais523: I'll do make check, then 18:49:12 make fuzz sounds irrelevant to this 18:49:31 well, it's fuzztesting with vaguely valid INTERCAL to test the optimiser 18:49:32 configure.ac:10: required file `buildaux/install-sh' not found 18:49:32 configure.ac:10: `automake --add-missing' can install `install-sh' 18:49:32 configure.ac:10: required file `buildaux/missing' not found 18:49:32 configure.ac:10: `automake --add-missing' can install `missing' 18:49:32 buildaux/Makefile.am: required file `buildaux/depcomp' not found 18:49:33 buildaux/Makefile.am: `automake --add-missing' can install `depcomp' 18:49:35 ugh 18:49:39 how tf am i meant to create "configure" 18:49:41 autoreconf fails like that 18:49:45 elliott: there's a script to do it in buildaux 18:49:50 the repo versions don't contain any generated files at all 18:50:04 ais523: there's a standard name for that script but I forget what it is 18:50:13 Vorpal probably knows 18:50:19 buildaux/regenerate-build-system.sh 18:50:21 elliott@elliott-MacBookAir:~/Code/c-intercal$ buildaux/regenerate-build-system.sh 18:50:21 Please run this script from its own directory. 18:50:23 ok, that's just hateful 18:50:23 and it isn't autogen.sh as that does something else 18:50:30 why can't it cd? 18:50:32 elliott: 18:58 < kuffaar> Stop saying evil all the time, you lot start sounding like Christian fundies on the telly! 18:50:34 elliott, what script? 18:50:38 j-invariant: xD 18:50:39 people talkgin baout dgoto 18:50:44 because I wrote it in a hurry, and it's maintainer-only really 18:50:44 Vorpal: autoen 18:50:45 *autogen 18:50:51 ais523: I'm going to fix that too :P 18:50:58 elliott, autoreconf? 18:51:51 ais523: fixed, and it even works with directories with spaces in the names and shells without $()! 18:52:03 if that comes in as one patch, I blame git being incompetent at cherrypicking .. 18:52:04 *... 18:52:52 ais523: I'm going to try generating the parser with byacc, just because I'm perverse 18:53:06 ais523: also, "make clean" starts configuring if you run it before configuring... 18:53:14 elliott: last I tried, the parser worked on SunOS yacc with a few changes 18:53:20 elliott: of course, how else would it know what to clean? 18:53:25 are parallel builds supported? 18:53:28 yep 18:54:05 as far as I know, they even work 18:54:09 which is not quite the same thing 18:54:19 /home/elliott/Code/c-intercal/buildaux/missing: line 52: makeinfo: command not found 18:54:19 WARNING: `makeinfo' is missing on your system. You should only need it if 18:54:19 you modified a `.texi' or `.texinfo' file, or any other file 18:54:19 indirectly affecting the aspect of the manual. The spurious 18:54:19 call might also be the consequence of using a buggy `make' (AIX, 18:54:20 DU, IRIX). You might want to install the `Texinfo' package or 18:54:24 the `GNU make' package. Grab either from any GNU archive site. 18:54:26 make[1]: *** [doc/ick.info] Error 1 18:54:28 I did not edit any manual page. 18:54:52 ais523: is that because the generated pages aren't included? 18:55:03 elliott: yes, the repo version and tarball version are quite different 18:55:15 parser.c:96: error: macro "yylex" passed 1 arguments, but takes just 0 18:55:17 the repo version contains no generated files at all because git can't handle that 18:55:21 ais523: your parser does not work with byacc, I am disgusted 18:55:32 sure it can 18:55:33 elliott: at what stage did you set byacc as the parser? 18:55:36 it can either store or ignore them 18:55:40 coppro: not without producing diffs 18:55:42 ais523: by installing byacc without having bison installed 18:55:44 and those drive ESR mad 18:55:50 ais523: first it complained i had no parser, then i installed byacc, then configure worked 18:55:57 so I'm going out on a limb here and guessing it decided byacc was good enough 18:56:00 ah roffl 18:56:07 elliott: hmm, autoconf is meant to detect properties of yacc impls 18:56:15 but perhaps you hit upon a difference I didn't know about 18:56:20 ais523: I suspect you're doing something "manually" 18:56:22 still, a change in the signature of yylex is bizarre 18:56:35 elliott: I wrote the yacc detection manually 18:56:40 but that was about yyrestart, I think 18:56:45 /* Parameters sent to lex. */ 18:56:45 #ifdef YYLEX_PARAM 18:56:45 # define YYLEX_DECL() yylex(void *YYLEX_PARAM) 18:56:45 # define YYLEX yylex(YYLEX_PARAM) 18:56:45 #else 18:56:46 # define YYLEX_DECL() yylex(void) 18:56:46 which is a) undocumented, and b) required to get things to work 18:56:47 # define YYLEX yylex() 18:56:49 #endif 18:56:53 extern int YYPARSE_DECL(); 18:56:56 ais523: the last line is the failing one 18:57:08 looks like YYLEX_PARAM is misset 18:57:11 Bleh, ending music is hard. 18:57:14 ais523: I get the same even with bison. 18:57:19 I conclude that your parser is totally broke. 18:57:38 1/win 12 18:57:48 ais523: i suspect esr broke it 18:58:04 oh, wait 18:58:09 ais523: do I need "distclean" to remove generated files? 18:58:12 probably 18:58:16 yep 18:58:21 elliott: there's an even cleaner than that, IIRC 18:58:25 test -z "parser.c parser.h lexer.c oil-oil.c host.mak bconfig.h config.status.build" || rm -f parser.c parser.h lexer.c oil-oil.c host.mak bconfig.h config.status.build 18:58:25 err, what 18:58:36 automake is so ridiculous... 18:58:40 elliott: to avoid an error if it calls rm with no params, of course 18:58:51 or worse, deletes -f by mistake becaues the rm is particularly stupid 18:58:53 yay, it compiled 18:58:55 you might have needed that file! 18:58:58 :D 18:59:07 ais523: running make check now 18:59:10 how long will this take? :p 18:59:18 not too long, it only takes me a few minutes 18:59:21 it's currently bottling beer... or hung 18:59:21 some tests take longer than others 18:59:28 beer takes a while 18:59:28 make[2]: Entering directory `/home/elliott/Code/c-intercal' 18:59:28 ./ick -b -F ./pit/beer.i 18:59:28 [hang] 18:59:33 does it ignore the output? 18:59:40 oh, it's the -F test 18:59:45 -F is a rather slow optimisation option 18:59:51 and no, it compares the output 19:00:03 ais523: I mean, doesn't send it to the screen 19:00:15 no, it doesn't send it to the screen 19:00:23 just runs diff and sends its output to the screen, which is normally blank 19:00:40 right 19:01:08 ais523: incidentally, if my getc patch works, all the {W}s can be removed 19:01:13 because all whitespace is simply dropped entirely 19:01:20 ais523: OTOH, this _might_ break error reporting ... 19:01:24 ais523: but I don't know where it gets the source from 19:01:25 to report erroers 19:01:26 *errors 19:01:33 textlines[], IIRC 19:01:34 does it really use the output of the lexer's getc()? 19:01:37 or a variable that's called something like that 19:01:40 that seems unlikely to me 19:01:41 or does it? 19:01:44 ah, wait 19:01:48 does getc maintain textlines? 19:01:50 I think getc might be responsible for populating it 19:01:54 if so, I could put all whitespace in textlines 19:01:58 but keep getc'ing 19:02:02 rather than returning it 19:03:19 bear in mind that ick's getc != C's getc 19:03:23 for insane reasons 19:07:10 ais523: indeed 19:07:38 elliott: is there something wrong with the byacc detection / code using it, btw? 19:07:46 as in, does the configure need a fix to work with byacc? 19:08:05 ais523: I have no idea -- I suspect that that ifdef I quoted was the wrong way around 19:08:08 i.e., YYLEX_PARAM is being set wrongly 19:08:52 FIN 19:08:57 (Maybe, need a quick check) 19:19:47 ais523: beer.i still hasn't finished, I'm worried 19:21:05 ais523: Think it's hung? 19:21:11 ais523: beer.i still hasn't finished, I'm worried <-- you know in a different context that _could_ be worrisome. 19:21:18 :D 19:21:26 http://codu.org/tmp/superturing.ogg MY MASTERPIECE 19:21:28 elliott: quite possibly, it should be faster than that 19:23:20 ais523: can I run the test suite without beer.i somehow? 19:23:28 ais523: or make ick print debug output? 19:23:53 elliott: ick has a whole bunch of debug options, and there's some way to get the testsuite to use them but I can't remember what they are offhand 19:24:01 heh 19:24:04 try compiling beer.i by hand 19:24:18 ah 19:24:19 by setting ICK 19:24:24 what's a good debug flag to use for parsing? 19:24:40 -d 19:25:06 hmm, Makefile ignores ICK and passes its own to pit/Makefile 19:25:17 yep, you have to use pit/Makefile directly 19:25:17 * elliott does it manually 19:25:24 ais523: I have a feeling pit/Makefile is eating up the debug output 19:25:26 (because ICK has the wrong value in Makefile) 19:25:26 because I see none 19:25:29 elliott: probably 19:25:32 manually's likely best 19:26:38 j-invariant: "We can’t expect to construct a reasonable Search Integer. We could encode in the bits of an Integer the execution trace of a Turing machine, as in the proof of the undecidability of the Post correspondence problem. We could write a total function validTrace :: Integer -> Bool that returns True if and only if the given integer represents a valid trace that ends in a halting state. And we could also write a function initialState :: 19:26:38 Integer -> MachineState that extracts the first state of the machine. Then the function \machine -> searchInteger (\x -> initialState x == machine && validTrace x) would solve the halting problem." 19:27:10 ais523: I have a feeling -d prints things too late 19:27:32 elliott: I think what's happening is that you go into an infinite loop before it prints anything 19:27:43 that's what i said 19:29:20 as long as it's not what she said 19:29:27 NOBODY'S COMMENTING ON HOW AWESOME MY MASTERPIECE IS 19:29:47 -!- acetoline has joined. 19:29:53 Gregor: you finished it? 19:30:11 quintopia: Yes ... in that I had no intention of spending any real time on it, so I now decree it "done" :P 19:30:27 hence "masterpiece" 19:30:28 i see 19:30:47 it definitely has every element one would expect from a video game theme 19:30:57 crossed with a tristan perich piece 19:32:04 I think the perspective that it sounds video-game-ish is just because it's made from soundfonts *shrugs* 19:32:27 iwc appears to have gone into "dmm is gone so now i can break all the time mode" :( 19:32:34 no i don't think that's it 19:32:41 it would still sound videogamey if played live 19:32:53 it's in moment form obviously 19:33:00 but each moment could be a theme unto itself 19:35:19 oerjan: dmm is gone? 19:35:25 oh you mean on a break. 19:40:31 -!- sshc has joined. 19:42:49 yes 19:43:42 -!- ais523 has quit (Read error: Connection reset by peer). 19:43:54 hey oerjan how do I do CHARSETS, in HASKELL 19:44:55 Hmm 19:45:13 Shouldn't SuperTuring be able to solve the halting problem anyway? 19:45:16 I mean, he is /Super/-Turing 19:45:23 elliott: i've never even tried to, but i recall that ghc changed the entire way text IO does charsets relatively recently 19:45:33 WHAT IS SUPERTURING 19:45:55 oerjan: yeah but in this case I'm reading in as a bytestring and then need to detect the charset and convert it -- best thing is that iconv seems to use a different list of charsets to the charset detector package 19:45:59 so I'm not sure htat will work :D 19:46:01 j-invariant: Most awesome superhero evars. elliott can explain better :P 19:46:21 j-invariant: When Turing bit that apple, the cyanide didn't kill him... it transformed him... into SUPERTURING!!!!! 19:46:47 -!- sshc has quit (Read error: Connection reset by peer). 19:46:53 -!- sshc has joined. 19:48:03 elliott: well if you just try to detect utf-8 and fallback to latin-1 like i think irssi does? 19:48:04 elliott: Here's why SuperTuring should be able to solve the halting problem: "SpiderMan may have spider powers, SuperMan may have super strength, but only SuperTuring can solve the halting problem!" 19:48:14 oerjan: That's cheating :P 19:48:27 oerjan: iconv /might/ accept the alternate names, I'm not sure. 19:48:37 Gregor: X-D 19:49:20 * quintopia gets to work drawing a cyanide-laced apple for websplat. 19:49:30 *thumbs-up* 19:49:33 it shall transform gregor into super-turing! 19:49:53 elliott: well ask in #haskell 19:50:03 i did, it's too high-traffic for me to be noticed :P 19:50:13 ouch 19:50:32 oerjan: was monochrome always _really_ grumpy? 19:50:44 he's always been grumpy but i think he's increased grumpiness levels since #haskell exploded in popularity 19:50:48 ...i've forgotten 19:50:51 *monochrom 19:51:15 @help 19:51:15 help . Ask for help for . Try 'list' for all commands 19:51:18 @list 19:51:19 http://code.haskell.org/lambdabot/COMMANDS 19:51:23 erm right 19:51:26 -!- zzo38 has joined. 19:51:36 @where 19:51:36 @where , return element associated with key 19:51:49 oerjan: wat 19:52:02 what's the command to get lambdabot to tell its channels again 19:52:07 @channels 19:52:08 Unknown command, try @list 19:52:09 @poop 19:52:09 Unknown command, try @list 19:52:13 oerjan: check the list :P 19:52:30 assuming that's even up to date 19:52:41 oh wait 19:52:45 @seen lambdabot 19:52:46 Unknown command, try @list 19:52:49 damn 19:53:08 -!- sshc has quit (Read error: Connection reset by peer). 19:53:14 -!- sshc has joined. 19:53:26 oerjan: I _think_ it's auto-generated 19:53:27 @help seen 19:53:28 help . Ask for help for . Try 'list' for all commands 19:53:39 @help @seen 19:53:39 help . Ask for help for . Try 'list' for all commands 19:53:55 @list seen 19:53:55 No module "seen" loaded 19:54:12 except for the fact that seen is clearly listed 19:54:18 :D 19:54:23 lambdabot: seen poop 19:54:47 it's not loaded 19:55:14 @users 19:55:14 Unknown command, try @list 19:55:17 The command list won't load...... 19:55:31 zzo38: it was slow for me but loaded 19:57:24 @list quote 19:57:25 quote provides: quote remember forget ghc fortune yow arr yarr keal b52s brain palomer girl19 v yhjulwwiefzojcbxybbruweejw protontorpedo nixon farber 19:57:45 aha it's _not_ the same list 19:57:48 :D 19:57:51 why not 19:57:56 Finally it loaded. 19:57:56 (forget is missing in the web list) 19:58:04 @forget 19:58:04 Incorrect arguments to quote 19:58:06 @forget me not 19:58:06 No match. 19:58:51 also nixon and farber 19:58:55 @nixon 19:58:55 Don't try to take on a new personality; it doesn't work. 19:59:44 Is it possible to make up poll with this program? 19:59:56 which program? 19:59:57 -!- sshc has quit (Read error: Connection reset by peer). 20:00:03 -!- sshc has joined. 20:00:24 oerjan: I mean with lambdabot program. 20:00:33 @po;ll 20:00:34 Unknown command, try @list 20:00:35 @poll 20:00:35 Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show pl spell tell 20:00:41 @poll-show 20:00:42 Missing argument. Check @help for info. 20:00:43 @poll-list 20:00:44 ["\"blah\"","food","logoVotingMethod","naming","remove@src","threeway"] 20:00:44 @poll-list 20:00:45 ["\"blah\"","food","logoVotingMethod","naming","remove@src","threeway"] 20:00:48 @help poll-add 20:00:48 poll-add Adds a new poll, with no candidates 20:00:50 @poll-show remove@src 20:00:50 ["no","yes"] 20:00:56 @poll-result remove@src 20:00:56 Poll results for remove@src (Closed): no=1, yes=1 20:01:01 @vote 20:01:02 @poll-result logoVotingMEthod 20:01:02 No such poll: "logoVotingMEthod" 20:01:02 Missing argument. Check @help for info. 20:01:04 @poll-result logoVotingMethod 20:01:05 Poll results for logoVotingMethod (Open): Schulze=1 20:01:09 @poll-result threeway 20:01:09 Poll results for threeway (Closed): method3=3, method2=0, method1=1 20:01:10 @help vote 20:01:10 vote Vote for in 20:01:11 @poll-result "blah" 20:01:11 Poll results for "blah" (Open): no=0, yes=0 20:01:13 @poll-result food 20:01:13 Poll results for food (Open): quesadilla=1, meatball-sub=0 20:01:16 @vote remove@src yes 20:01:16 @help vote 20:01:17 vote Vote for in 20:01:17 The "remove@src" poll is closed, sorry ! 20:01:24 :t map 20:01:25 forall a b. (a -> b) -> [a] -> [b] 20:01:28 :t (.) 20:01:28 @vote threeway yes 20:01:28 The "threeway" poll is closed, sorry ! 20:01:29 forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b 20:01:29 @vote remove@src no 20:01:31 @src (.) 20:01:38 @src map 20:01:39 map _ [] = [] 20:01:39 map f (x:xs) = f x : map f xs 20:01:41 @src (.) 20:01:41 (f . g) x = f (g x) 20:01:41 NB: In lambdabot, (.) = fmap 20:01:43 :D 20:01:46 extra note! 20:01:52 *In Caleskell, 20:02:29 it's a sad day when changing a LIBRARAY FUNCTION continues a "new programming language" 20:02:38 asking cale about caleskell is hilarious, he doesn't like the name apparently 20:02:42 j-invariant: it's a joke... 20:02:52 olsner: aw, i must have offended him then 20:02:55 :D 20:03:28 olsner: imo map needs to become fmap 20:03:40 hurry-coward 20:03:41 @type map 20:03:42 j-invariant: anyway Caleskell also includes industry-grade symbolic capabilities: 20:03:43 forall a b. (a -> b) -> [a] -> [b] 20:03:49 > foldr f (cycle x) 20:03:50 hmm, weird 20:03:50 Couldn't match expected type `[a]' 20:03:50 against inferred type `SimpleRef... 20:03:52 > foldr f (cycle [x]) 20:03:53 No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr]) 20:03:53 arising fr... 20:03:55 > foldr f (repeat x) 20:03:56 No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr]) 20:03:56 arising fr... 20:04:00 as i said, industry-grade 20:04:01 j-invariant: (.) is a very basic function, almost on the border of syntax... 20:04:03 > foldr f (fix (x:)) 20:04:04 No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr]) 20:04:04 arising fr... 20:04:06 what 20:04:07 :D 20:04:11 OH 20:04:18 > foldr f z (repeat x) 20:04:19 f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (... 20:04:24 j-invariant: industry-grade symbolic capabilities 20:05:24 Please read this: http://repo.or.cz/w/TeXnicard.git/blob_plain/HEAD:/doc/extra_repository.txt 20:06:15 -!- sshc has quit (Read error: Connection reset by peer). 20:06:22 -!- sshc has joined. 20:06:51 > fix (f x) 20:06:52 Ambiguous type variable `a' in the constraints: 20:06:52 `GHC.Show.Show a' 20:06:52 a... 20:06:55 > fix (f x) :: Expr 20:06:56 f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (... 20:07:32 > fix f 20:07:32 Ambiguous type variable `a' in the constraints: 20:07:33 `GHC.Show.Show a' 20:07:33 a... 20:07:35 > fix f :: Expr 20:07:36 f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (... 20:07:39 j-invariant: Industry grade. 20:07:42 > iterate f x 20:07:43 [x,f x,f (f x),f (f (f x)),f (f (f (f x))),f (f (f (f (f x)))),f (f (f (f (... 20:08:00 > scanl f z (repeat x) :: Expr 20:08:00 Couldn't match expected type `SimpleReflect.Expr' 20:08:01 against inferred ... 20:08:06 omg fail 20:08:30 Can you read the message? 20:08:35 zzo38: no 20:08:42 practice in priv, feign mastery in channel :) 20:08:57 we are the flaws, not Caleskell's industry grade symbolics capabilities 20:09:03 it's not Caleskell 20:09:05 it's just simple-reflect 20:09:11 olsner: that's the story of my life 20:09:17 copumpkin: which is an official part of the Caleskell Report. 20:09:18 copumpkin: Why? Is broken? Can you read *this* message? 20:09:30 zzo38: can't read that one either 20:09:39 zzo38: what are you saying i can read nothing 20:10:21 copumpkin: Then how can you reply? 20:10:28 he can't 20:10:29 and neither can i 20:10:49 elliott: For the first message, I was refering to the extra_repository.txt file, not the message "Can you read the message?" The second question was refering to itself. 20:10:58 I cannot read your message. 20:11:01 > scanl f z (repeat (x :: Expr)) :: Expr 20:11:02 Couldn't match expected type `SimpleReflect.Expr' 20:11:02 against inferred ... 20:11:06 zzo38: we're just fucking with you 20:11:10 oerjan: [Expr] 20:11:16 but I was too lazy to fix it 20:11:21 > scanl f z (repeat (x :: Expr)) :: [Expr] 20:11:21 [z,f z x,f (f z x) x,f (f (f z x) x) x,f (f (f (f z x) x) x) x,f (f (f (f (... 20:12:37 > scanl (const . f) x (repeat x) :: [Expr] 20:12:39 [x,f x,f (f x),f (f (f x)),f (f (f (f x))),f (f (f (f (f x)))),f (f (f (f (... 20:12:42 there we go 20:12:48 j-invariant: industry-grade 20:12:55 elliott: you mean like parsec? 20:12:58 yes 20:12:59 * copumpkin fumes 20:13:11 > iterate f g 20:13:12 Ambiguous type variable `a' in the constraints: 20:13:12 `SimpleReflect.FromExpr ... 20:13:14 > iterate f g :: [EXpr] 20:13:15 Not in scope: type constructor or class `EXpr' 20:13:16 > iterate f g :: [Expr] 20:13:17 [g,f g,f (f g),f (f (f g)),f (f (f (f g))),f (f (f (f (f g)))),f (f (f (f (... 20:13:21 > iterate f (g x) :: [Expr] 20:13:22 [g x,f (g x),f (f (g x)),f (f (f (g x))),f (f (f (f (g x)))),f (f (f (f (f ... 20:13:30 -!- sshc has quit (Read error: Connection reset by peer). 20:13:36 -!- sshc has joined. 20:14:39 > iterate iterate x :: [Expr] 20:14:39 Couldn't match expected type `SimpleReflect.Expr' 20:14:40 against inferred ... 20:14:43 LAME 20:14:53 Caleskell 2012 should mandate that all functions can be used symbolically. 20:15:38 elliott: shut up!! 20:15:43 im trying to dig 20:15:45 j-invariant: lol 20:18:38 Caleskell 2012 should mandate that all functions can be used symbolically. <-- Caleskell? 20:18:43 Yes. 20:18:48 As implemented by lambdabot. 20:18:51 :t iterate iterate 20:18:52 Occurs check: cannot construct the infinite type: a = [a] 20:18:52 Expected type: a 20:18:52 Inferred type: [a] 20:19:10 NO CAN DO 20:19:28 :t iterate 20:19:29 forall a. (a -> a) -> a -> [a] 20:19:58 -!- sshc has quit (Read error: Connection reset by peer). 20:20:05 -!- sshc has joined. 20:21:10 :t iterate (iterate . concat) 20:21:11 Couldn't match expected type `a -> [a]' 20:21:11 against inferred type `[[a1]]' 20:21:11 In the second argument of `(.)', namely `concat' 20:21:26 :t iterate (iterate . (concat .)) 20:21:27 forall a. ([a] -> [[a]]) -> [[a] -> [[a]]] 20:21:31 -!- GreaseMonkey has joined. 20:23:00 > map ($ "hm") $ iterate (iterate . (concat .)) (return .) 20:23:01 [["h","m"],["hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm... 20:23:54 > map (take 4) . map ($ "hm") $ iterate (iterate . (concat .)) (return .) 20:23:56 [["h","m"],["hm","hm","hm","hm"],["hm","hmhmhmhmhmhmhmhmhmhmhmhmhmhmhmhmhmh... 20:24:21 > map (take 4 . map (take 10)) . map ($ "hm") $ iterate (iterate . (concat .)) (return .) 20:24:23 [["h","m"],["hm","hm","hm","hm"],["hm","hmhmhmhmhm","hmhmhmhmhm","hmhmhmhmh... 20:24:57 an immensely useful function. 20:25:05 -!- sshc has quit (Ping timeout: 240 seconds). 20:26:27 very 20:26:39 oerjan: i wish you could override the type of (<) 20:26:40 and (==) 20:26:41 ok maybe not 20:26:42 but it would be useful 20:26:43 kind 20:26:44 a 20:26:44 -!- sshc has joined. 20:27:11 they're already class methods... 20:27:25 oerjan: but you can't override their return type :D 20:27:36 hm. 20:27:50 oerjan: consider you have some symbolic x 20:27:56 it would be nice if (x<50) could be symbolic, too 20:28:15 oerjan: in fact this is what stops you doing _too_ complicated symbolic number stuff in haskell 20:28:25 but it'd be a pain to make work properly... 20:28:27 *make it 20:28:44 well there's always import Prelude () 20:29:28 cabal: cannot configure charsetdetect-1.0. It requires base >=4.2.0.2 && <5 20:29:28 For the dependency on base >=4.2.0.2 && <5 there are these packages: 20:29:28 base-4.2.0.2 and base-4.3.0.0. However none of them are available. 20:29:28 base-4.2.0.2 was excluded because of the top level dependency base -any 20:29:28 base-4.3.0.0 was excluded because of the top level dependency base -any 20:29:29 oh dear... 20:30:57 how eerily relevent to recent r/haskell discussion 20:31:01 *relevant 20:31:05 but I only have one base installed! 20:31:22 4.2.0.0 20:31:25 hmm, I wonder what the .2 is 20:31:46 -!- azaq23 has joined. 20:33:05 -!- sshc has quit (Read error: Connection reset by peer). 20:33:10 -!- sshc has joined. 20:33:53 -!- zzo38 has quit (Quit: zzo38). 20:35:21 i would snark something about not battling with my computer except the iwc forum _still_ keeps not loading. 20:36:04 although technically that may not be _my_ computer i'm battling with. 20:36:23 ok it actually loaded 20:37:22 oerjan: at this point, windows seems like a great option :) 20:37:40 oerjan: Kitten would handle this. sigh. 20:37:49 ok i'm downloading and compiling my own fucking haskell platform 20:40:02 -!- sshc has quit (Read error: Connection reset by peer). 20:41:40 oerjan: i'm actually tempted to make a windows partition now and try living the simple life :D 20:41:46 darn norwegians 20:42:34 i don't see what's so norwegian about it... 20:43:49 oerjan: you all live simple lives in fjörds 20:44:22 if yöu säy sö 20:44:36 what do the following people have in common: BeholdMyGlory, nooga, me, rodgort, Vorpal, Wamanuz, yiyus? 20:44:53 at least the fjord part is fairly accurate for me 20:45:04 actually the simple part too 20:45:17 quintopia: no f idea 20:45:39 oerjan: can i come visit, and steal your powers 20:45:43 sorry, i mean, visit 20:45:46 and steal your po NO 20:46:04 i don't think i have any powers you'd want 20:46:17 and that would be stealable 20:46:25 oerjan: we're the only people you can reliably address in here with two keystrokes. hell, there are 7 nicks starting with m! 20:46:41 O KAY 20:46:49 -!- FIQ has joined. 20:46:51 quintopia, what about Phantom_Hoover? 20:47:02 Oh, including the tab. 20:47:02 what about 'im? 20:47:05 INDEED WHAT ABOUT Phantom_Hoover 20:47:14 I HATE THE BASTARD 20:47:23 oh reliably 20:47:38 * oerjan just test p and saw it give the correct nick 20:47:43 *tested 20:48:01 anyone here know any irssi experts? 20:48:23 nope 20:48:36 oh okay 20:48:54 i do use irssi though 20:58:57 oerjan, my client does in reverse order of speaking when tab complete 20:59:10 so if pikhq spoke after Phantom_Hoover then it would tab complete to pikhq first 20:59:13 so does mine afaik 21:01:14 how clever of it... I think mine just completes alphabetically 21:02:30 in irssi you have to add an extra script to get that functionality 21:04:53 ...i use irssi and it worked that way from the start, but it's a shared machine so may have some setup. 21:16:10 -!- Sgeo has quit (Ping timeout: 240 seconds). 21:17:12 -!- impomatic has joined. 21:17:27 -!- Sgeo has joined. 21:18:18 Oh, the Finnish word for "on top of" is the same as that for "turned on"? How CUTE! 21:18:42 i lolled 21:19:12 the finns always skip a few steps 21:20:01 Huh. Wiktionary says that "kaapin päällä" can mean "on top of the cupboard". "päällä" is also a noun, though, meaning "at the head/end/tip", and "kaapin" just means "of the cupboard". 21:20:12 hey oerjan 21:20:20 i need you to say something in a freaky windows charset 21:20:23 and upload the file somewhere 21:20:23 KTHX 21:20:37 So "kaapin päällä" can be also thought of as "of the cupboard on the tip", aye? 21:20:40 ...wtf? 21:20:52 oerjan: thanks 21:21:13 um which freaky windows charset? 21:22:01 REQUEST DENIED DUE TO INSUFFICIENT SPECIFICATION 21:22:01 oerjan: any 21:22:04 just non-utf8 21:22:10 like, windows-1251 or that ISO one 21:22:10 or whatever 21:22:14 grmbl 21:22:15 the one that oklopol uses 21:22:17 THX 21:22:31 oerjan: it's for the benefit of the log formatter :> 21:22:59 i'm pretty sure those are just 8-bit ASCII extensions? 21:23:19 oerjan: i think so, yes. 21:23:55 * impomatic prods Gregor :-) 21:23:58 tswett: link the wiktionary page? 21:24:03 impomatic: ? 21:24:04 impomatic: ??? 21:24:25 Gregor: can you remember when you invented FYB? Was it July 2005? 21:24:34 quintopia: well, it's that of päällä. 21:24:46 doc/ 28-Jul-2005 09:26 - 21:24:46 impl/ 28-Jul-2005 09:26 - 21:24:46 src/ 28-Jul-2005 09:26 - 21:24:46 util/ 28-Jul-2005 09:26 - 21:24:50 impomatic: from the esoteric archive 21:24:52 so that seems likely 21:24:53 or maybe june 21:24:58 if it took a month to get in the archive :P 21:25:00 impomatic: May 21:25:04 * oerjan tries saving notepad as "ANSI". 21:25:12 Gregor: thanks :-) 21:25:29 oerjan: you _might_ want to try and DCC it here 21:25:34 to avoid web servers messing with the encoding header 21:25:54 elliott: er that would require getting it onto NVG first 21:26:08 which might mess up things in itself 21:26:18 oerjan: scp shouldn't mess anything up but i guess you might not have that 21:26:25 ftp would probably be dodgy too 21:26:28 hm :P 21:26:31 oerjan: oh, I know! 21:26:34 oerjan: can you use uuencode? 21:26:37 do you have it there 21:26:41 putty does have an ftp thing 21:26:49 i've used it before 21:26:49 yeah but ftp has a binary mode and a text mode 21:26:54 so it might fuck with things 21:27:02 i guess if you do BIN first it should be ok 21:27:17 oerjan: http://www.bastet.com/uue.zip 21:27:20 that's uuencode for windows 21:27:22 FWIW 21:27:29 which you could just put the output of on a pastebin I guess... 21:28:13 quintopia: http://codu.org/music/silly/superturing.ogg THERE I used different brass. 21:28:30 I hope you've saved all the revisions of this :P 21:29:00 Gregor: it is much nicer 21:29:15 if only it had realistic ADSR now :P 21:29:40 * elliott punches quintopia 21:29:50 Gregor: Now turn it into a chiptune. 21:29:52 quintopia: MEH MEH MEH MEH 21:29:58 elliott: Turn your MOM into a chiptune. 21:30:02 Okay. 21:30:10 I think there are terrible midi->chiptune converters. 21:30:12 YOU COULD USE THOSE. 21:30:39 dammit my PsFTP icon is set to use the nvg machine that disappeared and i cannot find where it's set 21:30:52 oerjan: use cmd.exe's ftp 21:30:54 like a boss 21:30:58 > ftp 21:30:58 Not in scope: `ftp' 21:31:02 open servername port 21:31:07 cd my/relevant/directory 21:31:08 bin 21:31:11 put C:\local\filename 21:31:12 IIRC 21:31:48 elliott: um this is not supposed to be "real" ftp. iirc nvg has stopped supporting non-ssl solutions 21:32:03 it's putty's variant that is encrypted 21:32:17 oerjan: ah. 21:32:21 oerjan: *ssh, probably. 21:32:24 not ssl 21:34:14 elliott, yeah it is likely sftp 21:34:26 oh of course it's just a batch file 21:35:47 elliott: http://oerjan.nvg.org/test.txt 21:36:22 test.txt: ISO-8859 text, with CRLF line terminators 21:36:23 yay 21:36:27 now to get this haskell package working 21:36:30 oerjan: thank you 21:37:09 Loading package charsetdetect-1.0 ... linking ... : /home/elliott/.cabal/lib/charsetdetect-1.0/ghc-6.12.3/HScharsetdetect-1.0.o: unknown symbol `__dso_handle' 21:37:10 What ... 21:37:10 you're welcome 21:39:29 quintopia: http://codu.org/music/silly/superturing.ogg THERE I used different brass. <-- nice 21:41:44 Gregor, oh wait you added organ? 21:41:44 oerjan: see on WIndows ... :D 21:42:04 Vorpal: ... there always was an organ :P 21:42:13 Gregor, oh I somehow missed it before 21:42:13 Gregor: Note that, as a child, organs regularly disembowelled Vorpal. 21:42:17 This is why he has a fiery hatred of them. 21:42:18 Gregor, I hate organs :P 21:42:23 elliott, ideed! 21:42:26 indeed* 21:42:32 oerjan: there's a hackage for that: "clogparse library: Parse IRC logs such as the #haskell logs on tunes.org" 21:42:32 Well, you'll just have to tolerate it :P 21:42:37 Gregor, yeah 21:42:49 oerjan: *There's a Hackage for that.(TM) 21:42:49 Gregor, what instruments are in there 21:42:50 elliott: heh 21:42:51 the full list 21:43:31 oerjan: there's a hackage for that: "clogparse library: Parse IRC logs such as the #haskell logs on tunes.org" <-- it logs that channel too? 21:43:38 oh, so it does 21:43:41 um yes 21:43:42 and #concatenative 21:43:47 ah 21:43:47 (Factor's channel) 21:43:48 and a few others 21:43:54 #forth 21:43:56 #lisp 21:43:56 #ocaml 21:43:58 #osdev 21:43:59 Vorpal: (In nonsense order) Piano, overdriven guitar, trumpet, trombone, harp, timpani, orchestral hit, organ 21:44:02 #retro (retroforth?) 21:44:03 #scheme 21:44:09 #slate #squeak #croquet #ai 21:44:15 and #tunes 21:44:25 elliott, #croquet ? 21:44:32 Vorpal: Presumably the Croquet Project thing. 21:44:35 I'm going to read the hitchhiker's guide in english now! 21:44:42 elliott, I haven't heard of that, what is it? 21:44:53 Which, being Smalltalk + 3D virtual reality, is probably what Sgeo murmurs the name of while asleep. 21:45:08 (read it in swedish before I realized how sucky translations into swedish are) 21:45:11 http://upload.wikimedia.org/wikipedia/en/4/4f/Edit_Source_Code.jpeg ROTATED CODE THE FUTURE IS NOW 21:45:34 lool 21:45:49 Parse a log file. 21:45:49 The file name (after any directory) is significant. It is used to set the date for timestamps. It should have the form YY.MM.DD, as do the files on tunes.org. 21:45:50 :D 21:45:55 since it's 3d you can just move your head to the right to get a better view, right? 21:45:56 ugh 21:45:57 IRC has no single standard character encoding. This module decodes messages as UTF-8 following common practice on Freenode. 21:46:00 INSUFFICIENT 21:46:03 elliott, the way I see it... The reason we are still using 2D interfaces is that a 3D interface projected on a 2D surface sucks. 21:46:05 we have invalid utf-8 in here 21:46:08 so that won't even work 21:46:13 unless it replaces invalid chars 21:46:15 and we can't do true 3D interfaces in a reasonable way 21:46:31 hm it looks like it does some kind of time zone stuff though 21:46:48 Vorpal: 3D interfaces require another axis of movement 21:46:54 a 1D interface would be ideal but it is bad for conveying data 21:46:56 elliott, exactly 21:46:59 so 2D is the sweet spot 21:47:05 since the point is basically 21:47:07 oh now what I thought then 21:47:08 with a spatial interface 21:47:13 you have to move to a button 21:47:17 even though this is purely "overhead" 21:47:17 elliott, 3D interfaces would be useful with some things 21:47:21 and not relevant to what you actually want to do 21:47:22 now 21:47:22 with 2D 21:47:25 you have to align two axes 21:47:28 with 3D, it's three 21:47:35 elliott, such as a 3D editor. A true 3D interface for that would be useful 21:47:35 and not only is the visual aspect a problem like you said 21:47:51 but it makes manoeuvring even more of a pain 21:48:19 oerjan: heh this is almost my structure http://hackage.haskell.org/packages/archive/clogparse/0.2/doc/html/Data-IRC-Event.html 21:48:22 elliott, yeah. Still for some applications a true 3D hologram thingy would be useful 21:48:25 except mine has hostname and server name 21:48:26 Ohh, right, Croquet 21:48:29 but that's arguably unnecessary 21:48:33 How's Cobolt coming along? 21:48:40 since clog doesn't know it...except it kinda does sometimes 21:48:54 *Cobalt 21:49:01 COBOL* 21:49:03 (sorry) 21:49:05 Steven Cobolt 21:49:20 who's that 21:49:23 elliott, Cobbleot* 21:49:29 Stephen Cobblestone. 21:49:43 elliott, no no, Cobbleot like Camelot 21:50:53 hmm /me wants to upload acme-evil to Hackage 21:51:01 elliott, is the thing in http://upload.wikimedia.org/wikipedia/en/4/4f/Edit_Source_Code.jpeg squeak btw? 21:51:04 including this wonderful, horrible package: http://hackage.haskell.org/package/isevaluated 21:51:09 elliott, acme-evil? 21:51:10 Vorpal: yes 21:51:15 Vorpal: with EVIL things 21:51:20 elliott, such as? 21:51:26 Vorpal: such as that isEvaluated :P 21:51:46 hah 21:52:24 j-invariant: it would be fun to formalise that (conat -> bool) thing in coq 21:52:57 forall (P : conat -> Prop), decidable P -> decidable (exists x, P x) 21:53:00 or something 21:53:02 um no it wouldnt' 21:53:35 j-invariant: why not 21:53:40 too difficult 21:53:46 not sure if you can even prove ti at all 21:54:03 Vorpal: So you don't like accordions OR organs? 21:54:51 j-invariant: surely you can 21:55:00 oh 21:55:06 oh? 21:55:14 I thought it couldn't be proved 21:55:34 j-invariant: I don't see why it couldn't be, the only tricky thing is handling the not case (infinity) 21:55:52 you should do it 21:56:00 j-invariant: yeah ok later :P 21:56:03 I wwant to read it 21:56:05 j-invariant: it'd be extra fun with this though: 21:56:06 obble dobble 21:56:36 elliott: chu talkin bout foo' 21:56:52 j-invariant: forall (P : nat -> Prop), someCondition P -> decidable P -> exists (Q : conat -> Prop), (forall x, P x -> Q (nat2conat x)) /\ decidable Q 21:57:00 j-invariant: no fucking clue what someCondition would be 21:57:15 why is it, when I touch the speaker end it buzzes? I'm not electric 21:57:54 j-invariant: OH YESY OU ARE 21:57:56 *YES YOU 21:58:27 so is my cat 21:58:32 yes. 21:58:36 you and your cat are made of electric. 22:00:32 it's the body electric 22:00:50 Vorpal: So you don't like accordions OR organs? <-- uh, accordions are okay 22:00:59 Gregor, I'm neutral about them 22:01:02 Oh, I thought it was you who complained about zee3 because of the accordion :P 22:01:08 Gregor, nope 22:01:21 Gregor, or maybe saying it didn't seem to fit into the style of the rest of the music 22:01:34 but I'm neutral towards accordions in general 22:01:39 Well zee3 doesn't fit with the other zees, but the accordion fits zee3's style :P 22:01:45 Gregor, well duh :P 22:02:21 lazy evaluation is so great 22:02:43 elliott: NOBODY ASKED YOU 22:02:49 elliott: (So you shouldn't have evaluated that fact) 22:03:16 HAR HAR HAR 22:06:00 * Gregor is listening to superturing.ogg on loop X-P 22:06:02 Gregor, did you update the SuperTuring theme? 22:06:09 What a stupid question. You obviously did. 22:06:11 Phantom_Hoover: http://codu.org/music/silly/superturing.ogg 22:06:36 The ending is friggin' amazing X-P 22:08:13 oerjan: spot the error that made this program do nothing: 22:08:17 main = print <$> detectEncodingName <$> B.readFile "test.txt" 22:08:26 Also, the transition at 1:20 is pretty much the greatest moment in musical history. 22:08:34 Just "windows-1252" 22:08:34 yay 22:08:37 Gregor: Is that when it goes all piano? 22:08:43 elliott: Yup :P 22:08:54 elliott: Straight from thrashing overdriven guitar to ragtime :P 22:09:09 Gregor: There's GUITAR? X-D 22:09:15 Your soundfonts REALLY suck :P 22:09:16 i thought that was violin 22:09:28 Seriously, this needs a live performance. 22:09:29 It's an overdriven guitar, it's supposed to sound like a wtf mess. 22:09:32 Done by people looking VERY serious. 22:09:41 Gregor: I OBJECT TO THAT STATEMENT 22:09:59 i agree with this idea of performing it live 22:10:11 I OBJECT TO ALL USAGE OF THE CONCEPT OF OBJECTIONS 22:10:12 Fine, you guys arrange it :P 22:10:23 I suggest a lot of people with a lot of instruments. 22:10:27 Any objections? 22:10:31 I OBJECT 22:10:36 WHY 22:10:46 i think a lot of people with one instrument is a better idea 22:11:00 * Sgeo hits elliott and quintopia with an object 22:11:00 The SAME instrument. 22:11:16 A SINGLE INSTRUMENT THAT REQUIRES 100 PEOPLE TO PLAY IT 22:11:23 * Sgeo hits everyone else with a subject 22:11:35 * quintopia subjects Sgeo to torture 22:12:15 * Phantom_Hoover subjects Sgeo to cmake. 22:12:29 I've been tortured enough! 22:12:33 oerjan: wow it works 22:12:45 oerjan: YOU ARE WINNER! 22:12:56 ok now how can i do this without a painful conversion process :D 22:12:59 *YOU'RE 22:29:48 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:30:44 oerjan: spot the error that made this program do nothing: <-- the print <$> ... action doesn't _perform_ a print statement but _returns_ one 22:30:51 oerjan: yep 22:30:57 this makes me think that main should really be clamped to IO () :) 22:31:47 Or just write main :: IO () in all your programs 22:34:07 > (0$0<$>) 22:34:08 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 22:34:08 The operator `Data.Functor.<$>' [infixl 4] of a section 22:34:08 must have lowe... 22:34:13 hm right 22:34:48 so actually strictly speaking it's left associative, and the first <$> isn't even with the right Functor, so it's just the same as ., although it comes out to the same in the end. 22:35:34 because one of the Functor rules is that f <$> (g <$> x) = (f . g) <$> x = (f <$> g) <$> x 22:35:40 yeah 22:36:13 night 22:39:49 * elliott wows at "Silly comments on Apollo 13" 22:42:14 http://hackage.haskell.org/package/text-icu 22:42:14 AHA 22:42:16 A-HA! 22:42:24 THIS is what I need! 22:43:36 if you just have utf-8, you don't 22:44:45 copumpkin: I have utf-8 PLUS like 3 messages with stupid Windows shit 22:44:45 copumpkin: you haven't been paying attention 22:45:00 copumpkin: I have decided that the only thing I can do is therefore support any encoding possible :) 22:45:03 oerjan: true 22:45:05 and automatically detect and convert them all to Unicode 22:45:07 and send out the result as utf-8 22:45:28 copumpkin: so this is great because I can convert just about any string into a Text 22:45:32 aha 22:45:44 rather than going from bytestring to bytestring to (utf8 decoder) to text 22:45:47 which is just WASTEFUL :D 22:46:21 http://clpastebin.appspot.com/ lol @ man in the middle 22:48:04 perhaps I'll normalise the unicode 22:48:06 JUST BECAUSE I CAN 22:48:29 oerjan: "Character set converter type. Note: this structure is not thread safe. It is not safe to use value of this type simultaneously from multiple threads." 22:48:44 oerjan: Surely I should never be reading anything like that in Haskell library documentation... 22:48:46 Talk about a leaky abstraction. 22:50:08 ouch 22:50:31 oerjan: worse is, even though you can only create one in IO, you have 22:50:32 fromUnicode :: Converter -> Text -> ByteStringSource 22:50:32 Convert the Unicode string into a codepage string using the given converter. 22:50:32 toUnicode :: Converter -> ByteString -> TextSource 22:50:32 Convert the codepage string into a Unicode string using the given converter. 22:50:34 which are pure 22:50:40 if it was in IO, it'd be problematic but not language-breaking... 23:01:12 -!- impomatic has quit (Read error: Connection reset by peer). 23:11:31 -!- TLUL_ has joined. 23:14:06 -!- FireFly has quit (Quit: swatted to death). 23:14:11 -!- TLUL has quit (Ping timeout: 240 seconds). 23:14:15 -!- TLUL_ has changed nick to TLUL. 23:30:31 oerjan: I think I just wrote a Haskell program that depends on the endianness of the system ... 23:30:36 How did I manage that? 23:30:59 using the ffi 23:31:02 it does bit-twiddling? 23:31:03 SHEER BRILLIANCE 23:31:07 Well, because someone else used the ffi :) 23:31:16 main :: IO () 23:31:17 main = do 23:31:17 text <- B.getContents 23:31:17 case detectEncodingName text of 23:31:17 Nothing -> error "unknown encoding!" 23:31:17 Just encoding -> do 23:31:19 let bstr = IConv.convertFuzzy Transliterate encoding "UTF32LE" text 23:31:21 I.putStr (E.decodeUtf8 bstr) 23:31:22 erm 23:31:25 wait 23:31:27 main :: IO () 23:31:29 main = do 23:31:31 text <- B.getContents 23:31:33 case detectEncodingName text of 23:31:35 Nothing -> error "unknown encoding!" 23:31:37 Just encoding -> do 23:31:39 let bstr = IConv.convertFuzzy Transliterate encoding "UTF32LE" text 23:31:41 putStr (B.unpack bstr) 23:31:44 yeah 23:31:47 I think that won't work on a big-endian system 23:32:47 @hoogle Bytestring -> IO () 23:32:48 Did you mean: ByteString -> IO () /count=20 23:32:48 Control.Concurrent.MVar putMVar :: MVar a -> a -> IO () 23:32:48 Data.IORef writeIORef :: IORef a -> a -> IO () 23:32:58 @hoogle ByteString -> IO () 23:32:58 Data.ByteString putStr :: ByteString -> IO () 23:32:58 Data.ByteString putStrLn :: ByteString -> IO () 23:32:59 Data.ByteString.Char8 putStr :: ByteString -> IO () 23:32:59 oerjan: won't work, i'm using this with blaze-html 23:33:11 oerjan: so my choices are a String or Text 23:33:23 oerjan: Text wants strict bytestrings, not lazy ones, and bleh 23:33:27 oerjan: Strings are... this 23:33:40 um i'm merely pointing out that there is a putstr directly on ByteStrings 23:34:00 oerjan: right, the point is that it'll actually be 23:34:02 string (B.unpack bstr) 23:34:14 oerjan: because the end program won't actually be printing to stdout. 23:34:16 ok 23:35:49 also, what's the benefit of writing code in a purely functional language aside from theorem proving? 23:36:35 elliott: where does this myth come from? 23:36:41 j-invariant: poincare101 :P 23:36:42 OH WAIT, #haskell 23:36:51 copumpkin: i think it's time to ban j-invariant :D 23:36:58 how come? 23:37:05 he can't stay away! 23:37:08 lol 23:42:51 SYMANTEC. MUST. DIE. 23:46:53 try tnt 23:53:31 haskell is based on Dana Scott's mathematics but not Erdös's mathematics 23:53:32 :what: 23:54:41 http://fsl.cs.uiuc.edu/index.php/A_Formal_Semantics_of_C_with_Applications 23:54:46 Abstract. This paper describes an executable formal semantics of C expressed using a formalism based on term rewriting. Being executable, the semantics has been thoroughly tested against the GCC torture test suite and successfully passes over 96% of 715 test programs. It is the most complete and thoroughly tested formal definition of C to date. 23:54:46 The semantics yields an interpreter, debugger, and state space search tool "for free". The semantics is shown capable of automatically finding program errors, both statically and at runtime. It is also used to enumerate nondeterministic behavior. These techniques together allow the tool to identify undefined programs. 23:54:52 Gregor: You should PUT THIS IN JSMIPS 23:55:11 Even though that would do nothing :P 23:55:30 successfully passes over 96% of 715 test programs.??? 23:55:37 j-invariant: ? 23:55:39 that doesn't instill much confidence 23:55:47 j-invariant: well gcc's test suite is very comprehensive 23:55:53 j-invariant: it's not surprising that a lot of them test pathological behaviour 23:56:00 everything has Erdős's mathematics in it somewhere 23:56:12 HE WAS EVERYWHERE 23:56:16 j-invariant: less than 28.6 failing programs in a test suite as comprehensive and evil as gcc's is very impressive! 23:56:51 if yyou say so 23:59:10 j-invariant: do you _realise_ how awful C's semantics are? 23:59:17 and how evil gcc's test suite will be? 23:59:24 oerjan: btw i had an idea to circumvent the (x<5) can't be symbolic thing 23:59:55 oerjan: use "error" to throw an exception with x and 5 serialised, catch it higher up, and then construct a symbolic value from that :D