00:00:09 My binding is bound to a binding. 00:02:48 I just tried a language construct that creates a module from all the bindings currently in scope. I wasn't really expecting it to include all the bindings from all the imported modules. And all builtins. But it does. I maybe need to rethink how to define modules. 00:13:16 -!- augur has quit (Ping timeout: 260 seconds). 00:18:28 Yay, set difference to the rescue. 00:20:15 -!- Sgeo has joined. 00:25:18 -!- Azstal has joined. 00:25:56 -!- Asztal has quit (Ping timeout: 252 seconds). 00:27:48 Still, closures everywhere. 00:27:57 Hey, just like the economy! 00:28:01 Later. 00:28:04 -!- cpressey has left (?). 00:28:11 -!- Azstal has quit (Client Quit). 00:42:11 -!- Pthing has joined. 00:43:39 I have recently been hit with what seems to be synchronicity with regards to thinkpad 701C. The last few days it has popped up in 4 different unrelated contexts... 00:59:52 -!- MissPiggy has quit (Quit: Lost terminal). 01:03:22 -!- lament has quit (Ping timeout: 268 seconds). 01:08:43 -!- lament has joined. 01:11:31 -!- augur has joined. 01:13:03 -!- uorygl has quit (Quit: leaving). 02:39:38 -!- augur has quit (Ping timeout: 256 seconds). 02:46:56 -!- augur has joined. 02:50:33 -!- MizardX has quit (Ping timeout: 260 seconds). 03:31:46 -!- augur has quit (Ping timeout: 256 seconds). 03:57:46 -!- augur has joined. 04:01:53 -!- Gracenotes has joined. 04:17:40 -!- augur has quit (Ping timeout: 256 seconds). 05:12:31 -!- augur has joined. 05:17:34 -!- oerjan has joined. 05:19:17 oklopol, oerjan wasn't connected when you said that 05:19:27 however, i have esoteric log powers 05:20:22 "oklogon" must be some sort of an irr{egular,esponsive,ational,everent} shape, by way of analogy from polygon. <-- possibly discworld related? 05:20:30 well _i_ was thinking lovecraft 05:20:44 (with my version) 05:24:32 -!- augur has quit (Ping timeout: 256 seconds). 05:27:34 "Execution of instructions in one program induces execution of instructions in another, nearby program." Yes. <-- I first thought "what are you messing around with by doing induction over an uncountable set" 05:27:48 as mentioned, perfectly possible in theory. 05:29:31 however, you need to well-order the set first, and for most frequently used uncountable sets (reals, complexes) that requires using the axiom of choice. so you don't get any concrete sense of what the order is. 06:03:31 -!- lament has quit (Ping timeout: 246 seconds). 06:06:00 -!- augur has joined. 06:06:53 -!- lament has joined. 06:12:22 hey oklopol 06:16:41 "AnMaster: oklopol, oerjan wasn't connected when you said that" <<< that's why i said it on-chan, not in pm 06:18:48 hey, how did you know i just came here 06:28:59 hows it goin oklopol 06:33:04 -!- oklopol has quit (Ping timeout: 245 seconds). 06:38:21 -!- coppro has joined. 06:43:44 -!- oerjan has quit (Quit: leaving). 06:49:24 -!- oklopol has joined. 07:08:08 -!- oklopol has quit (Ping timeout: 260 seconds). 07:18:47 -!- MigoMipo has joined. 07:20:02 -!- oklopol has joined. 07:32:28 -!- tombom has joined. 07:47:59 -!- MigoMipo has quit (Remote host closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:09 -!- gm|lap has quit (Quit: 2 hour UPS expired. Shutting down laptop.). 08:05:08 -!- kar8nga has joined. 08:26:20 oklopol 08:26:39 a parasitic gap which has the reverse direction: Which candidate do even supporters of __ tend to dislike __? 08:27:07 where the parasitic gap is _inside the subject_ 08:28:19 nice topic btw, it's always up-to-date when you look at it 08:28:47 olsner: which what 08:28:58 not you, the topic 08:29:09 o.o; 08:29:22 i dont get it 08:29:22 D: 08:29:24 the /topic, that is 08:29:25 however! 08:29:31 olsner, yeah hehe 08:29:44 http://en.wikipedia.org/wiki/Indexed_grammar 08:29:49 * olsner doesn't know what a parasitic gap is 08:29:52 http://en.wikipedia.org/wiki/Head_grammar 08:29:57 http://en.wikipedia.org/wiki/Global_index_grammar 08:30:13 http://en.wikipedia.org/wiki/Literal_movement_grammar 08:30:18 http://en.wikipedia.org/wiki/Range_concatenation_grammars 08:30:20 http://example.org/I_can_also_spam_with_links 08:30:28 :P 08:30:48 olsner: http://en.wikipedia.org/wiki/Parasitic_gap 08:31:06 augur, is this programming or linguistics 08:31:14 which? 08:31:22 parasitic gap or whatever 08:31:31 all all those links you pasted 08:31:42 PGs are strictly linguistic phenomena (unless someone invents a PL with them!) 08:31:54 then I won't even bother looking 08:32:27 the *_grammar links are just pages for grammar formalisms that lie roughly in the range of the mildly context-sensitive grammars 08:39:22 "Which candidate do even supporters of __ tend to dislike __?" what's supposed to be able to go after 'dislike' here? 08:39:47 nothing. the __'s just denote the positions in which "the candidate" is understood. 08:39:57 e.g. "even supports of Bob Dole tend to dislike Bob Dole" 08:41:26 oh, I thought it was all about how you could plug in objects there that are *not* bound by the 'wh' 08:42:25 no 08:42:33 its all about the dependencies 08:42:47 the __'s denote the dependencies associated with the WH phrase 08:43:42 hmm, what depends on what though? aren't all just gaps bound by 'wh'? 08:45:43 no, not necessarily 08:46:23 consider the topicalized "MARY I like ___, but John I hate ___" 08:49:47 so if you fill in the gaps in your question you get: Which candidate do even supporters of Bob Dole tend to dislike Bob Dole? 08:50:00 i think it's worthwhile to learn english grammar before you go after other grammars 08:50:27 cheater2: no, you dont fill in the gaps 08:50:28 I guess that's the same thing as wh-fronting, yes... but there's only a single gap for each fronting, just that there are two phrases with independent bindings? 08:50:34 the gaps are just there to denote the dependencies 08:50:35 well i just did 08:50:40 theyre not things that you fill in 08:50:40 and your sentence sucked balls 08:50:43 :o 08:51:02 you gave us an example yourself: you put bob dole in both places 08:51:20 no, i gave you a different sentence without gaps and without the WH element 08:51:40 so what does __ mean 08:52:10 olsner: true, in the topicalized sentence i gave theres only a single gap for each element, but you can get parasitic gaps with topicalization as well 08:52:35 e.g. "THIS book Mary read ___ before shelving ___, not that one" 08:53:28 so what makes either gap parasitic? 08:53:28 i think it's worthwhile to learn english grammar before you go after other grammars <-- my reaction too 08:53:44 cheater2: the ___'s are the conventional notation for gaps, which is the conventional way of talking about long-distance dependencies of this sort. the idiom is basically a comparison with the non-gapped sentence. 08:53:44 augur, it looks like "fill in word(s) here" 08:54:01 olsner: the second gap is parasitic because without the first gap, the sentence is bad 08:54:09 to anyone that isn't a linguist 08:54:26 AnMaster: in many ways it IS, but not in the naive sense 08:54:30 augur: you are using circular definitions 08:54:41 augur: you made no sense :< 08:54:58 it stems from the history of how this sort of phenomenon was treated in chomsky's early work 08:54:58 augur, "naive" is wrong word here I think. Replace it with "normal" or "everyday" 08:55:31 whereby a sentence like "John saw Mary" is transformed by a rewrite operation into "who did John see" 08:55:51 ok so in fact __'s are parentheses 08:55:52 augur, you lost information in that transformation 08:55:55 big deal 08:56:10 so what's the question now 08:56:12 cheater2, ah right if you see it that way it makes sense 08:56:17 AnMaster: true. in reality it was "John saw someone" underlyingly 08:56:25 i shouldve said that instead. 08:56:27 augur, ? 08:56:36 "John saw someone" -> "Who did John see" 08:56:36 augur, you should have said *who* as well 08:56:44 that was the actual transformation 08:57:02 taking a declarative with an indefinite "someone", and turning it into the corresponding interrogative with "who" 08:57:34 infact, early theory I think considered "who" to be derived from rewriting the string "WH someone" 08:57:45 but whatever. 08:58:07 hmm, right, "this book mary read War and Peace before shelving ___" is weird 08:59:29 but if you make it "this book mary shelved ___ after reading ___" I think either gap can be replaced 08:59:58 well, the first cant be "filled" 09:00:03 its essentially what you just said was weird 09:00:15 "this book mary shelved War and Peace after reading ___" is horrible 09:00:30 but yes, the second gap can be filled with something else and its fine 09:05:31 -!- tombom has quit (Quit: Leaving). 09:11:31 kneeways 09:16:37 -!- Pthing has quit (Remote host closed the connection). 09:59:47 -!- Pthing has joined. 10:05:36 -!- lament has quit (Ping timeout: 264 seconds). 10:07:59 -!- lament has joined. 11:28:03 -!- kar8nga has quit (Remote host closed the connection). 11:40:54 -!- augur has quit (Read error: Connection reset by peer). 11:41:05 -!- augur has joined. 11:50:58 augur: no straight man or gay top can understand the concept of not filling a gap with something. 11:51:15 that's why you have such a hard time getting the thing through 11:52:21 -!- BeholdMyGlory has joined. 12:01:09 -!- yiyus has left (?). 12:22:51 Mind, the gap. 12:38:37 wait where was that 12:42:55 -!- Asztal has joined. 12:47:38 In many places, I presume; but it's what London's subway announcement speakers repeat while stopping at a station, IIRC. And it's been the title of at least one magazine article I've seen. 12:48:24 Based on where http://en.wikipedia.org/wiki/Mind_the_gap leads by default, the Underground connection is the "official" one. 12:53:51 well sure but wasn't it the name of a level in some flash game 12:55:56 Yes, that sounds also likely. 12:59:47 Wikipedia says it's "used" in the Flash-built game "VVVVVV". 13:02:13 -!- MissPiggy has joined. 13:06:21 -!- KingOfKarlsruhe has joined. 13:06:52 huh. 13:07:46 i'm fairly sure it's a game we've both played, #eso inducedly. 13:10:26 In this case I would have guessed that silly dot-action one, but grepping my logs didn't say anything about a mind-gappy level. 13:12:29 Mind the gap was a level in that star-fetching programmy game 13:12:49 Oh, that one. 13:12:52 Right. 13:12:59 Maybe the level name wasn't just mentioned here. 13:13:14 Robozzle, that's the name. 13:13:43 Number 513 13:18:24 -!- kar8nga has joined. 13:18:38 i was pretty sure it was robozzle 13:32:47 07:59 < fizzie> Wikipedia says it's "used" in the Flash-built game "VVVVVV". 13:32:57 The last time I checked it wasn't built in flash 13:33:14 That was also from Wikipedia. 13:33:15 Last time I checked it was 13:33:26 I know it runs on it 13:41:55 I'm pretty sure it was straight as3 with something like flex 13:51:33 "I use Flex with FlashDevelop on windows" -- I guess so; Flash-based in the runtime sense, anyway. 13:51:48 -!- FireyFly has joined. 13:56:42 -!- alise has joined. 13:57:27 This is Dispatch 3. 13:58:22 alise, hi there 13:58:46 And I'd type but the keys are sticky; best fix that first. 13:58:57 mhm 13:59:22 -!- kar8nga has quit (Remote host closed the connection). 14:01:46 -!- FireyFly has changed nick to FireFly. 14:05:57 hi alise 14:09:58 A little hard-handedness, it seems, goes a way; I wouldn't say a "long way" as my troubles are still numerous, but that is the idiom. I am no longer drinking that malnutrition-treatment. It came to a head a few days ago; after having a substantial lunch, I was still forced to drink it all, despite clear, immediate, recent-in-time evidence I was not malnourished whatsoever, and continued explanation that I was completely full and couldn't drink it. Eventuall 14:09:58 y, I settled for "I'll finish it later"; my parental overlords came, "for a visit", and brought me home for the night. The next day, we requested to meet with the head honcho there, and were told he was free; he was not, and we had to say the same things to a patronising-as-fuck nurse. Later that day we got our meeting and it was resolved; they had talked to their bullshitician^Wdietician and the drinks were gone; I just had to eat something else at the tim 14:09:59 e I normally would, and have a bigger lunch every day. Big deal, I ate that much before I went there anyway. 14:10:10 And I do wish that XChat was better at wrapping lines. 14:11:03 Other than that, no change; business continues as usual, except it was even more pointless as it's half-term, so no lessons, just sitting around on one games console or another all day. That's therapy, that. 14:11:15 Hi, guys. 14:11:26 :( 14:12:21 you need to get out 14:12:27 this is not right 14:12:32 Yeah. I'm on it. 14:12:58 I'd rather endure longer than I would have to with an alternative escape plan if it reduces risk, however. 14:13:17 yeah that is wise 14:13:53 -!- augur has quit (Ping timeout: 265 seconds). 14:14:27 -!- augur has joined. 14:18:03 But unless anyone has anything specific to ask or whatever, on to happier things. :) 14:18:28 alise this is so awful I hate this 14:18:29 cpressey's ring language sounds awesome! (Logreading while mother visits by using Opera Mini on her cheap-ass phone? Why ever not.) 14:18:40 MissPiggy: yeah but it's worse if you think about it :P 14:23:54 -!- Speedy2 has joined. 14:24:39 alise: Yeah, there are very few dieticans that have any clue about how stuff works in real world. But their speciality is directing people about what to eat and thus ethical responsibility would be to actually know something about nutrion and not just brain-dead-repeat "truth" taught by big pharma courses. 14:25:39 -!- Speedy2 has quit (Client Quit). 14:26:19 yeah - but at least the advice has improved from "DRIIIINK THIIIIS" to "eat a bigger lunch, and have some milk and biscuits at break time instead of the drinks" - to understand this, one must first understand that they appear to have this bizarre notion that, as a rule, I don't eat: I'm often praised after eating something merely because it was eating. I'm utterly baffled by this and think I know who to blame for it, but I won't say anything because it won' 14:26:19 t achieve a thing. 14:26:26 -!- scarf has joined. 14:26:31 Oh, hi scarf. 14:26:34 You'll cheer me up. 14:26:39 I have heard likes of this: The patient might be deficient in nutrient A. Dietican advises to eat food B. Except that food B _interferes_ with absorption of nutrient A. 14:26:40 hi 14:26:52 I have to leave to teach Java in about half an hour, but I'll be back an hour after that 14:27:35 hmm, my email server has taken to marking many legitimate messages with "SPAM:" or "?spam?" in the subject line 14:27:51 whereas actual spam is generally marked "[SPAM?] ?spam?" 14:28:02 Spam, spam, spam, spam! 14:28:15 And also: The patient might be deficient in nutrient C. Dietican advises to eat food B. Except that food B does not contain nutrient C. 14:29:59 cpressey's ring language sounds awesome! (Logreading while mother visits by using Opera Mini on her cheap-ass phone? Why ever not.) <-- since my phone has opera mini... wouldn't it be truly horrible for that purpose? 14:30:29 I dunno, the logs are just text. It folds all the lines into one, but apart from that... 14:30:57 alise, folding the lines sounds horrible to begin with. 14:31:08 If it's a time and a <, it's a new line. 14:31:10 Anyway, it beats nothing. 14:31:42 hah 14:32:08 alise, well it does, it beats the built in web browser (opera mini is a java application) by far 14:32:12 at least on my phone 14:32:18 the built in one is much much worse 14:32:33 It's Opera Mini, ENHANCED BY VODAFONE! 14:32:35 not sure how it is for pure text, it would probably just download it 14:32:38 alise, what? 14:32:39 It totally is. 14:32:43 It says on the logo screen. 14:32:47 -_- 14:32:51 I haven't seen any of this "enhancement" yet, mind. 14:32:58 alise, which version? 14:32:59 Also, I tried downloading a java IRC client but it just saved it as a file and won't open. 14:33:00 5? 14:33:03 AnMaster: Don't know. 14:33:15 Stable release 4.2.14912 (August 3, 2009; 6 month(s) ago (2009-08-03)) [+/−] 14:33:15 Preview release 5.0.17443 (December 23, 2009; 54 day(s) ago (2009-12-23)) [+/−] 14:33:18 Probably *not* 5. 14:33:23 the enhancement was clearly just branding 14:33:29 ah 14:34:01 5 is somewhat better than 4 I have to day 14:34:03 say* 14:34:32 for example, in 5 you can have multiple tabs 14:34:56 and the user interface is easier to navigate 14:38:56 -!- kar8nga has joined. 14:41:04 MobileSafari ftw. :P 14:41:13 Or even what the fancy Nokia phones have; that's basically the same. 14:41:20 Or even Android's. 14:41:54 alise, simple nokia phones has that horrible built in thing + opera mini 14:42:03 I mean S60 ones. 14:42:10 btw it is snowing heavily here 14:42:33 alise, I have no idea what mine has (Nokia 3120 classic) 14:42:42 pretty sure it isn't symbian 14:42:45 but that is all 14:43:10 S40, likely. 14:43:17 mhm 14:43:59 AnMaster: it was snowing here yesterday 14:44:12 hm checking in the settings the version info thingy: "V 07.16\n27-05-08\nRM-354\n(c) Nokia" 14:44:28 and yes that actually says "(c)" not "©" 14:44:58 err, RM-364, not 354 14:45:13 AnMaster: probably for encoding reasons 14:45:44 AnMaster: Where'd you come up with "the version info thingy"? 14:45:48 scarf, it does have unicode in sms and such 14:46:03 SMS tends to use 8-bit encodings, rather than Unicode 14:46:14 scarf, that's a setting iirc 14:46:17 unless that's changed from 5 years ago or so when I last looked at it 14:46:21 which defaults to unicode 14:46:51 Deewiant, Meny → Inställningar → Telefon → Tel.uppdateringar → Aktuell programinfo. 14:47:39 Meh, doesn't apply. 14:47:41 no clue what it would be on a non-Swedish phone (could guess for an UK phone) 14:47:56 Deewiant, it is under the telephony update thingy basically 14:48:24 Yes, I don't have an update thingy like that. 14:48:31 mhm 14:48:45 there has never been any updates when I checked 14:48:46 There's the "App. manager" but it doesn't include builtin software. 14:48:57 Deewiant, I have no such thing as an app manager 14:49:06 Yes, I could guess as much. 14:49:15 Deewiant, there are java apps in a folder 14:49:38 hm I think nokia included some app to download/buy new apps from them/third parties 14:50:01 when I looked it basically said for almost all "not compatible with this phone" 14:50:11 wonder why they were listed at all 14:50:24 they could try to only show relevant ones 14:51:01 $$$ 14:51:06 "buy a new phone get this app" 14:51:45 alise, it didn't even say that 14:51:48 or what phone it needed 14:52:08 alise: the advertising in PC World around the release of Windows 7 was even more hilarious 14:52:14 AnMaster: something expensive 14:52:15 it was along the lines of "Windows 7 is out, time for a new PC" 14:52:27 scarf, err what? 14:52:41 AnMaster: it seemed to be working, at least 14:52:52 scarf, I don't get it. 14:52:54 so many people think that a computer is inherently tied to the OS version it comes with 14:53:06 and it's those that they were targeting 14:53:11 scarf, people who reads computer magazines? 14:53:16 no 14:53:23 people who have seen adverts talking about how great windows 7 is 14:53:35 scarf, "PC World" isn't a computer magzine over ther? 14:53:37 there* 14:53:52 AnMaster: it is, but it's mostly a chain of computer retail stores 14:53:53 it is here, IDG iirc 14:54:07 scarf, aha, that explains it somewhat 14:54:41 scarf, who owns the trademark then, the chain or the magazine? Or are they related? 14:54:51 I have no idea 14:54:55 hm 14:55:00 in fact, I've been wondering that myself 14:55:37 scarf, I estimate an average snow depth of 30 cm in the area I cleared this morning btw. And it was about 20 cm then. 14:55:38 sigh 14:55:51 time to go teach Java, anyway 14:55:53 probably will go out and clear away somewhat before it becomes too heavy 14:56:04 The forecast here is 50 cm over the weekend 14:56:08 -!- oerjan has joined. 14:56:14 Deewiant, something similar here iirc 14:56:36 and I need to go to another city tomorrow. Not possible to cancel due to weather 14:56:48 heh, have fun with that 14:57:55 Deewiant, well, test at university (yes, during the weekend, it sucks, but apparently they are short of rooms during the single week when basically every student at the university has a test) 14:58:00 would be better if they spread them out 14:58:12 -!- alise_ has joined. 14:58:24 -!- yiyus has joined. 14:58:28 Yes, we have occasional exams on saturdays as well 14:58:39 Deewiant, saturday *afternoon* even 14:58:40 also 14:59:52 either someone hates me or I have really bad luck. Because for every course group (two at the same time) there has been one test on a Saturday for me 14:59:54 AnMaster: i made some comments to you earlier 15:00:06 oerjan, where/when? and what were those comments? 15:00:25 you don't read logs? 15:00:34 -!- alise has quit (Ping timeout: 245 seconds). 15:00:36 Seems to like you should say "or", not "and" 15:00:46 oerjan, I do read scrollback, and since I saw my last line in there I suppose it must not be in logs either 15:00:59 Either you can find out how to get to the comments or you can be given them directly, no point in both 15:01:10 oerjan, but no I don't read logs unless someone highlighted my nick 15:01:24 AnMaster: your nick was present when i comented 15:01:26 *mm 15:01:34 also, i quoted you 15:01:43 Seems to like you should say "or", not "and" <--- 15:01:45 ? 15:01:55 however, maybe you don't get pinged on quoting... 15:02:07 oerjan, well I do get pinged by that 15:02:17 but, maybe you had timed out and not noticed it? 15:02:20 also re ring programming, cool cool 15:02:29 AnMaster: Read the follow-up as well... 15:02:31 AnMaster: um i see it perfectly well in the logs 15:02:32 oerjan, anyway I'm going outside to clear away some snow in exactly 1 minute 15:02:33 needs to be a monoid too 15:02:43 50 15:02:44 imo a ring computer is obviously parallel 15:02:48 anyway 15:02:51 oerjan, thus, say what you wanted now 15:02:53 40 15:02:53 21:19:17 oklopol, oerjan wasn't connected when you said that 15:02:57 21:19:27 however, i have esoteric log powers 15:02:57 Deewiant, har 15:02:59 21:20:22 "oklogon" must be some sort of an irr{egular,esponsive,ational,everent} shape, by way of analogy from polygon. <-- possibly discworld related? 15:03:03 30 15:03:04 21:20:30 well _i_ was thinking lovecraft 15:03:06 21:20:44 (with my version) 15:03:09 21:24:32 --- quit: augur (Ping timeout: 256 seconds) 15:03:11 21:27:34 "Execution of instructions in one program induces execution of instructions in another, nearby program." Yes. <-- I first thought "what are you messing around with by doing induction over an uncountable set" 15:03:13 20 15:03:16 21:27:48 as mentioned, perfectly possible in theory. 15:03:16 oerjan, ah that 15:03:18 21:29:31 however, you need to well-order the set first, and for most frequently used uncountable sets (reals, complexes) that requires using the axiom of choice. so you don't get any concrete sense of what the order is. 15:03:18 a + b = compute a and b in parallel, obviously 15:03:20 didn't see any reason to comment 15:03:22 a * b = sequencing 15:03:23 10 15:03:25 bbl 15:03:30 mzero = _|_ 15:03:33 AnMaster: See ya 15:04:19 hmm so 15:04:33 a `seq` (b `par` c) = (a `seq` b) `par` (a `seq` c) 15:04:40 yeah 15:04:58 (a `par` b) `seq` c = (a `seq` c) `par` (b `seq` c) 15:05:06 yep 15:05:28 Of course, since all are just c ;-P 15:05:45 not if a or b = _|_ 15:06:02 True 15:07:21 alise_: my hunch now is that this ring programming is just the endomorphism ring generated by extending computations to apply to the free abelian group over possible input 15:07:32 absolutely 15:07:33 :P 15:07:39 "just" 15:08:00 my n and l keys aren't pressing nicely :( 15:08:04 -!- augur has quit (Ping timeout: 245 seconds). 15:08:08 with the provision that non-halting computations become -> 0 15:08:19 not mzero, mempty, ofc 15:08:21 Deewiant: it's a simple algebraic construction, really 15:08:53 data Cr = Bot | Cr :+ Cr | Cr :* Cr 15:08:58 Methinks I need more than just that 15:08:58 hmm 15:09:00 my point is that i'm not sure you can get something more useful than chaining all inputs in parallel 15:09:03 what's nop, then, if bot is 0? 15:09:06 maybe nop = 0, bot = inf 15:09:16 -!- augur has joined. 15:09:54 Deewiant: otoh a `par` b = b even if a = _|_ 15:10:04 Also true 15:10:06 so, of course, you need the resulting computation to have some sort of _result_ 15:10:08 Your equations still hold 15:10:15 so we need a new Cr, i.e. Id foo 15:10:40 a :+ b -> Id (a' :+ b'), maybe (where ' denotes evaluation) 15:10:45 Gotta love two-letter identifiers 15:10:59 ? 15:11:25 hmm, I don't think I can use par 15:11:30 I need *deterministic* parallelism XD 15:11:50 alise_: my idea is that the result of a sum is just the sum of the results. 15:11:51 Cr Id :+ :* <-- the embedded meaning, it is blinding 15:12:02 Deewiant: Well, yeah. 15:12:07 This /is/ mathematics. 15:12:11 oerjan: see, that's what I said! 15:12:18 hmm 15:12:26 So you have an excuse to be obtuse? ;-P 15:12:40 Deewiant: Well, I also need shorthand for my convenience, since I'll be using the names a lot. 15:12:45 :+ and :* have embedded meaning, from rings. 15:12:51 Id is identity, just like id. 15:12:57 Cr is Computation Ring; it's arbitrary. 15:13:17 alise_: also this would work nicely with free vector spaces too, then you can multiply your computation with reals/complexes 15:13:18 data ComputationRing 15:13:23 But that's just me 15:13:51 data ComputationRing = Bottom | ComputationRing :+ ComputationRing | ComputationRing :* ComputationRing 15:13:51 and get an algebra over a field (or another ring, if you want) 15:13:53 It's just noise. 15:14:05 You only need to type it once. 15:14:10 I don't care. 15:14:12 It's still noise. 15:14:39 If you insist. 15:14:39 oerjan: so a*b -> a'*b'? 15:14:41 or a'+b'? 15:15:11 hmm 15:15:12 what's 1? 15:15:20 1*x = x implies nop, but 1+x should be > x 15:15:23 identity 15:15:29 So 1+x = x? 15:15:35 no, 1 = id 15:15:46 And? 15:15:52 alise_: What does > mean here? 15:16:01 Deewiant: Well, okay: !=. 15:16:07 this is the obvious way to get a ring unit in an endomorphism ring... 15:16:20 So what is 1+x with respect to x? 15:16:32 um is x a computation then? 15:16:34 And what does = mean here? Computation has same result? 15:16:35 yes 15:16:38 1' = 1, so it's (1+x') 15:16:44 which I guess is not x :P 15:16:49 Deewiant: yeah 15:16:54 then 1+x is a parallel computation that returns both input and x(input) 15:16:58 eval Bot = fix id 15:17:05 >_< 15:17:09 oerjan: oh i see, it's basically currying 15:17:10 Deewiant: what 15:17:16 alise_: fix id :-P 15:17:22 Deewiant: And? :P 15:17:32 eval Bot = eval Bot 15:17:37 psychoanalysis = fix id 15:17:46 hyuk hyuk :| 15:17:49 well 15:17:49 joke = old 15:17:50 psychotherapy, really 15:18:03 oerjan: so x*y = x' + y' or x' * y'? 15:18:05 I guess + 15:18:11 (' is evaluation) 15:18:37 so really, eval :: Cr -> Cr -> Cr 15:18:39 (one is input) 15:18:41 um i don't understand your notation 15:18:55 x' is the result of computing x 15:18:59 you said that 15:19:02 a + b -> a' + b' 15:19:09 a * b -> a' * b' or a' + b'? 15:19:13 um you also need to specify input 15:19:22 well, it's the same for both 15:19:25 so it can be left implicit, no? 15:19:26 (x*y)(inp) = y(x(inp)) 15:19:30 ohh 15:19:41 if x and y are deterministic computations 15:19:48 otherwise, sum all branches 15:19:48 so... you don't actually need parallelism at all :) 15:20:12 oh and bottom = 0 as input/output 15:20:27 well, you'll never be able to inspect the output... 15:20:37 for obvious reasons 15:20:46 yeah i don't think this is _computable_ 15:20:58 I'm computing it simply by leaving 0 resulting in _|_ 15:21:02 which doesn't seem unreasonable to me... 15:21:19 but to have a ring you need 0 + x = x 15:22:23 Oh. 15:22:31 Well, can you even write a non-terminating program without 0? 15:22:36 Not without an infinite program. 15:22:47 0 is really just \_ -> 0 15:23:16 in a sense yes 15:23:39 So I think this language is computable, and sub-TC. 15:24:04 well if you only use terminating programs as base 15:24:13 Oh, I have only Bot and Id as base programs. :) 15:24:18 data Cr = Bot | Id | Cr :+ Cr | Cr :* Cr deriving (Show) 15:24:44 oh 15:24:55 I guess I need more to have anything useful. 15:24:59 Or, wait, no. 15:25:02 I can use Bot as (). 15:25:06 well then you essentially get a free ring on 0 generators, aka Z 15:25:09 So then () = 0, (() :+ ()) = 1, ... 15:25:09 (the integers) 15:25:26 oerjan: hrm, so completely unable to be used for any useful computation then 15:25:30 guess that's pretty obvious 15:25:33 heh 15:26:12 * alise_ wonders what useful computations he could have 15:26:23 well, we need *some* sort of looper 15:26:49 http://pastie.org/832823.txt?key=a8bszac2sr9tpdd2n2pfw 15:26:52 Ours for the extending, anyway. 15:27:11 but as i implied, you could throw any terminating functions into your base without trouble 15:27:20 and still be sub-TC 15:27:49 -!- MizardX has joined. 15:28:23 aye, but we want to be able to calculate fibonacci at least 15:28:26 ackermann preferably 15:28:40 a conditional, then. 15:28:45 wait, we have that 15:28:49 well primitive recursion is enough for the former 15:29:05 0 x = 0, 1 x = x, 2 x = x :+ x, I think 15:29:16 no 15:29:22 0 x = 0, 1 x = 0 :+ 0 15:29:28 or at least I think so 15:29:34 this is rather confusing 15:29:41 transfinite induction was mentioned earlier today, maybe you could use that, omega^2 gives you ackermann iirc 15:29:48 *Main> eval (Id :+ Id) (Id :+ Id) 15:29:48 (Id :+ Id) :+ (Id :+ Id) 15:30:48 1 = id i said! 15:31:25 yes 15:31:28 also you seem to have left out subtraction in your ring 15:31:40 that's (1+1) -apply- (1+1) 15:31:46 i.e. (id id),(id id) 15:31:49 i.e... oh dear 15:31:54 also 15:31:59 data Cr = Bot | Id | Cr :+ Cr | Cr :* Cr ?? 15:32:05 In mathematics, a ring is an algebraic structure consisting of a set together with two binary operations (usually called addition and multiplication), where each operation combines two elements to form a third element. 15:32:06 MissPiggy: computation as a ring 15:32:13 why not just bot = bot ; id = 0 ? 15:32:54 because that does not make any sense, I believe 15:32:55 alise_: if you want it defined as an algebraic variety, you need something like subtraction or negation explicit. otherwise you need a logic axiom for their existence... 15:33:09 oerjan: yeah but I'm bored now :) 15:33:16 generally should a closure copy the objects it's closing over, or just separate the identifiers from the global scope? 15:33:29 effectively making a local copy of the identifiers 15:33:48 cheater: if you have mutable variables you need to be careful 15:33:54 bot + bot 15:33:56 copying doesn't work then 15:34:06 what are mutable variables? 15:34:07 cheater: copying is less efficient 15:34:13 also... what 15:34:15 alise_: you misunderstood. 15:34:27 cheater: that's nice, you could have just restated it more clearly 15:34:32 cheater: variables whose values can be _changed_ 15:34:50 variable variables, basically. 15:35:07 oerjan: define 'value of variable' 15:35:11 cheater: and that means changes need to be visible to all scopes 15:35:16 cheater: >_< 15:35:24 oerjan: cheater is just being obtuse 15:35:27 no 15:35:27 i suggest ignoring him 15:35:37 i am trying to understand something that requires precise statements 15:35:44 we're being precise. 15:35:48 cheater: for once i agree with alise_ on annoyingness 15:35:50 data Var = Integer 15:35:56 value :: [Value] -> Var -> Maybe Value 15:35:59 happy? 15:36:06 noo 15:36:06 mutate :: Var -> Value -> [Value] 15:36:06 data Var = Var Integer 15:36:09 that is not a valid syntaxxx 15:36:12 -!- Asztal has quit (Ping timeout: 264 seconds). 15:36:13 Deewiant: yeah w/e :P 15:36:17 alise you don't even !!!!!!!!!!!!! HASKELL 15:36:22 Sure it was valid 15:36:31 I don't even !!!!!!!!!!!!! Haskell. 15:36:42 Not even 15:36:48 oerjan: you're just teaming up with her in hopes of being laid 15:36:54 oerjan: admit =( 15:36:59 It's totally true. 15:37:03 oerjan craves me. 15:37:07 cheater: the thing is, iirc ML which has no mutable variables can get away with implementing closures with copying. and also iirc java does the same with a horrible hack of _disallowing_ closures over non-final variables 15:37:17 -!- Asztal has joined. 15:37:22 ML has mutable refs doesn't it 15:37:40 ofc they're separate entities 15:37:48 alise_: yes, but that doesn't matter since it's not actually the variables themselves... 15:38:16 in fact you could deal with mutable variables by copying references to them 15:38:22 oerjan: if i have a closure in python, over x, it has a local version of x. so if i later assign, outside of the closure, in the global scope, something else to x, then the x in the closure still refers to the old object. whereas if i modify the object in the global scope outside the closure, by say changing one of its fields, then the change is reflected inside the closure. 15:38:42 A person demands absolute preciseness of semantics, and then starts talking about Python's semantics? 15:38:45 ha! 15:38:53 cheater: that just says that what python calls closure is not what one would usually call a closure 15:39:09 -!- coppro has quit (Ping timeout: 260 seconds). 15:39:20 data MutableVar = PointerToImmutable MutableReference 15:39:28 tada now you can do closures via copying 15:40:24 oerjan: and what is the difference? 15:41:49 -!- Pthing has quit (Remote host closed the connection). 15:41:51 In Python's closures? That x didn't change. 15:42:04 cheater: a real closure would see the "same" variable as everything else in the scope of the variable 15:42:27 same in quotes because you can cheat if it really doesn't matter (e.g. immutable variable) 15:42:46 pheew 15:43:02 It's not cheating if you can't tell the difference within the language 15:43:15 it's about 50 cm already btw 15:43:18 mind you this may be just a consequence of python's scopes being not truly lexical, also iirc 15:43:22 30 was an underestimate 15:43:22 http://catseye.tc/projects/burro/doc/website_burro.html 15:43:24 fucking hell 15:43:30 he is dragging up the past! 15:43:35 there is no free space for the cleared away snow any more 15:43:39 what am I to do? 15:43:40 AnMaster: Almost 20 inches?! 15:43:44 Swim 15:43:45 I suggest castration. 15:43:53 alise_, har 15:44:21 Deewiant, snow swining, hm. Sounds like something to add to the olympic games 15:45:13 AnMaster: no nearby hill to shove it off? 15:45:30 Snow swining! 15:45:35 Pigs; racing through snow. 15:46:34 to nicely complement the summer sport of sow swimming 15:48:12 * oerjan recalls the pole vault from the frc hellympics 15:52:13 back 15:52:36 yoyoyoyoyoyo 15:52:38 doing 15:52:45 -!- alise_ has changed nick to alise. 15:52:56 scarf: so I've become obsessed with one paradigm 15:53:01 which one? 15:53:13 There can be only one 15:53:17 Tree rewriting! It's like functional programming, but (a) usually slow, and (b) restrictionless! 15:53:18 * scarf secretly hopes it's one he hasn't heard of 15:53:26 alise: ooh, I like that one too 15:53:32 It's a symbolic computation system - we got yer algebra system. 15:53:37 It's a functional language - we got yer Y. 15:53:41 but Cyclexa is not really at a usable stage 15:53:48 it's more than cyclexa 15:53:52 basically 15:53:59 AnMaster: no nearby hill to shove it off? <-- no 15:54:03 tree = symbol | app tree tree 15:54:08 oerjan, or I would need to go up said hill 15:54:10 program is a set of tree' -> tree 15:54:12 functional programming is a myth 15:54:14 (it's effectively tree-rewriting, except it's string-rewriting with parsers determined at runtime so you can randomly reparse the string as some other tree if you like) 15:54:17 but then all the neighbours would get mad 15:54:18 tree' = tree except another leaf is "freevar symbol" 15:54:25 it's bound on the RHS and replaced 15:54:27 oerjan, this is inside a town after all 15:54:28 so we can have e.g. 15:54:35 not (not X) = X 15:54:36 by the way 15:54:40 where caps = free 15:54:47 I realised there is yet another issue with time travel 15:54:50 not a paradox 15:54:53 alise: ah 15:54:56 but a very very annoying issue 15:54:58 scarf, ^ 15:55:02 and we can evaluate (not (not (not x))) without defining x 15:55:05 and get not x 15:55:06 back 15:55:06 AnMaster: there are lots of issues with time travel 15:55:16 scarf, "best before" dates on products would become useless 15:55:16 scarf: also, since terms without a rule just stay inert... 15:55:18 so time travel is impossible 15:55:22 scarf: we can use function application as data 15:55:26 alise: makes sense; the tree-rewriting version of SKI combinatory logic works like that, doesn't it 15:55:28 i.e. (Cons x y), without defining Cons 15:55:30 it Just Works 15:55:33 alise: yep 15:55:35 AnMaster: ah. i guess it only works if you live some way up a hill to start with. 15:55:37 scarf: yep, you can define SKI like that literally 15:55:38 scarf, same for credit cards that has "valid to" 15:55:47 (or whatever the English phrase for that is) 15:55:47 scarf: also, "X + Y" doesn't have to be specially supported 15:55:49 X plus Y = foo 15:55:52 alise: note that this is what Mathematica does for everything, except the bits that were hand-optimised in C 15:55:58 the head term just happens to be a free var 15:56:00 -!- addicted has joined. 15:56:00 I'm prepared to believe, though, that it's a good idea but an awful implementation of it 15:56:04 scarf: yep 15:56:30 Q, http://q-lang.sourceforge.net/, and its successor Pure, http://code.google.com/p/pure-lang/, are the best term-rewriting languages 15:56:36 Pure is even not hideously slow. 15:56:38 * scarf looks 15:56:38 hm looking at my various cards phrases such as "good thru" and "valid thru" pops up 15:57:10 oerjan, yeah, plus that is hardly a hill. I guess the elevation is about 5-7 meters compared to the area around at most 15:57:21 scarf: a really cool thing is that since rules are independent, not "attached" to anything, you can "extend" "functions" 15:57:25 for instance 15:57:26 oerjan, not sure what the English word is. But it is called an "ås" around here 15:57:35 doc factorial = "The factorial function." 15:57:37 factorial n = ... 15:57:40 then later 15:57:43 doc fib = "Fibonacci" 15:57:44 oerjan, ås being not a hill due to being rather narrow but quite long 15:57:45 fib n = ... 15:57:50 (doc X) is just a term 15:57:54 yes 15:57:58 same as fib or factorial 15:58:08 hmm, that sort of thing leads to truly weird bugs in Mathematica 15:58:10 also, currying works: 15:58:13 foo x y = ... 15:58:16 (foo x) just doesn't evaluate 15:58:17 where you get literal bits of its internal working dumped into your result 15:58:22 do ((foo x) y), however... 15:58:22 what is the English word for that scarf? 15:58:33 AnMaster: I'm not sure; there may not be a particular one 15:58:37 hm 15:58:41 AnMaster: we don't really have them so we don't need to call them anything :P 15:58:52 scarf: Pure is even compiled - to LLVM, no less 15:59:00 alise: we do, we just don't notice them 15:59:11 alise: have you tried using it much yet? 15:59:15 alise: Pure's shell is a good start 15:59:16 > help 15:59:16 sh: w3m: command not found 15:59:25 scarf, alise: oh interwiki gives "ridge" 15:59:25 Deewiant: yeah that's relevant to the language. 15:59:28 which isn't quite it 15:59:31 I think 15:59:35 scarf: well, I've read a lot of the docs and wrote some simple programs 15:59:45 ridge sounds like something you would find at high mountains 15:59:51 but ås is definitely not so 15:59:52 I'm quite enamored with the paradigm; and the language isn't bad. 15:59:54 AnMaster: i though ås (a norwegian word too) was also translated as hill 16:00:05 AnMaster: a ridge is basically what you get when a lot of hills or mountains nearby connect together 16:00:08 It's eager, yes, and impure, yes, but despite that it's still pleasant. 16:00:08 oerjan, hm maybe 16:00:10 to create one long hilltop, that's a ridge 16:00:14 and it's not what you were describing 16:00:25 hmm, how can an impure language be called Pure? irony? accident? 16:00:26 bad interwiki I guess then 16:00:36 scarf, or partly overlapping meanings 16:00:47 possibly ås geologically is something else than everyday sense 16:00:47 AnMaster: do you get ridges where you live? 16:01:10 Birmingham is in a really hilly area, so I know of a few within an hour's driving distance 16:01:14 scarf, in Sweden yes, around this part of sweden: no, you need to travel 1-2 hours by car to the nearest such place 16:01:49 basically you have this large almost completely flat area and then some mountains at the west side of it 16:02:05 heh, sounds like a mirror-reflected version of Norfolk 16:02:15 which is rather hilly around the edges, but famously ridiculously flat in the central areas 16:02:20 well mountains, a few hundred meters, you do notice it as pressure difference in your ears when you go over them though 16:02:41 NORFOLK: Secretly, part of the Netherlands. 16:02:45 scarf, well, I live near the flat middle basically 16:02:58 lol 16:03:07 alise: at least it mostly isn't underwatetr 16:03:09 *underwater 16:03:13 lol 16:03:19 well, below sea level 16:03:22 which isn't /quite/ the same thing 16:03:42 scarf, iirc some time after the last ice age this area was part of the sea. 16:03:56 (the ground has risen since) 16:04:11 Norfolk got the way it was due to being covered in glaciers during the last ice age 16:04:21 the hills round the edges are where the glaciers melted and dumped all the stones they were carrying 16:04:28 scarf, and yes, there were glaciers here too 16:05:49 * scarf wonders how well concatenative langs compile into tree-rewriting langs 16:05:52 probably quite well 16:06:11 scarf, the mountains to the west contain some interesting remains such as fields with lots of round huge stones. And there is of course the occasional slab of stone in the middle of the plain. (which were put there by trolls or giants or something if you prefer the traditional stories ;P) 16:07:37 "To my mind Mythryl deftly combines C speed, Lisp power, and Ruby convenience with the critical new ingredients of Hindley-Milner typing, state of the art generics and just the right level of side effects." 16:07:43 ah, the dangers of semi-randomly clicking on links on Wikipedia 16:07:56 apparently, it's an attempt to convert SML/NJ into a C-like syntax 16:08:14 C + Lisp + Ruby + Hindley-Milner + generics + side effects 16:08:17 O____o 16:08:24 yes, it scares me too 16:08:38 I'm busy reading the docs to know whether to laugh at it or not 16:08:41 That's one hell of a tagline 16:08:58 "new ingredients of Hindley-Milner typing" just sounds /confused/ 16:09:17 "Either way, this is a far cry from the hundred-plus lines of code of a typical C Quicksort implementation." 16:09:22 hmm, that seems rather critical of C 16:09:29 "new ingredients of x" obviously does, but "new ingredients of x, y, and z" is fine 16:09:33 I've seen a Pascal quicksort in 20 lines, and that was in a book intended to teach Haskell 16:09:38 I know of Mythryl, I think. 16:09:39 umm, to teach Pascal 16:09:46 Yeah; that thingl. 16:09:48 *thing. 16:09:48 scarf: So how's theirs; link 16:10:02 http://mythryl.org/ 16:10:06 pascal, haskell, nearly the same. if you slur enough. 16:10:23 oerjan: it's a pain trying to discuss Haskell with people who know Pascal but not Haskell 16:10:25 http://mythryl.org/my-Less_coding_effort_.html is what I wanted 16:10:27 "By four years in, vomiting blood in the wee hours was starting to seem entirely normal." 16:10:29 Slightly odd man 16:10:30 you have to really emphasise the e to prevent them mishearing it 16:10:39 that wizard is AWESOME 16:10:43 Argh, this keyboard doesn't have enough key travel; though the rubber domes _do_ make a nice clacky sound. 16:10:46 And yes, it is a completely unoptimized "quicksort" of a linked list 16:10:55 It beats the previous, sticky one though, I think. 16:11:06 scarf: theoretically pascal should stress the last syllable, i think 16:11:26 As opposed to the 100+ C lines of a suitably benchmarked introsort on arrays 16:11:28 oerjan: yes, but a stressed e and a stressed a sound rather different 16:11:33 I feel like bashing the fucking keys! Am I even pressing these things? 16:12:01 um i'm actually not sure where haskell is stressed 16:12:05 also, the Mythryl guy seems to use "linux$ " as his $PS1 16:12:12 Or has his box called "linux". 16:12:17 yes 16:12:19 Or is just using it as an example. 16:12:24 * oerjan always stresses it on first syllable 16:12:25 but who calls a computer after its OS? 16:12:26 Or uses uname 16:12:31 scarf: Incidentally, you can do pure IO without monads in a term rewriting language, really trivially. 16:12:32 oerjan: so do I, although I don't know that's right 16:12:44 Except that my uname prints Linux, but whatever 16:12:49 alise: what method in particular are you thinking of? 16:12:56 puts s = lambda k (_PUTS s k) 16:13:07 getc = lambda k (_GETC k) 16:13:12 that looks rather like a monad to me 16:13:14 exit = lambda k _EXIT 16:13:17 well, yes, it is technically 16:13:17 BUT 16:13:20 then we do 16:13:26 Deewiant, some TURT questions. Since I'm planning it for efunge. 1) Since heading (in degrees) and distance to move are both integers we might end up at non-integer x/y. This can of course be handled by floating point or fixed point math. However that poses a problem since there is an instruction to query the current coordinates. Should one return rounded-to-nearest values for it? Or round internally 16:13:26 as well? 16:13:37 a C quicksort takes like 8 lines max 16:13:48 and a Joy quicksort takes one 16:13:58 x ; y = lambda k (x (y k)) 16:14:01 so we can say 16:14:03 isn't there a GolfScript quicksort in something like ten characters? 16:14:03 in a hundred lines you can just manually program how to sort each possible list 16:14:07 puts "Hello, world!"; getc; exit 16:14:09 and it turns into 16:14:15 Deewiant, cpressy said that he couldn't answer it, since he wrote that stuff so long ago he really doesn't remember what was intended or anything 16:14:16 it turns into the monad 16:14:16 AnMaster: Either, I guess 16:14:24 "REPROGRAM YOUR SEMICOLONS!" 16:14:29 lambda k (_PUTS "Hello, world!" (_GETC (_EXIT k))) 16:14:51 so the RTS passes it some dummy end-of-thing 16:14:52 yep, that's a monad; ; is bind here 16:14:53 value 16:14:55 and tada 16:14:56 scarf: well, yes 16:15:00 but you never "define" the monad 16:15:02 how do you deal with non-monad terms in there, though? 16:15:05 the magic there is that 16:15:07 you define a CPS language 16:15:10 and then the sugar over it 16:15:10 as in, what's the equivalent of lift? 16:15:12 but they're defined in the same way 16:15:14 with normal rules 16:15:27 scarf: lift doesn't lift non-monadic values 16:15:30 do you mean return :: a -> m a? 16:15:35 err, yes 16:15:36 sorry 16:16:06 well, if you're like most term languages, i.e. untyped, 16:16:12 you don't need it 16:16:17 i think 16:16:17 scarf: It wouldn't surprise me if GolfScript had a single char for quicksort ;-P 16:16:20 but anyway, you could do this: 16:16:26 return x = lambda k (k x) 16:16:31 original haskell 1.0 did have a CPS I/O system 16:16:36 Deewiant: it probably has a single char for sort, but nothing would be requiring it to be quicksort 16:16:37 Deewiant, I could see issues with both variants: a) for round to query only: if program uses that, jumps somewhere else, then jumps back to continue to draw the lines might no longer line up properly. b) for round internally: angles would sometimes get distorted. And if it moves two lengths in a given angle but not in a single go you could get lines supposed to be straight that are now somewhat curved. 16:16:45 alise: yep 16:16:58 scarf: It could be requiring it, although that's admittedly unlikely 16:17:11 just, I can't see any amount of sugar that would mean that ; could combine IO operations with non-IO operations 16:17:21 scarf: Of course you could. 16:17:21 Deewiant, I'm not sure which of those is worst. Oh btw does ccbi keep track of the heading in radians or degrees internally? 16:17:21 anyway, I don't see what all the fuss is about quicksort, mergesort is just usually better 16:17:28 instead of 16:17:29 puts s = lambda k (_PUTS s k) 16:17:29 AnMaster: It's a raster format, you will get such issues. 16:17:34 puts s = _IO (lambda k (_PUTS s k)) 16:17:37 (strangely, Java specifies the sort of primitive types to be quicksort, and of objects to be mergesort, and I have no idea why) 16:17:37 Deewiant, it isn't. It will render to svg 16:17:45 Then just pattern-match on _IO in ; 16:17:52 _IO x ; y = ... 16:17:53 Deewiant, or control a real turtle bot maybe ;) 16:17:55 hmm, maybe 16:18:00 x ; y = _IO (lambda k (k x)); y 16:18:08 OTOH, that would preclude returning the puts function itself 16:18:13 No. 16:18:13 unless you had a separate return 16:18:16 Because there is no "puts function". 16:18:22 If you return "puts", that's a symbol. 16:18:28 Only "puts x" is rewritten. 16:18:32 I mean, a partial application of it 16:18:37 even a full application, in a lazy lang 16:18:37 For a curried function: "K x" is just a term. Not rewritten. 16:18:40 AnMaster: Radians 16:18:42 alise: yep 16:18:46 "K x y" is reduced, however. 16:18:48 but it starts with _IO and so confuses your pattern matcher 16:18:52 Of course, you can have 'x = x without rewriting. 16:18:57 scarf: No, it doesn't. 16:19:00 ah, quoting 16:19:00 "puts" doesn't start with _IO. 16:19:04 and good point 16:19:05 puts is puts. 16:19:15 puts x doesn't start with _IO, either, but its reduction does. 16:19:29 Deewiant, you could get floating point inexactness issues there when you turn in 1 degree steps or such. Like turing +1 degree 360 times might not give you the exact original heading. 16:19:49 oh yes, so it's just going to be down to the usual lazy timing issues which drive strict programmers trying to learn Haskell mad 16:19:53 and I can live with those 16:19:55 Turing +1 degree 360! 16:20:04 scarf: Well, Pure isn't even lazy. 16:20:13 Deewiant, another issue: the "query bounds of drawing" thingy. Is it supposed to be max bounds or current bounds? cfunge seems to do the latter, but I'm not sure if this is correct. After all it is possible a befunge program might want to scale it's drawing based on available space. And if that returns 0,0,0,0 you have some issues. 16:20:14 AnMaster: There are precision issues anyway since I don't use arbitrary-precision reals 16:20:21 So it solves this "problem" extremely easily. 16:20:29 yes 16:20:45 a strict language doesn't need IO chains, or IO monads, or anything like that 16:20:52 ? 16:20:57 You can be strict and pure, scarf. 16:21:00 Deewiant, true, but tracking heading as integer degrees and only converting for actual sin/cos usage would mean the inexactness of heading couldn't increase over time 16:21:00 Like a nun! 16:21:18 alise: yes, but the point is you don't need to be 16:21:19 AnMaster: Unless my Mycology results are wrong cfunge's U definitely pushes the max bounds 16:21:24 lazy and impure is a lot more difficult 16:21:28 scarf: Indeed, purity is a desirable property even in a strict language - _|_ is your only enemy. 16:21:33 Good morrow. 16:21:36 alise: agreed 16:21:36 AnMaster: It's a tradeoff 16:21:38 alise: Back early? 16:21:55 pikhq: Early? 'Tis the 4th post-meridian hour of Friday. 16:22:00 I'm probably going to leave Underlambda impure, though, to make it easier to compile into and out of, which is after all its design goal 16:22:00 * pikhq converts to UTC 16:22:16 if I try to make a version that's actually useful for writing in, maybe I'll have to have an Underhaskell or something 16:22:18 alise: Oh, you get back at 4 PM? 16:22:21 AnMaster: Unless my Mycology results are wrong cfunge's U definitely pushes the max bounds <-- "huh" 16:22:24 * AnMaster looks at the code 16:22:32 pikhq: No, at half past the meridian today actually. 16:22:34 Or thereabouts. 16:22:39 AnMaster: iki.fi/deewiant/befunge/mycology-output/fp-turt/cfunge.txt 16:22:45 oh indeed it does 16:22:45 Early leaving on Friday... but when *would* you expect me to be back? 16:22:50 11pm? :P 16:22:51 AnMaster: U in which fingerprint? 16:22:55 Deewiant, I read some other fingerprint 16:22:57 scarf, TURT 16:23:00 alise: Ah. 16:23:03 Deewiant, err function 16:23:05 not fingerprint 16:23:26 it was the function for figuring out svg viewport or something it seems 16:23:30 pikhq: I'm actually curious when you thought 16:23:37 anyway the design will be quite different from that in cfunge 16:23:53 alise: I thought it was just a bit later in the day is all. 16:24:10 I figured they'd have you around for pretty much of the work week or something. 16:25:01 pikhq: the people imprisoning him probably hate having to guard the place as much as he hates going there 16:25:16 Deewiant, since the way cfunge does it have some issues and is somewhat messy. I might rewrite it later on 16:25:47 scarf: True, true. 16:25:59 It's not like they enjoy it, they just have a stick up their ass. 16:26:31 it's probably different people making the decisions from the people who have to live with their consequences 16:26:51 Also true. 16:27:04 in general, or decisions would be better in general 16:27:33 Some of them seem to get a real kick out of power, though. 16:27:36 note to self: if you use vnc remember to turn off synergy first. That was quite confusing 16:27:55 (vnc and synergy between same computers that is) 16:29:20 alise: The infamous Stanford prison experiment (which has not been repeated for ethical reasons) gives some evidence to suggest that merely being placed into position as guard of a prison produces that. 16:29:53 The Stanford prison experiment is chilling. 16:30:00 Indeed it is. 16:30:10 yes, it's really scary 16:30:16 But add the Milgram experiment, and it's /fucking terrifying/. 16:30:32 alise: I don't know that one 16:30:45 It's the one with electric shocks 16:30:49 ouch 16:30:51 The experimenter (E) orders the teacher (T), the subject of the experiment, to give what the latter believes are painful electric shocks to a learner (L), who is actually an actor and confederate. The subject believes that for each wrong answer, the learner was receiving actual electric shocks, though in reality there were no such punishments 16:30:59 I know that one, just not its name 16:31:13 The experimenter tells the teacher to keep doing it even as the intensity of the "shocks" supposedly increases to insane levels. 16:31:19 The teacher almost universally complies. 16:31:32 and after a while the learner plays dead, and the teacher keeps increasing the shocks anyway 16:31:46 -!- KingOfKarlsruhe has quit (Remote host closed the connection). 16:31:51 apparently, it's highly dependent on how authoritative the experimenter seems 16:32:04 Milgram experiment. 16:32:07 they repeated it with the experimenter wearing casual clothing, and people suddenly started acting sanely 16:32:27 O_o 16:32:39 Milgram + Stanford = Speak authoritatively, and you can get people to do horrible, horrible things - and start believing in them. 16:32:45 scarf: Do you have a source for that? 16:32:57 Probably the only solution is to abolish authority entirely, which poses a whole host of other problems. 16:32:58 Deewiant: I did once, but can't remember where it was 16:33:04 and it was third-hand information then already 16:33:16 Deewiant: http://www.garfield.library.upenn.edu/classics1981/A1981LC33300001.pdf Here's the paper by Stanley Milgram. 16:33:55 Probably the only solution is to abolish authority entirely, which poses a whole host of other problems. <-- quite. First that comes to mind is things like highway robbers and what not. 16:34:06 pikhq: No, it's just a review 16:34:08 Trust AnMaster to always pick on the most trivial, boring example. 16:34:09 Erm. 16:34:12 Darn. 16:34:13 DARN IT. 16:34:15 :-D 16:34:26 alise, of course. I don't want to let your expectations down. 16:34:27 Wrong link. 16:34:29 A /bigger/ problem with anarchy is preventing a state from establishing itself. 16:35:13 alise, well yes. But I thought you didn't want authority, and a state seems to me to be the prime example of authority 16:35:15 alise: yep, you'd have to enforce it from outside somehow 16:35:17 Deewiant: Here's where you could read it if you paid. http://psycnet.apa.org/index.cfm?fa=search.displayRecord&uid=1964-03472-001 16:35:27 Thanks for the help! ...not 16:35:32 Firefox has detected that the server is redirecting the request for this address in a way that will never complete. 16:35:35 Whee broken websites 16:35:36 but the same effect seen in the Stanford experiment is seen in reality TV too 16:35:47 AnMaster: Duh... of course. 16:35:48 scarf: And prisons everywhere. 16:35:49 you can easily get people to move from the real world to an imaginary one 16:35:51 AnMaster: That's what I said. 16:35:58 alise, thus I didn't think you would consider that an issue 16:36:02 that there is no state 16:36:06 scarf: actually, there are numerous ways you could avoid establishing authority 16:36:11 AnMaster: You did not read what I said. 16:36:14 A /bigger/ problem with anarchy is preventing a state from establishing itself. 16:36:21 In a bad anarchy, gangs will form; 16:36:26 one gang will arm itself more than the others; 16:36:27 alise, yes. 16:36:28 that's an authority of its own 16:36:34 a few generations later, we will call it the state. 16:36:39 alise, oh right, I read that as the other way around 16:36:39 scarf: no, as in societial ways 16:36:50 hmm 16:37:02 you mean, you ingrain the importance of anarchy into everyone so much that they assume there's no other way? 16:37:07 things like teaching rational thinking to children from the very start 16:37:12 and parents teach it to their children? 16:37:22 hmm, rational thinking doesn't necessarily imply anarchy, I don't think 16:37:24 scarf: well, no; that's supporting ignorance - but letting people figure out why the anarchy is superior while they're children through rational means 16:37:33 scarf: certainly 16:37:45 alise: ah 16:37:47 but if you use rational thinking and come to the conclusion that anarchy is bad, well, don't try and establish a stable anarchy :P 16:37:51 I'm not certain the anarchy would be superior 16:37:56 nor am I 16:38:03 alise: Anarchy is only superior if the people involved are ethical, of course... 16:38:10 but if you conclude rationally that it is, that is the best method of sustaining it 16:38:19 pikhq: pretty much /any/ governmental system works if all the people involved are ethical 16:38:27 Well, yes. 16:38:28 and in such a case, you may as well use anarchy to save costs, or communism for the benefits 16:38:29 pikhq: Right; the transition from state to anarchy is the hard part, because you need everyone involved to be pro-anarchy until you can teach the children about it 16:38:34 it's just not going to happen in practice, though 16:38:36 you need stablility for a generation or two 16:38:39 They do differ largely in how they deal with a lack of ethics. 16:38:43 scarf: right 16:39:29 hmm... I can't figure out whether the most popularly expected (and thus almost certainly wrong) post-Friendly-singularity outcome is dictatorship or anarchy 16:39:29 Clearly, the real solution is singularity. 16:39:48 it would basically become the operating system for space; preventing harming another while allowing otherwise total control to everyone 16:39:58 now, are the laws of physics a dictatorship? 16:40:08 if yes, then probably so is the singularity; otherwise, probably not 16:40:22 alise: what about the Asimov outcome? 16:40:32 define 16:40:36 where a robot government was set up for a while, but it decided that its own existence was harmful for mankind 16:40:37 (well, disambiguate) 16:40:38 and it phased itself out 16:40:43 scarf: that's not a singularity 16:40:46 no, it isn't 16:40:52 but I can imagine a similar outcome happening from a singularity 16:40:59 a Friendly seed AI would self-modify until it *is* beneficial to mankind 16:41:10 If it cannot, then it suggests that mankind is perfect already, which is total bullshit. 16:41:39 alise: not perfect; the idea was that people inherently resent having computers in charge, and that dealt more damage than any good the computers could manage would do 16:41:43 (specifically, a seed AI with a correctly-specified supergoal, such as C.E.V., would achieve this supergoal at any cost (you account for acceptable and unacceptable losses in the supergoal)) 16:42:07 scarf: then the singularity would improve our minds so that we did not mind the idea, which would presumably be increased intelligence + an understanding of what AI really is 16:42:18 (assuming the supergoal does not forbid doing such things, which it probably doesn't) 16:42:22 either that, or it would make itself voluntary 16:42:38 and, perhaps, attempt to explain why it is good to the people who say no 16:43:02 (it would probably still prevent harm between the people who say no, though, through simple moral imperative) 16:43:29 Somewhat related reading (or, at least, this stuff brought it to mind): Eliezer Yudkowsky's "Three Worlds Collide", http://lesswrong.com/lw/y4/three_worlds_collide_08/ 16:43:29 hmm, ridiculous idea: the singularity decides that there's something special about humans as they are now 16:43:35 e.g. maybe it discovers God exists 16:43:36 Deewiant: yes, I love TWC 16:43:39 and likes humans in particular 16:43:40 When I say probably, by the way, 16:43:43 I mean almost certainly not. 16:43:59 (as does everyone else who tries to predict what the Singularity, or any other transhuman entity, will do; by definition we /cannot know/) 16:44:34 also, Three Worlds Collide protip: read the Normal Ending, then the True Ending 16:44:45 ok, because I like trope subversion: there will be two Singularities which get created at more or less the same time 16:44:45 I.e. read it in order 16:44:49 and which end up jealous of each other 16:44:57 so they refuse to work as a team 16:45:01 scarf: Both Friendly, yes? 16:45:06 and this messes up the typical benevolent self-improvement thing 16:45:12 Deewiant: Well, but the choice is offered in the last pre-ending chapter. 16:45:15 so they're both friendly in general, but have a blind spot where the other is concerned 16:45:24 There's no such thing as Friendly-in-general. :) 16:45:29 yep 16:45:39 Sure, but if you just read top-down like most people do you'll do it right. :-P 16:45:41 If an AI is almost-Friendly, it will modify itself so that it is Friendly (unless the blind spot is in a really inconvenient place; in which case, it's Unfriendly). 16:46:01 scarf: If they are both Friendly, then they will not be jealous of each other purely because this prevents the good outcome. 16:46:08 yes 16:46:24 If either is Unfriendly, then either the Friendly one (if there is one) will become more powerful and kill it, or we are fucked. 16:46:35 Your outcome is impossible, and you should feel bad. :P 16:47:25 hmm, more fun: a Friendly singularity is created, but somehow sandboxed because people don't trust it 16:47:47 so it can't fulfil its whole outcome, and there are people who want to turn it off in the fear it's actually Unfriendl 16:47:50 *Unfriendly 16:48:12 can't box a transhuman 16:48:15 http://yudkowsky.net/singularity/aibox 16:48:27 by definition it will outsmart us; and even a human can unbox itself, see above 16:49:26 there's a reason Creating Friendly AI is a large, serious work; because there really does seem to be no other alternative 16:50:05 alise: Those are no fun, they're secret 16:50:14 hmm... what about a singularity not happening, because nobody can afford the energy bill? 16:50:28 Deewiant: That irritates me too, but it's to stop people going "ha ha, that wouldn't work on me", I think. 16:50:42 I can't help but think that specifically because they're secret >_< 16:50:44 and an AI can't be brought to the level of intelligence where it could outsmart that because it would be too expensive 16:50:49 Deewiant: Yes, well. Ask him :P 16:50:53 amazing I just read about that stanford prison 16:50:54 scarf: are you saying that even human + omega intelligence requires too much power? 16:51:01 MissPiggy: baader-meinhof phenom :P 16:51:07 scarf: because certainly human doesn't, we're living proof 16:51:07 to me, saying a transhuman would convince any human of something is like saying a human would be a superior dolphin 16:51:11 but maybe that's just me 16:51:17 alise: not quite 16:51:20 scarf: and once it goes past a certain point of intelligence, oh snap nanotech 16:51:25 I mean, FFS, all you have to do is chat with a dude for a few hours and then end up saying "no" 16:51:26 and then it isn't a problem any more 16:51:33 Deewiant: Well, that's the whole point. 16:51:37 I'm saying that human + omega intelligence implemented by humans, and therefore very inefficiently, may require too much power 16:51:51 Deewiant: If the conclusion wasn't highly unintuitive, the page would not exist. 16:52:03 scarf: That therefore doesn't follow. 16:52:07 scarf: And the AI is self-improving, remember. 16:52:28 alise: I mean, that the singularity won't happen because we never get an AI to a self-improving stage 16:52:28 Given a massive data centre, perhaps even with specialised hardware, I find being unable to emulate a human incredibly unlikely. 16:52:35 hm can a human really construct something smarter than a human? 16:52:38 And the AI will be /better/ than a human then, for it will be rational. 16:52:43 not because we're technically incapable, but because nobody will put in the effort 16:52:45 AnMaster: Yes. It just can't understand the whole of it at once. 16:52:49 AnMaster, I don't see any reason why not 16:52:53 alise, perhaps 16:52:55 AnMaster: I thought the same too once, but I conclude it's a silly objection based only on intuition. 16:53:00 AnMaster: Consider two people working together. 16:53:01 AnMaster, I mean we can build things bigger, and stronger, so why not smarter? 16:53:01 AnMaster: there are lots of things we can't understand the whole of at once even now 16:53:04 scarf: there is no self-improving stage 16:53:05 even if they're a lot less smart than us 16:53:09 and why would we not understand it all even if it is smarter? 16:53:10 scarf: you build the AI to self-improve from the start 16:53:12 no matter how dumb it is 16:53:16 and you give it the supergoal from the start, too 16:53:22 alise: if it's too dumb, it'll just reach a dead end 16:53:23 Gah, that aibox thing is really pissing me off now 16:53:24 then you make it intelligent enough, manually, so that it will not fuck things up royally 16:53:27 and set it ofc 16:53:28 *off 16:53:29 Dammit, alise 16:53:33 Deewiant what about it? 16:53:34 Deewiant: Email him and complain. 16:53:43 complain about what? 16:53:43 I mean, you could just set evfunge trying to solve the problems of world hunger or whatever 16:53:44 There is no reason at all to get angry. 16:53:45 scarf, true that 16:53:48 MissPiggy: its secrecy 16:53:54 but you probably wouldn't even be able to describe the problem in enough detail 16:53:55 what's wrong with that? 16:54:07 scarf: Well, that's what the hard part is: making it intelligent enough. 16:54:10 MissPiggy: He hates it. 16:54:25 I refuse to respect the unknown unknowns 16:54:29 alise: yes 16:54:30 MissPiggy: it's like a magic show, it's not at all interesting until you know how he does it 16:54:32 Deewiant: Then email him. 16:54:37 Getting angry is just, well, irrational. 16:54:47 oklopol: it's meant to be a warning, not a show :P 16:55:00 Not "angry" 16:55:12 scarf: Probably the hardest part is: You cannot turn it on. Is it done yet? No, completely done? Have you /proven/ it will work? In independent systems? No? Then you cannot turn it on. 16:55:22 hm it doesn't seem like a magic trick to me 16:55:27 scarf: Can you even /imagine/ writing a program like that? 16:55:36 alise: people would be bound to try test runs 16:55:39 alise: to me it's an interesting psychological experiment, i don't care about the AI aspect 16:55:45 scarf: No. You cannot. 16:55:45 and yes, I have imagined writing programs like that, but only very simple ones 16:55:56 well, sure it's sort of a crucial part of the experiment, but maybe you know what i mean. 16:55:57 Unless you are sure it is Friendly, you cannot turn it on. 16:55:57 and yes, I don't think it works 16:56:07 You can only be sure of that when it's completely done and proved correct multiple times. 16:56:17 alise: I don't think humans would be capable of proving an AI Friendly 16:56:23 "cannot" as in "cannot by sheer risk". 16:56:47 OTOH, I don't trust humans in general not to do ridiculously risky things 16:56:50 If you have a self-improving AI of a certain minimum intelligence, and it is not Friendly, and you run it, the world will end. 16:57:14 on a slightly tangential subject, I've been wondering if there are any Hello Worlds around which are completely bug-free 16:57:18 I'm wondering if the answer is no 16:57:19 scarf: well, doing nothing is highly risky, as someone else might create an Unfriendly AI; getting responsible, highly intelligent people to create a Friendly seed AI is the most responsible thing 16:57:25 #include 16:57:51 the standard C hello world has a few bugs, such as not handling output redirected to a disk which is full 16:57:51 alise: How would e-mailing him help? He explicitly says he won't tell anybody 16:57:57 int main(void) { if (puts("Hello, world!") == EOF) { return EXIT_FAILURE; } return EXIT_SUCCESS; } 16:58:14 Deewiant: Ask for his reasoning. Either you'll be convinced or you'll only have wasted a very small amount of time. 16:58:42 I'll have wasted /his/ time, which is rude 16:59:00 Deewiant -- you haven't said WHY this is annoying or you don't like it 16:59:04 Deewiant: Oh, you Finn. 16:59:09 lol 16:59:13 Deewiant: I'm sure he's so pro-knowledge that he would not mind. 16:59:17 He's that kind of guy. 16:59:23 Probably. 16:59:49 MissPiggy: I cannot possibly fathom what could bring someone to change their minds thusly 17:00:01 And I am annoyed that not even a hint is given 17:00:01 Deewiant: And that is why you would. 17:00:21 alise: ?? 17:00:37 If you could fathom, without seeing, why you would lose, you would not lose. 17:00:48 Since you cannot, the AI can manipulate you in this way, making you lose. 17:01:03 Eh? Non sequitur 17:01:09 alise: the whole secret box thing, I can easily imagine how an AI would be let out of the box 17:01:12 Eliezer is not a superhuman AI 17:01:23 Deewiant: But he knows something you do not (how to win the AI Box experiment). 17:01:35 the solution, presumably, would be to have too many layers of indirection 17:01:38 Even if you found out that one secret, the point is that he, a mere human, achieved it. 17:01:46 So what would someone more intelligent than us think of? 17:01:49 We cannot know - that's the point. 17:01:59 alise he doesn't know how to win it 17:02:01 I'm willing to believe the concept 17:02:08 MissPiggy: He won twice. 17:02:08 he just wanted to test if he had the ability 17:02:09 if the only person who can talk to the AI can't themselves let the AI out of the box, then you have one layer of indirection in that the AI has to teach them to let someone else let them out of the box 17:02:22 What I'm finding difficult to believe is specifically Yudkowsky winning 17:02:25 scarf: "Come over here, read this! You won't believe it" 17:02:28 I think he did actually win more than twice, but he also lost in a couple of times 17:02:31 Deewiant: Well, he is a very intelligent man. 17:02:32 MissPiggy: no 17:02:35 multiply that times hundreds of layers of abstraction and governmental-level forms 17:02:36 So far, this test has actually been run on two occasions. 17:02:38 Results of the first test: Eliezer Yudkowsky and Nathan Russell. [1][2][3][4] 17:02:38 Results of the second test: Eliezer Yudkowsky and David McFadzean. [1] [2] [3] 17:02:41 he won both times 17:02:42 But I am saying he doesn't have a winning strategy 17:02:51 it's most like running faster than someone else 17:02:59 Remember that the other party is intelligent, too; he got them from the SL4 mailing list. 17:03:05 hmm, I think even a typical average human could learn a winning strategy for that, given enough effort 17:03:06 MissPiggy: Yes, but consider that he's /human/. 17:03:07 yes that's why he didn't always win 17:03:11 he did 17:03:12 dammit 17:03:15 oh what does being human have to do with it 17:03:16 ? 17:03:16 he won every time 17:03:25 MissPiggy: because a seed AI that wanted to escape would be /transhuman/ 17:03:28 more intelligent than humans 17:03:33 so we would not be able to predict how it would subvert us 17:03:40 yeah it would win every time with unlimited high stakes :P 17:03:46 and it would be able to manipulate us like toys, by the sheer fact that it is more intelligent than us 17:03:53 scarf: yes, for humans 17:03:53 Yudkowski just wins most of the times, when the stakes are < $2000 17:03:59 scarf: but not for transhuman 17:04:00 s 17:04:04 MissPiggy: *Yudkowsky 17:04:10 thanks 17:04:13 also, the challengers were *very* sure of themselves 17:04:18 alise: I mean, a typical human could win every time, so a transhuman would have no trouble 17:04:22 they seemed to have a huge point to prove and were very forceful 17:04:28 their conceding emails, meek and concise 17:04:33 yeah that's a big part of it, I think he needed that because otherwise he wasn't testing himself 17:04:36 scarf: ah, yes 17:04:45 not a typical human without training 17:04:57 alise, in his coming of age series he talks about other times when he run this experiment and didn't win 17:04:57 but, say, magicians have lots of practice getting people to miss a particular details 17:05:07 *miss a particular detail 17:05:11 Anyway, point is: Since Yudkowsky did it, as a human, the risk with an entity of massively greater-than-human intelligence is too great to consider. 17:05:21 I imagine compelling someone to do something in particular through psychology is, with practice, just as easy 17:05:21 yeah 17:05:24 So a box is not a viable risk-reduction strategy. Only Friendliness is. 17:05:31 I don't think I needed any convincing of that :P 17:05:33 MissPiggy: ah, ok then 17:05:38 one of my RL acquaintances has fun getting strangers to randomly give him their wallets 17:05:47 The hell? 17:05:48 he gives them back, but it's always funny 17:05:50 alise: that aibox link is _not_ up to date. i do recall another page where he said he has done it more times, and lost some. 17:05:57 OK 17:05:59 Deewiant: via psychology 17:05:59 still, as I said 17:06:02 human vs transhuman 17:06:10 http://www.sl4.org/archive/0207/4689.html -- as recently as 2002, EY had the most annoying IRC habit ever! 17:06:19 * alise says to scarf: "He did this instead of normal messages." 17:06:19 the basic trick is to make them assume they're supposed to give you something while they have their wallet in their hands 17:06:41 Ah, but that's a bit different 17:06:54 alise: hmm, is it theoretically possible to have an /unbreakable/ box 17:06:54 Deewiant: No it's not; tricking people is exactly what an Unfriendly AI would do to escape. 17:06:55 lol it must be fun talking to Eliezer for two hours 17:06:57 That's abusing the subconscious to make them give you something other than what they think you're giving you 17:07:01 as in, one that nobody could let the transhuman out of even if they wanted to? 17:07:02 The whole point is that its moral system is insufficient. 17:07:18 alise couldn't a friendly AI convince it's way out too though? 17:07:20 my guess is no, but I'm not certain 17:07:20 scarf: Theoretically. But I imagine a transhuman could find laws in ANY human code so complex. 17:07:30 and then go on to be really good to people more efficiently. 17:07:31 MissPiggy: yes, but that isn't a problem 17:07:32 scarf: One way of letting it out: Remove the box code. 17:07:34 oh okay 17:07:44 alise: oh, I was assuming an actual physical box here 17:07:45 scarf: If we cannot let it out entirely without rewriting it - well, the AI would rewrite itself. It can do that; it's self-modifying. 17:07:52 yeah most human codes have laws 17:07:52 scarf: Then no, that is impossible. 17:08:05 scarf: Of course, if it is somehow literally impossible to let it out of the box... then it is useless. 17:08:12 Once we are sure it is Friendly, the whole point is to let it out. 17:08:17 alise: Sure, you presumably need to trick people (or he wouldn't've won), but you still need to type exactly "I am letting you, the AI, out now"; that's more like "I'm giving you what's in my hands" where he's wrong about what's in his hands 17:08:18 Otherwise it's a waste of time (and immoral). 17:08:27 alise: the idea I'm thinking of, is to get one that you're sure is Friendly, somehow 17:08:28 Deewiant: True. 17:08:33 scarf: then you need no box 17:08:39 then let it be the only thing that can make the decision of whether to let a /different/ AI out of the box 17:08:42 let it out; that's the end-goal of a singularity 17:08:44 I mean, you box it, then make sure it's Friendly 17:08:51 Deewiant, it specifically says it wasn't a cheap trick 17:08:53 if it is, then it should have no problem with letting a different AI go singularity 17:08:54 in between those two, it escapes because it's Unfriendly 17:08:59 You can't know whether it's Friendly 17:09:15 MissPiggy: Yes, that's what I meant. 17:09:15 We cannot be sure of anything 17:09:19 oh 17:09:24 yes, the problem is that you can't be sure the first one is Friendly 17:09:25 but we must prove the AI Friendly multiple times in different systems in different ways before running it 17:09:29 why can't we be sure? 17:09:35 MissPiggy: because we are fallible 17:09:39 MissPiggy: But I can't help but think there's /some/ kind of trick involved in making the guy believe that letting it out is better. 17:09:42 what use is two proofs compared to one 17:09:42 we can /always/ have made an error and missed it, or proved the wrong thing, etc 17:09:49 MissPiggy: because the computerised proof system could have flaws 17:09:59 and the proof could end up proving the wrong thing, so another way of proving it helps too 17:10:11 If you have an AI in a box, you should never let it out. Simple as that. You can /never/ know /anything/ about it. 17:10:28 I don't beleive so 17:10:46 the whole point of mathematics is that you can make accurate statements about the infinite mind 17:10:55 "infinite mind"? 17:11:00 No mind is "infinite", whatever that means. 17:11:04 Anyway, yes, in mathematics. 17:11:10 Same thing for anything potentially dangerous like that, really: humans too. 17:11:12 But our proofs, our proof systems - they are all fallible because we made them. 17:11:21 it's a quote (Takeuti) 17:11:34 -!- addicted has quit (Remote host closed the connection). 17:11:35 Deewiant: anyway, you can know it's Friendly to an acceptable degree of risk 17:11:42 you work that out /before/ you run it, of course 17:11:46 and never bother with a useless box 17:12:00 http://lesswrong.com/lw/uq/ais_and_gatekeepers_unite/ says '2 heavily promoted "victories" (the 3 "losses" are mentioned far less frequently)' 17:12:05 "they are all fallible because we made them" -- isn't that a pretty basic fallacy ? 17:12:12 Deewiant: and EY is human 17:12:14 transhumans arenot 17:12:15 but a CHRISTIAN said it, it must be wrong! 17:12:17 *are not 17:12:31 MissPiggy: Yeah, that's a pretty basic one. 17:12:31 Not only would it be incomprehensibly better at it: it would be faster. 17:12:34 alise: Yes, as I and MissPiggy have both said, transhumans are fine. I had a problem specifically with EY. 17:12:38 Two hours with Yudkowsky; seconds with a superintelligence. 17:12:39 Deewiant: OK. 17:12:41 Then I agree. 17:12:41 :o 17:12:45 MissPiggy: it's not "must be", it's "can be" 17:12:46 I didn't say transhumans are fine 17:12:48 It was just an example that the risk is high, not a proof that EY is transhuman :P 17:12:54 MissPiggy: transhumans are fine for the ai box 17:12:58 MissPiggy: also, I meant that 17:13:02 there is a high risk they are fallible 17:13:02 it can be wrong even if it's claimed by a computer 17:13:04 because we are fallible 17:13:06 blah you know what i mean 17:13:14 wait what does "transhumans are fine for the AI box" mean 17:13:22 I still don't get transhumanism it seems ridiculous to me 17:13:30 trans humans? 17:13:33 TBH I'm a bit doubtful even of transhumans but transhumanity implies so many things that whatever, I have to accept it as a possibility 17:13:35 are transhumans like transfats? 17:13:54 MissPiggy: Well, we take a human. And make them more than human. 17:14:06 I am using transhuman to refer to an entity of greater-than-human intelligence. 17:14:07 more organs = more human! 17:14:08 MissPiggy: I meant that we both agreed that if you have an actual superhuman AI, it can win the AI box experiment and get itself let out. 17:14:12 are you more than human if you have cancer? 17:14:18 As do all transhumans, substituting intelligence for some other characteristic occasionally. 17:14:31 The pop-sci definition of transhumanism is just horseshit, we don't want to breed with pigs or anything. 17:14:35 (apart from me!) 17:14:36 you don't? 17:14:38 lament: No, still pretty damned human. 17:14:42 well the /others/ don't 17:14:47 alise I didn't know you cared! 17:14:55 <3 17:15:58 i'm rather sure just giving the computer lots of brains wouldn't make it great at convincing people, sort of like how really smart people can suck at talking to humans. i think it would have to be so smart it could actually study the human brain to learn how humans should act in different situations. sort of how a human wouldn't make a great doplhin no matter how much we studied them. 17:16:03 alise: what about this for a theory 17:16:27 the reason that transhumans won't exist is to prevent them breaking out of the sandbox which surrounds what we think the Universe currently si 17:16:28 *is 17:16:34 oklopol: of course a transhuman AI would Know How Humans Work 17:16:36 the movie avatar basically says that humans would make great dolphins. 17:16:44 alise: how? 17:16:46 oklopol: that's an interesting point -- but don't you think the AI could just treat a human as a program (that doesn't have a manual)? 17:16:51 would it study physical brains? 17:16:52 as in, we're in a simulation; if we create a transhuman it'll break out /of the simulation/ to the universe outside, and whoever's simulating us is too scared of that to let that happen 17:16:56 i don't see any other way 17:16:58 because /it/ might not be Friendly 17:17:06 oklopol: it would study how we react to us, and how we reason 17:17:07 and psychology 17:17:08 etc 17:17:22 in fact, a superintelligence (superintelligence > transhuman; basically, not only of greater intelligence, of incomprehensibly vastly greater intelligence) could predict how we would react to a situation with near-1 probability 17:17:22 alise: but we can't even figure out how ants work based on watching them 17:17:29 scarf ooh I like that 17:17:37 simply because we are so unintelligent compared to it that it is trivial for it to reason how we would react 17:17:40 oklopol: because we're humans, not transhumans 17:17:49 i have incomprehensibly vast intelligence, and i can't really do that 17:17:49 yeah but we are transants 17:17:50 and so are not intelligent enough 17:18:00 oklopol: yes, but you need a certain level of intelligence to even do that to any system 17:18:05 transX != can understand X 17:18:12 sufficiently transhuman = can understand ants 17:18:22 even more transhuman = same, but with humans 17:18:28 superintelligence = can understand just about anything below it 17:18:33 MissPiggy: dunno, i stick to my ants and dolphins. 17:18:42 :( 17:20:10 i'm vastly more intelligent than your mom. Does that make me transmom? 17:20:13 "I doubt that there's anything more complicated to the AI getting free than a very good Hannibal Lecture: find weaknesses in the Gatekeeper's mental and social framework, and callously and subtly work them until you break the Gatekeeper (and thus the gate). People claiming they have no weaknesses (wanna-be Gatekeepers, with a bias to ignoring their weakness) are easy prey: they don't even see where they should be defending." 17:20:13 alise: is it possible to have something superintelligent enough that it can fully predict its own actions? 17:20:15 pretty much, I'd say 17:20:19 though I'm not certain 17:20:31 lament: well you /are/ male, so you've got the trans bit down 17:20:33 alise: that quote is close to what I was thinking 17:20:42 everyone has weaknesses 17:20:42 lament: yes, but the technical term for being smarter than her is "even more transmom" 17:20:53 scarf: we do that all the time, we look into the future 17:21:04 it can't predict its reaction to situation X without the information it will know at that time, though 17:21:06 alise: yep, but we're not very good at it 17:21:17 it can't predict the unknown future, no matter how intelligent it is :) 17:21:27 but it'd probably be very good at knowing what it'd do assuming it doesn't change /vastly/ 17:21:42 alise: is it possible to have something superintelligent enough that it can fully predict its own actions? <-- err no I doubt that. try predicting: "Will I halt?" 17:21:52 every time someone in this conversation uses the word 'vast', take a shot 17:22:01 lament: it's a useful word 17:22:06 also, rabble rabble bark bark. 17:22:07 It's vastly useful 17:22:07 AnMaster: just because the halting problem is unsolvable in general doesn't mean it's unsolvable in any particular case 17:22:09 vastly useful 17:22:09 lament: That will involve vast quantities of alcohol. 17:22:20 lament: I beat you to it by a vast margin 17:22:24 there are lots of programs that can trivially be shown to halt, or to not halt 17:22:26 AnMaster: does foo () { foo() } halt 17:22:28 will i halt? yes *shoots himself* 17:22:36 QED 17:22:39 AnMaster: warning: you CANNOT ANSWER THIS 17:22:43 alise: which language, and does its optimiser do tail-recursion? 17:22:43 alise, what language 17:22:46 sigh 17:22:47 LISP 17:22:48 you fucking pedants :) 17:22:48 alise, I can answer it in befunge ;P 17:22:51 lol 17:22:52 scarf: irrelevant, infinite memory 17:22:55 (the latter question) 17:22:58 scarf, true. Still, it seems unlikely that an AI will be a simple program 17:23:03 (define (foo) (foo)) 17:23:04 scheme 17:23:10 AnMaster: irrelevant 17:23:15 Am I correct in assuming alise is ehird, because who else would have a female nickname? 17:23:15 !befunge foo () { foo () } 17:23:17 we're not simple programs, we can still predict what we'll do to some extent 17:23:20 Unsupported instruction 'f' (0x66) (maybe not Befunge-93?) 17:23:23 lament is correctable 17:23:24 lament: you are 17:23:32 lament: Sukoshi-x or whatever she was called :P 17:23:38 (Yes, ehird) 17:23:39 gah, it spammed me with error messages in an infinite loop 17:23:40 scarf, in befunge98 as in egobot that will reflect due to file IO being disabled iirc 17:23:40 anyway back to AI! 17:23:42 sukoshi is not a female nickname 17:23:44 sukoshi isn't female 17:23:50 Darn, I was vastly beat 17:23:51 does sukoshi ever come around? 17:23:52 I forgot the actual name 17:23:52 until EgoBot itself halted it 17:23:53 she isn't? 17:23:53 she's female but the nickname isn't 17:23:55 oh the name 17:24:00 alright then 17:24:00 scarf, but there will be no stdio in that program 17:24:05 and no she hasn't been around in years 17:24:08 (I've been sexed up twice already!) 17:24:10 AnMaster: who cares if it reflects or not, given that it has no halt instructions? 17:24:12 oh that's too bad she was cool 17:24:12 -!- kar8nga has quit (Remote host closed the connection). 17:24:23 this one time sukoshi just randomly decided to try to get me to do a programming project with me 17:24:27 and i was like mmm sex 17:24:29 scarf, true. 17:24:33 oklopol: With yourself? 17:24:48 no no with her 17:24:50 scarf, but it will halt on any real system after some time due to memory running out. 17:24:59 You should masturbate more often if thinking of a programming project with yourself gets you excited like that 17:25:00 * scarf vaguely wonders if oklopol is the only openly heterosexual person here 17:25:01 well, assuming no file io 17:25:17 AnMaster: what does } do if there's no preceding { 17:25:19 reflect? 17:25:23 can't help it, i love vaginas 17:25:24 scarf, *think* so 17:25:28 scarf: are you hetero? 17:25:33 then it'll just bounce between the } and f 17:25:34 alise: yes 17:25:38 scarf: then the answer is no. 17:25:41 i love pickled vaginas 17:25:41 It's been a while since 少し has been here. 17:25:42 oklopol: It's just that programming by yourself doesn't usually imply them 17:25:43 scarf, in 98 it won't bounce on the f. 17:25:44 ummmmmm 17:25:44 alise: no, now 17:25:46 I meant, before 17:25:49 scarf: bah! 17:25:50 was someone saying something about AI? 17:25:51 scarf, f will push 0xf on the stack 17:25:51 Few years, I think. 17:25:52 Deewiant: oh lol 17:25:53 :D 17:25:54 I can't remember 17:25:56 *with her 17:25:58 scarf: are you saying that a function call cannot call another function to determine its answer? 17:26:06 just because human sociality has side-effects... 17:26:17 not ours! We're pure 17:26:17 Deewiant: i'm secretly sukoshi 17:26:18 Deewiant: r u fag 17:26:23 alise: sorry, I've lost the context somehow, there are four conversations going on at once 17:26:34 scarf: pikhq is openly straight 17:26:37 I'll terminate one or two 17:26:38 lol 17:26:56 I apologise, it's a shame when a conversation ends for a stupid reason like that 17:27:09 scarf: more than one person openly hetero = do x <- determine scarf's sexuality; make sure x is hetero; return yes!! 17:27:11 are straight people basically self-hating? 17:27:20 quick lets start another 5 discussions! 17:27:22 most people don't find themselves very attractive 17:27:26 they sublimate their hatred of themselves into liking of the opposite sex 17:27:26 alise: oh 17:27:31 that's answering a different question, though 17:27:44 eh shut up 17:27:52 i'm attractive 17:28:22 lament: I think it varies from person to person; I met a girl once who openly claimed that all men should be straight and all girls should be lesbian or bisexual, on the basis that girls were just that attractive 17:28:22 in fact i'm the only attractive male i know 17:28:34 scarf: :-D 17:28:40 scarf: a lot of stupid men are like that :P 17:28:46 oklopol: at this point, augur cries 17:28:58 oh wait but a girl? 17:29:01 i just read that as guy, man, whatever 17:29:05 alise: yes, that's what made it surprising 17:29:06 inferrence engine playing up again 17:29:16 all girls shuold be bi, all men should be bi, and people should live in these big sex communes 17:29:28 what do you think a self improving AI program would be written like? 17:29:35 maybe we could just have universities be those communes, that would be a perfect world 17:29:52 MissPiggy: it would be written in dubious PHP 17:29:56 scarf, what is the English word for a train that got thrown of the rails now again? 17:29:58 because, people are just that stupid 17:30:00 AnMaster: derailed 17:30:03 MissPiggy: fix improveSelf 17:30:08 well, that's more falling off than being thrown 17:30:09 Clearly, we should all be bi poly switch herms. 17:30:16 @src improveSelf 17:30:20 MissPiggy: Complicatedly. 17:30:27 scarf, ah, can it be used in a metaphorical sense about a discussion (like the Swedish equiv. term can) 17:30:40 yes, it can 17:30:43 scarf, if so, I think that applies to this/these discussion(s) 17:30:47 some idioms survive the language switch 17:30:56 OTOH, I don't see why a derailed discussion is necessarily a bad thing on IRC 17:31:05 scarf because the new one is boring :P 17:31:05 if it's being done socially, rather than an actual attempt to achieve somethign 17:31:06 scarf, hard to know what languages copied/also-invented a given idiom 17:31:07 *something 17:31:14 i have been trying to derail this one for the past 20 minutes and i'm still not sure i succeeded 17:31:21 OTOH, I don't see why a derailed discussion is necessarily a bad thing on IRC <-- I didn't say that 17:31:24 lament: which one? 17:31:26 AnMaster: no, you didn't 17:31:30 and it is quite common in this channel even 17:31:38 scarf: i don't even want to mention it for fear it might recur 17:31:40 just because I say something doesn't necessarily mean I disagree with you 17:31:55 sex stuff is easier on the brain, if i wanted to talk about interesting stuff, i could just be reading my books 17:31:56 I'm not alise 17:31:56 lament, it was probably derailed *before* you began, thus you should probably try to rerail it instead 17:32:02 well technically that's not talking 17:32:16 what books oklobook 17:32:22 lament: i agree, this is better for many reasons 17:32:28 MissPiggy: universal algebra still 17:32:30 well 17:32:34 I want to do some work 17:32:37 -!- Azstal has joined. 17:32:42 but I am very unmotivated 17:32:52 actually also combinatorics on words and complex analysis and some other stuff 17:33:22 if you're motivated, it's easy to motivate yourself to do pretty much anything 17:33:45 heh 17:33:53 -!- Asztal has quit (Ping timeout: 240 seconds). 17:33:57 if you're motivated, it's easy to motivate yourself to motivate yourself to be motivated... 17:35:59 So, tree rewriting. 17:36:10 this reminds me of that recent xkcd that wasn't a complete disaster 17:36:16 about tautologies 17:36:43 That one was fun. 17:36:45 yeah 17:36:47 But also kinda boring. 17:36:55 hm? 17:37:05 Well, it wasn't exactly a unique idea or anything. 17:37:08 true 17:37:14 Just "ha ha, it's a silly social situation that amounts to a tautology if you interpret it naively." 17:37:15 Well boring xkcds are kinda boring 17:37:19 >_< 17:37:36 alise, I said it wasn't a complete disaster. I didn't say it was great. 17:37:49 just because I say something doesn't necessarily mean I disagree with you 17:37:50 I'm not alise 17:37:54 Er, scratch that one. 17:37:57 heh 17:38:15 alise, perfect quoting there ;P 17:38:26 It's called a joke. :P 17:38:46 alise, I somewhat hoped it was unintentional, it would have been funnier 17:39:23 I think I ought to think more about typed tree rewriting. 17:39:32 oh? 17:39:55 you know what sucks? tree rewriting 17:40:06 especially if one of your trees is MS Word DOM 17:40:11 hehe 17:40:19 does ms word have a dom? 17:40:28 hm wait, it is xml based nowdays 17:40:30 I guess it does 17:40:36 of course it has a dom 17:40:51 lament, did old-pre-docx word have a dom then? 17:41:02 yes 17:41:08 lament: not tree rewriting like that. 17:41:30 lament, if so, doesn't every document have a dom? possibly even plain text? 17:42:30 of course 17:42:53 lament, then how do you define a DOM 17:43:08 a bunch of objects representing something 17:43:14 plain text only has one object 17:43:19 so it's a particularly simple dom 17:43:20 hm 17:43:38 lament, but if the document format is not object based? 17:43:46 you may have DOM but do you have DOOM? 17:43:48 >_< 17:43:49 AnMaster: eg? 17:43:51 oerjan, ... 17:43:55 s/^ // 17:43:57 AnMaster: how can something not be object based? 17:44:02 oh 17:44:03 easily 17:44:09 latex, i guess 17:44:21 kinda stupid to talk about dom in latex 17:44:24 alise: how the heck do you manage to >_< my jokes so quickly 17:44:28 er, not latex 17:44:28 lament, I was thinking of latex documents without pictures yes 17:44:30 I meant AnMaster 17:44:31 i mean ps 17:44:33 for being an idiot 17:44:45 impossible, it's the second time today 17:44:46 "How can you make an OBJECT of something that isn't OBJECT-BASED?? What is this DOM mystery????" 17:44:47 HELLO 17:45:14 lament, ps? oh that too indeed. Even more so. 17:45:19 well 17:45:21 you objectify it, of course. just watch out for the feminists. 17:45:28 I guess you could consider a page an object 17:45:37 except iirc it isn't defined like that in the ps code 17:46:42 alise, but please define a DOM for ps then :) 17:46:53 You only use the diarrhea^Wdiresis when it's the same letter twice, right? 17:47:04 No, you don't. 17:47:26 So "metaethics" is actually spelt metathics. 17:47:37 any two vowels, to show that they aren't a dipthong 17:47:57 Isn't that ridiculously clunky most of the time? :P 17:48:02 People will think you're writing in german. 17:48:09 I do like how premptive looks, though. 17:48:19 * MissPiggy wonders if there is porn of people pretending to be feminists... 17:48:21 cofficint 17:48:24 wait, wouldn't it be yöu then? 17:48:31 alise: err, really? 17:48:34 Y isn't a vowel there, I don't think... 17:48:36 gërman ïs just lïkë thïs, rïght? 17:48:38 scarf: really what? 17:48:38 to me it would be coëfficient 17:48:39 alise, oh right 17:48:41 forgot that 17:48:47 it is a a vowel in Swedish though 17:48:47 becaise ie form a dipthong in that word, the way I pronounce it 17:48:49 Co eff fishy ent. 17:48:50 *because 17:49:02 alise: co eff fish shent 17:49:11 That's one issue with the diresis; your spelling depends on your pronunciation. 17:49:20 see, if people put the dipthongs in, people would have consistent pronunciation! 17:49:22 Dutch uses the same mark in a similar way, (for example cofficint), but for compound words there is now a preference for hyphenation - so zeeend (seaduck) is now spelled zee-eend.[3] 17:49:46 pity, that's a great word 17:49:54 Yeah. 17:49:56 hm is there any unicode symbol for i without the dot? 17:50:06 This is zeend for you, my duck-loving enemy! 17:50:19 AnMaster: surely, it's a turkish letter 17:50:29 hm 17:50:38 I guess a good rule for the diresis would be: only use it if replacing it with a hyphen wouldn't look ridiculously silly. "co-effici-ent" looks silly; "co-efficient", I think, doesn't. 17:51:11 I hate the word coefficient!!!!! 17:51:19 I'd like to write a typomogrifier program that does the boring stuff like smart quotes, but also ae to , oe to , stuffvowel-vowelstuff to stuffvowel(vowel)stuff, etc. 17:51:22 MissPiggy, why? 17:51:26 it SUCKS 17:51:28 -!- kar8nga has joined. 17:51:29 MissPiggy, *why* 17:51:30 Sure, you'd have to write "co-efficient" a lot, but still. 17:51:38 Also, you could plug in rules, like coefficient -> co-efficient. 17:51:45 Which would then reduce to cofficient. 17:52:02 alise, by that logic shouldn't you write dis-able for example? or de-normalise? 17:52:34 de-norm alise 17:52:43 s isn't a vowel, AnMaster. 17:52:49 oerjan, err, isn't it de-normal-ise? 17:53:07 of course norm and normal are quite close 17:53:25 Data point: The New Yorker (though I loathe to follow any rules it prefers, as it's a pretentious rag in general and especially in this area) only uses the diresis for repeated vowels. 17:53:26 -!- Asztal has joined. 17:53:30 now where did i put that figlet *whoosh* again... 17:53:42 So premptive but coefficient. 17:53:46 alise, well true. still using a - there doesn't make much sense to me. It seems like co/de/un/re/dis are common modifying prefixes to words in English 17:53:49 alise: wait, someone uses the diaeresis /at all/? 17:53:57 (and a few more) 17:54:16 scarf: "Despite its long history in English, the diresis is now increasingly rarely used, with the The New Yorker magazine[2] and MIT Technology Review being prominent exceptions." 17:54:17 -!- Azstal has quit (Ping timeout: 265 seconds). 17:54:23 also, why isn't it spelt diæ̈resis? 17:54:31 alise: wait, someone uses the diaeresis /at all/? <--- my reaction too 17:54:36 because is pronounced 17:54:38 not a-e :P 17:54:45 diah erry sis 17:54:53 alise: no, I mean diaeresis over the æ itself 17:54:59 because, it's a separate vowel from the i 17:55:02 is it? 17:55:06 alise, how would you pronounce æ? Same as æ/ä in Scandinavian languages? 17:55:10 Dye a re-sys is how I pronounce it 17:55:14 Hmm, you're right. 17:55:17 But that's just ridiculous. 17:55:20 well, I pronounce it dee erri sis 17:55:21 AnMaster: e, basically. 17:55:23 And a. 17:55:23 -!- tombom has joined. 17:55:26 , is how you pronounce it. 17:55:31 alise, so quite different then 17:55:34 AnMaster: like ae in Latin 17:55:41 scarf, I don't know latin 17:55:41 normally 17:55:46 For instance, dmon is pronounced demon, I believe. 17:55:49 it's just pronounced like an e sometimes, though, like in that word 17:56:13 alise: it's inconsistent, compare "daemon" to "paella" 17:56:21 wth is paella? 17:56:27 http://en.wikipedia.org/wiki/Paella 17:56:29 the second comes from Latin indirectly, which goes some way to explaining the discrepancy 17:56:29 I didn't know either. 17:56:35 i thought paella was paëlla 17:56:44 (in pronunciation) 17:56:53 aëaëaëaëaëaëaë 17:56:56 Then it's not plla, it's paella. 17:56:58 oerjan: it's more like paeëlla 17:57:08 which does not bode well for my transmogrifier. :) 17:57:09 it's not pa-ella 17:57:12 but pie-ella 17:57:17 suksi paeëlla 17:57:18 You'd just write p{ae}lla, I guess. 17:57:19 scarf, that looks like something from Finland 17:57:26 "paeëlla" I mean 17:57:29 heh 17:57:41 "Paella is a Catalan word which derives from the Old French word paelle for pan which in turn comes from the Latin word patella for pan as well." 17:57:44 my only conclusion is that English spelling makes no sense 17:58:00 Paella is not an English word. 17:58:20 alise: yes it is, just because it originally came from another language doesn't stop it being English 17:58:24 scarf, nor does most other languages with a written form of the language that is old enough 17:58:24 Well, yes. 17:58:34 But English is basically the T (top) of languages. 17:58:37 We encompasserate everything. 17:58:42 I don't know what age is the limit though, I would guess a few hundred years 17:58:46 Also, I don't love Compose any more. TeX-style input is better. 17:58:48 I want to write \top, dammit. 17:58:54 * scarf is relatively certain that "encompasserate" isn't a word 17:59:02 but I think I know what it means, anyway 17:59:10 alise, do you have 4 different ways to spell one and the same sound (which also happens to exist in no other languages)? 17:59:22 also \"e but that's just a Special Case 17:59:32 * oerjan recalls reading a claim about an indian language which was considered to encompass all of english 17:59:32 Also, I don't love Compose any more. TeX-style input is better. <-- easy in ERC ;P 17:59:51 AnMaster: probably 17:59:59 most sounds in English have something like 10 ways to spell them 17:59:59 scarf, in reply to what? 18:00:07 scarf: so you're not encompassionate about it? 18:00:07 AnMaster: the 4 different ways thing 18:00:17 oerjan: ouch, is that even a pun? 18:00:18 lienate 18:00:25 it feels pun-like, but not exactly fitting the description 18:00:27 it is _now_ 18:00:28 scarf, well okay, but most sounds aren't unique to English though 18:00:28 (Yes, I know.) 18:00:55 not to mention that vowel sounds are different in different parts of the UK anyway 18:00:59 it's a puntmanteau 18:01:07 oerjan: stop it, seriously 18:01:23 scarf: am i getting your computer wet? 18:01:26 scarf, http://en.wikipedia.org/wiki/Swedish_alphabet#Spellings_for_the_sje-phoneme_.2F.C9.A7.2F 18:01:33 actually more than 4 18:01:40 oerjan: no, I'm feeling physically ill 18:01:55 but 4 quite common variants 18:02:01 oh dear 18:02:13 hopefully it's just tiredness rather than bad puns 18:02:23 although bad puns have induced similar effects in me before, probably psychosomatic 18:02:32 scarf, and iirc no other language has that sound basically, possibly apart from Norwegian (looks at oerjan) 18:02:54 AnMaster: there are other fun phonemes, like "ly" in Hungarian 18:03:04 It occurs to me that my linguistic and typographic style is at odds with my sthetics in other areas. 18:03:11 which I can even pronounce well enough that a Hungarian would know what I meant, if not well enough to sound anything like a native 18:03:32 scarf, how comes? 18:03:44 scarf, and what does it sound like roughly? 18:03:48 AnMaster: I was in Hungary for a week 18:03:52 I revel in things like , and direses, but eschew such fancy in my other areas. 18:04:10 and start to say l, except you inhale in the middle of it and end with a Germanish j, (rather like an English y) 18:04:18 scarf, then you picked it up quite quick 18:04:24 AnMaster: i assume you mean sj, which is not the same sound in norwegian. although we _do_ have several spellings for the equivalent (sj, skj, sk) 18:04:28 AnMaster: we had lessons on how to pronounce hungarian 18:04:29 scarf, Germanish j = Swedish one? 18:04:33 Also, fderal. 18:04:33 I don't know german 18:04:34 AnMaster: probably 18:04:45 alise: to me, that second letter looks like a half-size s-acute 18:04:47 oerjan, right 18:04:49 encoding issues? 18:04:53 * oerjan has been practicing swedish sj lately while singing in the shower :D 18:04:54 scarf: oe 18:05:01 yep, weird encoding issues 18:05:01 oerjan, can you pronounce a Swedish "sju"? 18:05:08 AnMaster: i _think_ so 18:05:14 it's not ś, but œ 18:05:18 (for the benefit of UK people: sv:sju = en:seven) 18:05:31 the swedish u isn't quite the same as norwegian either, i understand 18:05:42 (ours is middle, not front) 18:05:56 scarf, heh that came out as it's not ś, but [box with numbers in it] 18:06:07 but I saw what alise said 18:06:20 which i _think_ means our u is rarer than the swedish one, i'm not entirely sure though 18:06:25 well, I was just pasting what I saw 18:06:36 oerjan, more like the Finland-Swedish u? 18:06:50 woah, I think I just accidentally got first post on a Slashdot article 18:06:57 and I even said something vaguely sensible 18:06:59 oerjan, further back and tongue more curved I think 18:07:28 scarf, link? 18:07:34 what about every other non-sv speaking person? 18:07:40 US, Canada, Finnish... 18:07:53 http://yro.slashdot.org/story/10/02/19/1614216/Jacobsen-v-Katzer-Settled-mdash-Victory-For-FOSS?from=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29 18:07:59 I love the literal "mdash" in the URL 18:08:03 alise, true, but writing "non-Scandinavian" was longer and there did only seem to be UK people present 18:08:18 finland is scandinavian. probably 18:08:19 nyahhnn 18:08:22 alise, yep 18:08:31 and they don't understand swedish 18:08:33 jacobsen v katzer's a pretty interesting court case, actually 18:08:43 alise, none of those people here atm 18:08:49 in the last two screens for me 18:09:01 basically, jacobsen wrote an open source project (licenced artistic licence), katzer completely ripped it off, not complying with the licence, nor even preserving attribution 18:09:06 alise, true, but writing "non-Scandinavian" was longer and there did only seem to be UK people present 18:09:09 even that would be wrong 18:10:07 alise, ? You mean me and oerjan, well that was given that we understood it 18:10:21 and I only saw you and scarf in scrollback in addition to that 18:11:11 that does not stop it being wrong 18:11:32 alise, how? 18:12:00 sure, log reading, and if they are from US or whatever they could use this info. It is optional to feel bad about doing so. 18:12:28 you were attempting to provide a strictly-correct alternative 18:12:38 as opposed to a wrong one; and then gave reasons why you did not say this 18:12:48 however, you failed the first; "non-scandinavian" would not be correct 18:12:57 therefore, your statement was not correct 18:12:59 simple 18:13:00 * scarf reads the settlment 18:13:21 alise, iirc you are taught some Swedish in Finnish schools 18:13:24 alise: I guess the Finns in here, at least, understand Swedish to a reasonable extent 18:13:30 since it is second language 18:13:32 brb phone 18:13:42 Very small second language. 18:14:04 I don't know how actively scientific-type people tend to forget it after their last compulsory lessons are over 18:14:52 back 18:15:13 alise, still, learning to count to ten would be amongst the basic things 18:15:15 fizzie is older than me and so could weigh in here 18:15:27 at least from my experience of learning second languages 18:15:49 hmm, settlement is that Katzer and his company cannot use the OSS code in question at all, can't register any names similar to it as a trademark, and must pay $100,000 to Jacobsen; further disputes have to go to mediation, with the loser paying all the costs from them 18:16:30 and the court's entered the settlement as being legally binding 18:16:35 alise, so knowing that sju = 7 should probably be pretty common. If it had been some complex word it would have been a different situation. 18:23:57 I ought to work on my term-rewriting language. 18:24:18 alise are you going to self implement it 18:24:23 I mean in the language 18:25:22 alise, you ought to work on a language with a very non-traditional syntax thats only describable by one of the roughly mildly context sensitive grammars ;D 18:25:25 Uh, the eventual goal is probably that, yes most likely as part of the OS. 18:25:40 especially those MCSGs that I recently created wiki articles for :D 18:25:54 alise, I thought you said tree rewriting, not term rewriting a few minutes ago? 18:26:29 Same thing 18:27:08 sure, in some cases 18:27:41 No. 18:27:43 They are the same thing. 18:29:00 string rewriting and tree rewriting are computationally equivalent; tree rewriting just makes implicit certain string properties that otherwise would be explicit 18:29:26 further, a string can be viewed as a tree with only one non-terminal node 18:30:22 and thus string rewriting is a special case of tree rewriting with completely flat trees 18:34:30 oh? tree rewriting lets you do string rewriting in the nodes? 18:35:03 no no 18:35:11 you rewrite the tree 18:35:32 its just that the tree is completely flat, with all terminal nodes hanging from a single non-terminal 18:35:38 ohhhh 18:35:43 sorry, being an idiot 18:35:50 :P 18:35:50 one *non*-terminal node 18:37:52 afk 18:37:56 well, no, afi 18:43:02 -!- augur has quit (Ping timeout: 276 seconds). 18:49:04 Deewiant: I had managed to mostly-forget my Swedish very muchly after high-school years, but on the other hand it seemed to come back rather rapidly when I did one course to pass the compulsory Swedish stuff for the university. I don't know how much I'm biased by the fact that my wife speaks Swedish with her relatives, though. 18:50:23 Did you get an opportunity to get the Swedish credits without taking a course, just doing an exam? 18:52:33 Deewiant: Yes, but I didn't feel certain enough that I'd pass it without problems. In retrospect, I probably would have, since I only sat on the Swedish course lectures -- didn't read ~anything at home -- and got a 5 (out of 5) for the course, and the higher grade of the two possible for the compulsory part. 18:53:10 mhm 18:53:11 Heh. 18:53:30 fizzie, but even before you forgot most of the Swedish you surely remembered a few words? 18:53:41 probably how to count to ten? 18:53:50 Before I forgot, I remembered quite many words, I would say. :p 18:54:00 fizzie, err, before university I meant 18:54:03 Even after he forgot, he clearly knew quite a bit 18:54:05 before you had to remember again 18:54:17 Yes, I am reasonably certain I could have counted to ten. 18:54:20 Which is to say, he didn't forget as much as it sounded like 18:55:10 bbl 18:55:14 Deewiant: I did "long Swedish" (for non-locals: started on third grade, so studied a total of 10 years during compulsory education and high school) before, that might also have had an effect. 18:55:39 Deewiant: On the third (or how many'th this is) hand, Swedish (the long one) was my worst subject in the matriculation examination thing. 18:55:41 Yes, that is the type of person that generally gets the higher of the two possible. 18:55:57 Worst, as in, the only one which you didn't get max points on? :-P 18:56:20 No, I actually only got an M out of it. 18:56:26 a Z 18:56:31 i want to rewrite terms fff 18:56:41 (And I don't think I got maximum points from anything else than maths.) 18:56:55 -!- scarf has quit (Remote host closed the connection). 18:57:12 An M from the long might be equivalent to max from the short 18:57:29 That's possible, I guess. I don't really know the relative difficulties. 18:57:49 At least E, I guess. 18:58:26 If it weren't then it wouldn't be harder than the short, which wouldn't make much sense. :-P 18:59:43 For non-locals that don't have the same scale; the matriculation examination grade scale here goes I, A, B, C, M, E, L from worst (well, failed) to best; they come from Latin: improbatur, approbatur, lubenter approbatur, cum laude approbatur, magna cum laude approbatur, eximia cum laude approbatur and laudatur. 19:00:06 B and E are rather new grades, though; it used to be just I-A-C-M-L. 19:00:21 "Rather"? Aren't they a few decades old at least? 19:00:32 E was added in 1996. 19:00:37 Darn 19:00:54 B and M in 1970, it seems, so "originally" it was just I-A-C-L. 19:01:31 I only did Swedish anyway, and in 2005 19:02:14 I did six topics, in 2002 (I think), so E wasn't exactly "new" at that point either, but still. 19:04:32 Aren't those defined as percentile intervals, by the way? 19:05:15 Yes. Or at least there are official percentile numbers they're aiming at, nation-wide. I'm not sure if they strictly follow it. 19:05:54 numerical grades are too hard 19:06:01 it's much easier to remember IABCMEL 19:06:08 Apparently there's also four subclasses of I, denoted "i+", "i", "i-" and "i=". You get "compensation points" from other non-i grades, and if you get enough of them (what "enough" is depends on which one of those four i's it is) you may get a non-fail "i". 19:06:48 (This I either didn't know, or had forgotten.) 19:08:08 lament: It's also nice when some form somewhere asks for an average of these letter grades. There's no completely official way of computing the average; there used to be one, but it was deprecated. 19:08:31 Deprecated? Why? 19:08:43 -!- augur has joined. 19:09:18 I really don't know. It was that "yleisarvosana" thing, and it's no longer included in the papers, so it at least feels a bit deprecatedy. 19:09:21 fizzie: it's almost as bad in north america 19:09:28 Ah. 19:09:34 there's something called the GPA, which is a number on the scale from A to B 19:09:47 i think A is normally zero 19:09:51 but B varies from one place to another 19:09:53 ahoy 19:09:58 yoha 19:10:15 Deewiant: They added the E grade and removed that at the same time; so the old rules for computing the average don't really work any more, since the E grade is not included in them. 19:10:22 so when a university asks you for your GPA, they expect you to give it to them in their scale 19:10:26 Meh 19:10:43 but of course they don't tell you what their scale is 19:10:57 alise: http://en.wikipedia.org/wiki/Indexed_grammar ; http://en.wikipedia.org/wiki/Head_grammar ; http://en.wikipedia.org/wiki/Global_index_grammar ; http://en.wikipedia.org/wiki/Literal_movement_grammar ; http://en.wikipedia.org/wiki/Range_concatenation_grammars 19:11:18 Deewiant: I think I used just the median of my grades when I needed one for the graduate school application. Not that they really cared about that, but the form had a field for it. 19:14:18 I've always wondered what the point of such is 19:14:44 Hi alise 19:14:57 If they can verify it, why ask you, and if they can't, they can't use the info for anything important 19:16:12 They certainly didn't ask for the corresponding certificate papers, so I don't think they could verify it. 19:16:33 -!- Wareya has quit (Ping timeout: 256 seconds). 19:16:49 -!- Wareya has joined. 19:35:30 fizzie, to further mess up things I have my degrees in two different systems 19:36:20 one for those I read as a CS student, and one for a few other courses I took on the side. 19:36:41 I hope I never have to calculate average for that. What is average of 5 and VG? 19:42:29 Oh, we have some different systems in the university course grading too (for example, the aforementioned compulsory Swedish is graded either "acceptable" or "good"), but I think all not-in-the-standard-1-to-5-scale grades are ignored when computing the average. 19:43:16 I've ignored them, at least 19:44:16 -!- cheater3 has joined. 19:44:41 Deewiant: I think they are also officially ignored by the thing that computes the final diploma averages. Certainly they're ignored in the record transcript printout. 19:45:05 There's an average in the record transcript? I haven't noticed. 19:45:45 Deewiant: I think they are also officially ignored by the thing that computes the final diploma averages. Certainly they're ignored in the record transcript printout. <-- why? because they couldn't figure it out either? 19:46:01 Because there is no sensible mapping 19:46:24 How would you map pass/fail to a numeric grade? 19:46:32 Deewiant, you could look at what is "not passed" "passed" passed with excellence" in the various systems 19:46:40 Deewiant, in our numerical system fail is 1 or 2 19:46:45 Typically there's only one, pass 19:46:46 Deewiant: I wouldn't mind a 0/5 mapping. :) 19:46:54 Fail isn't included in the transcript 19:47:03 Deewiant, we have two pass in the letter system. Or 3. Think it is only 2 at university 19:47:05 -!- cheater2 has quit (Ping timeout: 246 seconds). 19:47:12 there is one fail 19:47:24 Deewiant, right 19:47:45 Swedish is the only one on my transcript that's not 0-5 or pass/fail; it has that fail/acceptable/good tri-valued thing. 19:47:48 fizzie, 0/4 seems more reasonable if same as here 19:47:49 Mapping it to 5 is sensible in some ways but it has the unfortunate effect of raising everybody's averages :-P 19:47:57 bbl 19:48:46 Ooh, I'd know a lot of people who'd hate a 0/4 mapping; those people for whom averages are Serious Business, and a 0/4 mapping would drag them down a lot, since there's quite a number of compulsory pass/fail courses. 19:49:15 Yes, that's why you can't really map it to anything other than 5. 19:51:39 So it really is most prudent to just ignore them in averages :-P 19:59:56 yo 20:00:03 oy 20:00:04 hi 20:01:17 alise, should I stop attempting to remind you? I vaguely recall you saying that it wasn't the plan anymore 20:01:50 We are waiting on a response from the advisor-in-matters-regarding-lawsomes first. 20:01:58 Ah 20:04:59 i was pretty annoyed at out swedish course being fail/2/4 20:05:59 So it really is most prudent to just ignore them in averages :-P <-- err. Why not change them to use the same system as the other ones? 20:06:06 I mean, one single system would make more sense 20:06:38 oklopol, why were you annoyed at that? 20:06:51 also 2 is a fail degree here 20:07:22 AnMaster: what fizzie said 20:07:29 drags my average down 20:08:49 AnMaster: Well, that's a separate issue 20:08:56 While we have them, it's best to ignore them 20:13:01 Deewiant, has no one suggested that you all change to one system? 20:13:28 oklopol, with enough other courses that you get 5 in your average would approach 5 20:13:38 and if you then round to 4 decimals you could get 5 20:14:05 I don't know if it's been suggested 20:14:14 i think it's 5 now, if you round to one decimal 20:14:23 oklopol, see :) 20:14:28 but 4 would require about a thousand courses 20:14:43 oklopol, well sure. rounding to 1 decimal is probably saner anyway 20:15:05 just write it as 5.0 then (or 5,0 if you use decimal comma like in Sweden) 20:17:50 we use it, i don't 20:19:55 ...omg i'm back on irc 20:20:09 i didn't even notice 20:20:19 lol 20:20:20 anyway 20:20:35 can anyone think of a better computational model of the reals than floating point? 20:20:52 i.e. fast, but without such inanity as breaking such fundamental mathematical laws as equality and... just about everything else 20:20:55 well it's not reals i guess 20:21:02 Fixed point 20:21:19 floats are an inexact model of the rationals 20:21:22 just rationals, except with a less stupid representation than 314159/100000 20:21:22 not the reals 20:21:30 erm maybe off by one with the zeros there 20:21:31 oklopol: yeah i know 20:21:40 computable reals are closer 20:21:45 yar i mean rationals really 20:21:50 Deewiant: fixed point breaks mathematical laws doesn't it 20:21:53 overflow 20:22:05 i guess you can overflow to (Z,Z) 20:22:07 You want arbitrary precision? 20:23:06 well... no 20:23:08 i just want a pony :) 20:23:38 really I just want something that programmers everywhere could replace every occurrence of "float" in their code with, and think "gee, my program runs a bit slower but suddenly I don't feel like cthulhu is resident in all my values any more" 20:23:38 Well you can't have one 20:24:42 like, if I have a fancy dependently-typed functional language I want to require rings to come with a proof of of a*(b+c) = (a*b)+(a*c) 20:24:55 and floating point doesn't let me do that, because it is a bad person and hates mathematics. 20:25:08 (at least, I think NaN fucks with that example; if not, substitute one it does fuck with) 20:25:24 well you can just define = to be rougly equal?? 20:25:55 I mean people write programs that use floats which compute with error bounds so ... it's not like it returns a random answer 20:26:07 no, = should mean /equal/ 20:26:08 but then it isn't an equivalence relation and cthulhu is totally present again 20:26:27 you can quotient by an equivalence relation 20:26:38 I mean, "Rational" satisfies the "Cthulhu has left the building" constraint but not the "gee my program isn't a /billion/ times slower" constraint 20:26:39 then the identity type works 20:26:48 alise: You have to define "programmers everywhere", some programs do rely on float behaviour (and others on their HW-speed) 20:26:59 MissPiggy: I don't care, it's still Really Surprising Behaviour when the rulez are broken 20:27:04 and it restricts how I can optimise, for one 20:27:07 :( 20:27:17 Deewiant: Well, those programs aren't written in my glorious languages :P 20:27:42 If you only meant yourself, just use fractions of arbitrary precision ints 20:28:01 Dear Google Calendar: Unless you're planning on making Google Maps work with SLUrl for virtual locations, please don't bother making a map link. 20:28:14 (Although it's really a trivial issue I guess *shrug*) 20:28:17 Deewiant: The reason I don't want that is that it's... well... not fast. 20:28:27 Not on today's CPUs, at least. 20:28:42 Do you have programs that rely on the speed of that enough for the difference to be noticeable? 20:30:25 alise: If you want something non-Lovecraftian, it'll be slow. 20:30:32 Admittedly I'm just /assuming/ that rationals are pretty slow, because people don't use them. 20:30:39 Deewiant: Yes, but not /glacial/. 20:31:24 Hmm. What's the issue with: 20:31:31 I disagree /STRONGLY/! 20:31:36 If overflow is a problem then it'll be pretty glacial I'm afraid :-P 20:31:49 Rat (an integer) 20:31:54 -!- cheater3 has changed nick to cheater4. 20:31:54 = Fixed thatint 20:31:59 sdf 20:32:00 basically 20:32:11 fixed-point with compile-time dynamic size (and run-time too for bigfloats) 20:32:15 It's possible to write correct programs that are efficient! 20:32:24 using the smallest integer representation that can store all the values of that size 20:32:27 you get my point 20:32:37 Except whence "that size" 20:32:39 that's lesser than reals, e.g. you don't get 1/3 20:32:45 Deewiant: compile-time or run-time 20:32:50 if run-time, increased on overflow 20:32:54 like int->bigint conversion 20:32:56 And often enough it'll be run-time and hence glacial 20:33:03 Not /glacial/... 20:33:16 Glacial enough 20:33:23 This is equivalent to what I said modulo implementation details :-P 20:34:50 Not as glacial as (Z,Z) 20:34:53 is the point 20:35:50 what the hell are you talking about 20:35:51 Hard to say; maybe not 20:36:00 listen, people do something called NUMERICS 20:36:01 -!- zzo38 has joined. 20:36:07 and when they do that they find algorithms which 20:36:09 (A) WORK 20:36:12 (B) FAST 20:36:29 alise: what about numbers of the form m/2^n ? that's at least a ring 20:36:48 and should be fairly fast since floating point is 20:37:00 (here i'm intending unbounded n) 20:37:07 but bounded m? 20:37:12 well no that too 20:37:12 Do you know the computation class for [[Hyper Set Language]]? I think it is at least turing complete because you can implement the S and K combinators. But is more than turing complete? Or is something make it less? 20:37:56 oerjan: erm can that represent 3.14159? 20:38:07 admittedly i'm not thinking very clearly about this, some sort of mental block prolly :P 20:38:29 zzo38: this a set language? if you can define the halting set, then you'd be super-TC is my intuition. 20:38:59 oerjan: That is what I am asking, too. Do you think there is a way? If you read it, try to figure out if you can figure out anything from it, if you want to 20:39:04 http://esoteric.voxelperfect.net/wiki/Hyper_Set_Language 20:39:07 alise: it's just storing an arbitrary number of bits 20:39:13 oh ofc 20:39:17 alise: if you want all field equations (and dividing by 10^n generalizes to dividing by any natural number), then you pretty much force the rationals to be an exact subset 20:39:44 er, superset surely 20:39:57 (assuming 3.14159 = 314159/100000 there) 20:40:10 no, subset. you get at _least_ all rationals 20:40:26 hmm 20:40:50 so basically, the question is "what is an efficient representation for the rationals" 20:41:05 rationals? 20:41:09 probably 20:41:11 (m,2^n) at least, intuitively /seems/ faster than (m,n) 20:41:11 With natural numbers represented as sets, the less than operation is easy, A is less than B if A is an element of B. 20:41:47 wait wait, I'm not seeing the values for m and n to get 3.14159, prolly doing something stupid 20:42:23 http://www.shoeboxblog.com/?p=15314 20:43:25 Prelude> 314159 / (2 ** 16.61) 20:43:25 3.140807200338285 20:43:30 presumably m and n : Z, though 20:44:18 Deewiant: :D 20:44:23 you can store some of the correct first digits of pi, just like with base 10. 20:44:40 right, but not 3.14159 *exactly* 20:44:56 it is just GIVING UP if you think you can't do correct and efficient programs 20:45:08 yes it's difficult, but if you think it's impossible you are educated stupid 20:45:14 alise: of course not, 314159/100000 is in smallest terms 20:45:19 and evil 20:45:24 oh wait what the hell is that .16 about 20:45:24 or actually the whole thing 20:45:24 you can, you just need a lot of bits 20:45:25 oh wait 20:45:26 9 20:45:26 yeah true 20:45:27 err 20:45:28 yeah wtf am i thinking 20:45:28 MissPiggy: we shouldn't have to fuck about with representations for hours just to get something that runs before the universe is o'er, and that is correct 20:45:39 oerjan: yeah :/ 20:45:42 I think you can represent reals as sets by making it a set of all the natural numbers that are the bit positions in the real that are set 20:45:44 Prelude> 314159 / (2 ** 16.609640474436812) 20:45:44 3.141589999999999 20:45:47 close enough :P 20:45:55 you cannot get rid of the prime 5 factors in the denominator 20:45:59 alise, I don't do numerics either but it's a really important part of computing and without it nothing would work well 20:46:04 MissPiggy: we know 20:46:18 Deewiant meant if you want correctness /in general/ it's glacial 20:46:23 rather than inventing special representatiosn each time 20:46:24 no wait, i'm being completely retarded atm 20:46:24 grr 20:46:25 what does glacial mean? 20:46:55 slow. 20:48:16 zzo38: are you familiar with any of the usual constructions of real numbers as sets? 20:48:39 computable reals are nice apart from the whole lack of equality thing 20:48:41 that's kinda bum 20:48:42 well i guess yours works as one of them 20:48:55 oerjan: No, I am not familiar with that 20:49:37 oerjan: wait how is (m/2^n) more efficient than (m/n)? 20:49:38 arithmetic? 20:50:03 alise: yeah it's mostly like binary then... 20:50:17 m/2^n + u/2^v = (m(2^v)+(2^n)u)/2^(n+v) 20:50:26 two multiplications instead of 3 20:50:39 with n/m, you have to keep doing gcd 20:50:49 and those multiplications are shifts 20:50:50 oh except for 2^v & 2^n has to be computed.. 20:51:06 ahh oerjan you are good at this 20:51:12 so stuff like addition are really slow 20:52:03 yeah 20:52:14 the problem is that this representation doesn't seem to have many of the numbers humans like :( 20:52:27 at least floats "usually" are pretty similar to decimals if you stick to obvious things 20:52:40 of course that's no real objection, just a human one 20:52:45 so, wait, oerjan 20:52:48 this isn't a subset of the rationals 20:52:57 you can't represent 314159/100000 20:53:04 yes it is 20:53:18 you are swapping sub and superset 20:53:24 err right 20:53:26 it has to be a superset 20:53:27 >= 20:53:28 you said 20:53:49 i said, if you want all field equalities 20:54:08 i do :< 20:54:10 including division. m/2^n only supports addition, subtraction and multiplication exactly 20:54:13 I guess (Z/Z) is the best for me then 20:54:21 which doth make me sad 20:54:44 what 20:54:50 what 20:54:57 how does it support division 20:54:58 1/3 20:55:04 alise but you don't care about nice looking numbers, all that matters is being within some tolerance of them 20:55:05 oh lol 20:55:06 on the bright side, you at least can have equality work exactly with those 20:55:07 wtf 20:55:09 and the output of the algorithm is too 20:55:18 and this is not 'impossible to do efficiently' 20:55:19 somewhere in there i read it supports division 20:55:22 :D 20:55:33 it's not like you have to have lots of dynamic checks all over, you just have to do a lot of hard analysis 20:55:52 it's nontrivial stuff, that's why you can't just make a field out of it 20:55:55 MissPiggy: of course, but a human will be sad if he punches in 1.33333 and gets something like 1.01725 back 20:56:07 well yeah that is why I use an exact calculator 20:56:16 with floats they're at least, you know, close enough 20:56:24 but a calculator is different than numerical algorithms 20:56:26 I guess I'll just totally love rationals 20:56:31 MissPiggy: yes but they need specialised code anyway 20:56:31 I dunno I am scared to use floats 20:56:42 I don't use them without a lot of hard work on paper 20:56:44 I'm talking about the main thing you get when you think "oh I need sum division here" 20:57:07 yeah i don't like floats 20:57:10 MissPiggy: you program satellites or something? 20:57:47 What are the usual constructions of real numbers as sets? 20:58:16 my OS/language is going to be so amazing :| 20:58:33 i think once you go beyond the four arithmetical operations you quickly lose exact equality no matter what you do. for example, afaik it is unknown whether pi*e is rational, so you might hit a case where you cannot decide pi*e == p/q 20:58:35 zzo38: the normal one I know about is cauchy-convergent sequences of rational numbers.. so it's basically a list of fractions that tend toward some real number (each one being within a smaller tolerance of it) 20:58:56 oerjan: well you cannot represent "pi" or "e" 20:59:01 only approximations to some tolerance 20:59:03 MissPiggy: OK, I guess that's one 20:59:09 zzo38: but there's also some different constructions like in constructive-math you can represent them as programs which print out the n'th digit in finite time 20:59:10 actually this ties into my idea for implementation types 20:59:11 basically 20:59:13 alise: you might in some representations 20:59:18 unknown whether e*pi is rational? 8| 20:59:19 you have an (opaque) value pi or e or 1/3 or whatever 20:59:23 oklopol: yeah it is 20:59:24 zzo38: of course adding them produces a new progam etc etc 20:59:26 erm 20:59:32 oerjan: and an opaque type Real 20:59:35 MissPiggy: Yes, that too is one, like something 20:59:38 it's not known whether e+pi and i think e*pi is algebraic, but rational, that was new to me 20:59:44 oerjan: and at compile-time, you plug in some acceptable representation for it 20:59:47 like Float or Rational 20:59:54 oh wait 20:59:58 and it uses the definitions of pi or e or 1/3 for that type 21:00:00 e*pi might be easier for algebraic 21:00:00 zzo38 (that's not really set theory though but I just thought that's a cool way) 21:00:00 zzo38: dedekind cuts are one. you then first construct the rationals and then a "cut" is a splitting of all rationals into two sets with the left set elements smaller than all the right set elements 21:00:11 oh wait no 21:00:11 so you write code that you can prove correct but cannot wrong (because e.g. it does = on computable reals) 21:00:17 and the boundary between them is always a real number 21:00:21 and substitute elsewhere whatever representation is acceptable 21:00:23 cool methinks. 21:00:41 alise: no you can't just write a correct program on R and then use it with floats 21:00:45 I think in Hyper Set Language I could write a code that converts the represent as programs which print out the n'th digit into the one I specified at first, too 21:00:47 in any case it's definitely known e*pi is irrational, it just hasn't been proven 21:00:50 MissPiggy: of course it won't be correct on floats 21:00:55 which is why you specify an _acceptable_ type manually 21:00:59 maybe you're ok with floats 21:01:03 maybe you want rationals 21:01:12 maybe you want computable reals because you don't use = and don't care about speed 21:01:12 oh and MissPiggy mentioned cauchy sequences which i was thinking of next 21:01:12 etc 21:01:28 you can't /know/ something that isn't proven 21:01:32 you can strongly suspect it, though 21:02:12 oklopol: oh maybe it's just algebraic that is unknown for them, i'm not sure 21:02:37 well, pi and e algebraic is a deep result, e and pi irrational is trivial 21:02:45 err 21:02:50 alise: oh, that makes me realize, you can also represent all algebraic numbers exactly. even more complicated though i presume. 21:02:55 transcendential i mean 21:03:04 oerjan: just do it symbolically? :P 21:03:17 that's how CASs do all this funky number stuff ofc 21:03:34 oerjan, I guess you cuold just list them as polynomials + an index (which root) ? 21:04:04 hmm 21:04:17 actually that wouldn't really help because how do you compute the new index 21:04:59 oerjan: not known whether e+pi or e/pi is irrational according to internet 21:05:33 e = pi / 3 * 2 21:05:53 no it's not 21:05:54 :P 21:06:21 alise: using polynomials they are roots of, plus some interval boundaries to distinguish different roots of the same one, i think that would work 21:06:32 hey that would be weird.. if it was undecidible whether e+pi is trancendental 21:06:43 why would that be weird 21:06:51 that would be beautiful 21:07:05 MissPiggy: what are indexes? 21:07:08 personally i can't decide if it would be weird or not 21:07:12 (for roots) 21:07:16 oerjan I meant the 3rd root, e.g. 21:07:24 lament: but do you agree it'd be beautiful? 21:07:24 but that seems like a bad way to distinguist 21:08:16 oklopol: does that mean e*pi _is_ known? 21:08:34 http://planetmath.org/encyclopedia/LindemannsTheorem.html 21:08:37 what logic systems need is an FFI to other logic systems 21:08:39 this is a cool theorem by the way 21:08:43 :) 21:09:11 alise hehe we should get them to trust each other 21:09:28 I saw an attempt at converting HOL proofs into Coq that was pretty heavy 21:10:26 MissPiggy: i'm not sure there is any pretty way to distinguish them. different roots of primitive polynomials are algebraically indistinguishable, afaik (galois theory), so you need some order or the like 21:10:27 also unsafePerformMathematica 21:10:32 for boring calculations.. 21:11:09 oerjan I don't know galwah theory :( 21:11:15 what logic systems need is an FFI to other logic systems <-- kripke models! 21:11:23 Though seemingly innocuous, a proof of Schanuel's conjecture would prove hundreds of open conjectures in transcendental number theory. 21:11:34 oerjan: of course we need some sort of trust-metric between them all 21:11:41 so we can import proofs from other systems that we can't prove in our system 21:11:47 but only if they pass a certain Bullshit Factor 21:11:54 whose intention is to weed out the bullshit. 21:12:05 MissPiggy: well the point here iirc is that there are field automorphisms of C that map one root onto any (?) other 21:12:37 (one _given_ root, there may be restrictions on pairs and such) 21:13:47 * oerjan recalls having fun using kripke models to prove things were not intuitionistic tautologies 21:15:37 * MissPiggy wishes to know more about that but I watched a lecture on kripke models a while ago and did not get it 21:16:26 well let me try to recall an example 21:16:50 say the well-known intuitionistic non-tautology A or (not A) 21:18:25 you make two world's, one in which A is false, one in which A is true, with the former being less than the latter 21:18:43 oka; 21:19:00 then in the former, not A is _also_ false, since there exists a larger world in which A is true 21:19:33 and A or (not A) is then also false in the former, since or combines in each world 21:19:54 ergo: A or (not A) is not a tautology 21:20:29 oerjan, I didn't quite get that either. 21:20:43 tautology in ??? 21:20:56 in intuitionistic propositional logic 21:21:00 oerjan, or basically it sounds like a load of bullshit worthy of that recent xkcd about proving from invalid axioms ;P 21:21:09 ::/ 21:21:20 *worlds not world's 21:21:32 er right 21:21:35 but oerjan it is not a tautology so you have proved it is now the world explodes?? 21:21:39 I don't undersatnd 21:21:49 OH 21:21:54 what? 21:21:55 MissPiggy: i have proved that it is _not_ a tautology 21:21:58 AnMaster: yeah xkcd to rebut valid mathematical techniques, sounds like a funny joke to me 21:21:58 A or (not A) is ***not*** a tautology 21:21:59 no it's boring 21:22:05 kinda important to read ALL the worlds, sorry about that! 21:22:12 read all the worlds 21:22:55 oerjan, this is a metatheorem though? 21:23:09 oerjan, I mean you couldn't prove this internally, using a constructive logic could you? 21:23:10 because by some mumble mumble theorem, a proposition is an intuitionistic tautology if it is always true in every world of a kripke model satisfying the mumble mumble requirements 21:23:37 AnMaster: yeah xkcd to rebut valid mathematical techniques, sounds like a funny joke to me <-- I wasn't trying to joke nor rebuting it 21:23:53 just commenting upon how insane it sounded to someone who isn't a specialist 21:23:56 MissPiggy: well i guess not, but then you cannot do that with boolean logic either... 21:24:03 Then what were you doing? Either you think it's bullshit or you think it isn't. 21:24:14 alise, see the line I said just after that 21:24:17 before replying 21:24:30 ";P" would imply you don't think it's bullshit and are attempting to make a joke; commenting upon how seemingly insane it is counts as a joke attempt, because it's meant to be taken non-seriously in a humorous way. 21:24:30 unless you have ~10 seconds of lag, in which case I pitty you 21:24:34 *pity 21:24:37 One t. 21:24:50 true 21:24:53 > 1%(1%n); 21:24:53 didn't notice that typo 21:24:53 1*n%1 21:24:53 <- Well, it's a start, Pure, but I think you can simplify that a wee bit. 21:24:57 *^ 21:24:59 not <- 21:25:02 AnMaster: you do it a lot :P 21:25:14 alise, I don't think I use that word very often though 21:25:18 so unlikely 21:25:21 Enough. 21:26:43 oerjan, when is that type of logic that proves A or (not A) to not be a tautology actually useful? 21:26:59 > 0+x = x; 21:27:00 > x+0 = x; 21:27:00 > 0*x = 0; 21:27:00 > 1*x = x; 21:27:00 > x*0 = 0; 21:27:00 > x*1 = x; 21:27:02 > 1%(1%n); 21:27:04 n%1 21:27:06 I schooled you, son. 21:27:10 alise = zero 21:27:10 Now yo a clever bitch of a rewriter. 21:27:12 AnMaster: when you want to find out what are the intuitionistic tautologies? 21:27:23 oerjan: i think AnMaster is assuming that (a or not a) is actually a tautology "IRL" 21:27:31 thus his inquiry; just heuristics, though 21:27:36 alise, not correct 21:27:39 ok 21:27:53 I was wondering what sort of other math stuff this is used for 21:27:59 oerjan, and why do you want to do that? 21:28:10 AnMaster, metatheoretic investigation of foundational questions 21:28:10 AnMaster: also, i believe there are other forms of kripke models for some other logics (e.g. modal ones?) 21:28:21 what MissPiggy said 21:28:40 MissPiggy, hm okay 21:28:57 AnMaster: this _did_ start out with alise's comment about logics needing FFIs for each other... 21:29:01 oerjan, how do you pronounce "kripke" btw? 21:29:11 > x%(y*x) == 1%y; 21:29:11 x*y==y*x 21:29:17 yes, Pure, turns out that's true also. 21:29:27 AnMaster: i think it's german. or wait was he american? 21:29:33 oerjan, FFI in this context being? All I can think of is foreign function interface, which makes no sense here. 21:29:55 alise, what language is that? 21:30:00 http://en.wikipedia.org/wiki/Saul_Kripke 21:30:00 Pure 21:30:29 AnMaster: i think that _was_ the intended meaning. how to call one logic from within another. 21:30:50 kripke models allow you to speak about intuitionistic truths in classical logic, say 21:31:01 alise, interesting language. Did you provide a few rules and it then did various simplifications on it basically? 21:31:02 > (x+y==y+x) = true; 21:31:02 > (x*y==y*x) = true; 21:31:03 > x%(y*x) == 1%y; 21:31:03 1 21:31:05 schooled. 21:31:11 (kripke was american) 21:31:12 AnMaster: Yeah; basically, you define tree -> tree rewritings. 21:31:16 er is 21:31:17 alise, sounds like perfect to write a CAS in. 21:31:19 alise make it do partial fractions 21:31:20 Then you give it a tree and it rewrites it recursively. 21:31:26 AnMaster: exactly; this kind of stuff is the base of CASs 21:31:27 the bastard is still alive :D 21:31:30 MissPiggy: no ;P 21:31:32 *:P 21:31:44 alise please :(((( think of my homework!! 21:31:52 MissPiggy: fine what do you want it to aftually do 21:31:55 *actually 21:32:20 alise, what is the complexity of this way of computing. 21:32:21 alise seriously partial fractions are cool I would be interested in seeing it in a rewrite language because it seems slightly less trivial than just simplification 21:32:33 AnMaster: You can't ask for the "complexity" of a paradigm, that's ridiculous 21:32:56 alise, well true. I realised it was badly worded. But I can't think of another way to phrase it 21:32:57 lets see... 21:33:03 alise partial fractions is tne name for turning stuff like 1/((x+a)(x+b)) into P/(x+a) + Q/(x+b) 21:33:14 you have to solve for P and Q, and do it for more general cases.. 21:33:14 The naive algorithm is slow (evaluating the innermost trees first, look for rewrite rules that match the tree; pick the most specific one (e.g. biggest or least free variables), replace with right hand side, repeat) 21:33:18 But there are better algorithms 21:33:21 alise, given that you rewrite it recursively it sounds like some stuff would be rather inefficient to implement in it 21:33:31 Pure isn't naive; it compiles to LLVM and all. 21:33:32 alise, right 21:33:38 21:32 < alise> AnMaster: You can't ask for the "complexity" of a paradigm, that's ridiculous 21:33:43 it's not ridiculous :P 21:33:54 well 21:34:01 maybe paradigm isn't the right thing 21:34:29 "What is the complexity of tree rewriting" doesn't make sense because it depends on the complexity of the computation 21:34:42 but stuff like mutable vs non-mutable and complexity completeness results are quite deep theorems in programming 21:34:46 alise, what is the complexity of the best known algorithm for it then? 21:34:58 alise: apparently now ghc will also compile to LLVM, i hear 21:35:06 AnMaster: Still a meaningless question 21:35:12 not that i would know, never having downloaded it *ducks* 21:35:15 oerjan: It's replacing -fvia-c. 21:35:21 alise, oh? 21:35:28 It makes me believe that it is likely that you do not understand the difference between complexity and speed on today's CPUs. 21:35:48 alise, if I had meant to ask about that I would have asked about that 21:35:56 I meant big O notation here 21:36:06 not milliseconds 21:36:13 Then your question makes no sense. 21:36:16 and the latter would vary a lot 21:36:20 AnMaster: what is the complexity of brainfuck? 21:36:28 brainfuuuuuuuuuuuuuuuuuuuuuck 21:36:38 alise, what is the complexity of a given way to implement bf 21:36:48 set the "given way" to "best known" 21:36:49 brainfuck is RE 21:36:50 lol 21:36:54 AnMaster: That question makes no sense at all. 21:37:00 now someone implement brainfuck with tree rewriting 21:37:06 oerjan, heh 21:37:08 woah 21:37:11 AnMaster: What is the complexity of a naive implementation of Brainfuck? 21:37:14 how would you do that (in a cool way) 21:37:20 AnMaster: I don't think you can have algorithmic complexity of non-algorithms. ;) 21:37:22 alise, first define the naive implementation 21:37:29 http://qwiki.stanford.edu/wiki/Complexity_Zoo:R#re 21:37:32 MissPiggy: define the different stuff as operators 21:37:36 kripke is an observant jew 21:37:38 pikhq, oh right algorithms must terminate or how was it? 21:37:40 matisyahu is an observant jew 21:37:41 AnMaster, ^ 21:37:43 then you can generate bf programs with symbolicness 21:37:43 well okay on that thing it fails 21:37:46 i like matisyahu 21:37:50 therefore, kripke is cool 21:37:52 and reason about them 21:37:56 AnMaster: no, pick one implementation 21:37:58 AnMaster: any 21:38:02 matisyahu the singer ? 21:38:04 AnMaster: tell me how you would work out "its complexity" 21:38:08 hint: this question is /completely meaningless/ 21:38:23 alise what about my answer? (RE) is that not correct? 21:38:32 MissPiggy: suer 21:38:54 MissPiggy: is that the complexity of the evaluation function, though? 21:39:01 I mean, yes, technically 21:39:04 but I don't think it's what AnMaster means 21:39:06 alise that's a tricky one... 21:39:14 yeah it's not what he means I know that :P 21:39:16 he's trying to say "how much OVERHEAD does tree rewriting imply" 21:39:19 it was a silly answer 21:39:28 which is nonsensical too, s/tree rewriting/a given implementation of tree rewriting/ 21:39:31 then rigorously define overhead 21:39:33 then maybe i can answer 21:39:50 we need a co-RE language 21:40:10 there's probably classes of algorithms in tree rewriting that have asymptotically lower efficiency than in a language with mutable reference 21:40:28 by _result I can't remember the name of ;_;_ 21:40:40 you can have a tree rewriting language with mutable references, of course 21:40:51 MissPiggy: that lisp vs. pure lisp link from the other day? 21:41:03 MissPiggy, tree rewriting can be mutable in place? Huh? 21:41:07 oh wait, I misread that 21:41:31 alise, that seems rather messy 21:41:34 and not fitting in 21:41:35 oh well I am probably wrong about that statement 21:41:36 but sure 21:41:38 it's not 21:41:43 Pure has side-effects 21:41:43 alise: that's graph rewriting then, isn't it 21:41:46 causes no issues at all 21:41:58 oerjan: well you consider references externalities usually but yeah 21:42:02 side effects are annoying 21:42:06 AnMaster: monads. 21:42:12 or other ways of modelling state 21:42:31 alise, passing the state along all the time? 21:42:40 doesn't solve the issue with IO though 21:42:57 You just model that as a data structure with continuations. 21:43:04 You can sugar it from inside the language. 21:43:07 hm 21:43:27 that might work 21:44:45 nit 21:44:48 not might 21:44:51 does 21:44:59 what about nit? 21:45:01 this is a solved problem 21:55:30 computer modern is beautiful 21:56:14 modern is so ancient 21:57:28 your mom 21:58:32 incidentally "modern" means the mom in some norwegian dialects 21:59:20 And Swedish, though it's probably archaic 21:59:42 could be a swedish loan, actually 21:59:50 then it might not 22:02:24 it means both modern and "the mother" in Swedish. And yeah somewhat archaic 22:03:36 Different pronunciation for the two meanings though 22:03:42 well yes 22:03:47 very different 22:07:49 Deewiant, does English have that? 22:08:02 one spelling, different ways to pronounce, different meanings 22:08:23 http://en.wikipedia.org/wiki/Homograph 22:08:39 oh right 22:09:27 http://en.wikipedia.org/wiki/Generalized_context-free_grammar 22:09:35 :D 22:10:01 -!- jcp1 has joined. 22:10:11 "oerjan: oklopol: does that mean e*pi _is_ known?" <<< if e*pi was known, then e/pi would also be 22:10:20 Deewiant, actually isn't it instead http://en.wikipedia.org/wiki/Heteronym_%28linguistics%29 ? 22:10:24 err 22:11:05 -!- jcp has joined. 22:11:05 -!- jcp has quit (Remote host closed the connection). 22:11:08 oklopol, known as what? 22:11:14 oklopol: not if it was known _not_ to be rational 22:11:24 I guess "is trancedental" 22:11:32 although if it were algebraic, the other one couldn't be 22:11:34 (as in, that is the question) 22:12:12 -!- zzo38 has quit (Quit: Ceci n'est pas une pipe). 22:12:32 AnMaster: (ir)rational, actually 22:12:45 or, well, both 22:13:06 AnMaster: Right you are, that's more specific 22:13:10 oerjan, any transcendental (sp?) number would be irrational right? 22:13:27 yeah but the point it isn't known to be either 22:13:36 *is it 22:14:15 oerjan, but I can tell you something: it isn't an integer ;P 22:14:25 duh 22:14:31 yeah lame 22:14:52 incidentally e^pi is algebraic 22:15:07 or wait 22:15:08 algebraic! 22:15:24 wasn't that used to prove that pi is transcendental or something? 22:15:24 * oerjan is misremembering 22:15:27 but algebraic? 22:15:34 that doesn't sound quite correct 22:15:41 wasn't i involved too? 22:17:20 oerjan, something that confused me is the computable/non-computable number thingy 22:17:24 what does that actually mean 22:17:29 and are there any examples 22:18:29 someone was trying too hard to be pretentious when writing this 22:18:29 In Attic Greek drama, a character in the play, as very often a deity, stood forward or appeared from a machine before the action of the play began, and made from the empty stage such statements necessary for the audience to hear so that they might appreciate the ensuing drama. It was the early Greek custom to dilate in great detail on everything that had led up to the play, the latter being itself, as a rule merely the catastrophe which had inevitably to en 22:18:30 sue on the facts related in the prologue. The importance, therefore, of the prologue in Greek drama was very great; it sometimes almost took the place of a romance, to which, or to an episode in which, the play itself succeeded. 22:18:59 AnMaster: chaitlin's constant is a real 22:19:01 it is not computable 22:19:09 (well, a given instance of it) 22:19:10 *chaitin's 22:19:35 alise, "the latter being itself" quite throw me off first time I read that sentence... 22:19:36 basically, RR contains unknowable elements. 22:19:46 AnMaster: I still haven't managed to read that paragraph! 22:19:55 alise, it was fine up until that point 22:20:02 a bit pretentious yes 22:20:04 but readable 22:20:09 http://en.wikipedia.org/wiki/Computable_number 22:20:10 after that it just makes no sense 22:20:11 a real number x is computable if there is a computable function f:N -> Q such that |f(n) - x| < 1/n 22:20:29 or so i think. there are probably many equivalent definitions 22:20:30 Ω is indeed one of the examples given 22:20:46 "oerjan: now someone implement brainfuck with tree rewriting" <<< i think i did that too with one of my tree rewriters, it's not like it's hard, just carry around a tape 22:21:09 alise, some that is familiar from what I read elsewhere, it helps 22:21:30 AnMaster: chaitlin's constant is a real <-- oh right 22:21:34 oklopol what about doing it without carrying tape? 22:23:15 can you push say > 3+ > 4+ > 6+ > through [1- > 7+ <] to get a program with one less loop? 22:23:35 so what modern is both modern and ancient in swedish 22:23:45 *archai 22:23:45 c 22:23:56 oklopol, what? 22:24:19 oklopol, I didn't understand that 22:24:20 "oerjan: oklopol: not if it was known _not_ to be rational" <<< that's why err 22:25:17 MissPiggy: esotope does thinsg like that 22:26:11 alise cool! 22:26:20 *things 22:26:28 http://code.google.com/p/esotope-bfc/ 22:26:36 can it evaluate a brainfuck program without making a tape? 22:26:40 it also compiles hello-world-with-loops to a puts call :) 22:26:50 LOL 22:26:51 http://code.google.com/p/esotope-bfc/wiki/Optimization 22:26:54 MissPiggy: not just hardcoding 22:26:58 it really can do that kind of reasoning 22:28:29 MissPiggy: i don't get your "push say" thing 22:28:32 haha that compiler is such a hardcore optimizer that you have to use a specially fast tool to run it 22:28:44 oklopol, I just mean like partial evaluation or something, but all the way 22:29:25 MissPiggy: well, you don't want to evaluate all non-input-dependent code 22:29:30 because it might not terminate 22:29:41 what you _want_ to do is evaluate all code that you can automatically prove to terminate 22:29:58 maybe even all code that you can automatically prove to terminate and also determine that its "complexity" is below a certain bound 22:30:08 so that compilation doesn't take fifty-billion years just because execution does 22:30:11 I know you can just evaluate the program, then turn the tape into a >+ program that generates it -- but I was hoping it could be done without using a tape as intermediate 22:30:30 it also compiles hello-world-with-loops to a puts call :) <-- that is quite trivial 22:30:38 MissPiggy, I can describe the algorithm to do that 22:30:49 AnMaster did you read the documentation ??????????? 22:30:54 AnMaster that is not trivial 22:30:59 MissPiggy, I coded something very similar myself 22:31:02 so I know how to do it 22:31:11 AnMaster cool don't you have the code? 22:31:26 MissPiggy, mine is rather buggy, but it is coded in erlang 22:31:31 MissPiggy: he had to ask the author of esotope how the extended euclidian algorithm worked :) 22:31:40 highly parallel bugs 22:31:45 it was basically a copy with a more ad-hoc structure, AnMaster says it did better on some programs but those were pathological 22:31:51 no 22:31:53 not quite 22:32:01 yes for that algorithm, I was not as smart back then 22:32:01 why am I not surprised you said that :) 22:32:13 basically, figure out constants based on that the tape is at the program start all zero, then ++ means that "set 2" you can treat [-] and [+] as set 0 and do the same 22:32:18 wait you are now? why didn't somebody inform me :( 22:32:49 MissPiggy, you convert >> and << to offsets and only actually move the pointer just before an unbalanced loop (where you can't figure out the offset easily) 22:32:58 alise: they had a singularity in sweden, but they're keeping it under wraps 22:33:03 MissPiggy, now those constants can also be propagated to output 22:33:07 so you get constant output 22:33:12 now merge those outputs 22:33:17 MissPiggy, see? trivial 22:33:29 MissPiggy, you need to unroll constant iteration loops of course 22:33:40 oh yeah neat 22:33:41 each loop can be represented as a polynomial 22:33:45 okay I will just implement this then 22:33:48 wait 22:33:57 what how do you represent them as polynomials? 22:33:58 MissPiggy, well, each non-IO balanced loop that is 22:34:30 does the compiler optimize random access? 22:34:33 that's the only thing that matters 22:34:46 MissPiggy, based on the loop counter, if you have [>++<-] you can figure out that the current position will be zero after but the next will be twice the current value 22:34:50 in the current cell 22:34:51 well 22:34:57 if the next cell was zero before 22:35:03 otherwise you add it instead of set it 22:35:07 [><++>] 22:35:18 i mean sure it's cool to compile constants into constants, but you could just do that by running the program 22:35:20 augur, trivial, early merging would take care of >< 22:35:24 as pointed out infinite times 22:35:26 then you get an unbalanced loop 22:35:32 oklopol: not without risking halting 22:35:34 AnMaster: BUT WOULD IT TAKE CARE OF THE FISH 22:35:40 hmmmmmmmmmm 22:35:41 or, if you solve that, extremely long execution times 22:35:42 alise: stfu 22:35:44 augur, -_- 22:35:48 MissPiggy: http://en.wikipedia.org/wiki/Generalized_context-free_grammar 22:35:49 erm *risking non-halting 22:35:49 run for a microsecond 22:35:50 I just realized this is exactly the same as having a type... 22:35:55 tape* 22:35:59 oklopol: nondeterministic, and less effective than this 22:36:03 actually, check out all of the pages i recently made. grammars :D 22:36:11 because as you evaluate the program you build up a data like >+++>+++++>+>+>+>>+++>>+++ 22:36:15 who gives a shit, point is it's not an important optimization 22:36:17 which is just a data structure that represents a tape! 22:36:17 MissPiggy, of course if you can figure out the value before at that tape position then it is trivial 22:36:46 augur, nice I just saved a big list of pages you made to read 22:36:47 MissPiggy, you basically sort it. I used gnome sorting. which means swap if possible then take one step back, step forward if you can't swap 22:37:10 "I deliberately used a joke sort algorithm" 22:37:12 MissPiggy, it is a stable sort (important) and it is easy to add quite complex restrictions to how you are allowed to swap 22:37:38 gnome is a joke? 22:37:47 alise, it is quite fast in practise for this, plus easy to implement with the various restrictions. And it isn't a joke 22:37:53 just not one of the very fastest ones 22:37:54 it is, actually 22:38:25 alise, source for that 22:38:39 because I have never heard of that before 22:38:47 http://www.cs.vu.nl/~dick/gnomesort.html 22:38:49 clearly tongue-in-cheek 22:39:17 btw, I only learned the name after I implemented it 22:39:29 tongue in your mom's cheek 22:40:11 btw wikipedia says: 22:40:13 "It is conceptually simple, requiring no nested loops. The running time is O(n²), but tends towards O(n) if the list is initially almost sorted.[1] In practice the algorithm can run as fast as Insertion sort." 22:40:48 and for most bf programs you can't reorder the whole thing due to unbalanced loops 22:41:04 nor can you move stuff freely across a balanced loop 22:41:20 there are fast stable sorts 22:41:21 until you figure out if they depend on each other 22:41:42 oklopol, true, but can you do such complex conditions easily? Also it gave adequate performance for this case 22:42:20 MissPiggy, anyway I gave up on the project when I got stuck on graph based optimisation 22:42:30 didn't know enough about that sort of thing to make it actually work 22:42:36 know somewhat more nowdays 22:42:39 i want project fortress, agda and pure to have sex 22:42:44 and produce a beautiful, beautiful language baby 22:42:50 but not really interested in taking it up again 22:43:04 AnMaster: probably you could just have intelligence in your swap and < functions. 22:43:26 you should do it!! 22:43:30 oklopol, it all depends on what is between them 22:43:47 alise, "project fortress"? never heard about that one before 22:43:59 alise hehe yeah good plan 22:44:01 alise: dog. spare dog legs. nails. 22:44:05 hammer. 22:44:10 http://projectfortress.sun.com/ 22:44:12 maybe we should bring then on a double date? 22:44:16 guy steele's baby 22:44:19 good way to break the ice 22:44:25 MissPiggy, btw mine dropped those calls to set cells in the final version. One pass was to look from the end of the program and delete dead stores 22:44:34 implicit parallelism, yar. two-dimensional mathematical syntax with beautiful latex rendering, yar 22:44:39 then if tape was never used it's variable was never declared 22:44:41 sleeeeeeeeeeeeeeeeeeeeeeeep -> 22:44:41 cool typing stuff, yar 22:44:48 totally sweet, yar 22:44:55 alise, what about go? 22:45:01 what about go? 22:45:02 didn't you love it too 22:45:07 shouldn't it be in that mix too 22:45:13 if you want a systems programming language 22:45:20 i myself have transcended such petty desirse 22:45:21 alise, oh and smalltalk and haskell 22:45:22 *desires 22:45:29 agda includes the desire for haskell by being superior to it 22:45:36 alise, hastalk 22:45:39 (though not suitable for practical programming, that is irrelevant when language-mating) 22:45:40 imagine it 22:45:47 smalltalk is a nice OOP language, but you don't need it if you have a nice functional paradigm 22:45:54 because it's superior 22:46:01 alise, so mix them up and produce a bastard language 22:46:03 adding columns is more important than adding rows in the expression problem, so FP wins 22:46:12 AnMaster: no, I'd rather mix fortress, agda and pure :P 22:46:19 alise, why not haskell as well? 22:46:47 because agda subsumes the haskell desire, by being superior to it 22:46:59 although not practical for real-world, boring programming, this is irrelevant when language-fucking. 22:47:00 -!- augur has quit (Ping timeout: 260 seconds). 22:48:30 heh 22:51:47 fortress' syntax is so sexy though. 22:51:53 http://projectfortress.sun.com/Projects/Community/attachment/wiki/MathSyntaxInFortress/fortify-example.png 22:52:07 oklopol I did my work now ^..^ 22:52:21 alise I have been spending fucking ages trying to get a repl with TeX display for my CAS :( 22:52:32 MissPiggy: try texmacs? 22:52:43 it's designed for things like that 22:53:31 * alise wonders why the syntax for fractions is what it is 22:53:33 as opposed to a division operator 22:53:43 I guess because you can view p/q as a constructor for rationals 22:54:45 MissPiggy: the really cool stuff happens when you type ascii code and get beautiful output on the go, though 22:58:38 alise, does fortress use monads? 22:58:49 no. 22:58:53 well, it could if you made it 22:58:54 looking at the language it does seem quite cool 22:59:01 and somewhat easier to learn than haskell 22:59:15 a mix of imperative and functional in part even 22:59:16 easier to learn relative to what 22:59:21 it's not functional it's just mathematical 22:59:30 alise, that explains part of it 22:59:42 http://pastie.org/833520.txt?key=ed3ghdi8fhelh3aot8jsw ;; my dream-land perfect editor for a rich-notation language 22:59:50 format is input\ndisplay as ascii 22:59:56 | is cursor 23:00:12 alise, too hard to follow 23:00:17 only because it's ascii 23:00:24 alise, exactly 23:00:25 IRL it'd be totally smooth 23:00:25 make some concept videos 23:00:27 ;P 23:00:31 yeah i prolly will 23:00:40 http://projectfortress.sun.com/Projects/Community/wiki/ViscoElastic more fortress syntax porn 23:00:53 -!- oerjan has quit (Quit: Good night). 23:02:14 -!- kwertii has joined. 23:03:37 http://projectfortress.sun.com/Projects/Community/wiki/FortressCommentSyntax Fortress has the most advanced commenting system of any language, ever. You can embed rendered Fortress code, tables... and images. 23:03:54 And I think it's about bloody time we had expressive comments. 23:04:11 <3 Fortress 23:04:22 I'm never going to use FORTRAN again! 23:04:29 "again" 23:04:33 lol 23:04:39 win 16 23:05:59 alise, is it for rendering to html or similar? 23:06:06 alise, I usually read comments in the source 23:06:26 Fortress programs are considered as publications, pretty much. Ideally, you editor would show your code in the rendered form directly. 23:06:39 Anyway, the wiki-ish markup is perfectly readable in source code. Put it in a paper or publish it on the internet and it'll shine. 23:07:36 alise, the {{{ }}} is somewhat annoying 23:07:38 too many 23:07:56 Yes, but it's a rare construction. 23:08:43 not in the page on it's markup though 23:11:50 night → 23:13:12 AnMaster: hey i'm making a js demonstration of it too 23:13:13 :( 23:25:22 MissPiggy: are you interested, at least? :P 23:25:26 in what? 23:25:36 a js demonstration of how I think editing should be done 23:25:53 wow wait what do you mean 23:26:01 how is that not something that will take a very long time?? 23:26:14 well i mean it just shows you the entering of one single expression :P 23:26:32 -!- SimonRC_ has quit (Ping timeout: 246 seconds). 23:27:40 Sgeo: ping 23:32:10 MissPiggy: ok, go to http://pastie.org/833571.txt?key=seg549im36wsbitxw8dug, copy the whole contents, and paste it into your address bar and go there 23:32:37 it'll play a 13.5 second demonstration of first, inputting the expression a[2^n] 23:32:42 and then navigating back through it 23:32:50 keyboard input on top, editor display on bottom 23:33:12 alise ahh nice! 23:33:20 thanks 23:34:08 the basic idea is, you know how in texmacs you're using the cursor keys all the time just to step in and out of things? 23:34:23 that sucks! 23:34:31 agreed! 23:34:32 so i try and display all the relevant information on-screen at all times 23:34:43 and if you input a symbol you input a matching symbol to complete it 23:35:00 in fact, if it weren't for the ) to terminate the ^, and you could get around that by e.g. making it terminate when x^y in ascii source would, 23:35:08 you'd write the ascii source and see the fancy source, directly 23:36:20 -!- SimonRC has joined. 23:37:04 -!- kar8nga has quit (Remote host closed the connection). 23:37:11 MissPiggy: indeed the ascii representation need not even be stored 23:37:25 in the case of my OS, you could live a long and productive life without ever causing any code to be represented as ascii text in memory in any way 23:38:00 oh like having it a tree 23:38:00 ? 23:38:53 process keyboard input to direct the editor, store internally as ast 23:38:56 well 23:39:01 a superset of the regular ast 23:39:05 because it allows incomplete expressions 23:39:15 or rather, allows a marker in an expression that denotes that it is not complete 23:39:25 alise: Ah, the data: URI. 23:39:42 pikhq: couldn't find an htmlpaste.com :) 23:39:49 -!- oklopol has quit (Ping timeout: 260 seconds). 23:40:58 MissPiggy: i think i'm going to diverge from regular mathematical notation a lot anyway 23:41:06 division symbol instead of fraction notation 23:41:23 sqrt() instead of the sqrt symbol 23:41:34 basically reducing the number of unique notations, they're mostly pointless 23:41:36 alise, hehe well you can fix all the HORRID crap they have in mathematical notation 23:41:42 precisely :P 23:41:47 |x|? barf 23:41:55 what's wrong with abs(x), no I mean seriously, what is wrong with abs(x) 23:42:20 || is a norm 23:42:34 shaddup 23:42:38 there're different norms but their notations are similar so you can tell they're all norms 23:42:46 I guess I am being a bit silly, because I'm retaining 2^n as superscript 23:42:56 perhaps I should use \uparrow, as does knuth 23:44:36 normal mathematical notation???? BARF 23:44:43 actually is || ambiguous like so much else 23:44:52 yeah that's why i'm totally fixin' it 23:45:02 -!- oklopol has joined. 23:45:08 hm I like superscripts and subscripts 23:45:21 it's nice to be able to adorn symbols with notes 23:45:23 MissPiggy: but why? why are + and * symbols but the next operator a superscript? 23:45:34 well + and * are associative 23:45:35 i don't mind super- and subscripts, but why use them for exponentiation? 23:45:46 well, true 23:45:47 so being infix operators expresses that, notationally 23:45:48 -!- tombom has quit (Quit: Leaving). 23:45:49 but it's still an operator 23:46:03 and we have plenty of infix ops that aren't associative in programming... like -> 23:46:05 I think the reason for exponents is because like 23:46:16 a^n * a^m = a^(n + m) 23:46:21 let's fix math because it's broken 23:46:24 there's a kind of homomorphism between * and + 23:46:29 homoerotic morphism 23:46:36 and I think the superscript is a nice way to do it 23:46:42 maybe you're right 23:46:52 it means that you can't really have complex expressions on the RHS of ^, though 23:46:53 I don't know... someone who thinks harder about syntax coulb probably give a really good explanation 23:46:56 you can with + and * etc 23:47:01 so that kind of sucks in a way 23:48:50 2^(1/2 + 7/n - 44) for instance 23:48:54 would just look ugly 23:49:06 yeah well it does come up in real situations so deal with it 23:49:19 why deal with it when i can make the notation better? 23:49:22 oh 23:50:09 I guess ^ is better for short things, though 23:50:16 2^n is less cluttered than 2uparrow n 23:50:39 alise, late pong 23:50:53 Sgeo: just wanted to host something nm now :P 23:52:35 my language will be so sweet 23:53:43 :P 23:53:45 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 23:53:58 there's exp() for when the expression is complicated 23:54:45 -!- jcp1 has quit (Remote host closed the connection). 23:55:10 oklopol: i do not believe in exp() 23:55:57 in what sense? 23:56:16 you don't believe exponentiation is well-defined, if you're using that syntax? 23:56:27 because if so, then i'm totally with ya 23:56:42 i don't believe in that syntax! 23:56:45 oh 23:56:49 well that's just stupid 23:56:54 anyway i'm asleep now 23:56:55 ->