00:59:35 -!- clog has joined. 00:59:35 -!- clog has joined. 00:59:36 alise: I travel for M:tG tournaments; you never know, I could be in the UK next year 00:59:37 yay clog 00:59:41 coppro, yes or no? 00:59:45 AnMaster: Hungary? :P 00:59:46 (no) 00:59:48 coppro, FAIL 00:59:51 coppro: I bet in London or some other big city. 01:00:01 alise: most likely, yes 01:00:01 coppro, Sweden. See that is why you should include country. Not just state 01:00:08 coppro: Hungry? 01:00:10 If you're not in Newcastle, you're too far away to visit Hexham without making me worry that rape is a serious possibility. 01:00:12 I was joking 01:00:17 :P 01:00:27 coppro, not that I'm in Västerbotten. But I don't want to be more specific than "Sweden" 01:00:35 AnMaster: fair enough 01:01:03 (oddly enough, Ontario is far less specific geographically, but significantly more specific in terms of the number of people it might be 01:01:30 Ontario is bigger than Alberta? 01:01:30 coppro, so lower population density 01:01:39 Oh, are you meaning the area 01:01:40 *area? 01:01:47 Wait. 01:01:49 I was comparing to Sweden 01:01:51 I was confusing Ottawa and Ontario. 01:01:52 Heh. 01:01:58 Now I'm /really/ confused. 01:01:59 Ontario is larger both in area and population than Alberta 01:02:04 Yes. 01:02:13 I thought you meant Ottawa, which I thought was called Ontario because I am confused. 01:02:18 ok 01:02:38 aren't ottawa and ontario both in canada? 01:02:45 Yes. 01:02:46 Yes they are. 01:02:47 olsner: yes 01:02:51 Ottawa is also in Ontario. 01:02:57 Ottawa is the capital of Canada, conveniently located in Ontario 01:02:57 It's almost as if areas of the world are nested. 01:03:07 coppro: but the capital of Ontario is Toronto, isn't it? 01:03:12 now, saying Västerbotten to olsner would be far more successful of course 01:03:14 alise: nested!? woah!! 01:03:16 I believe that is what I read on Wikipedia three seconds ago 01:03:20 Yes, yes it is. 01:03:23 That's not confusing at all. 01:03:29 NOT AT ALL. 01:03:42 AnMaster: I have no idea where that is except it's in sweden, probably up north 01:03:44 wonderful 01:03:46 alise, ^ 01:03:50 alise: right 01:03:55 olsner, hah, but you live in Sweden 01:03:58 coppro: I think Ontario is more populous than Sweden. 01:04:00 olsner, and yes up north somewhere. 01:04:05 also there's Gatineau 01:04:07 which is in Quebec 01:04:08 Indeed. 01:04:13 but is also a part of the National Capital Region 01:04:25 olsner, I suspect I passed through on the sleeper train 01:04:26 Sweden: 9,354,462 01:04:30 if it is along the coast ther is 01:04:32 Ontario: 13,167,894 01:04:58 oh, sweden is small! (what else is new...) 01:05:05 alise: oh, really? 01:05:10 olsner, not by European area standards 01:05:11 olsner's conceptions about the world are being destroyed so badly today 01:05:12 I thought Sweden had more people 01:05:21 by population standards everywhere it is small 01:05:32 coppro: they all moved to finland because finland borders russia, where there are bears 01:05:37 reminding them of where they truly want to be, canada 01:05:41 so in a sense they're all canadian citizens. 01:06:06 olsner, London's population makes up a bit more than 80% of Sweden's population. Yet afaik UK has less area than Sweden 01:06:08 I learned from random old guy (who was also an immigrant from somewhere in africa) that sweden is the third largest country in the EU 01:06:16 but sweden is tiny 01:06:18 (recently) 01:06:23 alise, there are bears in Sweden? 01:06:31 so why would they move 01:07:08 (by "small" I did mean in terms of population though, not in area) 01:07:32 alise, UK is tinier (tinyer?) in area afaik 01:08:33 i cannot speak because i am 01:08:40 olsner: smaller than France, Germany, and Spain? 01:08:49 err, you know what I mean 01:08:55 coppro, easily 01:09:23 okay it's official: I'm an idiot 01:09:36 I really did have libc-2.7.so on my phone.. d'oh 01:09:39 lol 01:09:56 ld-2.7.so worked perfectly 01:10:12 AnMaster: oh, stupid me, I'm bad at sphere projections 01:10:20 coppro: I dunno, I don't dedicate storage for geography so that knowledge has already been purged 01:10:26 coppro, hm? 01:10:57 my geography allocation is 0 too 01:11:09 AnMaster: I was thinking Sweden was significantly smaller due to the fact that spherical projection is hard 01:11:37 uh 01:11:40 okay... 01:12:16 checking my globe, Sweden is definitely longer than any of those countries 01:13:11 I would suspect the area is smaller than France, but could be wrong 01:13:18 due to the not easy to compare shapes 01:13:36 * Sgeo is considering store healthloss per unit time rather than updating HP 01:14:07 which virtual world? 01:14:17 Active Worlds 01:15:02 why do we always end up discussing pointless things (like geography) here? 01:15:11 heh 01:15:31 XD 01:16:00 olsner: Clearly, we should replace the planet with a perfect sphere. 01:16:31 pikhq: clearly, the shape of the planet is irrelevant 01:16:48 And have a constant population density. 01:16:57 pikhq, I 01:17:12 I'd hate to end up living in the sea 01:17:23 -!- Mathnerd314 has joined. 01:17:39 or do you propose a constant water density as well? 01:17:50 AnMaster: Water? On the surface? Who needs it? 01:17:53 pikhq: torus pls 01:17:57 which would mean all sea, or perhaps marshes 01:18:11 olsner: is it not esoteric enough? 01:18:28 AnMaster: or we just amend the law of gravity 01:18:29 pikhq, klein bottle please 01:18:37 -!- calamari has quit (Quit: Leaving). 01:18:42 coppro: the shape of the planet? well, it's irrelevant! 01:19:17 olsner: you seem to be under the misconception that there exist things too esoteric for this channel 01:19:29 you are sadly mistaken 01:19:57 I think I'm rather arguing there are things too mundane for this channel 01:20:48 Lies. 01:21:54 there are things off topic for this channel that we don't discuss 01:21:59 I can't mention them though 01:22:04 since we would then discuss them 01:22:36 what about the things off topic for this channel that we *do* discuss? 01:22:51 there are far more of those 01:23:24 actually I could mention one example, since it would be meta discussion 01:23:35 -!- Mathnerd314 has quit (Ping timeout: 260 seconds). 01:23:57 to the extent of my knowledge, we have, prior to this point at least, not have any significant discussion about gardening. 01:24:12 good point 01:24:13 that's just one of many examples 01:24:23 good because it involves gardening 01:24:30 olsner, NO STOP IT! 01:24:41 are there any gardening-related esolangs around? 01:24:45 -_- 01:24:52 okay, now we have 01:25:00 something with search-*trees* and *pruning* perhaps? 01:25:01 I will refuse to mention any more examples 01:25:22 so in fact prolog is gardening-oriented programming 01:25:26 olsner, you now need to pay license fee to oerjan 01:25:57 AnMaster: as if! he's norwegian you know 01:26:10 olsner, oh but your horrible puns... 01:26:49 as always with puns, the horribler the better 01:26:57 agreed 01:27:54 time to stop spewing nonsense and go to sleep anyway 01:27:56 11:11:15 "many people prefer the look of AMS's \varnothing ... to that of LaTeX's \emptyset. 01:27:56 11:11:18 " 01:27:59 many people are wrong 01:28:22 These new earphones are suffering the same issue as all my others ;( 01:29:26 Sgeo, what issue 01:29:36 bad sound quality? 01:29:46 only way to fix that is getting headphones 01:29:47 instead 01:30:03 falling out of ears? again same fix 01:30:36 The wire breaks or something, and the sound only comes out of one ear unless I hold the wire just right 01:31:09 Sgeo, be more careful with them then 01:31:13 or get actual headphones 01:31:21 I had actual headphones once 01:31:21 they tend to have thicker wire 01:31:25 First ones to go 01:31:30 at least good ones 01:31:44 These were noise-cancelling, don't know if that's good 01:31:53 Not the current ones, the good ones 01:32:04 well, could be either 01:32:13 If the cord isn't replacable, it's probably too cheap. 01:32:14 :P 01:32:15 -!- derdon has quit (Ping timeout: 264 seconds). 01:32:47 hmm, was just about to spoil inception for y'all, but turns out I deleted that line instead of sending it 01:33:07 pikhq, indeed! 01:33:22 olsner, ? 01:33:40 IT'S ABOUT RECURSION 01:34:33 night → 01:35:07 -!- AnMaster has quit (Quit: ZNC - http://znc.sourceforge.net). 01:47:34 -!- cal153 has quit (Ping timeout: 276 seconds). 01:48:15 "Not necessarily - lambdas would still be useful without closures." 01:48:20 * Sgeo :p at alise 01:48:30 Yeah, but he's wrong. 02:13:36 -!- cal153 has joined. 02:15:04 ... Lambdas that *don't close*? 02:15:14 That's absolutely awful. 02:15:37 That's about C's level of support for it. 02:18:08 11:53:14 zzo38: do you think everyone should continue to support unsliced bread? 02:18:17 Fresh bread is usually unsliced. 02:18:28 Yes; a freshly baked loaf of bread is fucking delicious if done well. 02:18:36 -!- Sgeo has changed nick to Delicious. 02:18:43 Erg, registered nick 02:18:45 -!- Delicious has changed nick to Sgeo. 02:18:54 13:30:15 Googling for Icoruma is an adventure! 02:19:01 if zzo38 says it, look on zzo38computer.cjb.net 02:19:19 Always good advice. 02:19:41 When it says RPG rules, can that apply to computer RPGs? 02:20:10 Ah, no, it' 02:20:17 it's for typesetting RPG stuff, apparently 02:20:25 Also, I hate his website design. 02:20:29 http://zzo38computer.cjb.net/magic.htm This is revolting. 02:20:40 n/m 02:20:53 (the menu I'm just fine with; I mean, it's just about plain text. Nothing fancy, but nothing awful either.) 02:25:16 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 02:45:49 -!- Mathnerd314 has joined. 02:53:13 Goodnight. 02:58:06 Bye. 02:58:07 -!- alise has quit (Quit: Leaving). 02:58:43 pikhq: oh my, it truly is 03:02:14 -!- augur has joined. 03:18:32 -!- Wamanuz has quit (Remote host closed the connection). 03:54:09 -!- oerjan has joined. 03:58:24 `addquote cpressey, oh go to zzo's website. He is NIH AnMaster, really? I was strongly under the impression that zzo was invented here. 03:58:36 205| cpressey, oh go to zzo's website. He is NIH AnMaster, really? I was strongly under the impression that zzo was invented here. 04:05:34 NIH? 04:06:33 I think I want to like Ruby 04:07:04 But that's a far cry from actually liking Ruby 04:07:27 coppro: not invented here 04:07:42 ah 04:10:57 * Sgeo considers eating his box of pasta for breakfast instead of dinner 04:12:32 if you eat'a the pasta that fast'a, it won't last'a 04:12:36 Tonight I'll do both 04:14:31 -!- coppro has changed nick to bookmark. 04:15:17 -!- bookmark has changed nick to coppro. 04:15:35 Mrr? 04:15:54 eek, bookmarks in the logs 04:18:37 -!- AndChat| has joined. 04:18:46 Mrrrr? 04:18:56 AndChat| is not me. 04:19:02 I can tell 04:19:20 you don't cloak your host and they aren't close to the same 04:22:20 Well, if we don't know who it is, there's only one solution. 04:22:23 * Gregor cocks his gun. 04:22:25 * Gregor shoots. 04:22:26 -!- AndChat| has quit (Client Quit). 04:22:33 -!- Gregor-P has quit (Ping timeout: 245 seconds). 04:22:53 Collateral damage! D-8 04:23:01 * oerjan might now have a slight inkling of clue 04:27:12 -!- nooga has quit (Ping timeout: 246 seconds). 05:10:24 proof I am easily amused: I am watching a Futurama where the title caption was "scratch here to reveal prize"... so I did 05:11:00 ... wow. 05:13:09 Note to self: Flush stderr after writing to it 05:13:32 Note to Sgeo; write to file descriptor 2 instead. 05:13:33 :P 05:13:40 hm? 05:15:16 Screw buffered IO. 05:15:17 :P 05:16:30 Sgeo: stderr is not buffered by default; it shouldn't need flushing 05:16:38 Hmm 05:16:46 Then why did it not write? 05:16:54 I redirected stderr to errors.txt 05:17:09 Something happened that should have been written to Console.Error (which should be stderr), and... 05:17:37 oh, what language is this? 05:18:54 C# 05:18:57 lawlz 05:19:10 Yeah, just kill yourself now. 05:19:28 * coppro is with pikhq 05:23:40 Is Gregor ashamed to have recognized that? 05:23:41 Yes he is! 05:23:45 Is Gregor going to rectify this? 05:23:47 No he is not. 05:24:09 http://www.facebook.com/photo.php?pid=31300809&l=616aba37c8&id=1055580469 Is this the most epic picture ever taken? 05:24:11 Yes it is! 05:24:11 :P 05:24:24 You could pretend that you knew it only because I've been working in C# for the last few months 05:24:46 I knew it only because /I've/ been working in C# for the last few months *sobs* 05:25:01 It's not a terrible language 05:25:17 Gregor: Awesome. 05:25:34 Sgeo: What, does .NET require a lobotomy? 05:26:06 .NET is a bad idea that sounds like a good idea, poorly executed in a way that makes it look well-executed :P 05:26:50 I'd say useless idea more than bad 05:27:17 Well, fair enough. 05:27:46 Now, if Mono were up-to-snuff, it 05:27:56 it'd be a different story, imo 05:31:52 -!- Wamanuz has joined. 05:32:32 "errors.txt is so brilliant" 05:32:37 "btw" 05:49:45 * Sgeo is currently storing built binaries in version control 05:50:00 :/ 05:51:17 BUT BUT... THAT'S _EVIL_ 05:51:23 (iirc) 05:51:44 Why is it evil, and is there a less evil way? 05:51:53 (I currently access the production server via RDP) 05:52:24 * oerjan swats Sgeo -----### 05:52:33 The RDP thing is not my fault 05:52:51 YOU SEEM TO BE TAKING ME SERIOUSLY. WOULD YOU LIKE A LOBOTOMY TO FIX THIS? 05:53:21 Two lobotomies total, yay! (The first was for .NET) 05:53:51 might be dangerous then, could run out of brain to remove 06:13:14 "These vehicles are fast and cost nothing. Unfortunately, in a bold cost-cutting move, FV decided to go with the lowest bidder, Cheaps-R-Us, which tends to operate, well, below the radar. Exposure to these vehicles will hurt your HP, and eventually kill you." 06:13:31 ^^my attempt at a bit of humor, and the idea of vehicles costing HP 06:16:01 basically they're dead cheap 06:16:46 CAR-E-LESS 06:17:26 Ok, I want to be as creative as you 06:17:45 Although these vehicles aren't quite cars 06:18:00 * oerjan just thought it needed a better pun 06:18:56 http://i.imgur.com/sjr1I.jpg 06:20:03 hm so they fly? 06:21:18 Not unless you go down a mountain quickly 06:22:27 it's interesting how language conventions change over IRC 06:22:41 the picture's so dark i cannot tell if they're touching the ground 06:24:22 * oerjan seems to be out of creativity now 06:24:32 -!- oerjan has quit (Quit: Later). 06:24:38 in particular, I've found it tends to model speech more closely 06:24:51 such as putting question marks on questioning sentences, even if they aren't true questions 06:25:32 I strive to unify spoken and written English! 06:26:12 the IPA is thataway 06:31:55 Argh; good luck making a standardised language that way. 06:32:02 English has ridiculously divergent accents. 06:48:53 It's tough for me to tell in-world 06:49:00 But I _think_ they're hovering a bit 06:50:45 But you can't fly high into the sky with them 07:33:04 Why doesn't OCaml have typeclasses? 07:34:52 why doesn't everything have typeclasses? 07:34:54 or better yet, roles? 07:35:09 (/me is pretty sure that roles are the ultimate achievement in typing) 07:36:01 I think I like how some things that would be syntax in some languages are.. user-defined, so to speak, in Ruby 07:36:09 But I think Smalltalk takes that a lot further 07:38:54 correct 07:40:12 Huh. OCaml's ; is [very] roughly analogous to >>= as used in the IO monad, I think 07:40:56 "; has type unit -> 'b -> 'b" 07:41:05 Sgeo: also what do you mean by user-defined? 07:41:10 Wait, if that's the case, then that means things are automatically coerced to unit? 07:41:11 -!- fizzie has quit (Ping timeout: 248 seconds). 07:42:01 coppro, as in, in Ruby, someiter.foreach do |x| stuff end 07:42:11 Not sure if it's foreach or some other method 07:42:23 But that's instead of a formal foreach construct, I think 07:42:30 Or, well, usually used instead 07:42:40 Sgeo: ah, ok 07:42:49 is it a magic function though? 07:42:52 I think Smalltalk's if is similar 07:43:03 coppro, I'm pretty sure it isn't 07:43:07 or is it merely defined on the same terms as user code? 07:43:15 (like a primitive type) 07:43:15 -!- fizzie has joined. 07:43:21 Um, might be built in, but user code could easily do the same thing, I think 07:43:23 It's been a while 07:43:48 Smalltalk's if I expect is a built-in 07:43:58 since you need a conditional primitive somewhere 07:44:47 But syntactically, it's just method calls, I think 07:45:00 something ifTrue: stuff ifFalse: otherstuff I think. I may be mistaken 07:45:09 It's been a bit of a while 07:46:36 OCaml types look weird 07:46:37 int list? 07:46:58 -!- GreaseMonkey has joined. 07:49:00 -!- relet has quit (Quit: Leaving.). 07:51:06 ARGH MY GOVERNMENT IS SO FSCKING STUPID 07:52:17 coppro, aren't you in Canada or something? Or am I completely and utterly mistaken? 07:52:30 And no, I did not mean to imply that Canada is perfect 07:53:18 oh, yes, I'm in Canada 07:53:29 where the government is building a prison because of the alarming increase in unreported crime 07:54:21 ...? 07:54:40 That... a) How would they know, and b) How is that useful? 07:55:01 Sgeo: Statcan does surveys to estimate unreported crime rates 07:55:15 the last one that's available was in '04 07:55:24 and showed, I believe, and estimated 3% increase 07:55:31 but that's not really relevant 07:55:41 to the fact that YOU DON'T PUT UNREPORTED CRIMINALS IN PRISON 07:55:56 SO WHY THE FUCK WOULD YOU NEED A PRISON BECAUSE UNREPORTED CRIME IS GOING UP 07:56:24 Is object-orientedness really worth the nightmare syntax of OCaml? 07:58:08 "Since you forgot to take into account your special value, you conclude that the mean age of visitors is 7½ years old, and you employ web designers to remove all the long words and use primary colours everywhere." 07:58:25 lol 07:58:43 Sgeo: also, the minister behind this believes that surveys are useless after a year or two 07:58:59 our government has been doing so much stuff that makes no sense this summer 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:57 "(note the code highlighted in red):" 08:01:03 -!- yiyus has quit (Read error: Operation timed out). 08:01:04 There IS no code hilighted in red! 08:01:05 -!- yiyus has joined. 08:01:08 http://www.ocaml-tutorial.org/null_pointers,_asserts_and_warnings 08:04:18 -!- Wamanuz2 has joined. 08:04:20 -!- Wamanuz has quit (Ping timeout: 240 seconds). 08:26:08 -!- nooga has joined. 08:59:28 -!- distant_figure has quit (Ping timeout: 240 seconds). 09:02:14 -!- distant_figure has joined. 09:06:53 -!- distant_figure has quit (Ping timeout: 260 seconds). 09:07:52 -!- distant_figure has joined. 09:07:58 -!- augur has quit (Remote host closed the connection). 09:08:11 -!- augur has joined. 09:13:07 -!- distant_figure has quit (Ping timeout: 258 seconds). 09:14:12 -!- tombom has joined. 09:22:44 -!- AnMaster has joined. 09:26:36 I suppose there's no statically-typed Smalltalk, is there? 09:28:28 -!- distant_figure has joined. 09:30:34 There's apparently something called Strongtalk 09:40:16 I think I'll just relearn Smalltalk 09:46:06 eh 09:50:54 There's no way to make a general native app in Smalltalk, is there? I guess the concept doesn't really make sense 09:51:15 use objective-c 09:52:12 * Sgeo sort of stereotyped that as the Apple language :/ 09:52:21 Guess I should try it eventually, though 09:52:48 But right now, after expunging my mind of the syntax horror that is OCaml, I'm obsessed with Smalltalk 10:21:54 * MizardX recommends Go 10:21:56 -!- MigoMipo has joined. 10:28:27 -!- MizardX- has joined. 10:28:53 -!- MizardX has quit (*.net *.split). 10:28:53 -!- coppro has quit (*.net *.split). 10:28:53 -!- fungot has quit (*.net *.split). 10:28:56 -!- MizardX- has changed nick to MizardX. 10:33:28 -!- distant_figure has quit (Ping timeout: 240 seconds). 10:33:33 -!- Phantom_Hoover has joined. 10:33:37 -!- coppro has joined. 10:33:37 -!- coppro has quit (Changing host). 10:33:37 -!- coppro has joined. 10:34:03 Joined, left and joined again within a second... 10:34:09 A CONSPIRACY 10:34:22 connection died 10:34:37 Because of a CONSPIRACY! 10:35:28 or because something happened in between caffeine and my server 10:35:37 Ah, clog is back. 10:38:19 Fakequit by IRC server to change the host? :-) 10:38:32 MY GOD 10:38:58 fungot? 10:39:06 FUNGOT! 10:39:23 You killed fungot! Bastards! 10:40:41 Oh, hmm. 10:41:15 jordan.freenode.net seems to have gone to sleep. 10:41:48 -!- CakeProphet has joined. 10:42:25 * Sgeo decides to download Pharo 10:42:33 Hm, 1.2 will contain an FFI 10:42:42 Active Worlds bots in Smalltalk! 10:45:46 -!- fizzie has quit (Quit: jumpin' jumpin'). 10:45:49 -!- fizzie has joined. 10:46:05 * Sgeo vaguely wonders what a ProfStef is 10:46:12 -!- fungot has joined. 10:46:18 -!- comex has quit (Ping timeout: 245 seconds). 10:46:19 If you are new to Smalltalk, we recommend you to do the integrated, interactive tutorial. To start it, evaluate the following expression (select the text -> right button -> do it): 10:46:24 ProfStef go 10:46:57 Hmm 10:47:08 The UI looks OSX-like 10:47:35 -!- comex has joined. 10:49:23 When I was your age, you wrote your programs on a piece of paper and sent them off to London, where they would evaluate it and send it back in a month! 10:53:38 Ok, I don't remember why I abandoned Smalltalk a while ago 10:55:04 -!- MizardX has quit (Ping timeout: 276 seconds). 11:00:12 * Sgeo lols at ProfStef 17 11:00:15 "Lost?" 11:00:20 "Hey, you should not be here!" 11:00:34 Also, 16 is the first time it asks you to write the code to go to the next lesson 11:04:48 which ide do you use 11:06:08 Pharo 11:06:19 Although it's more than an IDE I guess 11:12:52 why everything about Smalltalk is so colorful 11:15:06 -!- distant_figure has joined. 11:24:39 -!- distant_figure has quit (Ping timeout: 265 seconds). 11:26:52 -!- distant_figure has joined. 11:40:16 -!- distant_figure has quit (Ping timeout: 276 seconds). 11:47:47 -!- distant_figure has joined. 11:53:07 -!- distant_figure has quit (Ping timeout: 260 seconds). 12:12:04 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 12:15:06 -!- Occultist has joined. 12:16:22 hI 12:17:07 -!- distant_figure has joined. 12:24:02 -!- Occultist has quit. 12:43:32 -!- distant_figure has quit (Read error: Operation timed out). 12:46:02 -!- ais523 has joined. 12:47:06 -!- distant_figure has joined. 12:48:38 -!- Phantom_Hoover has quit (Quit: Leaving). 12:48:52 -!- Phantom_Hoover has joined. 12:57:16 -!- augur has quit (Remote host closed the connection). 13:04:28 "You typically only need to use or modify this class, or even know how it works, when making fundamental changes to how the Smalltalk system and language works." 13:04:32 MWAHAHAHAHHAHA 13:14:43 -!- derdon has joined. 13:28:33 -!- BeholdMyGlory has joined. 13:53:57 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 13:55:14 -!- Mathnerd314 has joined. 14:01:33 -!- Mathnerd314 has quit (Ping timeout: 246 seconds). 14:02:35 Assembly is muh nicer when you have proper GPRs... 14:02:39 s/muh/much/ 14:10:00 fungot! 14:10:00 Phantom_Hoover: reading fnord about the sound of my head. i think this channel is a proof that ihope's set is universal. at least it makes updating my debian box 14:10:06 ^style 14:10:06 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 14:10:10 ^style i 14:10:11 Not found. 14:10:12 ^style ic 14:10:12 Selected style: ic (INTERCAL manual) 14:10:21 fungot, how do I mingle? 14:10:21 Phantom_Hoover: the `while' inside one of these contexts. 14:17:14 ^style speeches 14:17:14 Selected style: speeches (misc. speeches from Project Gutenberg) 14:17:21 fungot, speak! 14:17:22 Phantom_Hoover: this trap was constructed on a new principle, of which, with the adventures of a certain bird known to fnord and fnord, john morley, and arthur fnord) were authors of books before they engaged in the slave fnord because slavery is not wrong, nothing is easier than i thought to come across the atlantic in fnord, the fnord 14:24:56 Speeches are a fnordy matter. 14:25:33 I think GCC should have an option called -fnord... 14:26:13 -fno-rd, to disable -frd. 14:28:07 Let's start a PETITION! 14:31:49 to allow the hyphens to be omitted when turning off options? 14:32:16 Wait, there's a -frd? 14:32:21 There are some alignment-related machine-specific options that start with "-malign", those also have nice names. Like the -malign-natural/-malign-power pair on PPC, and -malign-double on x86. 14:32:46 With -malign-double, GCC will be doubly malignant. 14:34:43 Will it try to murder you? 14:34:51 -!- xz has joined. 14:35:19 -!- xz has left (?). 14:35:29 -!- xz has joined. 14:35:36 xz! 14:35:40 Probably. It might also align doubles, long doubles and long longs on a qword boundary. 14:35:50 But that's in addition to the murdering. 14:36:03 /msg nickserv set kill quick 14:36:37 -!- xz has left (?). 14:36:51 Huh? 14:37:22 Ah. 14:37:44 I don't think there is such a setting; at least nickserv set's subhelp doesn't know it. 14:37:53 is xz a vi command? 14:38:16 Probably. 14:39:06 In the sense that the first 'x' will delete a character, and the z can start many commands. 14:42:55 I'm not sure how vi-compatible the z.* commands are, in Vim they mostly deal with folding, because (according to the manual) z looks like a folded piece of paper. 14:46:16 in NetHack, xz swaps to the readied weapon, then zaps a wand 14:46:45 Nickserv help: "SET NEVEROP prevents others from adding you to channel access lists." That's a curious setting. Maybe useful if you feel permanently irresponsible? 14:48:09 does that include the autoban setting on channel access lists? 14:48:23 (just like you can set someone to be opped on join, or voiced on join, you can set them to be banned on join) 14:48:47 Right, some chanserv kickbannery command utilizes that automatically, I think. 14:49:22 I don't know, and I don't exactly feel like source-diving. If this were NetHack, one could be certain the devteam would have had thought of it, but... 14:50:00 thought of what? 14:50:10 (I'm a reasonably experienced NetHack sourcediver) 14:50:22 ais523, you can't be sane, then. 14:50:36 NetHack's source makes me feel nauseous at times. 14:50:37 Phantom_Hoover: meh, NetHack's source is just an intellectual challenge 14:50:49 compare to DCSS's source, which makes me feel physically ill 14:50:50 And the build process is from hell. 14:50:55 DCSS? 14:51:00 dungeon crawl stone soup 14:51:04 one of NetHack's major competitors 14:51:47 Thought of the interaction of NEVEROP and bans-done-via-access-lists. 14:51:58 ah 14:53:00 ais523, why is DCSS so nauseating? 14:53:21 you just read it and see things that have no right being in code ever 14:53:33 I asked the DCSS devs about some of the stuff they'd found in the code 14:53:38 and one of them had even found a for-case loop 14:54:09 The code is 5 MB, so I won't be able to see it for a couple of minutes. 14:54:26 it's very large, yes 14:54:31 NetHack abuses preprocessor macros far too much. 14:55:17 Atheme-services-5.2.3, modules/chanserv/flags.c: /* If NEVEROP is set, don't allow adding new entries except sole +b. Adding flags if the current level is +b counts as adding an entry. -- jilles */ 14:56:09 I don't know which version freenode uses; the services info-page still speaks of hyperion-related customizations. Still, it's probably worky. 14:56:35 -!- cpressey has joined. 15:07:04 -!- derdon has quit (Ping timeout: 276 seconds). 15:10:36 -!- MigoMipo_ has joined. 15:10:52 -!- oerjan has joined. 15:12:58 Wait, if that's the case, then that means things are automatically coerced to unit? 15:13:28 that's how Algol does it 15:13:38 in fact, there are two different ways to coerce a procedure to void 15:13:48 -!- MigoMipo has quit (Ping timeout: 245 seconds). 15:13:58 iirc you're supposed to use the ignore : 'a -> unit function to make it explicit when you're ignoring a result. i'm not sure whether ocaml's ; gives an actual type error or a warning 15:14:01 and five different coercion contexts, and a few extra rules, which determine how to do ambiguous coercions 15:14:58 eek 15:15:41 hm... 15:16:03 !haskell do [1,2,3]; [1] 15:16:13 [1,1,1] 15:16:32 that was a little unexpected 15:16:36 i think i've seen it discussed whether haskell do should have had the same semantics, or at least a warning 15:17:01 no that's exactly what the [] monad does 15:17:05 I can never remember what >>= does for [] 15:17:18 it's just that it maybe should do a warning for the same reason 15:17:29 well that's >> technically 15:17:32 yep 15:17:39 but >> is a special case of >>= 15:17:58 !haskel do a=[1,2,3]; [a] 15:18:03 !haskell do a=[1,2,3]; [a,a] 15:18:28 [1,2,3] 15:18:31 you want <- 15:18:34 hmm, it opened up a DCC chat with me just to say "parse error in pattern" 15:18:36 and you're right, I do 15:18:42 ais523, ^ 15:18:43 !haskell do a<-[1,2,3]; [a,a] 15:18:45 [1,1,2,2,3,3] 15:18:52 yep, that's what I expected 15:18:59 I just remembered what >>= did for lists 15:20:25 Ooh, a file:/// url link on a web-forum. "Here, take a look at this picture: file:///C:/Documents%20and%20Settings/HP_Administrator/My%20Documents/My%20Pictures/..." 15:20:44 fizzie, who is this idiot? 15:21:14 Reminds me of the time I said "this big" and indicated with my hand when speaking over the phone. 15:21:15 do [1,2,3]; [1] is basically the same as do _ <- [1,2,3]; [1] 15:22:07 yep 15:22:28 I take it that link's to c:\ or something similar? 15:22:48 standard response is along the lines of "I looked at it, but all I could see was porn" 15:22:59 it's pretty much in his private windows picture folder 15:23:20 hmm, come to think of it, you could use file:// links for things that were probably on someone's computer 15:23:57 say, a Debian user asks you "can you link me to a copy of the GPL?", and you go "file:///usr/share/common-licenses/GPL-2" 15:24:14 and when they complain, say "well Debian policy doesn't let me use any other copy, it needs to be centralised to save on disk space" 15:24:23 -!- distant_figure has quit (Ping timeout: 240 seconds). 15:24:46 wicked 15:26:47 incidentally (>>) is almost equivalent to liftM2 (flip const) 15:27:08 (the "almost" is because the latter might be more likely to leak memory) 15:27:44 isn't flip const equal to ignore? 15:27:52 oh, not quite, wrong type 15:28:02 const () is ignore 15:28:08 yep 15:28:17 except that's not monadic of course 15:28:17 const is k, which takes two arguments and returns the first 15:28:23 whereas flip const takes two arguments and returns the second 15:28:27 so flip const is `ki 15:28:57 so I'll just point out that (const id) is shorter than (flip const) 15:28:58 ais523: It was to "c:/Documents and Settings/HP_Administrator/My Documents/My Pictures/..."; the user name is very telling, too. 15:29:03 so useless in haskell, you'd want liftM (const ()) 15:29:15 fizzie: ugh, XP filenames 15:29:51 oerjan: I was talking about inside the lift 15:30:03 (well, the liftM; stupid using "lift" to mean two unrelated things) 15:34:50 23:46:36 OCaml types look weird 15:34:50 23:46:37 int list? 15:34:55 -!- distant_figure has joined. 15:35:17 the order is ML legacy 15:36:23 SO WHY THE FUCK WOULD YOU NEED A PRISON BECAUSE UNREPORTED CRIME IS GOING UP 15:36:47 maybe they think people would report more crimes if they thought the criminals might actually get put in jail :D 15:38:05 -!- relet has joined. 15:41:38 Are Linux syscalls guaranteed to leave registers like rdi and rsi alone on x86-64? 15:45:53 I couldn't find that explicitly stated in the documentation anywhere, but based on the syscall entry code, it seemed to me like it'd keep just about everything untouched. 15:46:24 rdi and rsi are the first two syscall arguments, though, aren't they? 15:46:47 I thought x86-64 stuck to the x86 convention. 15:47:28 i.e. rax is the syscall, then rbx, rcx, rdx, rdi, rsi, rbp for the args/ 15:47:36 No, it doesn't. 15:47:50 Oh? 15:48:04 Everything I've tried with that has worked... 15:48:07 rax is the number; the arguments go to rdi, rsi, rdx, r10, r8, r9, in that order. At least if you call via "syscall". 15:49:01 It's the same as a normal x86-64 function call, except rcx/r10; there was something special about rcx there. 15:49:03 With int 0x80 it uses the method above, doesn't it? 15:49:27 I don't know; I haven't ever used int 0x80 with x86-64, since syscall exists and is supposedly better and faster. 15:50:45 Is syscall a normal C function? 15:50:52 What? No. It's an opcode. 15:51:03 -!- tombom has quit (Ping timeout: 240 seconds). 15:51:05 Ah. 15:51:13 -!- tombom has joined. 15:54:21 Thanks. 15:54:51 See this bit: http://www.google.com/codesearch/p?hl=en#YXaLobiZowM/trunk/kernel/linux-2.6.34/arch/x86/kernel/entry_64.S&l=424 15:56:07 It needs a bit digging as to whether it saves the argument registers or not; I seem to recall that it does, but it's a bit messy due to all those macros. 15:59:12 Discounting one very size-optimized stub, I haven't usually been relying on getting the syscall args back untouched. 16:02:03 The SAVE_ARGS bit might be the one that's responsible for keeping them safe. 16:03:32 -!- tombom has quit (Ping timeout: 265 seconds). 16:03:41 The syscall opcode itself kills rcx by stuffing the return address (next opcode) there. 16:04:17 And I guess r11 too, for saving rflags there. 16:04:55 (Away a while now.) 16:05:29 -!- tombom has joined. 16:08:24 Well, in other news, I have built most of the type checker for Eightebed. 16:09:19 (Just the type checker, not the pointer validity checker yet.) 16:09:21 -!- tombom_ has joined. 16:10:29 It occurs to me that "proving Gregor wrong" is kind of a crappy reason to implement a medium-sized language. And that implementing a medium-sized language is a rather inefficient way to prove Gregor wrong. Still... 16:10:50 in what way are you trying to prove him wrong? 16:11:09 (I suppose I'll also allow the possibility of "her" there, in case both the name and the photos are lies) 16:11:27 Especially since I'm right :P 16:11:35 -!- tombom has quit (Ping timeout: 248 seconds). 16:12:12 ais523: I once got a correspondence that started "Dear Miss Richards:". I politely replied that "Gregor" is a male name. I got a reply that I should probably change the picture on my homepage then :P 16:12:32 Unfortunately, the picture on my homepage is chosen randomly, so I have no idea which was so suggestive. 16:12:50 haha 16:13:45 -!- Gregor has quit (Quit: Leaving). 16:13:46 Gregor, it's the hats. 16:13:48 -!- Gregor has joined. 16:13:57 A CONSPIRACY 16:14:17 The hats??? 16:14:21 You just *happened* to leave the second I said something to you! 16:14:32 My hats are UTTERLY MASCULINE. 16:14:46 ais523: (short version of Gregor's claim) If a language supports explicit free() it also needs to provide GC if it wants to be "safe" (doesn't let you dereference/execute something you didn't mean to.) 16:14:58 Uhhh, no. That's not my claim at all. 16:15:03 No? 16:15:35 A language which provides a true explicit free() cannot be safe. To be safe a language must either never free (which is bad) or be GC'd. That is my claim. 16:15:50 Gregor: what about something along the lines of Splint, but which actually works? 16:16:03 Well, jeez. "true"? 16:16:07 that statically checks all mallocs/frees in the program before running it, to ensure no leaks and no dangling pointers? 16:16:47 ais523: Yay for impossible analysis and no modularity! 16:16:57 cpressey: By "true" I mean that you can get that memory back in a later malloc(). 16:17:03 cpressey: So it actually frees it, and doesn't just ignore you. 16:17:38 Gregor: Splint was modular enough 16:18:07 and possible, because it relied on the programmer to provide it with a proof of memory safety, rather than trying to work it out itself and running up against the halting problem 16:18:09 Gregor: OK, that seems close to what I thought you meant, so I may simply have phrased my version badly. Lemme think 16:18:15 but it was too buggy to succeed as its goals 16:18:43 ais523: By modular in this case I mean at LEAST separated compilation, if not dynamic loading. But also checking for proper malloc() and free() reduces to the halting problem so making that analysis general enough to write real programs seems enormously challenging at least. 16:19:22 Gregor: separated compilation and dynamic linking would have worked fine 16:19:33 it expanded the type system to give safety checks 16:19:48 as I said, it was the programmer's responsibility to give the proof of safety, not splint's reponsibility to find one 16:20:35 Gregor: I think I was "factoring out" the possibility of "fake free()" in my version. Or if you like, add "true" to the part where I mention "free()" too. 16:20:41 Have fun writing an interpreter in that. "Will you free these objects?" "Uhh, I will if they stop being used by the underlying code, but since I have no idea what that's going to do, maybe?" 16:20:45 ais523: ^^^ 16:21:09 Gregor: functions had to be deterministic about whether they freed or not 16:21:20 it's OK to add everything to a global list, then free it all at the end 16:21:48 ais523: Awesome. You can't write an interpreter for a GC'd language. Sounds pro to me. 16:21:49 presumably, you could free earlier if you knew the object wasn't being used (say it went out of scope and had a zero refcount) 16:22:04 and of course you can 16:22:12 you can just do the GC yourself 16:22:19 refcounting + loopbreaking would work fine, for instance 16:22:28 even if that's a crazy GC architecture 16:22:59 Oh, well yeah, you can just treat malloc() as sbrk() and do everything yourself, I'm not being fair there X-P 16:23:27 The problem is that it's difficult to define what "correct" is in this space since a language in which you can't free at all is still A-OK :P 16:23:53 e.g. malloc() is implemented in terms of sbrk(), and on most systems there's no way to relinquish that back to the OS, and yet C code doesn't just bloat up to infinity. 16:24:23 I thought implementing malloc in terms of sbrk was deprecated nowadays 16:24:37 even though it is, or at least was, IIRC, the usual implementation strategy 16:24:38 It's not deprecated, it's just not part of the standard. 16:24:54 Basically the standard loosened to allow other implementations, but that's still the common one. 16:25:20 -!- sshc_ has joined. 16:28:23 -!- sshc has quit (Ping timeout: 245 seconds). 16:28:53 -!- sshc_ has changed nick to sshc. 16:32:03 -!- MizardX has joined. 16:36:07 German people apparently can't gender-map my first name (Heikki), because a place I once ordered a used laptop from keeps sending me their ads prefixed by "Frau Kallasjoki". 16:36:48 I don't know what I would guess with "Heikki" 16:36:54 well, the Grand Prix driver with that name is male 16:36:58 but that's only the one data point 16:36:59 "Heike" is a German female name. 16:37:16 Apparently in China "Gregor" reads as a female name :P 16:37:29 Or at least ambiguous enough to be overwhelmed by my feminine wiles. 16:39:14 -i reads as femaleish in English, I suppose... 16:39:52 it's because most names ending -i are a ridiculous sort of abbreviation 16:39:58 also in norwegian, mostly 16:40:11 that tend to be confined to a particular sort of stereotype, which only applies to women 16:40:12 (Kari, Siri) 16:40:52 and Heidi, though that's actually from german 16:44:14 We need more names that conflict with the Unix toolchain. "And these are my children, Diff and Sed!" 16:44:43 what about Biff? 16:44:50 There ya go. 16:45:10 roff 16:50:51 Complete tangent: I suppose it would be possible to have a completely name-based type system, that is, all types are given names by the user, and 2 types are equivalent iff they have the same name. Maybe? 16:51:02 s/user/programmer/ 16:51:12 We don't want USERS giving names to types, do we? 16:51:31 make that the only form of I/O 16:51:45 ais523, how? 16:51:56 this is just blue skies esothinking 17:18:11 cpressey: and the operations will be "come here", "wash your hands", "spit that out"... 17:26:52 -!- derdon has joined. 17:50:16 -!- asmodeo_ has joined. 17:51:35 -!- asmodeo_ has left (?). 17:52:01 * oerjan realizes for the first time that the back of his palate has a hole above it, he always assumed there would be bone there 17:52:03 -!- ais523 has quit (Remote host closed the connection). 17:52:47 which means it took me 40 years to discover something easily checked on my own body! 17:54:14 * oerjan only started picking there because his palate got a sore spot 17:54:50 oerjan, I bet you don't know what your ear canal looks like. 17:55:08 hm probably not 17:55:21 but that _would_ seem to require special equipment 18:00:45 -!- Mathnerd314 has joined. 18:01:01 Who is this Mathnerd314 person? 18:01:41 some nerd who thinks he knows mathematics just because he can recite 3 digits of pi ;D 18:02:02 3.14159265...4? 18:02:05 <- knows 15 18:02:12 pi? tl;dr 18:02:19 oerjan: "Please don't make me add "rounding Pi down to three" to your list of crimes", like they say. 18:02:23 i'm sure there's a 4 in there somewhere, yes 18:02:39 I can go better. 1_pi. 18:02:52 3.14159265...4 looks as if 4 would be the last digit. 18:02:58 * oerjan swats Phantom_Hoover -----### 18:03:08 *10_pi 18:03:16 AAAAAoops. 18:03:48 I remember 3.14159265358979, but no more. 18:03:51 fizzie: now _that_ can be added to a list of crimes 18:04:05 -!- Gregor-P has joined. 18:04:10 fizzie: me 2! 18:04:29 unless... 18:04:33 !haskell pi 18:04:34 3.141592653589793 18:04:46 not very helpful 18:04:50 That's one more, though. 18:04:58 putFloat? 18:05:05 except i think it's rounded up 18:05:09 !haskell :t pi 18:05:10 pi :: (Floating a) => a 18:05:19 It's not rounded; it goes 3.1415926535897932384626433832795028841968... 18:05:33 (That 8 there might be rounded, though. It was from bc, scale=40, a(1)*4.) 18:05:41 Phantom_Hoover: i'm not sure EgoBot has any arbitrary precision floats (there _are_ packages for it) 18:05:49 ah 323 18:05:56 !c #include \nint main() { printf("%f", PI) } 18:05:57 oerjan, no, in Haskell. 18:06:06 Errr 18:06:13 !c #include \nint main() { printf("%f", PI); return 0; } 18:06:21 It's M_PI, and it might not be defined by default, since it's not standard. 18:06:26 i _almost_ remember the 323. except somehow i thought it was 262 a moment ago 18:06:35 Phantom_Hoover: i mean EgoBot's haskell 18:06:43 fizzie: D'aww boo :P 18:07:02 oerjan, I thought it was GHC, like the rest of us use. 18:07:46 Phantom_Hoover: and that has nothing to do with what i am talking about, since the builtin types of ghc don't include arbitrary precision floats afaik 18:07:49 !run echo 'scale=100; a(1)*4;' | bc -l 18:07:54 Aw, no go? 18:07:59 oerjan, aaah. 18:08:13 * Phantom_Hoover wishes you could get the nth digit of pi in decimal. 18:08:17 by "packages" i mean on the hackage repository 18:09:00 Wait, you mean Haskell doesn't provide a *lazy* pi? 18:09:04 That's just wrong! 18:09:11 fizzie: You want `run 18:09:21 cpressey: it doesn't provide a lazy number type, by default 18:09:25 Gregor: Oh, right. 18:09:30 `run echo 'scale=100; a(1)*4;' | bc -l 18:09:34 No output. 18:09:38 cpressey: That's ... oh god lazy computable number *brain axplote* 18:09:41 fizzie, or !sh, probably. 18:09:55 Hm, no bc, quotation issues, something else? 18:09:58 fizzie: That 68 there is wrong, it should go 7169... 18:10:03 oerjan: No excuse. It could provide it as a list of digits then. 18:10:17 How many ways can you run arbitrary code on Codu? 5? 6? :P 18:10:24 Gregor-P: And it needs to provide a lazy Chaitin's omega, as well, clearly. 18:10:26 `bc 18:10:27 No output. 18:10:48 cpressey: YES. Computability be damned :) 18:10:48 `run bc -v 18:10:49 No output. 18:10:54 No bc, maybe. 18:11:01 `run dc -v 18:11:02 No output. 18:11:04 Could just be broke too :P 18:11:09 fizzie, or a pagan bc without -v? 18:11:20 -!- HackEgo has quit (Remote host closed the connection). 18:11:21 -!- EgoBot has quit (Remote host closed the connection). 18:11:23 -!- HackEgo has joined. 18:11:23 -!- EgoBot has joined. 18:11:26 Does it output stderr too, or just stdout? 18:11:26 `run dc -v 18:11:27 No output. 18:11:33 cpressey: um a list of digits is just one possible implementation of a lazy number type 18:11:33 `run dc -v 2>&1 18:11:35 /bin/bash: line 1: dc: command not found 18:11:40 `run echo hi 18:11:42 hi 18:11:45 Well, that sorts that. 18:11:46 Heh, well, that's more informative in any case. 18:11:53 Wow, no dc or bc. Weird. 18:11:59 !sh ls 18:11:59 interps 18:12:08 !sh dc -v 18:12:09 /usr/bin/dc: invalid option -- v 18:12:10 oerjan: Well yes. It would be better if Haskell provided lazy reals as a primitive type, obviously, but beggars can't be choosers. 18:12:29 !sh echo 'scale=100; a(1)*4;' | bc -l 18:12:29 3.141592653589793238462643383279502884197169399375105820974944592307\ 18:12:52 !sh dc -e "[foo]P" 18:12:52 Well, that works, though bc line-wraps it. (The rest came with DCC chat, as usual.) 18:12:53 foo 18:13:14 !help 18:13:14 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 18:13:24 Deewiant: It might go wrong in the bottommost digits since the scale for a(1) is 40, and then I multiply that by 4. 18:13:27 !helpuserinterps 18:13:29 !help userinterps 18:13:30 userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp. 18:13:40 fizzie: Yep. 18:13:40 !help languages 18:13:41 languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 18:13:52 !help addinterp 18:13:52 addinterp: !addinterp . Add a new interpreter to EgoBot. This interpreter will be run once every time you type ! , and receive the program code as input. 18:14:12 !haskell :t Data.Number.CReal.showCReal 18:14:35 !haskell isn't GHCi 18:14:39 !addinterp pi sh echo $1 18:14:39 Interpreter pi installed. 18:14:43 !pi hello 18:14:46 !pi hello world 18:14:48 Deewiant: yes it is 18:14:56 !addinterp pi sh echo $@ 18:14:56 There is already an interpreter for pi! 18:15:04 !delinterp pi 18:15:04 Interpreter pi deleted. 18:15:05 !haskell main = putStrLn "Hi" 18:15:08 Hi 18:15:14 oerjan: I don't think it is 18:15:15 !addinterp pi sh echo $@ 18:15:15 Interpreter pi installed. 18:15:17 !pi 18:15:21 !pi a b c 18:15:35 Gregor, how do the args work, then? 18:15:39 Uh, pretty sure !haskell IS ghci 18:15:44 !delinterp pi 18:15:45 Interpreter pi deleted. 18:15:53 Gregor-P, ^ 18:15:57 !haskell :t "Yes it is" 18:15:58 "Yes it is" :: [Char] 18:16:00 Phantom_Hoover: They are the input. 18:16:05 Fair enough 18:16:16 Gregor-P, hmm. 18:16:23 stdin, that is. 18:16:59 !addinterp pi sh read p; echo $p 18:16:59 Interpreter pi installed. 18:17:02 !pi 18:17:06 !pi 23 18:17:07 23 18:17:17 !pi 18:17:39 Gregor-P: Isn't it just https://codu.org/projects/egobot/hg/index.cgi/file/1fe97d50a1d8/multibot_cmds/interps/ghc/runghc ? 18:17:48 fizzie: Yup 18:17:59 What's sh for "if $p == '', 0, else $p"? 18:18:20 Any reason not to like Smalltalk? 18:18:21 !delinterp pi 18:18:21 Interpreter pi deleted. 18:19:06 -!- Flonk has joined. 18:19:36 -!- Gregor-W has joined. 18:19:43 Sgeo: Because Smalltalk killed my family. 18:20:19 in a horrible, yet classy way 18:20:28 *ba-dum ching* 18:21:36 -!- Phantom_Hoover has quit (Quit: Leaving). 18:21:54 -!- Phantom_Hoover has joined. 18:21:59 Phantom_Hoover: Something like: if [ -n "$p" ]; then echo $p; else echo 0; fi 18:22:00 !addinterp pi sh read p; if [ "x$p" = "x" ]; then p=0; fi; echo 'scale=$p; a(1)*4;' | bc -l 18:22:00 Interpreter pi installed. 18:22:10 !pi 5 18:22:11 (standard_in) 1: illegal character: $ 18:22:20 [[ -n "$p" ]] || $p 18:22:21 !delinterp pi 18:22:21 Interpreter pi deleted. 18:22:30 !addinterp pi sh read p; if [ "x$p" = "x" ]; then p=0; fi; echo "scale=$p; a(1)*4;" | bc -l 18:22:30 Interpreter pi installed. 18:22:32 !pi 5 18:22:32 3.14156 18:22:39 Finally... 18:22:44 Phantom_Hoover: Y'know you can do this in a /query, right? :P 18:22:47 !pi 500 18:22:48 3.141592653589793238462643383279502884197169399375105820974944592307\ 18:23:14 Gregor-W, /query? I assume that's some black IRC magic. 18:23:35 !pi 18:23:36 0 18:23:38 Gregor-W: Do both EgoBot and HackEgo speak to query? I've always wondered, but never dared to try it out, just in case they'd take offence at unsolicited private messaging. 18:23:46 Oops... 18:24:07 Phantom_Hoover: /query opens a PM window with a user :P 18:24:42 fizzie: They do not take offense, and enjoy private conversation. Do not be offended if they start getting overly personal, although their sex drives are quite powerful they are incapable of actually acting on it and so you have nothing to fear. 18:24:46 !pi 18:24:46 3.14156 18:24:50 Better. 18:25:19 I need to merge EgoBot, HackEgo and Hackiki into one lean, mean, arbitrary-code-runnin' machine. 18:26:51 what's its use? 18:26:54 Phantom_Hoover: You could consider piping the bc output to | tr -d '\n\\' so that it all ends up in one row. (Though that would, I guess, limit you to IRC's maximum line length...) 18:27:11 fizzie, tr complains at that. 18:27:34 Oh, damn single quotes... 18:28:12 !pi 500 18:28:13 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744 18:28:19 There we go. 18:28:40 Phantom_Hoover: Come to think of it, instead do export BC_LINE_LENGTH=490 before the command, that way it'll be long but still continue if it wouldn't fit on a IRC-line. 18:29:10 fizzie, trying... 18:30:56 !sh echo limits | bc | tr '\n' ' ' 18:30:57 BC_BASE_MAX = 2147483647 BC_DIM_MAX = 16777215 BC_SCALE_MAX = 2147483647 BC_STRING_MAX = 2147483647 MAX Exponent = 9223372036854775807 Number of vars = 32767 18:31:09 It will only go up to 2147483647, it seems. 18:31:17 Well, it's more than eleven. 18:31:34 Right, now it annoys you through DCC if you ask it for a billion digits. 18:31:45 -!- jcp has quit (Quit: Later). 18:32:16 * Phantom_Hoover then has to try doing it on his own computer with a billion digits. 18:32:21 -!- Phantom_Hoover has quit (Quit: Leaving). 18:32:31 As far as pi computation goes, I don't think bc a(1)*4 is very much on the efficient end of the spectrum. 18:32:44 -!- Phantom_Hoover has joined. 18:35:11 http://sprunge.us/EbcM -- not the fastest thing in the west. 18:37:04 !he echo hello 18:37:05 `echo hello 18:37:06 hello 18:37:20 !he echo fungot 18:37:20 `echo fungot 18:37:21 Phantom_Hoover: another motive induces me to put the judgment of history, and to tear from the populace a single favourite. 18:37:21 fungot 18:37:36 So, fungot ignores his fellow bots 18:37:43 Yes, due to too many bot-loops. 18:38:01 `echo !pi 18:38:02 ^ignore 18:38:02 !pi 18:38:02 ^(EgoBot|HackEgo|toBogE) 18:38:07 That's the current list of it. 18:38:15 Who is toBogE? 18:38:37 EgoBot's evil twin, obviously 18:38:41 I don't recall; based on the name only, it may have been another EgoBot instance. 18:39:02 Gregor-P, explain. 18:39:34 i don't think it was his bot 18:39:37 Apparently ran by immibis. 18:39:45 (Based on a quick grep.) 18:39:47 ah. 18:39:53 Yeah, 'twasn't mine. 18:40:02 yeah you'd definitely want to ignore that >:D 18:40:20 Who's immibis 18:40:25 s/$/?/ 18:40:39 -!- Gregor-W has quit (Quit: Page closed). 18:40:53 a guy who liked to do verbose things with bots 18:41:08 "This is my user page. I created RubE_On_Conveyor_Belts and MailBox (page coming soon). I will occasionally come on irc.freenode.net #esoteric." 18:41:10 hasn't seen him for a while 18:41:31 oerjan, /me exists for a reason. 18:41:52 Anywho, if I merged my bots, you could upload some code to the Esolangs Hackiki for an esolang, then run it here :) 18:41:54 * oerjan didn't even notice that 18:42:34 I've seen 'im last 2010-01-31 quitting with the message [Quit: #dsdev on irc.blitzed.org exists], but it might not be relevant to the prolonged silence. 18:43:11 Gregor-P: I imagine you could install [eso]interpreters written in arbitrary languages, instead of just the 'n' that EgoBot currently provides? 18:43:47 Without bugging me to update EgoBot's hg :) 18:45:34 Plus, I'd only have one bot on #esoteric X-P 18:45:34 -!- Flonk has quit (Read error: Connection reset by peer). 18:46:10 -!- Flonk has joined. 18:50:05 Gregor-P: And access Hackiki articles here. :P 18:50:51 Well, except that people are clamoring for Hackiki as an adjunct, not a primary. 18:51:17 Gregor-P, that is the only workable option, really. 18:51:55 Having no Hackiki is also a workable model :P 18:55:54 Fun fact! THERE ARE NO FUN FACTS. 18:56:34 ALL FACTS ARE DEAD SERIOUS, AND MOST ARE PAINFUL TOO. 18:58:41 cpressey: Good news everybody! I have eliminated all fun facts! 18:59:41 -!- jcp has joined. 18:59:58 fun fact n = if n<=1 then 1 else n * fact(n-1) 19:00:28 ; 19:01:46 :) 19:10:57 oerjan, you have outdone yourself. 19:11:26 my work here is outdone. 19:12:20 * oerjan mostly copied that from some SML link 19:17:32 -!- Flonk has quit (Read error: Connection reset by peer). 19:45:40 lol 19:45:58 nooga, why? 19:46:04 fun fact 19:49:27 This clone thing is driving me crazy... 19:49:50 huh? 19:49:56 well are you sure that you're really _you_ who are being driven crazy? 19:50:12 oerjan, "crazy" figuratively. 19:50:23 coppro, it's probably on the BBC somewhere. 19:50:47 ok, then, are you sure that you're really _you_ who are being driven "crazy", figuratively? 19:50:51 Oh, it's on the front page of BBC news... 19:51:09 oerjan, Are you insinuating that I am a clone? 19:51:44 hey it was you that started it 19:53:02 oerjan, cloned COWS. 19:53:08 found it 19:55:46 well you could be a cow, with those hooves 19:57:49 -!- Phantom_Hoover has quit (Quit: Leaving). 19:58:18 -!- Phantom_Hoover has joined. 20:14:36 * Sgeo decides that it's better to get to the root cause of a bug than to just slap a if (whatever != null) in front of a line 20:15:13 how quaint! 20:18:46 if (whatever == null) whatever = malloc(4096); /* here's some bytes for you */ 20:19:16 (Lowercase-"null" sounds non-C, though.) 20:19:41 now you don't need to check if whatever is null anymore!!! 20:21:23 nullptr obv 20:21:23 instead you can turn a new page 20:22:57 How do I make top display in order of memory used? 20:23:00 top 20:23:08 -!- Flonk has joined. 20:23:14 s/.*// 20:23:30 * oerjan forgets everything Phantom_Hoover has ever said 20:23:36 -!- oerjan has quit (Quit: Good night). 20:24:37 Phantom_Hoover: The "top" I have here has a nifty quick-access thing that "M" makes it sort by the "%MEM" column. 20:25:01 true ifTrue: [ Transcript show: 'Hi #esoteric!' ] 20:25:19 * Sgeo wonders if Smalltalk would be a decent first language 20:26:06 Sgeo, you wonder that with for every language. 20:26:16 Also, if you press "B" it bolds the current sort column, and then you can use < and > to move it left and right. 20:26:33 * Phantom_Hoover wonders if x86-64 assembly would be a decent first language. 20:26:54 Kids today, no idea how lucky they have it. 20:28:19 Sgeo: Alan Kay wondered that too! 20:29:11 The one thing I dislike about Smalltalk is how casually stuff adds methods to root object classes 20:29:27 With no namespace stuff, so potential for collision is rather high 20:30:09 Yes, it should be so that only the High Clergy is allowed to access the Holiest of Objects. 20:30:12 Ruby can suffer from that too. 20:30:22 Sorry, I mean MatzLisp. 20:33:42 The thing I don't like about Smalltalk is its syntax. 20:38:17 -!- Flonk has quit (Read error: Connection reset by peer). 20:39:07 Funny, that's what I hate about Ruby 20:39:18 [And how non-unified it is. Magical blocks? 20:39:40 Oh, I hate that Ruby is non-unified too. 20:40:01 I think I may have used the wrong phrase 20:40:18 I think I caught what you mean anyway. 20:40:57 It and Perl both belong to the "Magic is GOOD!" school... 20:41:14 (So does Python, but Python's in denial.) 20:41:32 Magic is GOOD!? 20:41:43 What sort of magic? 20:42:03 I'm kind of wondering what pro-magic stuff is like 20:42:24 Sparkly, special magic that makes everything NEAT!!! 20:42:39 But having blocks not be objects? Really? 20:42:45 Some weird yield keyword to get to blocks? 20:42:51 * Sgeo gibbers 20:42:52 Blocks? 20:44:47 I thought the block thing was just a funny syntax for passing a lambda to something. 20:45:04 If it's not, no matter! 20:45:10 Just use more magic! 20:45:22 It... is, except they're not objects 20:45:29 Unless the receiver receives it as an object 20:45:36 And you can only pass one block to a method 20:45:53 Or, well, one block as a block. You can objectify blocks, but that's not normally how things are done 20:45:55 What else could the receiver receive it as? 20:46:31 A ... thing detectable somehow [forgot how] and called with the yield keyword 20:46:44 That's the normal way of doing it 20:47:10 Magic sugar! 20:48:08 Magic sugar to make the magic chainsaw pretty! Whee! 20:50:49 -!- Mathnerd314 has quit (Disconnected by services). 20:50:57 Oh, here's more definition fun like yesterday's reddit comment: "Blocks, Procs and lambdas (referred to as closures in Computer Science) are one of the most powerful aspects of Ruby, and also one of the most misunderstood." http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/ 20:52:29 -!- Mathnerd314 has joined. 20:53:26 cpressey, the closure-lambda confusion is actually pretty understandable. 20:54:03 Phantom_Hoover: Agreed. Most because closures are a way to implement lambdas. 20:54:08 *Mostly 20:54:53 How odd. I could've sworn CS called them "lambda expressions" or "anonymous functions". 20:55:10 With the obvious caveat that they do, in some manner, close over their environment. 20:55:34 pikhq, lambdas are closures if closures are present. 20:56:33 Phantom_Hoover, not if your lambda syntax for some reason allows an option to not be a closure 20:56:43 Someone should make an esolang that does that! 20:56:50 ^^another thing I always say 20:57:58 I tend to regard "lambda" as jargon, and tend to prefer "function value" (which is flexible enough to be applied to either syntax or semantics, if it's clear from context.) 20:58:11 Sgeo: C++0x 20:58:22 Sgeo: You list the variables, if any, that you close over. 20:58:34 And in what manner (references or copies) 21:00:31 cpressey, "lambda" is much easier to type than "anonymous function", though. 21:01:08 -!- Phantom_Hoover has quit (Quit: Leaving). 21:01:25 -!- Phantom_Hoover has joined. 21:01:59 * Sgeo feels free to :p at anyone who suggests that all lambdas are closures 21:08:31 All ζs are φs. 21:09:21 all squiggles are squiggles 21:11:34 Power is power. 21:13:31 Women is women, but MEN is men! 21:13:47 Sgeo, tell that to alise. 21:16:58 -!- alise has joined. 21:17:03 "Two of most useful items in the game are: a magic marker and a can of grease. Both are disgustingly uncommon. * 21:17:03 The most useful item in the game is easily a Wand of Wishing. Which you will then use to wish for grease and magic markers." -- The TV Tropes Wiki page on NetHack. 21:17:20 :D 21:21:07 The atheist "OUT" campaign logo, FSM, ACLU, EFF, FIJA, Kopimi, pirate logo from The Pirate Bay, LGBT rainbow, NORML. 21:21:18 This is the most stereotypical Internet logo-sidebar ever. 21:21:58 alise, we were just talking about you 21:22:30 Am I the Paris Hilton kind of celebrity or the Brain Cox kind of celebrity? 21:23:02 Brain Cox, since I've never heard of him. 21:23:37 Phantom_Hoover: ! 21:24:05 The physicist? 21:24:06 Phantom_Hoover: only the coolest particle physicist slash pop musician slash pop-science TV presenter ever 21:24:16 also, the only one. 21:24:25 Oh, I know him. 21:24:32 I'm just terrible with names. 21:24:47 Is there a name for "Brain Cox after people believe he made a mistake"? 21:25:14 * cpressey is now tragically confused and wants to hurt you all, you all 21:25:24 pikhq: Hi. 21:25:25 Sgeo: ? 21:25:50 cpressey: tl;dr in the UK we have a handful of celebrities who are intelligent and awesome 21:25:52 Since when did you stop logreading? 21:26:15 when talking to people outside britain we usually use the words "national treasure" to convey this. 21:26:22 Wolfram Alpha, "mass of sun in bananas" => input interpretation "banana | amount | 1 banana", and then a "nutrition facts" table with e.g. 6.562*10^24 metric tons of fat; but nowhere it mentions the sun any more. 21:26:25 Sgeo: I do it while chatting. 21:26:41 fizzie: I would like those bananas, please. 21:26:58 It's a solar banana, I guess. 21:30:53 alise: your best celebrity is Richard Clarkson, period 21:31:06 * Sgeo <3 Terry Pratchett 21:31:28 fuck noo 21:31:30 Jeremy 21:31:32 * 21:31:46 Clarkson is a pig; an amusing pig, but a pig. 21:31:54 A Conservative, global-warming-denying pig. 21:32:20 hrmmmpf 21:32:54 alise: Haldo 21:33:11 Jeremy Clockson? 21:33:28 ghh 21:33:45 Dave Gilmour 21:33:58 of PINK FLOYD !11! 21:34:01 I know none of these names. 21:34:03 * cpressey panics 21:34:21 OK, I guess I have heard of Terry Pratt. 21:35:03 Fortunately for you, Jeremy Clockson is fictional 21:35:29 you son of a clock! 21:35:32 David Gilmour is ... very dull. 21:36:04 but i like it when he plays 21:36:50 * cpressey writes a C emitter 21:36:57 what for? 21:36:59 Been a while since I wrote anything that wasn't an interpreter 21:37:03 nooga: Eightebed 21:37:08 what is that? 21:37:35 bliss 21:37:35 nooga: My way of telling Gregor he is wrong, wrong, WRONG 21:37:53 about what? 21:38:15 Oh, something to do with GC or something. One sec 21:38:16 Safe Coids. 21:38:31 oh, is eightebed the one with safe pointers? 21:38:42 The only problem being that I'm right, right, RIGHT 21:38:59 alise: tried MacRuby ? 21:39:10 nooga: a long time ago. 21:39:20 nooga: how is it not utterly boring? 21:39:26 olsner: Yes. And dancing beagles, if you're lucky 21:39:48 sweet! I love dancing beagles! 21:40:03 it compiles ruby to llvm and then llvm emits native code 21:40:06 nooga: "A language which provides a true explicit free() cannot be safe. (By "true" I mean that you can get that memory back in a later malloc().) To be safe a language must either never free (which is bad) or be GC'd." -- Gregor's claim 21:40:33 alise: it's enormously fast compared to mri and other implementations 21:40:47 Gregor-P: what's the reason for that claim? 21:40:54 nooga: Great. A quick way to run a language so boring it makes me want to aestivate. 21:40:58 -!- Gregor-W has joined. 21:41:06 That only runs on a rather naff proprietary operating system. 21:41:10 Just to be perfectly clear, I am only referring to C-like languages :P 21:41:18 alise: Ruby, boring? Magic sugar chainsaw language, BORING??? 21:41:21 i thought you like roby 21:41:22 ruby 21:41:27 that's why i asked you 21:41:48 nooga: that was in a past life, one filled with a lot more gradients and drop shadows 21:41:50 Great, now Gregor can say Eightebed proves nothing because it's not sufficiently "C-like" 21:41:54 Which is to say, imperative languages with pointers at arbitrary data, where safety is defined as not seeing that data as a different type. 21:41:58 alise: rotfl 21:42:26 OK, it is that, at least 21:42:35 * cpressey was feeling like Sisyphus there for a sec 21:42:50 cpressey: I have further-specified all my horribly-ambiguous claims ;) 21:43:30 erm 21:43:31 coppro: And here is my reasoning: If you can relinquish memory to the system then reallocate it, you can alias that under two types, since detecting whether a reference is still in use statically is equivalent to the halting problem. 21:44:00 Flergh, why do languages suck? 21:44:00 And if you can alias it under two types, then of course you can write one type and read another, causing the universe to explode ^^ 21:44:18 alise: which? 21:44:20 Gregor-W: that assumes that the memory is returned unchanged 21:44:38 coppro: No it doesn't, you'll still have two references to it. You just need to write through one and read through another even if it's reinited. 21:44:43 nooga: all of them 21:44:57 -!- Phantom_Hoover has quit (Quit: Leaving). 21:45:11 Gregor-W: ah, I see what you mean 21:45:12 alise: Actually languages are very good, all languages, I find people who can;t get their punctuation right! Believe this. 21:45:12 alise, I've fallen in love with Smalltalk, I think 21:45:16 -!- Phantom_Hoover has joined. 21:45:18 int **a = /* allocate */; dostuff(a) /* I don't know that dostuff will free a */; int *b = /* allocate */; *b = whatever; **a /*boom*/; 21:45:28 alise, because you love hating everything? 21:45:29 Sgeo: I see. It is flawed. 21:45:41 Phantom_Hoover: no, it really does suck 21:45:46 alise: Your reasoning is pretty awesome X-D 21:45:47 Phantom_Hoover: name a good language 21:45:49 Smalltalk? 21:45:53 alise, besides the commonality of un-namespaced methods being added to core objects on a regular basis, what's wrong with it? 21:45:54 Oh, everything. 21:45:57 Why can't I stop falling in love with flawed languages? D-'8 21:46:06 alise, are you saying that there are no good languages? 21:46:10 Gregor-W: you require a lobotomy 21:46:20 Phantom_Hoover: ones you can actually use, at least 21:46:33 alise, I thought you like Haskell. 21:46:52 alise, what are Smalltalk's flaws? 21:46:55 yeah but haskell is one of the most disappointing languages 21:46:58 in potential vs reality 21:46:59 Sgeo: numerous 21:47:09 1) It is not sufficiently spicy. 21:47:15 alise, "potential vs reality" 21:47:17 ? 21:47:28 2) When you serialize its environment and print it out, it takes too many pages. 21:47:34 Phantom_Hoover: a language "recognisably similar to", "of the same strain as" Haskell could have been truly epically amazing 21:47:41 Haskell itself is ... good, but, you know. 21:47:47 Not /holy shit fucking awesome cakes/. 21:48:00 3) Any language with "Small" in it threatens my masculinity. 21:48:07 alise, you aren't making any sense. 21:48:14 4) Any language with "talk" in it threatens my masculinity. 21:48:16 Phantom_Hoover: No, I really am. 21:48:32 Phantom_Hoover: I am saying that Haskell had, before it was made concrete, /huge potential/ 21:48:39 I am saying that it disappoints, based on this potential. 21:48:55 Could this not just be you expecting too much? 21:49:01 http://www.youtube.com/watch?v=EO472qM6M9g 21:49:08 wha... i don't even... 21:49:36 Haskell code is often just as hard to read as Perl. And usually harder to understand. 21:49:41 Phantom_Hoover: i've seen the seeds of development that create languages so much less disappointing and in the vein of haskell 21:49:56 yes, they are usually quite impractical (dependently-typed programming hasn't been worked out yet), but ... 21:49:58 you know what, fuck it 21:50:06 just because you did a good job doesn't mean you created something excellent 21:50:10 alise: if all languages suck... 21:50:13 alise, what is unfulfilling with Haskell itself? 21:50:23 retarded kids can try really hard and do a really excellent job and produce a piece of paper with the letter A on it, that is not amazing 21:50:43 Also, you're conflating "sucks" with "isn't perfect". 21:50:51 Phantom_Hoover: type system has too many special features to handle things like typeclasses, etc., requires extensions which can't be inferred and make stuff blargh to be useful ... 21:50:57 syntactical quirks 21:50:59 bad standard library 21:50:59 I'm still curious about Smalltalk's flaws 21:51:18 Phantom_Hoover: no, really, haskell sucks compared to what languages could be, we just all have terrible standards 21:51:39 and i am fucking tired 21:51:54 alise: is it even possible to create a language that does not suck? in your opinion 21:52:08 alise, I've heard that it's bad to put built binaries in version control, but why 21:52:09 ? 21:52:20 Sir, I submit to you that a flying machine is a physical impossibility. 21:52:36 i defer to cpressey 21:52:53 Sgeo: version control systems mostly suck at binaries, they could be out of date, it's generally pointless 21:52:59 and they mostly suck at binaries. 21:53:23 Hackiki has binaries in its VCS ... but then it's not really being used as a VCS X-P 21:53:33 (Well, the Plof Hackiki does anyway) 21:53:34 Meh, have any better way for me to get the stuff to the host given that I only have RDP access? 21:54:11 i think of languages as tools, there is no holy grail of languages 21:54:29 i use mainly ruby and C 21:54:48 no, but there is shit significantly better than we have 21:54:57 even if there's no holy grail, that doesn't mean cups of crap is ok 21:55:17 `addquote i think of languages as tools, there is no holy grail of languages even if there's no holy grail, that doesn't mean cups of crap is ok 21:55:24 206| i think of languages as tools, there is no holy grail of languages even if there's no holy grail, that doesn't mean cups of crap is ok 21:55:43 Gregor-W: TWO SPACES BETWEEN MESSAGES 21:55:57 alise, so why has noöne made a better one 21:56:15 it's like you guys deny whole history of computing 21:56:25 Phantom_Hoover: why does no-one use the diaeresis? 21:56:27 Phantom_Hoover: They're too busy making lolcats on icanhazcheeseburger.com 21:56:31 nooga: you mean, things slowly, steadily improving? 21:57:21 "modern cars are shitty, every single one of them - you can crash, they don't teleport and you have to know how to drive" 21:57:26 People who say it cannot be done should not interrupt those who are doing it.. 21:57:33 s/\.\.$/./ 21:57:49 alise, noöne is interrupting. 21:57:50 but shit, i've seen beatuful cars, fast cars, comfortable cars, usable cars 21:57:51 etc 21:57:54 Phantom_Hoover: nooga is. 21:57:57 nooga: you know, innovation is possible and happens. 21:58:06 sure 21:58:07 nooga: and there is significant evidence of the possibility of good languages 21:58:17 and it can easily be seen how technology has been held back if you study it a bit 21:58:30 but complaining about current state without active search for future solutions 21:58:33 cars have been around since pick a date according to your definition of car 21:58:37 alise, so then why has noöne made one? It's not like making a car; you only need a computer, intelligence and time. 21:58:37 computers are new and people suck at them 21:58:43 nooga: guess what? Just because we whine about it doesn't mean we aren't looking. 21:58:51 Even cpressey is, in his own way. 21:59:18 Phantom_Hoover: Why hasn't anyone formulated the Grand Unified Theory yet? It's not like making a car; you only need pen, paper, intelligence and time. 21:59:48 maybe human brain is too small for that :F 21:59:52 alise, there isn't really any evidence that one of them exists, but you act like there must obviously be a perfect language. 21:59:59 Even me! ~~ 22:00:00 besides, people have made /better/ languages, it's just that today's /ecosystems/ like operating systems etc. aren't very friendly to them 22:00:14 Phantom_Hoover: i think of languages as tools, there is no holy grail of languages no, but there is shit significantly better than we have 22:00:27 is your definition of "acting", "explicitly denies"? 22:00:50 Huh? 22:01:14 Oh, wait. OK, s/perfect language/better language/ 22:01:39 okay 22:02:00 Phantom_Hoover: wait, you are actually saying that it's not obvious a better language exists than the ones we use today? 22:02:06 so what are the properties of language better than existing ones? 22:02:19 fucking hell, you like Lisp; people who do day-to-day programming, C and shit, they have no idea about Lisp 22:02:32 alise, we *have* Lisp, though. 22:02:34 is it so hard to imagine a better language that is unknown like Lisp and impractical in today's world in the same ways as Lisp? 22:02:40 Phantom_Hoover: we have Epigram, too 22:02:58 alise, does it suck? 22:03:43 yeah 22:03:47 but less so 22:04:19 of course it's almost entirely theoretical because nobody wants to bother making a practical language because it's hard and nobody gives you any support or thanks, just "and how can I HTTP synergise with this?" 22:04:29 thus modern academic language design. 22:04:40 awful 22:05:17 you can't write a modern OS using some heavily math based language 22:05:18 care to qualify that awful? say, give it an object to indicate what is awful? 22:05:23 well.. you can 22:05:32 "of course it's almost entirely theoretical because nobody wants to bother making a practical language because it's hard and nobody gives you any support or thanks" 22:05:35 but it would be worse than selfdestruction 22:05:41 nooga, FAIL. 22:06:02 imagine if Solaris was written in Haskell 22:06:08 that's what i call fail 22:06:13 Imagine Solaris. 22:06:16 That's what I call fail. 22:06:17 nooga, do you seriously think "good" = "you can write an OS in it"? 22:06:23 nooo 22:06:25 -!- augur has joined. 22:06:36 but i still think that languages are tools 22:06:51 nooga, AND ACADEMIC LANGUAGES AREN'T TOOLS FOR OS DESIGN 22:06:54 you need hamer? use hammer. you need scalpel? use scalpel 22:07:12 i konow 22:07:14 know 22:07:16 We *have* tools for OS design. 22:07:25 i know that 22:07:28 Well, conventional OS design, anyway. 22:07:38 sure 22:07:47 nooga, so how does it reflect badly on Haskell that you couldn't write an OS in it? 22:07:56 it does not] 22:07:57 We don't have good non-academic languages because CREATING GOOD PRACTICAL LANGUAGES JUST GETS YOU INSULTS, FLAMES AND NO BENEFIT WHATSOEVER 22:07:59 my point was 22:08:10 Phantom_Hoover: It has been done (for some definitions of "OS"). 22:08:10 at least ACADEMIC languages are RESPECTED and get you *ACADEMIC CREDIT* 22:08:14 I still don't see what's so bad about Smalltalk :/ 22:08:23 syntax 22:08:25 this is a SELF PERPETUATING PROBLEM caused by the IDIOCY of today's computing and it is /everyone's fucking fault/. 22:08:27 and tools 22:08:30 Sgeo, syntax sucks. 22:08:32 so just shut up 22:08:38 Sgeo: Phantom_Hoover is wrong :P 22:08:41 Smalltalk is pretty damn good 22:08:46 I just have doubts about OOP in general 22:08:49 and ... imperative programming 22:08:51 Sgeo: It's a damned lot better than many other OO-type languages. However, it does have flaws. 22:09:15 For now at least, I'd consider it the example of how to do OO right. 22:09:29 I still want to know what those flaws are :/ 22:09:31 (not because it can't be better, but because just about everything else is *worse*) 22:09:43 alise, did the designers of Haskell get flamed and insulted? 22:10:05 Phantom_Hoover: Didn't when it was purely academic. It does now. 22:10:10 Phantom_Hoover: Uh ... yeah, Haskell is regularly insulted. The only reason the designers didn't take it and the fans now do, is because it was /originally a highly academic language/. 22:10:26 haha! 22:10:36 Then it became popular and people started writing bad libraries and crap in it, giving it bad package management tools, flooding the channel with bullshit, and then everyone else pointed and laughed. 22:10:52 Sgeo: The syntax is irritating, it's dynamically typed, and it's dynamically typed. 22:10:53 Thus demonstrating the immense worthwhileness of creating a good, practical language. 22:10:54 alise, people will write bad libraries anyway. 22:10:55 I've met Phil Wadler in Edinburgh! 22:10:57 Immense meaning "0". 22:11:01 (dynamic typing is that much of a failure) 22:11:09 he said 'hi' to me 22:11:10 Phantom_Hoover: yeah, but some haskell code /really, truly/ misunderstands what haskell is. an awful lot of it 22:11:17 pikhq: Smalltalk's syntax is fine, dammit. 22:11:31 alise, that's because you can't have an idiot detector in the compiler. 22:11:41 alise: Okay, fine. s/The syntax is irritating/It's dynamically typed/ 22:11:46 Transcript show: 'I can survive this.'; cr. 22:11:50 Phantom_Hoover: how about we agree that you ignore that part of the sentence 22:11:52 ( http://en.wikipedia.org/wiki/Philip_Wadler ) 22:11:53 and read the rest of it 22:12:29 So what are statically-typed Smalltalk-like languages? 22:12:43 Sgeo: Strongtalk, I think had something ... maybe ... but basically nothing ... 22:12:47 nooga: Oh, the dude who compared monads to a solution to Descartes' mind-body problem? 22:12:56 yep 22:13:13 he's loose 22:13:18 cpressey: Hey, Wadler is awesome. Just ... not that specific thing. 22:13:32 nooga: Better put him back in his cage then. 22:13:35 alise, I don't get why people writing bad libraries will stop with a better language, though. Which seems from here to be your point. 22:13:37 It also amazes me the people that think that pretty much anything functional is "magic". 22:14:19 Phantom_Hoover: I thought we agreed to ignore that part? 22:14:28 What other part am I not ignoring? 22:14:30 Then it became popular XXXXX, giving it bad package management tools, flooding the channel with bullshit, and then everyone else pointed and laughed. 22:14:41 Tada, no more things about libraries for you to complain about. 22:14:56 alise, OK, so your point is that people started laughing when the idiots came. 22:15:04 Nope. 22:15:06 eh, i used bad word 22:15:11 My point is it became popular then people started laughing. 22:15:15 The idiots were just a side note. 22:15:16 Ignore it. 22:15:21 Fucking hell, I'm insanely tired, cut me slack. 22:15:38 i mean't 'cool' but 'loose' is exact translation from PL 22:16:02 alise, so why did people start laughing? 22:16:12 Phantom_Hoover: because it became popular 22:16:16 it had to synergise HTTP. 22:16:21 what are these monads? In enterprise we do not use monads! 22:16:28 You innovate, but how does this interact with RUBY? 22:16:39 Ha ha ha, all this mathematical masturbation. How does it help me drive my toaster? 22:16:40 now brb. 22:16:58 * Sgeo wonders what a compromise between static and dynamic typing might look like 22:17:05 Something that allows safety and flexibility 22:17:14 alise, but surely your view of a better language would be more mathematical than Haskell? 22:17:33 pikhq: that's what I fear 22:17:36 Maybe something similar, but not identical, to OCaml's and Scala's statically-typed duck-typing-like thing? 22:18:04 could you apply lazy evaluation to the type system and do lazy type-checking? 22:18:34 olsner: Yes but *wince* 22:18:41 Grr at http://www.pharo-project.org/home 22:18:44 erm, wrong link 22:18:49 Grr at http://www.smalltalk.org/articles/article_20041002_a1.html 22:19:09 They imply that that fault is static type checking's fault, when it's a fault with that particular type system 22:19:20 I'd imagine that, say, dependent types would work well there 22:19:46 -!- yiyus_ has quit (Ping timeout: 240 seconds). 22:21:03 Static typing as in C might not be the answer, but that's no reason to throw out static typing altogether 22:21:06 More to the point, type systems do not and never will preclude bugs. 22:22:09 -!- yiyus_ has joined. 22:23:02 "The fact that Smalltalk's numbers "scale" - in this case small integers scale to larger numbers - dynamically has everything to do with a benefit over statically typed numbers." 22:23:14 Sgeo: Static typing as in C is absolutely not the answer. 22:23:26 C has static typing? 22:23:33 Phantom_Hoover: Static, weak typing. 22:23:36 Ah. 22:23:49 Gregor-P: Nope, it just precludes certain classes of bugs. Only idiots think static typing is the magic solution to all bugs. 22:24:03 Of course, there are a large number of idiots. 22:24:28 static typing is not the solution to all bugs 22:24:30 but it helps 22:25:10 It would be nice if by types we stopped meaning, say, Numbers, Strings, etc, and started meaning, say, XCoord, YCoord, Distance, DisplayedString, etc. 22:26:15 there are various languages that allow opaque retyping 22:26:29 Sgeo: That's what Hungarian Notation was originally supposed to be 22:26:37 -!- comex has quit (Quit: ZNC - http://znc.sourceforge.net). 22:26:49 Then Microsoft Microsofted the hell out of it 22:27:01 I know Joel endorses that sort of Hungarian Notation 22:27:21 i hate hn 22:27:21 I tried to make it part of the language (one of my languages - Dieter) 22:27:24 -!- GreaseMonkey has joined. 22:28:07 -!- Gregor-W has quit (Ping timeout: 252 seconds). 22:29:08 cpressey, seems easy enough 22:30:25 there's no Dieter in our wiki 22:30:34 Phantom_Hoover: It took me a while -- but it was more complicated than just that (the type system has polymorphic typing with type qualifiers) 22:30:38 nooga: it's not very esoteric 22:30:43 show plz 22:32:08 http://catseye.tc/projects/dieter/ 22:37:07 "# The DevTeam implemented an immediate and savage punishment for pudding farmers. It's called Pudding Farming." -- The TV Tropes Wiki article on NetHack. 22:43:56 I'd imagine that, say, dependent types would work well there 22:44:01 Dependent types have their own whole host of problems. 22:44:13 They are unruly enough to be a Bad Idea unless the type language is total. 22:44:21 If the type language is total, that implies a full functional language, more or less... 22:44:27 and by that point, why use an imperative language at the base? 22:44:31 Explain? 22:44:34 Also, dependent side-effecting types are hard. 22:44:52 Sgeo: Explain what? 22:44:57 My program doesn't terminate, my macros don't terminate, and now my type checking doesn't terminate! Boffo. 22:45:12 total type languages, unruliness, dependent types... 22:45:16 -!- comex has joined. 22:45:47 Sgeo: Type language: the language used in the type system. if you don't realise that types are expressions, you don't know what dependent programming is 22:45:52 unruly: hard to control, nearly impossible to use 22:45:56 dependent types: you yourself used this term 22:46:03 hi comex 22:46:09 hi 22:46:20 That doesn't mean I understood it, except vaguely as "A type that can be constrained to be, say, between 1 and 5" 22:46:22 comex: are the details of your jailbreak exploit public? 22:46:24 And I'm probably way off base 22:47:27 -!- cheater99 has joined. 22:48:14 alise, total? 22:48:40 Phantom_Hoover: tl;dr terminating 22:50:43 -!- derdon has quit (Ping timeout: 276 seconds). 22:51:47 alise, "total" in the sense that it is defined for all input values? 22:51:57 That is where the term originates. 22:52:20 It means all functions are total; thus no non-terminating replies; thus in a functional language as this applies to, all programs terminate 22:52:36 alise, ah. 22:52:52 So you can't have a practical, dependently-typed language? 22:52:58 http://vimeo.com/9056286 HOW COOL IS THAT 22:52:58 Untrue. 22:53:03 We just haven't figured out how yet. 22:53:04 i want one 22:53:12 It is Ongoing Research. Ask Connor McBride. He'll dazzle you with confusion. 22:53:24 alise, if all functions are terminating you can't even write cat... 22:53:53 why are current dependently typed languages impractical? 22:53:54 Ah. Well cat is modelled with a Beuchi automaton, you see... 22:54:00 Phantom_Hoover: Untrue. 22:54:04 Phantom_Hoover: Codata allows infinite data. 22:54:12 Codata...? 22:54:14 Phantom_Hoover: This is why we say "total", not "always-terminating". 22:54:15 *Büchi 22:54:20 Phantom_Hoover: codata is this thing. 22:55:28 What thing? 22:55:59 Phantom_Hoover: it's complicated. 22:56:15 I love it when people ask questions that boil down to "please summarise this large field of study in a line" 22:56:17 *line". 22:56:34 this thing that makes writing a simple cat pain 22:56:36 Phantom_Hoover: instead of constructors you have destructors and they can be infinite. 22:56:45 nooga: no, untrue, you can have a non-total base language 22:56:52 nooga: also, using codata is friggin' easy 22:56:53 alise, looked it up. 22:56:57 just not explaining it. 22:57:05 nooga: try explaining imperative programmer to a "native" functional programmer 22:57:07 you'll sound like a madman. 22:57:09 alise, incidentally, the typography at http://cseweb.ucsd.edu/groups/tatami/handdemos/doc/coind.htm is awful. 22:57:25 Phantom_Hoover: I see no typography 22:57:48 a gaudy background image, no CSS styling, and some old bitmap images for Greek letters. 22:57:52 s/typography/rendering of mathematical Things/ 23:00:27 -!- augur_ has joined. 23:00:34 -!- augur_ has quit (Remote host closed the connection). 23:00:44 -!- augur_ has joined. 23:01:30 "Nurse dancing is a minor tactic in NetHack. If you are naked and wielding nothing, a nurse will heal you instead of hurting you. If the healing attacks would heal you past your normal max hit points, your max hit points will increase." 23:03:04 -!- augur has quit (Ping timeout: 240 seconds). 23:03:12 -!- augur_ has changed nick to augur. 23:04:28 -!- Sgeo_ has joined. 23:04:40 alise: but the FACT is our computers have such a thing called STATE 23:05:11 and functional languages don't deny it. However, the "LOL computers have STATE" argument is basically preschool as far as functional languages are concerned and I have better things to do* than reply to it. 23:05:14 *such as nothing 23:05:25 Maybe googling will turn up the answer to your complaint. Maybe not. 23:05:40 and pretending that there's no such thing as STATE and trying to explain it to our computers is going the way round 23:05:40 -!- MigoMipo_ has quit (Quit: Quit). 23:05:50 You're stupid. 23:06:12 i just think that 'pure' languages are impractical for most uses 23:06:22 ofc there are some cases when they rock 23:06:41 The FACT, nooga, is that all computers have BITS in them! So I make sure to write all my programs to do bitwise operations on my data. 23:07:04 =,= 23:07:07 To do any less would be passing up a great opportunity! 23:07:24 The universe has quantum mechanics. I cannot take a reference to a variable without its value changing. 23:07:33 -!- Sgeo has quit (Ping timeout: 245 seconds). 23:07:34 That is because my language is done the right way around. 23:07:36 ruling out state is much bigger abstraction than covering few bits with numbers 23:08:07 -!- distant_figure has quit (Ping timeout: 248 seconds). 23:08:21 nooga, so? 23:11:50 overkill 23:12:12 what an awful argument 23:12:26 it's like you took a supremely mediocre argument, then just sort of dragged it down 23:13:23 01:52:48 But right now, after expunging my mind of the syntax horror that is OCaml, I'm obsessed with Smalltalk 23:13:28 presumably you missed the nice language 23:13:30 the syntax isn't that bad 23:13:32 I quite like it 23:14:20 I'm not sure how I could ever come to like OCaml, after tasting Haskell's [mostly] syntactical glory 23:14:31 yeah, uh, ocaml has better syntax than haskell in many many places 23:14:37 Well, not glory, but cleanlinesslooking 23:14:54 then you have to write it 23:15:00 and reminisce about ocaml 23:15:14 oh come on, cars got 4 wheels, but you dont have to turn them personally, instead of that you use driving wheel and the engine takes care of the rest... but virtually you could build an extremely complicated robot that'd drive the car for you basing on your wishes 23:15:48 but it's an overkill... nowadays, at least 23:15:56 nooga you really don't understand what you're talking about 23:15:57 -!- distant_figure has joined. 23:16:18 23:40:56 "; has type unit -> 'b -> 'b" ;; that's a lie, ; is synta 23:16:19 *syntax 23:16:28 iirc 23:16:42 -!- SevenInchBread has joined. 23:16:49 ITS A TARP 23:16:57 well 23:17:01 I don't actually agree that languages are tools, but I would agree with the statement "pick the right abstraction for the job". Sometimes "stateful" is the right abstraction, sometimes "stateless" is, sometimes there is no right answer. 23:17:02 that's possible 23:17:03 -!- CakeProphet has quit (Ping timeout: 240 seconds). 23:17:28 cpressey: i agree 23:17:49 cpressey: Of course, the whole point is that /stateful/ can happen in a stateless language. 23:17:56 Statelessness is an /abstraction/ of statefulness. 23:18:03 Which is why you can perfectly well write imperative code in Haskell. 23:18:08 And why people whining about it are stupid. 23:18:41 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 23:18:42 * Sgeo_ wants to make AW SDK bindings for Smalltalk now 23:19:30 how natural it is... we use some monadic trickery to mimic tatefulness in a stateless language that compiles to stateful language running on stateful machine 23:19:47 sounds like an optimal solution 23:20:11 :| 23:20:17 nooga, you don't get abstractions, do you? 23:20:40 and nooga successfully ascends to the level of "assumption-making, stands-on-shoulders-of-giants (CPU architecture) but objects to adding more, complete and utter troll". 23:20:42 do I? 23:21:02 I think the Jews would circumsize you at this point. 23:21:10 do not want 23:21:45 okay, let's just assume that i am completely wrong, eot 23:22:46 I support this assumption! 23:22:48 *not really 23:24:34 Epigram compilation fails for some reason... 23:24:46 C emitted for Eightebed needs work, but it runs without crashing now! http://pastie.org/1076160 23:24:47 "Could not find module `Control.Applicative':" 23:25:45 *emitter 23:26:04 cpressey, my mere mortal eyes suggest that that's not valid C. 23:26:10 -!- tombom_ has quit (Quit: Leaving). 23:26:15 Phantom_Hoover: Indeed sir. 23:26:42 What's with the [DeRef]? 23:27:26 I just stubbed out the emitter stuff for variable references. And the struct contents, you see. 23:28:03 jim = eightebed_malloc(sizeof(node); 23:28:06 You missed a ). 23:28:16 Also, so totally abbreviate it as 8ebed, if C allows starting an identifier with 8. 23:28:25 Well, maybe tonight, I'll finish it. Then I'll still need to work on the runtime. And optionally the validity analyzer (although I could just write out the rules, say they must be followed, and not implement them) 23:28:40 alise: indeed. I don't think it does. Maybe _8ebed. 23:29:13 cpressey: Could I also inform you that it should be "node *foo", not "node* foo"? You can lynch me if you want. 23:29:48 alise: HAH. Next you'll want it to be indented and all. 23:30:30 C has this weird convention in decls about variables "being" the pointers instead of the types. But you know that probably. 23:31:00 (Instead of the types being pointer types. Except they are. Oh, C.) 23:31:47 does anyone know of any languages where you can dynamically change the types of variables? 23:32:22 coppro: Python comes immediately to mind. Of course, their values will generally change too. 23:32:49 cpressey: variables don't have types in Python, only values 23:33:01 coppro: Well, granted. 23:33:42 -!- SevenInchBread has quit (Ping timeout: 258 seconds). 23:34:01 e.g. foo := 4; foo @= string; foo == "4" # true 23:34:16 coppro: You could build a container that has a (dynamically changeable) type in Python, I suppose. 23:34:57 -!- CakeProphet has joined. 23:35:08 coppro: But what's stopping me from saying that all Python variables have a type, and that type is just derived from the type of the value that the variable is holding? 23:35:22 That doesn't seem to be too different from your e.g. 23:35:55 -!- Mathnerd314 has quit (Ping timeout: 265 seconds). 23:36:00 cpressey: because in my example, subsequently trying foo := 4 again would be an error because foo is a string 23:36:12 (but foo := 4 @ string would be fine) 23:36:31 alise, any idea why Epigram won't compile? 23:36:42 coppro: How is that dynamically changeable? Dynamically establishable, maybe... 23:36:47 Phantom_Hoover: Because it hates you! 23:36:56 Phantom_Hoover: Do you have she? 23:37:00 Yep. 23:37:09 I'm not an idiot at error diagnostics. 23:37:24 Do you have ghc 6.12? 23:37:28 Epigram requires it. 23:38:03 Yep. 23:38:20 Anyway, must be off now. Slight chance I'll be back on later tonight. Ahoy! 23:38:21 The specific error pertains to a lack of Control.Applicative. 23:38:23 -!- cpressey has quit (Quit: Leaving.). 23:38:48 GHCi imports this without complaint. 23:38:55 Phantom_Hoover: Please pastie the whole log. 23:39:58 http://pastie.org/1076195 23:40:37 alise, ^ 23:40:57 -!- Mathnerd314 has joined. 23:42:08 -!- distant_figure has quit (Ping timeout: 245 seconds). 23:42:17 What command did you use? 23:42:31 It is a member of the hidden package `base'. 23:42:31 It is a member of the hidden package `base-3.0.3.2'. 23:42:39 are you SURE you have 6.*12*? 23:42:40 please check 23:43:16 I did. It's definitely 6.12. 23:43:30 The command was "make dep" in Pig09/src 23:43:42 -!- distant_figure has joined. 23:45:10 A distant_figure! 23:45:16 Phantom_Hoover: *shrug* try rolling back revisions, report bug 23:50:04 -!- Wamanuz3 has joined. 23:53:51 -!- Wamanuz2 has quit (Ping timeout: 264 seconds). 23:55:11 alise, so there's no obvious reason for this? 23:55:25 It seems to be in the standard import path... 23:55:39 Phantom_Hoover: i have no clue 23:56:25 You must build a turtle fence! 23:57:20 Gregor-P, wha? 23:58:11 He's right, you know. 23:58:17 http://www.youtube.com/watch?v=qizNQKzatXA