00:00:03 pikhq_: do you mean threads as continuations? 00:00:16 either is theoretically possible, but the second seems more likely 00:00:32 I said what I meant. 00:00:43 It's not really threads. 00:00:44 It's coroutines. 00:00:46 wow 00:00:53 where did it get the continuation library from? 00:00:58 Please. 00:00:59 He wrote it. 00:01:01 "Continuations as threads" is a really stupid way to say 00:01:04 "Coroutines with stack pointer". 00:01:11 And misleading. 00:01:22 (also, for an emulator, continuations sound like a really good way to do savestates) 00:01:36 in Underlambda, you can serialise continuations to stdout if you want to 00:01:44 and later read them in and just pick up off from there 00:01:53 That's pretty close to what the savestate support is, IIRC. 00:02:03 Well. 00:02:06 High-level wise. 00:02:15 It's in C++, so low-level, it's a fuckton of painful serialisation. 00:02:30 And then deserialisation. 00:03:10 how many languages have specified that all interps must be able to do an (interp-specific) serialisation/deserialisation of any subset of the entire program state, including a continuation? 00:04:04 Interp-specific? Lame 00:04:10 It should be the program format 00:04:20 that's one possible option 00:04:32 but that would ruin a lot of possible optimizations, I think 00:04:50 program format with an extra pair of parens is what derla uses, IIRC 00:04:51 but I'm not sure 00:05:28 Fuck optimisations, platonically perfect language 00:06:17 perhaps have two serialisation options 00:06:26 an optimised one, and a portable one 00:06:35 or just require all interps to be able to do it either way 00:06:47 :t forkIO 00:06:48 Not in scope: `forkIO' 00:06:53 and have an option where they just reformat serializations rather than load them 00:07:19 @hoogle fix 00:07:19 Data.Function fix :: (a -> a) -> a 00:07:20 Control.Monad.Fix fix :: (a -> a) -> a 00:07:20 module Control.Monad.Fix 00:07:31 ais523: Surely you can encapsulate a loading of a serialisation and then serialise that program? 00:07:32 Subprograms. 00:07:46 I don't think fix is actually in Control.Monad because I have it imported in ghci and it was not in scope. 00:08:01 CakeProphet: it's in Control.Monad.Fix, if you look more carefully 00:08:03 It says Control.Monad.Fix. 00:08:13 oh hey look at that it does. 00:08:20 elliott: hmm, you could write a small program to do it 00:08:25 :m + Control.Monad.Fix 00:08:27 ... 00:08:41 especially as deserialization never immediately runs what it deserializes 00:08:44 obviously I am not mentally exhausted right now. 00:08:44 ais523: how, if loading a serialisation ajumps into it? 00:08:45 ah 00:09:02 you can add an extra ^ to jump into it, as always 00:09:12 Surely you want to clear the stack first 00:09:21 (clear) dip call 00:09:24 or provide it with an argument 00:09:34 @hoogle IO a -> IO () 00:09:35 Foreign.Marshal.Error void :: IO a -> IO () 00:09:35 Network withSocketsDo :: IO a -> IO a 00:09:35 Control.Exception block :: IO a -> IO a 00:09:41 actually, continuations clear the stack themselves 00:09:44 it's a simple use of ultra 00:09:50 ultra + pop clears the stack 00:09:51 Oh, it's not just a function? 00:09:52 Gross. 00:09:54 hmmm, I thought void was in Control.Monad as well. 00:10:06 elliott: it's not a function, because continuations don't return 00:10:14 ais523: Yes they do, when the program executes 00:10:16 erm 00:10:17 you can make function-like not-quite-continuations pretty easily, though 00:10:18 ais523: Yes they do, when the program terminates 00:10:25 They return to the OS 00:10:33 what, really? continuations are like goto, not like gosub 00:10:34 No reason why an underlambda program can't be the OS to another 00:10:38 all things must eventually return. 00:10:40 oh, I see what you mean there 00:10:42 except for those that don't. 00:10:46 ais523: When a program using continuations exits, does your computer explode? 00:10:50 that's interesting and I should think about it 00:10:59 elliott: no, the process quits 00:11:01 ais523: Or, alternatively: How does a CPS program terminate? 00:11:04 and that's a different sort of level from other things 00:11:08 A CPS program /takes a continuation as an argument/. 00:11:19 That's the OS. 00:11:21 Or your shell, or whatever. 00:11:29 the thing is, Underlambda isn't CPS, and doesn't assume things written in it are 00:11:30 Not being able to pass your own is a needless limitation. 00:11:42 ais523: No, but call/cc is equivalent with CPS. 00:12:16 it'd be easy enough to make continuations that were return-to-argument-on-exit rather than quit-on-exit 00:12:21 Underlambda is implemented mostly in itself 00:12:29 CakeProphet: it is, but it's a new addition 00:12:37 if you have an Underlambda interp that doesn't do continuations, you can change it to one that does with a string replace 00:12:52 ais523: Yeah, but it's gross to have continuations that you can't control the exit behaviour of in the core anyway. 00:13:15 Being able to write an "Underlambda OS" in Underlambda would IMO be very much in line with its goals. 00:13:20 it would 00:13:20 (Without writing your own interpreter.) 00:13:25 I'm reconsidering my design a bit at the moment 00:13:26 oerjan: apparently too new for my version of ghci 00:13:31 ais523: But thankfully, they don't actually need to take a continuation. 00:13:34 They just need to return. 00:13:35 in particular, what exactly c should do 00:13:44 Any program that used continuations like it did before should work, unless it has dead code at the end. 00:14:06 I'm trying to work out what would happen if you just lopped off the Q at the end 00:14:23 hmmm okay so.... 00:14:29 ais523: well, you should maintain the stack 00:14:31 fix (void . forkIO) -- fork bomb yes? 00:14:32 at least IMO 00:14:41 so here's the basic operation: #XCx|=> X(X(x))x 00:14:43 ais523: in fact, a continuation might want to push the stack at the end of execution 00:14:51 hmm 00:14:52 what's X? 00:14:54 oh, hmm 00:14:57 anything 00:15:02 that's the rewrite rule that implements C 00:15:02 can you use special notations for your variables? 00:15:09 rather than mixing them with operations :P 00:15:26 elliott is probably my favourite boy name [/random] 00:15:27 which doesn't form continuations, but which is the basic operation that lets you implement them in user code 00:15:35 ok, umm, I have no idea how that rewrite rule works 00:15:35 tiffany: spelt like that? 00:15:40 idk 00:15:46 let me use square brackets 00:15:51 CakeProphet: the parent halts too quickly to call it that, i think 00:16:03 (also, # and | should be interpreted as ^ and $ in regexen) 00:16:15 #[X]C[x]|[X]([X]([x]))[x] 00:16:21 it's probably clearer without the brackets 00:16:45 START history 'C' rest END = history (history (rest)) rest 00:16:51 no, not history 00:16:53 stack 00:16:53 ais523: Why does the history matter? 00:16:54 Oh. 00:17:07 START stack 'C' future END = stack (stack (future)) future 00:17:14 ais523: Why not (stack future)? 00:17:15 yep 00:17:19 So you can determine the rest of program? 00:17:25 because that would automatically run future if you tried to evaluate it 00:17:28 Right. 00:17:48 fix (forever . forkIO) -- fork bomb yes? 00:17:59 ais523: That seems correct to me, then. When future runs off the end of the program, the continuation returns, if you called it. IMPORTANT NOTE: Any "exit program" functions have to be careful not to specify that they exit the interpreter, just the current program. 00:18:00 not entirely sure how forever :: m a -> m b 00:18:05 CakeProphet: better 00:18:16 "current program"? ouch 00:18:19 I guess b is just bottom? 00:18:24 CakeProphet: because it never returns anything, it can return any type :P 00:18:24 Well, it's not as bad as it sounds. 00:18:28 ah right. 00:18:31 ais523: The "future function" should be ((future)@), where @ basically means "in a new context". 00:18:31 I mean, such a concept doesn't exist 00:18:36 @src forever 00:18:37 Source not found. I've seen penguins that can type better than that. 00:18:37 unless you can somehow work it out using rewrite rules 00:18:42 oerjan: so then the fix is completely unecessary here. :P 00:18:44 forever = fix (>>) 00:18:44 there's no "in a new context", you manufacture the new context by hand 00:18:49 using dip, etc 00:18:57 ais523: I'm telling you to introduce one; all it does is run the program with a fresh, empty stack, then push the stack at the end as a single element. 00:19:06 CakeProphet: um no 00:19:07 The only relevant effect being that any "exit" instructions are defined to only halt the current program. 00:19:15 oerjan: oh right nevermind. lol 00:19:16 ais523: It's not the idea of a current program that's inelegant here, it's an exit instruction. 00:19:23 if that's meant to be implemented in the interp directly, it'd increase the complexity of the language by about 1000% 00:19:24 You can't just halt the program forever at any point in a more pure model. 00:19:36 ais523: I'm hinting slightly that you should have no exit program instruction. 00:19:42 yep, I get it 00:20:08 because if you envision an underlambda program in a higher context, "exit program" turns out to look something like "halt computer" 00:20:12 which is insane 00:20:26 oh, I changed the definition of C, it seems 00:20:32 it doesn't give you the whole stack, just the future 00:20:42 ah, so you have to copy the stack yourself? 00:20:43 makes sense 00:20:55 Cx => (x)x is reasonable, after all 00:21:02 as is 00:21:02 as grabbing the whole stack can be done as (~aa(n:^)~*(*)*^)n:^ 00:21:05 * oerjan notes that the e function was the only function that wasn't implemented in terms of itself in his unlambda self-interpreter 00:21:11 sQx = s(s)x 00:21:12 ais523: ouch :P 00:21:22 oerjan: what does e do again? 00:21:23 elliott: that's commonly abbreviated to A 00:21:25 so it could support what elliott said 00:21:33 oh, I see 00:21:35 elliott: exit 00:21:36 elliott: exit the program 00:21:36 exit 00:21:43 what does @ do again? 00:21:45 in unlambda 00:21:47 I don't expect people to type out (~aa(n:^)~*(*)*^)n:^ every time, that's precisely why you can write A instead 00:21:50 read character 00:21:56 right 00:21:57 especially as it's a useful and commonly used operation 00:22:14 OTOH, the fact that it can be implemented in terms of more basic instructions is good as it means interps in BF or whatever don't need to implement A themselves 00:22:21 apply the argument to i or v, according to whether it was successful 00:22:27 ais523: hmm, I'm wondering how an underlambda interpreter would do preemptive multitasking 00:22:37 the opposite of A, in a sense, is ('A_~)_~('^_^A)_~'^_ 00:22:56 ais523: you can't just divide programs into the first N instructions and the rest and selectively evaluate them, because (a) IO (not a huge problem), but (b) those N instructions could loop forever, or whatever 00:23:00 and lol, ~_~ '^_^ 00:23:07 -!- AndGregor has quit (Ping timeout: 245 seconds). 00:23:10 A grabs the stack into a single stack element; that operation, I, runs a program in a new context 00:23:32 so really, you'd want to be able to infra a continuation and have things just work 00:23:54 yep 00:24:18 ais523: hmm, if you _do_ want exit, there's an obvious way 00:24:20 so the problem with removing the quit from the end of a continuation, is that it'd go back to the last place you called a continuation, not the last I 00:24:35 #@x| ==> (empty string) 00:24:41 ais523: you just have to redefine |, somehow 00:24:58 well, the | at the end is one of the most sacred parts of Underlambda 00:25:00 as is the # at the start 00:25:08 they are non-negotiable, and changing them will make m4 cry 00:25:42 ...underlambda is written in m4? 00:25:49 oerjan: it's written in everything 00:25:59 the only way m4 can do input is the equivalent of C's #include 00:26:14 ais523: well, what I meant was basically 00:26:16 so in order to read an Underlambda program, you change the quote marks to # and | and then include it 00:26:20 you just have to redefine how much the exit instruction erases 00:26:24 yep 00:26:32 by having an operation (foo)L that runs foo "with the | after it" 00:26:37 as in, (foo)L -> foo| 00:26:58 so, my current definition of Q as a preprocessor rule is Q/(-)S(((!(a(:^)*):^)):)~^ 00:27:05 (the (-)S is there for debugging, I think) 00:27:16 and it's actually obliterating the rest of the program 00:27:28 /but/, all I need to do in order to make "new context" an instruction is to add an extra element in the moand 00:27:29 *monad 00:27:40 what is monadic about it 00:27:46 (you know the "you could have invented monads" thing? I did, several times) 00:27:50 we need to ban the word monad forever :( 00:28:00 well, take a rule like a/(-)S((a(^!^)a*a(:(^!^)a~*a~(^~!^)a~*a*~^)*(^!^))((e%)S))~^ 00:28:14 basically, each command is translated into what amounts to a monad action 00:28:19 -!- AndGregor has joined. 00:28:23 where the monad is similar to Cont 00:28:32 but it allows two forms of execution: running the program, and grabbing a copy of the program 00:28:35 fair enough 00:29:29 ais523: maybe Underlambda is the language that will finally work to do an esoteric OS in... designed to be implementable anywhere, persistable state, defined in terms of a very simple core, and now perhaps with the ability to run subprograms? 00:29:33 oh, and the ((e%)S) stuff happens when you try to run a command that needs arguments on an empty stack 00:29:41 I dunno how easy it'd be to implement in assembly with no memory management, though 00:29:47 elliott: yes, although I can't think of a way to do preemptive multitasking offhand 00:29:56 ais523: yeah, that's what I was thinking about 00:30:03 how easy do you think an implementation on the bare metal would be, out of interest? 00:30:07 the problem with Underlambda is not implementing it, but implementing it efficiently 00:30:19 an implementation that works but has exponential performance is pretty trivial 00:30:22 heh 00:30:41 ais523: hmm, preemptive multitasking seems like it must be a primitive, or else it requires Greenspunning the language _itself_ 00:30:49 Greenspunning? 00:30:58 ...tenth rule? 00:31:03 I think you can do it with preprocessor rules, anyway 00:31:06 elliott: aha 00:31:15 proof: you can't do "run N instructions", because of arbitrarily complicated loops within; so you need to split the loops 00:31:20 but then you have to replicate the control structure used 00:31:22 why don't you just implement Lisp /with/ Underlambda preprocessor rules? 00:31:30 mumble mumble, it requires a self-interpreter, Q.E.D. 00:31:34 ais523: I meant underlambda in underlambda 00:31:52 elliott: oh, you do that all the time, that's what the rewrite rules /are/ 00:31:57 and the reason that the core is so simple 00:32:09 so that you only have a relatively small number of commands to metacircularly redefine every time 00:32:36 e.g. the language doesn't require interps to have error-checking like checking for an empty stack, but you can bolt it on after the fact if you like 00:33:07 I fear Underlambda's a little too ambitious, I keep restarting it and trying to do it right this time 00:33:14 I'm already on version 2.0 after abandoning version 1.0 00:33:50 I have a naive implementation of core+preprocessor that I'm using to check if naive implementations of core+preprocessor are enough 00:34:15 written in rather outdated Perl (as in, it's trying to work around the lack of a language feature that has since been added) 00:42:07 -!- elliott has quit (Ping timeout: 250 seconds). 00:42:58 -!- ais523 has quit (Remote host closed the connection). 00:44:41 -!- Zuu has quit (Ping timeout: 260 seconds). 00:48:37 -!- ive has quit (Ping timeout: 250 seconds). 00:49:26 -!- elliott has joined. 01:07:24 -!- AndGregor has quit (Ping timeout: 258 seconds). 01:14:27 -!- AndGregor has joined. 01:25:33 Sigh 01:25:41 fizzie: Can I blame you for SOCK? 01:25:45 I need to blame someone 01:37:58 What the hell is OOBINLINE, anyway 01:38:05 Some weird protocol thing, looks like 01:47:24 -!- copumpkin has quit (Ping timeout: 240 seconds). 01:55:24 -!- monqy has quit (*.net *.split). 01:55:24 -!- sebbu has quit (*.net *.split). 01:55:24 -!- MDude has quit (*.net *.split). 01:55:25 -!- myndzi has quit (*.net *.split). 01:56:41 -!- augur has quit (Remote host closed the connection). 01:57:01 -!- yorick has quit (Ping timeout: 260 seconds). 01:57:08 -!- yorick has joined. 01:57:26 -!- monqy has joined. 01:57:26 -!- sebbu has joined. 01:57:26 -!- MDude has joined. 01:57:26 -!- myndzi has joined. 02:10:51 -!- copumpkin has joined. 02:15:46 -!- pikhq has joined. 02:16:02 -!- pikhq_ has quit (Ping timeout: 258 seconds). 02:23:13 olsner: Hey, I just realised something 02:23:25 olsner: There's already a type-safe Haskell assembler 02:23:25 -!- AndGregor has quit (Quit: Bye). 02:23:57 Harpy 02:24:13 I dunno if it can write the machine code to disk though 02:37:14 Deewiant: Wrt SOCK, should I do input validation on popping or after everything? 02:37:19 Please tell me it's the reasonable latter 02:40:21 -!- HackEgo has quit (Read error: Connection reset by peer). 02:40:59 -!- HackEgo has joined. 02:41:39 -!- derrik has joined. 02:42:09 -!- derrik has quit (Client Quit). 02:46:38 -!- augur has joined. 03:00:37 fork fork fork 03:00:40 forkity fork fork 03:01:16 do fork while forking forks forever true. 03:01:26 what 03:02:26 I am flabbergasted that I cannot talk about forks and be appreciated for my intellectual contribution. 03:02:59 me too 03:03:19 hi 03:03:53 fork monqy while monqy 03:03:58 hi 03:04:42 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 03:07:19 -!- BeholdMyGlory has joined. 03:07:35 while (fork()); 03:09:35 Nooooooooooooooooooo 03:10:05 can someone say the digit one please 03:10:06 thanks 03:11:47 elliott: look in the topic 03:11:54 o thanks 03:12:00 there is an extra space in the topic 03:12:04 before two of the |s 03:12:05 fix plz 03:12:07 it upsets me 03:12:39 -!- Guardric has quit (Quit: Leaving). 03:12:42 -!- CakeProphet has quit (Ping timeout: 252 seconds). 03:13:24 sheesh 03:14:02 someone said there was a way to get irssi to put the topic in the command line for editing, but i've forgotten what it was 03:14:50 Ctrl+T? 03:14:52 just a guess 03:14:55 -!- oerjan has set topic: It is the 90s and there is time for the requirements of supervision and control of transmissible spongiform encephalopathies, also an Esolang event @ Hel/Finland on 3.10.2011: https://wiki.helsinki.fi/display/lambda/esoteeriset+ohjelmointikielet | I think pointers are considerably more useful than lambda calculus | 12345678 | http://codu.org/logs/_esoteric/. 03:15:07 now tab worked, i'm sure it didn't last time... 03:15:16 as in /topic? 03:15:28 Q: How do I easily edit existing topic? 03:15:28 A: /TOPIC 03:15:28 --http://irssi.org/documentation/faq 03:16:04 no, as in /topic ... and now it _stopped_ working again 03:16:08 -!- MDude has changed nick to MSleep. 03:16:56 hm, tab completing something else made /topic tab work again 03:18:23 heh 03:18:38 BAD: R received wrong data and/or misplaced it 03:18:38 BAD: R didn't push 6 03:18:38 BAD: trying to close socket with K reflected 03:18:39 nooooo 03:20:20 well thatsbdumb 03:20:42 i didnt realize i couldnt do /top 03:21:41 quintopia: yep, that's precisely what makes it _stop_ working :( 03:21:44 Deewiant: Hey, Mycology lies 03:22:40 after i do that, typing /topic explicitly no longer works until i complete something else 03:22:48 oerjan: i know. lets hack it and fix it! 03:23:33 ... 03:23:53 quintopia: /tope^W works XD 03:24:30 elliott: ? 03:24:31 so it does 03:24:47 i wonder if there is a patch for this already 03:24:54 have you asked in #irssi? 03:24:57 oh, so does /top 03:25:01 oerjan: re oerjan: i know. lets hack it and fix it! 03:25:31 elliott: yeah, quintopia is so naive 03:25:55 argh this is such a bad crap 03:26:03 i know its hard to hack the pile of spaghetti called irssi 03:26:21 but i think if i had a day, i could figure it out 03:26:25 quintopia: that's not the naive part 03:26:39 what is? 03:26:48 i'm sure elliott can explain 03:26:57 no, only zzo can 03:26:59 * oerjan whistles innocently 03:27:08 ask zzo 03:27:09 i... doubt zzo38 could 03:27:19 yes he could. quintopia just wouldn't get it. 03:27:45 well then, if i wouldnt get it, then i probably shouldnt care 03:30:00 argh what the FUCk is wrong with this 03:30:02 ogkfhlmkjhlkhpv;g 03:30:28 ok maybe you're meant to... pad it ou? 03:30:29 t 03:30:30 no 03:30:34 hmmm 03:30:47 jasiodjdfoidjgoidsf 03:31:05 hi 03:31:29 GOOD: sent "Foobar" with W 03:31:29 GOOD: W pushed 6 03:31:29 GOOD: closed socket with K 03:31:29 "9\"+55<" 03:31:30 okay that's 03:31:32 not right 03:31:58 oh my cology 03:31:58 OH GOD I' MSUCH AN IDIOT.... no wait no im not 03:32:08 yeah no im not an idiot 03:32:09 yeah you are 03:32:10 but what 03:32:14 copumpkin: :'( 03:32:15 <--- crying 03:32:17 okay no 03:32:26 sorry the crying doesn't stop for anyone 03:33:12 ok i'm reading wrong 03:33:44 i want to bite this laptop for not working 03:33:55 rational adult behaviour 03:35:01 i hear biting things is a common disease among horses 03:35:12 maybe im a hors 03:37:07 "< >:#,\n | goe\n#:<\"BA\n\">:#,_\nlects\"\n\"+_v#!\n0\"+<>:\n00#vp" 03:37:07 ok th- OH WHAT IS 03:37:08 WHAT IF 03:37:12 FUCKIN' 03:37:12 VECTOR 03:37:13 SHIT 03:37:20 popVecOffset 03:37:21 BAMBLES 03:37:37 that should really be a type error somehow. 03:38:26 also mööse. would MÖÖS be a good fingerprint name? 03:38:43 not four bytes 03:38:53 i think 03:38:56 i mean in latin-1, of course 03:39:02 ah. 03:39:06 nobody uses latin-1, oerjan 03:39:46 it's close to irssi's default CPsomething fallback. at least it contains those characters. 03:40:22 Windows-1252? 03:40:36 cp1252 03:40:38 hmm, STRN doesn't look... so hard 03:40:49 "cp1252" is ambiguous. 03:41:02 Multiple vendors have used "code pages". 03:41:04 well it's what my irssi setting has. 03:41:20 And the registered name for the charset is Windows-1252. 03:41:24 in any case, it's latin-1 + some extras 03:41:35 It's not a strict superset of Latin-1. 03:42:08 It's a superset of the printable subset of Latin-1. 03:42:09 -!- ive has joined. 03:42:15 whatever. everyone recommended i set my irc fallback to it, anyway. 03:42:34 pikhq: well duh, it's not like there's extra room 03:43:15 Well, presumably you IRC primarily in English and Norwegian. 03:43:31 pikhq: i had it recommended in this channel. 03:44:05 Both of which, IIRC, have Windows-1252 as the primary legacy charset. 03:44:26 it allows me to see some messages from people not properly utf-8. 03:44:47 -!- CakeProphet has joined. 03:44:48 -!- CakeProphet has quit (Changing host). 03:44:48 -!- CakeProphet has joined. 03:45:02 Yeah. 03:45:18 Shame that that's still an issue. 03:46:12 G(Va -- 0gnirts)Get string from specified position 03:46:14 oh come on, wtf? 03:46:19 fizzie: Deewiant: ????? 03:46:26 * elliott checks ccbi i guess 03:47:50 oh duh it's 0-terminated 03:55:07 > fromEnum (compare "a" "a") 03:55:09 1 03:55:12 > fromEnum (compare "a" "b") 03:55:14 0 03:55:15 > fromEnum (compare "b" "a") 03:55:16 2 03:55:20 huh 03:56:05 > [minBound .. maxBound :: Ordering] 03:56:06 [LT,EQ,GT] 03:56:46 :t compare 03:56:47 forall a. (Ord a) => a -> a -> Ordering 03:56:49 it's just the default instance 03:57:03 *derived 03:57:17 :t fromEnum 03:57:18 forall a. (Enum a) => a -> Int 03:57:19 ?hoogle find 03:57:20 Data.ByteString find :: (Word8 -> Bool) -> ByteString -> Maybe Word8 03:57:20 Data.Foldable find :: Foldable t => (a -> Bool) -> t a -> Maybe a 03:57:20 Data.List find :: (a -> Bool) -> [a] -> Maybe a 03:57:25 > compare 1 2 03:57:26 ?hoogle come on, some substring finding shit 03:57:27 LT 03:57:27 Parse error: 03:57:27 --count=20 "come on, some substring finding shit" 03:57:27 ^ 03:57:28 ?hoogle sub 03:57:29 Text.Html sub :: Html -> Html 03:57:30 Text.XHtml.Frameset sub :: Html -> Html 03:57:31 ?hoogle substr 03:57:31 Text.XHtml.Strict sub :: Html -> Html 03:57:33 Data.ByteString breakSubstring :: ByteString -> ByteString -> (ByteString, ByteString) 03:57:35 Data.ByteString.Char8 breakSubstring :: ByteString -> ByteString -> (ByteString, ByteString) 03:57:37 Data.ByteString findSubstring :: ByteString -> ByteString -> Maybe Int 03:57:37 :t isInfixOf 03:57:37 :-| 03:57:39 forall a. (Eq a) => [a] -> [a] -> Bool 03:57:39 oerjan: oh duh 03:57:51 except hmm what 03:58:02 :t isPrefixOf 03:58:04 forall a. (Eq a) => [a] -> [a] -> Bool 03:58:15 oerjan: yeah I need to find the location of it, alas 03:58:15 you might want to combine that with usual find 03:58:23 er, findIndex, then 03:58:26 :t findIndex 03:58:27 forall a. (a -> Bool) -> [a] -> Maybe Int 03:58:30 of a _substring_. 03:58:39 :t findIndex . isPrefixOf 03:58:40 forall a. (Eq a) => [a] -> [[a]] -> Maybe Int 03:58:41 I guess I can hack my own with findIndex and isPrefixOf 03:58:42 oh wait 03:58:48 by repeatedly findIndexing 03:58:52 and then taking the rest 03:58:53 :t inits 03:58:54 and then isPrefixOf 03:58:54 forall a. [a] -> [[a]] 03:58:55 um no 03:58:56 but that sounds horrible 03:58:57 yeah inits is what I said 03:58:59 erm 03:59:00 yeah inits is what I want 03:59:08 no, tails 03:59:11 er right 03:59:13 :t \s -> map ((s `isPrefixOf`) . tails) 03:59:14 forall a. (Eq a) => [[a]] -> [[a]] -> [Bool] 03:59:23 :t \s -> filter (s `isPrefixOf`) . tails 03:59:25 forall a. (Eq a) => [a] -> [a] -> [[a]] 03:59:29 :t \s -> maybeHead . filter (s `isPrefixOf`) . tails 03:59:31 Not in scope: `maybeHead' 03:59:33 oh c'mon :) 03:59:37 yeah that'll work 03:59:47 :t find (isPrefixOf ?s) . tails 03:59:48 forall a. (?s::[a], Eq a) => [a] -> Maybe [a] 03:59:57 aha 03:59:58 thanks 04:01:40 shiro: user error (Pattern match failure in do expression at Shiro/Monad.hs:206:3-8) 04:01:41 whoa 04:01:59 oh duh 04:02:29 -!- variable has quit (Read error: Connection reset by peer). 04:02:29 -!- augur_ has joined. 04:02:44 -!- augur has quit (Read error: Connection reset by peer). 04:02:57 -!- variable has joined. 04:04:06 ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo 04:04:06 ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo 04:04:07 ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo 04:04:11 elliott: hi 04:04:12 ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo 04:04:19 ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoof 04:04:23 Deewiant what the fuck did you do 04:04:23 this sword doesn't stop 04:04:55 wat 04:05:55 Just 04:05:57 What is Deewiant even 04:06:16 Hmm 04:06:35 Ah hm ah hm 04:06:36 m 04:07:08 Aha 04:16:02 oerjan: exlcamation mark please 04:16:57 ! 04:19:32 thanks 04:19:34 bit slow though 04:19:35 work on that 04:23:18 -!- Nisstyre has quit (Ping timeout: 264 seconds). 04:28:54 -!- Sgeo has quit (Read error: Connection reset by peer). 04:29:45 -!- Sgeo has joined. 04:32:12 -!- oklopol has quit (Ping timeout: 260 seconds). 04:43:31 elliott, small hiragana i please. 04:44:02 no 04:44:13 :( 04:44:34 HOW IMPOLITE 04:46:48 Lymee: ぃ 04:50:18 pikhq, you arn't elliott 04:50:28 im arent elliott 04:50:58 Lymee: 勿論! 04:52:11 こわい漢字、消えれ! 04:52:56 怖い? 04:53:12 * Lymee cries in a corner 04:53:23 good 04:53:36 どうして泣いて居る? 04:53:54 漢字がこんなに難しく無い! 04:54:38 ;.; 05:01:39 -!- augur_ has quit (Remote host closed the connection). 05:07:52 > reads "0x" :: ReadS Int 05:07:53 Couldn't match expected type `Text.ParserCombinators.ReadP.ReadS 05:07:53 ... 05:13:15 fizzie: Yo 05:13:20 fizzie: What does it mean if fungot starts off with "State bad" 05:13:21 elliott: i know i'm confused :) thank you small—preceding wikipedia:signaturesunsigned comment added by special:contributions/ 125.238.252.2125.238.252.2 ( user talk:125.238.252.2talk) 22:37, 14 december 2007 ( utc) 05:13:23 Then outputs one bytes forever 05:13:47 At least ccbi says unable to connect 05:13:57 -!- copumpkin has quit (Ping timeout: 245 seconds). 05:14:06 -!- copumpkin has joined. 05:14:52 * Sgeo mutters at B&N wanting him to pay money for a book that he assumes is in the public domain 05:15:23 Unless Nellie Bly died less than 70 years ago? 05:15:24 Digital goods: Not scarce? Value add: Something Sgeo has never heard of? 05:15:46 Sgeo: Has no idea what it means to cover costs? 05:17:47 Guess I'll download off.... Gutenberg has audobook of it but not ... 05:17:50 * Sgeo mindboggles 05:20:40 I guess reading outloud is easier than scanning and OCR in some cases? 05:21:15 And all typed editions could be under copyright 05:22:25 -!- iamcal has quit (K-Lined). 05:24:07 iamcal 05:24:08 rip 05:24:53 ewascal 05:25:45 oerjan should i an slep 05:25:52 or should i an continue to improve shiro to run fungot shungot 05:25:53 elliott: hi, i have heard akatsuki to mean both red moon and dawn. i've read that sentence ( yes, by the way. it was part of croatia, i fnord, i see plenty of reason to challenge the inclusion of the image? where's the meta information for example? user:timeshift9timeshift ( user talk:timeshift9talk) 14:14, 17 may 2006 ( utc 05:26:05 yes 05:26:07 fungot shungot 05:26:08 monqy: a couple of pandas in a zoo in rio de janeiro, a picture of one? i would have used but it certainly is the most dispassionate, and never heard it on the saggital article. i notice the image page specifies that the image is being used under wikipedia:fair usefair use but there is 05:26:41 slepathology 05:26:50 what if i spent money instead 05:26:57 is that a way to occupy time 05:27:15 slep money 05:27:20 sloney 05:27:28 etterslep 05:27:36 waht 05:27:39 hire slaves to do your slepeing 05:27:46 elliott, read MSPA until you reach the point at which you can't keep clicking to go forward 05:27:47 good 05:27:47 idea 05:27:50 to do 05:27:51 what monqy 05:27:53 said is an 05:27:55 idea that is 05:27:56 good also is 05:27:58 continuing this 05:27:59 sentence because 05:28:01 it prevensts me 05:28:02 from needing 05:28:05 to do any more thinking 05:28:07 which is good because 05:28:09 thinking causes indecision 05:28:11 and indecisiosn 05:28:12 causes 05:28:14 um 05:28:15 um 05:28:16 DEATH 05:28:17 its hapening again 05:28:44 cxvfdkznjl 05:29:54 fcg ,./ 05:30:23 oerjan i killed a 05:30:26 slep 05:31:22 oerjan there is three options 05:31:23 no slep 05:31:24 a slep 05:31:26 or 05:31:27 or 05:31:29 DEATH 05:31:30 ... 05:31:31 or 05:31:32 um 05:31:34 help 05:31:49 I THINK IT IS QUITE CLEAR 05:32:22 HELP 05:32:23 HELP 05:32:23 HELPHEHL 05:32:24 EHLPEHLEHP 05:32:24 ELH 05:32:24 EPHLEHL 05:32:25 EHLE 05:32:27 HLE 05:32:29 LHE 05:32:31 HLELH 05:32:33 EHLE 05:32:35 HLEH 05:32:37 LEEH 05:32:39 EHE 05:32:41 HEPHE 05:32:45 HPE 05:32:47 HPE 05:32:49 HPE 05:32:51 HPEPHE 05:32:53 HPEHE 05:32:55 HE 05:32:57 PHE 05:32:59 HPEH 05:33:01 PEPHE 05:33:03 HPEHPEH 05:33:05 PEH 05:33:07 EHE 05:33:09 HPEP 05:33:11 EHPEH 05:33:15 EHE 05:33:17 H 05:33:19 ok wait 05:33:21 sleeping is niceb ecause in sleep there is rest and also i feel tired 05:33:23 but also 05:33:25 non slep is nice because um i dont know 05:33:27 in life there is 05:33:29 cheese? 05:34:03 hi 05:34:13 gkjnbml 05:35:23 were i you....i would probably slep...but maybe not...how tyred are you... 05:35:46 i spent ten seconds jsut staring at the keyboard because i forgot how to type 05:35:56 IF YOU DON'T SLEP YOU WILL DYE 05:36:02 well-known fact 05:36:22 This from another channel instantly reminded me of elliott: 05:36:24 hi i need to edit conf 05:36:24 my comans not wokkin 05:36:24 halp 05:36:28 me 05:36:31 fizzie: but fungot 05:36:31 elliott: this article was automatically assessed because at least one wikiproject had rated the article as stub, and the rating on other projects was brought up to stub class. user:betacommandbotbetacommandbot 14:34, 10 november 2007 ( utc) 05:36:34 fizzie: if it says bad state 05:36:37 then prints one bytes forever 05:36:37 ??? 05:36:42 and if i mkdir data; touch data/fungot.dat 05:36:42 elliott: 2... ' ' who often end the night with a fnord deck.) 05:36:43 and run it 05:36:44 it just says bad state 05:36:47 and doesnt print one bytes forever 05:36:48 fizzie: could you ^save i added a ^wiki command 05:36:48 what do i do 05:36:49 to start fungot 05:36:50 elliott: in terminator 3: rise of the new zealand study: 05:36:56 ^save 05:36:56 OK. 05:37:09 thank you 05:37:15 elliott: Make a state file that has ten empty lines. (Intuitive!) 05:37:26 fizzie: im dont like you 05:37:28 why the one byte 05:37:40 also is like 05:37:41 eleven lines ok 05:37:42 That I don't know. 05:37:52 I think eleven should be fine maybe. 05:37:53 i made like eleven lines and now it is just frozen 05:37:55 ok 05:37:57 how do i make an it join 05:38:21 You should get the raw irc stuff on screen if it a work. 05:38:44 what if it a freeze.... 05:39:03 Then I suppose it not a work. 05:39:12 :'( 05:39:14 how it a work 05:39:32 elliott@katia:~/Code/shiro/rsc/fungot$ ../../cabal-dev/bin/shiro fungot-load-freenode.b98 05:39:32 elliott: if the intentions are on the fnord. if you have 05:39:32 ^C 05:39:32 elliott@katia:~/Code/shiro/rsc/fungot$ ~/ccbi-2.1/ccbi fungot-load-freenode.b98 05:39:32 State bad. 05:39:33 theym 05:39:34 disagre 05:39:35 fizzie: oh uh 05:39:40 does my text mode i o stuff need to work 05:41:12 fizzie: hepl 05:42:49 oerjan: do i an fungot or an slep HELP 05:43:25 can you an fungot... 05:43:25 monqy: how do the chinese figure out their " western" board and the " aka" section are pretty shaky. i'm thinking about moving this article to that effect should be presented in a balanced way using encyclopedic language. user:wysswyss 16:38, 8 february 2007 ( utc) 05:43:55 You could try using http://p.zem.fi/fungot-dat as your statefile. 05:43:55 fizzie: i have no particular stake in this silly argument. rickk 04:54, may 23, 2006. 05:44:08 That one at least shouldn't be the bad. 05:44:30 cakporphet wuz hear 05:44:32 Also you'll get all the commands (all of them). 05:44:36 ^str 9 get 05:44:37 cakporphet wuz hear 05:44:45 $ ~/ccbi-2.1/ccbi fungot-load-freenode.b98 05:44:45 Unable to connect. 05:44:46 elliott: 20:04, december 1, 2006. 05:44:46 thats 05:44:47 not an good :( 05:44:56 did i fuck up my load script 05:44:59 v =' < 05:45:00 im 05:45:02 change command char and things 05:45:24 but it look ok 05:45:29 why it unable connect :( 05:45:38 Freenode has also changed them IPs since some time ago, if you didn't recheck that. 05:46:08 cry 05:46:30 ok now it connect with ccbi 05:46:37 but 05:46:37 with shiro 05:46:41 just spinloop ?????????? 05:46:47 could it be slow 05:46:49 or is it broken 05:46:51 i can understand slow 05:47:08 I'unno. I don't think it does very much work before connectzing. 05:47:21 crying 05:47:23 maybe i need 05:47:24 trace support 05:47:26 You could netstat that stuff or something to see if it made a sokket puppet or sumthing. 05:47:50 netstat look... not pormising 05:49:04 fizzie: : ( 05:49:22 fizzie: do you rely on any undefined behaviour for STRN, maybe? 05:49:28 like 05:49:34 UNDEF: 00L leaves 0 on stack 05:49:34 UNDEF: "ooF"01-L leaves "" on stack 05:49:35 UNDEF: "ooF"101-M eats the string 05:49:35 UNDEF: "ooF"01-1M eats the string 05:49:35 UNDEF: "ooF"42M eats the string 05:49:37 that sort of thing 05:49:48 mycology says my SCKE is ok 05:49:58 my FING might be wrong, do you rely on it that early? 05:50:28 It does do some FING remapping pretty much immediately after loading, I think. 05:50:48 hmmmmmmmmmmmmmmmmmmm 05:50:52 I get all GOODs in mycology 05:50:57 just a weird "y" output 05:51:11 I may still do UNDEF STRN stuff, though not consciously. I fixed all the cases of "L with an argument longer than the string" when switching from rc/funge to cfunge, because the latter reflected on that instead of returning the whole string. 05:52:01 Hm-hm. 05:52:05 I don't think they are strictly speaking UNDEF any more, but at least Vorpal does not accept the genuinity of http://www.rcfunge98.com/rcsfingers.html IIRC. 05:52:30 Vorpal doesn't care about the spec, just Mycology results with no BADs, even if they have dubious UNDEFs. 05:52:42 Also compatibility with old CCBI versions because he nicked the code. :p 05:52:42 wrt what? 05:52:48 Shhhhhhhhh I said nothing 05:52:51 Shiro superiority four eva 05:52:58 fizzie: ? 05:52:58 fizzie: Anyway gleh. 05:53:11 Vorpal: Wrt the added clarifications in e.g. STRN. 05:53:24 fizzie: he clarified STRN? Wasn't aware. 05:53:35 I'm pretty sure we had a discussion. 05:53:41 okay then I forgot it 05:53:58 It was sneakily modified without any change notices or version numbers or anything; you didn't like that. 05:54:10 ah 05:54:17 sneaky 05:54:17 lol 05:54:34 Personally I think the addition of a section titled clarification is an affront to genuinity. 05:54:52 It does still say "other interpreters may have done this and that" in the clarifications, so it's a bit... unclear. 05:54:59 Done, past tense. 05:55:27 fizzie: So will you fix fungot if I find bugs in fungot 05:55:28 elliott: and i can't find a reliable etymology of this word is misused alot. should we say how he he came to give unless she provides him ' ' quid pro quo agreement with fnord and all, while the natural sciences generate theoretical knowledge about the 05:55:47 "Maybe." 05:56:01 fizzie: That's racist 05:56:10 Interpreterist. 05:56:35 Just True or Just False? 05:56:55 What? 05:57:10 Maybe Bool 05:57:31 "Just Nothing" sounds funny. 05:57:56 heh 05:58:25 So does "Just Right" 05:58:25 "What's that you have there? Oh, it's just... nothing." 05:58:26 * Sgeo runs 05:58:26 -!- CakeProphet has quit (Ping timeout: 246 seconds). 05:58:50 Aha, pushString is finally a bottleneck 05:58:55 I wonder why? 05:58:56 Although Just Nothing actually would presumably be seen in some programs 05:59:00 Probably STRN, but... 05:59:05 Just Right is kind of... useless 05:59:35 The bot does quite a lot of STRNing, I believe. 05:59:58 It's not really OPTOMIZED. 06:00:04 Maybe I should've written fungot in TERSE. 06:00:04 fizzie: from what i can see numerous different writing styles, from fnord. consensus on both this and the archived discussion page that if the teen is getting sexually excited ( evidenced by getting " stiffer") then it will pass. 06:00:32 ... 06:00:35 ^style 06:00:36 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp* youtube 06:00:52 Strip Nomic? 06:00:54 "consensus" and "discussion page" are good clues. 06:00:59 strip nomic. 06:01:41 strip nomic actually exists. 06:01:53 like, it has actually been played. 06:01:59 heh. bbl, university 06:02:02 also wow 06:02:08 elliott: got a link? 06:02:16 "Preferrably one with pictures." 06:02:22 No. 06:02:35 (Well, I could ostensibly get a link, but you wouldn't be able to see it.) 06:02:39 fizzie: I would presume elliott had such a thing bookmarked 06:02:50 it is his kind of thing 06:02:56 Totally. 06:02:58 (Not really.) 06:03:13 well bbl 06:03:45 Isn't "strip nomic" just another word for all dating, though? 06:04:02 `addquote Isn't "strip nomic" just another word for all dating, though? 06:04:04 641) Isn't "strip nomic" just another word for all dating, though? 06:04:33 fizzie: i suspect if you treat it that way, you will find a large fraction of players quitting the game 06:20:55 -!- CakeProphet has joined. 06:20:55 -!- CakeProphet has quit (Changing host). 06:20:55 -!- CakeProphet has joined. 06:25:05 -!- Jafet has joined. 06:27:11 http://en.wikipedia.org/wiki/Turing_test#Reverse_Turing_test_and_CAPTCHA 06:27:24 okay, but what if the other computer passes a normal Turing test 06:28:27 then the computer might fail but still be intelligent. 06:28:59 and what if it passes? is it super-intelligent? 06:31:06 if I were one of the choices in a Turing test. 06:31:14 I would just spout nonsense. 06:35:19 -!- aspect has joined. 06:36:13 I think the reason Cleverbot scores so high on these kinds of tests is because most of its conversations devolve into "I'm a bot!" "No you're a bot!" ... 06:36:48 "I just said I'm a bot!" "Right, so am I." ... 06:36:57 -!- Nisstyre has joined. 06:38:30 A Turing test is a procedure that takes a machine and returns a boolean. I've always found that a little shady. 06:39:19 how much change to you expect from a machine? 06:39:45 aspect: about 3 nok 06:42:19 well I think usually it's done statistically. Thus a percentage. 06:46:36 aspect: wat 06:46:58 oh right we're meant to say hi to newbies 06:46:59 hi aspect 06:49:08 good afternoon 06:49:50 I saw this place metioned in #haskell and got curious. I'll try not to say anything obnoxiously stupid before I figure out what goes on here 06:49:59 oh right, people keep mentioning it in #haskell :P 06:50:05 were famouse 06:50:06 kmc: we're watching you 06:50:20 aspect: if you're completely confused http://esolangs.org/ may be enlightening 06:50:32 is it up again? 06:50:34 apparently 06:50:36 aspect: although expecting topicality is naive 06:51:17 we are always topical. with all the topics! 06:51:34 I see the bar for "programming language" is set quite low 06:51:57 yes... 06:52:16 * aspect wonders if "asynchronous javascript" belongs on the list in honour of being another turing tarpit 06:52:44 sounds far too serious 06:53:14 ?unmtl StateT m a 06:53:15 err: `StateT m a' is not applied to enough arguments, giving `/\A. m -> a (A, m)' 06:53:19 Only to its clerics 06:53:22 ?unmtl StateT s m a 06:53:23 s -> m (a, s) 07:10:46 -!- iamcal has joined. 07:42:20 -!- kwertii has quit (Quit: bye). 08:17:50 -!- ive has quit (Quit: leaving). 09:20:25 -!- nooga has joined. 09:42:25 -!- derdon has joined. 09:42:42 I pinch the Lion to see the Launchpad 09:42:49 how bizarre 10:00:43 -!- GuestIceKovu has joined. 10:02:25 -!- Slereah has quit (Ping timeout: 240 seconds). 10:17:17 -!- azaq23 has joined. 10:25:06 -!- monqy has quit (Quit: hello). 10:34:29 -!- pikhq_ has joined. 10:34:45 -!- pikhq has quit (Ping timeout: 258 seconds). 10:44:05 -!- itidus20 has quit (Ping timeout: 258 seconds). 10:54:06 -!- MSleep has changed nick to MDude. 11:08:17 -!- oerjan has quit (Quit: Good night). 11:08:36 -!- itidus20 has joined. 11:39:14 -!- GuestIceKovu has changed nick to Slereah. 11:40:37 -!- boily has joined. 11:58:43 -!- Sgeo has quit (Ping timeout: 264 seconds). 12:02:32 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 12:08:25 -!- NihilistDandy has quit (Ping timeout: 252 seconds). 13:23:41 -!- Phantom_Hoover has joined. 13:54:47 -!- azaq231 has joined. 13:55:20 -!- azaq23 has quit (Ping timeout: 276 seconds). 13:57:32 -!- Sgeo has joined. 14:04:08 Hello, "fuck you trying to force your a/v on me" 14:12:39 adult video? 14:16:30 antivirus 14:17:41 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:22:10 Audio/video. 14:23:41 artificial virtuality 14:29:32 Aggravating verbosity. 14:32:16 -!- sebbu2 has joined. 14:32:16 -!- sebbu2 has quit (Changing host). 14:32:16 -!- sebbu2 has joined. 14:35:19 -!- sebbu has quit (Ping timeout: 264 seconds). 14:46:36 -!- copumpkin has joined. 14:47:59 Sgeo, wait, who is trying to force alternate visualisations on you? 14:51:10 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 14:51:47 -!- Taneb has joined. 14:52:13 http://www.smbc-comics.com/index.php?db=comics&id=2361 14:52:14 OK 14:52:18 This is the best SMBC ever. 14:52:44 -!- Sgeo has quit (Ping timeout: 258 seconds). 14:53:52 Hello! 14:58:30 -!- sebbu3 has joined. 15:00:48 -!- NihilistDandy has joined. 15:01:28 -!- sebbu2 has quit (Ping timeout: 245 seconds). 15:09:02 -!- FireFly has joined. 15:09:09 -!- FireFly has quit (Changing host). 15:09:09 -!- FireFly has joined. 15:14:11 @tell ais523 i have made more progress in rescuing this file system that broke earlier on, i have written a file system checker. it can be found here: https://bitbucket.org/cheater/fscheck/ 15:14:11 Consider it noted. 15:26:17 Uniquode now has a part of its memory called the TEMPORAL WAYPOINT BUFFER 15:26:34 All-caps 15:26:35 what is uniquode? 15:26:43 Esolang I'm working on 15:26:45 ok 15:26:52 Uses the entire Unicode character set 15:26:56 See also UniCode 15:26:57 there should be a unicode based programming language 15:27:01 ah ok 15:27:11 I'm about to do S 15:27:12 it would make programming so much easier and so much more terse 15:27:24 It's very difficult to program in at the moment 15:27:26 especially with a special keyboard 15:27:32 i bet it would be popular in banks 15:28:07 Taneb, have you noticed that the c64 symbol set is not in unicode? 15:28:13 i find that is fairly atrocious 15:28:17 No I have not 15:28:44 Indeed, that is a tragedy 15:32:13 Each IP in UniQuode has a register that stores a surd 15:34:45 -!- azaq23 has joined. 15:35:20 -!- NihilistDandy has quit (Ping timeout: 264 seconds). 15:35:40 -!- azaq231 has quit (Ping timeout: 258 seconds). 15:36:57 I curse Apple 15:38:14 -!- NihilistDandy has joined. 15:41:26 -!- sllide has joined. 15:42:35 Bye 15:44:03 nooga: Then give it to some dumb white bitch to eat? 15:44:11 *ba-dum tish* 15:50:49 Hello 15:54:42 -!- Zuu has joined. 15:54:42 -!- Zuu has quit (Changing host). 15:54:43 -!- Zuu has joined. 15:56:45 -!- ais523 has joined. 16:29:07 -!- Sgeo has joined. 16:33:20 -!- NihilistDandy has quit (Ping timeout: 260 seconds). 16:39:48 -!- NihilistDandy has joined. 16:45:38 -!- augur has joined. 16:46:53 With Haskell's Num class, does a*b have to == b*a? 16:55:38 -!- Braber01 has joined. 16:56:51 What's a good way to memorize all the commands for Befunge? 16:57:01 With a song! 16:57:10 befunge-93 or -98? 16:57:23 -98. 16:57:35 Memorizing all fingerprints of 98 will require quite a long song. 16:58:13 all I can remember right now is ^ > < v p g and @ 16:58:46 Well, + - * / % are pretty easily memorizable. 16:58:58 oh yeah i forgot about those ... 16:59:33 Damn it, now I have to make a Befunge song. 16:59:36 and 1 2 3 4 5 6 7 9 0 . , 16:59:56 Most of them have some sort of internal logic, anyway. Like "?" is confused about where it'll go, and so on. 17:00:01 # looks like a trampoline 17:00:32 . is the integer output and , is the ascii output right? 17:01:59 Not sure what's the official logic of $ though. 17:04:10 Also 0-9a-f are quite easy. I'd just keep the "Instruction Quick Reference" cheat-sheet open until they become naturally memorized. 17:06:44 (During the process of writing something.) 17:12:32 -!- nooga has quit (Ping timeout: 246 seconds). 17:13:49 -!- ive has joined. 17:14:45 -!- Taneb has quit (Ping timeout: 260 seconds). 17:17:00 -!- nooga has joined. 17:22:58 "Apple decided to use an archaic object file format for Mac OS X, a variant of the old aout format. This format predates dynamic linking. Apparently without proper staffing, they have to reinvent lots of stuff for their obsolete object format. Had they chosen a current object formats, they could have taken more benefit of the the quality work already done within the GNU project." 17:22:59 -- http://gmplib.org/macos.html 17:23:01 :P 17:25:43 -!- nooga has quit (Ping timeout: 264 seconds). 17:31:04 -!- jcp|1 has joined. 17:31:53 -!- jcp has quit (Ping timeout: 245 seconds). 17:32:07 -!- Taneb has joined. 17:32:55 -!- jcp|other has quit (Ping timeout: 240 seconds). 17:33:48 Going to see Cowboys vs Aliens 17:34:15 Hopefully it won't be as dissapointing as Inception 17:34:40 It will be. 17:35:37 I saw a trailer of that thing. It looked slightly silly. 17:35:47 Not entirely unexpectedly. 17:36:19 -!- Taneb has quit (Remote host closed the connection). 17:36:37 (Isn't it "Cowboys & Aliens" instead of "vs"?) 17:37:42 -!- jcp has joined. 17:44:18 -!- Braber01 has quit (Remote host closed the connection). 17:46:10 -!- nooga has joined. 17:47:17 -!- NihilistDandy has quit (Ping timeout: 260 seconds). 17:48:51 -!- kmc has quit (Quit: Leaving). 17:54:17 -!- jcp has quit (Ping timeout: 260 seconds). 17:56:37 -!- jcp|1 has quit (Ping timeout: 260 seconds). 17:57:53 -!- Sgeo has quit (Ping timeout: 258 seconds). 17:59:05 -!- NihilistDandy has joined. 18:03:38 -!- NihilistDandy has quit (Ping timeout: 246 seconds). 18:06:18 -!- kmc has joined. 18:08:23 -!- jcp has joined. 18:13:12 -!- javawizard has joined. 18:16:37 -!- Braber01 has joined. 18:18:44 Hi I'm having a bit of trouble in String mode in Befunge, I've written "llaw eht no reeb fo selttob" v,>^_@ however my output is giving me btlso ero h al. either somebody didn't do their programming right , or I need to change these letters to something else. 18:20:00 The _ drops a character too. 18:20:08 The traditional print loop is >:#,_ 18:20:25 oh, I'm embarssed... 18:27:34 that just gives me an Infante loop,oh wait I see what i'm doing. 18:39:56 -!- Braber01 has quit (Remote host closed the connection). 18:52:43 An infant loop. 18:53:38 Something that just keeps screaming and pooping everywhere, or so I hear. 18:55:03 -!- IROMLT00014 has joined. 18:55:27 CIaooooooooooooo 18:55:43 list 18:56:05 Hm. 18:56:11 Those are certainly words. 18:57:13 -!- IROMLT00014 has quit (Client Quit). 18:57:53 lol 18:58:39 So, is the Befunge song finished already? 18:59:07 I have a job! :( 19:01:28 10pm is no time for jobs; it's time for singing and merry-making. 19:02:34 Your time zone is LAME. 19:02:41 My time zone is BETTER because we talk AMERICAN here. 19:05:07 Gregor: oh, American is a language now? 19:05:21 Your time zone is LAME because this zone is in the FUTURE. 19:06:58 derdon: Hello Doctor Duznaut-Gedghoeks! 19:07:41 Gregor: I don't understand you but I had to laugh anyway :D 19:08:05 do you speak in your personal esolang to me? 19:08:08 I was making an attempt to spell "does not get jokes" like a name, but failed pretty spectacularly. 19:08:37 ah, now I get it 19:09:11 and well, there are really people on the internetz who think American is a language 19:09:26 and there are Americans who think Europa has a capital city :P 19:09:30 *Europe 19:10:12 well, it does, in fact it has more than one 19:10:59 Europa, on the other hand, *should* have a capital city; why isn't it colonized yet? It's, like, 2011! 19:11:20 olsner: ... 19:11:42 europa's existing inhabitants might not take kindly to colonization 19:12:39 olsner: I have the feeling that many people don't even know what that is 19:13:18 I was a bit disappointed "Europa (moon)" does not have an "in popular culture" section, but at least there's a whole separate "Jupiter's moons in fiction" article. 19:14:02 "All these worlds are yours except Europa. Attempt no landings there." 19:14:30 fizzie: I think there was a dash in there 19:14:30 ais523: You have 2 new messages. '/msg lambdabot @messages' to read them. 19:14:34 @messages 19:14:34 elliott said 1m 24d 19h 5m 48s ago: Request a copy of the wiki page "100_free_dutch_dating_sites_2008". 19:14:34 cheater_ said 4h 23s ago: i have made more progress in rescuing this file system that broke earlier on, i have written a file system checker. it can be found here: https://bitbucket.org/cheater/ 19:14:34 fscheck/ 19:14:52 wow, I'm getting messaged with random stuff 19:14:57 the monoliths missed their predicted arrival in 2001 though 19:15:10 olsner: *predicted discovery 19:15:26 wasn't the theory that they'd been there all the time, but the one on the moon was only discovered in 2001 19:15:35 and several other monoliths discovered later? 19:16:19 hmm, something like that yes... 19:16:42 I am not sufficiently well-versed in the prophecies 19:19:18 -!- augur has quit (Remote host closed the connection). 19:36:37 ais523, IIRC there were only like 2. 19:36:45 The moon one, and the Jupiter one. 19:36:52 Phantom_Hoover: in 3001 there were huge numbers of them 19:37:07 Phantom_Hoover: what about the earth one? 19:37:11 ais523, well sure, but that was cheating. 19:37:22 Also 3001 is terrible so it doesn't count. 19:37:32 and I think in one of the sequels, there were ones sending messages from the area around Jupiter 19:38:17 -!- derdon has quit (Remote host closed the connection). 19:38:18 -!- sebbu3 has changed nick to sebbu. 19:39:31 @messages 19:39:32 You don't have any new messages. 19:39:35 :'( 19:40:16 @messags 19:40:17 You don't have any new messages. 19:40:26 I'm surprised that worked. 19:41:21 @messitup 19:41:22 Unknown command, try @list 19:41:24 Aw. :/ 19:48:15 @messapotamia 19:48:16 Unknown command, try @list 19:48:18 :( 19:48:34 @messagorkenbork 19:48:35 Unknown command, try @list 19:48:38 Huh 19:48:44 Seems to be special-cased for @messags. 19:51:08 so is there any way Ord could be used to represent the entire partial order. 19:51:18 in particular that a > bottom 20:13:37 Ideas for the "legit" JIT for Fythe: 20:13:40 1) LLVM 20:13:46 2) Turn GCC into a friggin' library HEWW YEAH 20:14:03 3) Write it myself, then complain when it's retardedly slow. 20:17:25 -!- kwertii has joined. 20:17:25 4) ... GNU lightning? 20:17:37 There aren't really any good JIT libraries, are there :P 20:22:45 Is LLVM at all usable from C? 20:24:13 It does have some C bindings. 20:24:37 Some (most?) of the non-C++ LLVM bindings are built on top of that. 20:25:57 There's that AsmJit thing if you don't mind x86/x64-only; it's probably not good either, but it's a thing. 20:26:45 Oh, and it's a C++ thing too. 20:27:10 I do mind x86/GOD-FUCKING-DAMN-IT-IT'S-NOT-X64 though. 20:27:45 -!- augur has joined. 20:27:51 For the time being I'm too happy with my template JIT to bother though :P 20:27:55 LLVM does optimization, right? 20:28:26 s/does/can do/ 20:28:45 Yes. 20:29:02 Yeah, seems like LLVM is probably the best choice *shrugs* 20:29:10 It shouldn't be /too/ difficult to LLVM it ... 20:29:38 http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html has a simple llvm-c snippet if you want a quick glance at the API. 20:30:11 Oh, that's not too bad. 20:30:35 It'd be nice if there was a LLVMDoFrigginEverythingPass() :P 20:31:05 I seem to recall they do have autogenerated API docs for the C bindings too somewhere. 20:31:17 Problem is, LLVM is not exactly designed that way. 20:32:05 cat the bitcode through opt -O3 20:32:15 Its optimisation is done by a bunch of essentially independent libraries. 20:32:23 Mmm. 20:32:58 Since this will be the optimizing JIT and the fast JIT is separate, it can be almost arbitrarily slow so long as the optimizations are good stuff, so ... yeah, hm. OH WELL. 20:33:09 And, yes, you could just go out to shell if you don't care about JITing. 20:33:42 You could go out to shell even if you do care about JIT *shrugs* 20:33:54 I could generate C, write it to a pipe, compile that with GCC, read in the .o file, and call it. 20:34:04 -!- sebbu has quit (Read error: Connection reset by peer). 20:34:44 Or you could generate LLVM assembly, write it to a pipe, munge it as you feel like, read in the .o file, and call it. 20:36:40 PERFECTION 20:42:14 I wonder if there's a crazy mix of options that would cause GCC to compile a single function and output the machine code for it, not in any object file format. 20:43:01 Which would really be such an option to the assembler of course. 20:43:19 I guess you can compile then objcopy to binary ... 20:43:25 You can get binary files out of GCC; I had a small snippet that created a DOS .com file directly from a Linux non-cross GCC. 20:44:36 http://pastebin.com/eChGDKDy <- like that. 20:44:42 -!- sebbu has joined. 20:44:53 It links it with a defined-on-the-command-line .text segment location. 20:46:33 (The code in question doesn't actually work on real hardware, thanks to segment limit checks, but that's not exactly a point.) 20:46:34 --oformat, eh 20:46:49 Thanks 20:46:53 Yeah, I could use that as a JIT >: ) 20:49:24 "gcc -c" + objcopy to binary would create machine code too, but it'd (I think) just drop off all relocation records of the object file. 20:50:49 I explicitly don't want relocation records. 20:50:58 (If I have any external dependencies I'm hosed anyway) 20:51:55 For non-PIC-code you might have relocation records that are related to where the code will live, though, that you'd like to have processed; linking like that will do it. 20:52:52 -!- hiato has quit (Quit: leaving). 20:53:33 "PIC code", eh. "PIN number" and so on. 20:54:35 You could possibly use something like -Wl,--defsym=foo=0x12345678 too, to define global symbols if you want to refer some data you have in memory from the C code. Though I suppose a generated cast-a-constant-to-pointer expression is just as good. 20:56:19 -!- Taneb_ has joined. 20:56:50 Hello! 20:57:08 -!- oerjan has joined. 20:57:45 -!- Taneb_ has quit (Read error: Connection reset by peer). 20:57:50 fizzie: I have all the functions that JITted code could need to call in a bank, stored in a register. 20:57:58 So, no PIC problems: ) 20:57:59 *:) 20:59:15 I think GCC is allowed to stick data into your .text segment and refer to it with absolute addresses, though. 20:59:27 -!- pikhq has joined. 20:59:28 If you're not doing -fpic/-fPIC, anyway. 20:59:34 -!- sebbu2 has joined. 21:00:13 -!- sebbu has quit (Ping timeout: 245 seconds). 21:00:44 There are many reasons why this technique is illegitimate, but right now I'm trying to figure out if it could even begin to work :P 21:02:18 -!- pikhq_ has quit (Ping timeout: 252 seconds). 21:03:28 For some reason it seems to generate a bit of bullshit after the binary itself (comments and such), but other than that, working :) 21:06:18 Right, I think --oformat=binary with GNU ld will just concatenate all the sections of the resulting executable, starting from .text. 21:06:30 Seems that way. 21:06:33 Lucky text was first :P 21:06:49 IIRC "gcc -s" doesn't strip those, which is a bit silly. 21:07:01 Oh well *shrugs* 21:07:45 When polishing your particular turd, you might use a real linker script to drop those out. 21:08:28 :P 21:08:35 "-Wl,--gc-sections" might drop it. Then again, it might not. 21:09:25 Nope 21:10:56 -!- FireFly has quit (Quit: FireFly). 21:12:50 Yeah, the technique is "sound" (read: terrible) 21:13:05 gcc -x c - -pipe -march=native -mtune=native -nostdlib -Wl,--oformat=binary -O3 -o /dev/stdout <-- clearly the best 21:14:25 Oh, it even writes to /dev/stdout? I was under the impression that binutils' libbfd just plain old refuses to do that. Well, maybe it's something specific to the "binary" output format. 21:14:43 Well, I had to force it :P 21:18:36 (That is, -o - actually made a file called -, so I had to use /dev/stdout) 21:20:08 Yes, I just recall getting some "oh no you don't, that's a pipe!" warnings when trying to get -o /dev/stdout from some related tool. But maybe it was 'as' or something. 21:23:34 -!- copumpkin has quit (Ping timeout: 245 seconds). 21:24:04 .-. 21:24:11 fizzie: Idonno, worked for me *shrugs* 21:24:23 fizzie: Even with a tty it still "worked" (i.e. printed garbage to my TTY) 21:24:45 Well, maybe gcc takes care of the plumbing or something. 21:25:23 well as long as it gives a valid file descriptor it should work right? 21:25:40 Not if some tool expects it to be seekable. 21:25:55 :s 21:26:06 Though since "gcc -pipe" is supported, I suppose all the parts should be pipe-friendly. 21:26:28 Maybe it was nasm that was pipe-unfriendly instead. 21:26:41 fizzie: That wouldn't surprise me enormously. 21:31:42 -!- monqy has joined. 21:44:50 -!- Sgeo has joined. 21:46:43 * Sgeo is thinking of auditioning for Grease at the college 21:48:09 Seems to be special-cased for @messags. 21:48:40 no, it just only supports two letters of difference, and it must be unambiguous which is closest 21:49:14 @massogis 21:49:14 Unknown command, try @list 21:49:20 @massoges 21:49:20 You don't have any new messages. 21:51:06 -!- Patashu has joined. 21:51:09 @passages 21:51:10 You don't have any new messages. 21:51:15 Heh. 21:52:38 19:51:08: so is there any way Ord could be used to represent the entire partial order. 21:52:41 19:51:18: in particular that a > bottom 21:53:08 there is no reliable way to have a > bottom always return True, if it looks at the second argument at all 21:53:24 _some_ bottoms can be catched, but not all 21:53:35 and that is not pure code 21:53:48 @piss 21:53:48 Maybe you meant: list ping 21:53:52 :( 21:54:31 @pins 21:54:31 pong 21:54:54 @info is one that confuses people 21:54:55 is one that confuses people 21:55:10 @echo hm 21:55:11 echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":@echo hm"]} rest:" 21:55:11 hm" 21:56:07 @achoo 21:56:08 echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "oerjan!oerjan@sprocket.nvg.ntnu.no", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":@achoo"]} rest:"" 21:56:34 i guess the first word gives that away 21:59:45 @info 21:59:45 () 21:59:59 What's that getting corrected to? 22:00:16 * oerjan cackles evilly 22:01:07 -!- Gregor-WebChatYA has joined. 22:02:05 WebChat, ya? 22:03:17 It was supposed to be WebChatYAY, but I ran out of characters :P 22:03:28 ya know 22:03:45 GregorWebChatYAY? 22:03:59 also does this mean you did not see the above... 22:04:01 @passages 22:04:02 You don't have any new messages. 22:04:26 I could logread if it's THAT important. 22:04:52 well it _was_ a logreading response to you 22:04:59 fizzie's crowning achievement. 22:05:16 important, is anything on irc important. 22:05:21 Ah 22:05:28 Yes, I'm glad to know all the @messwtfisms that work. 22:06:10 @fun 2+2 22:06:11 4 22:11:42 -!- azaq23 has quit (Quit: Leaving.). 22:13:09 -!- sllide has quit (Ping timeout: 245 seconds). 22:13:24 * Phantom_Hoover → sleep 22:13:26 -!- Phantom_Hoover has quit (Quit: Leaving). 22:16:56 @dead 42 22:16:57 Plugin `dummy' failed with: Prelude.read: no parse 22:17:00 darn 22:17:20 @dead "you blew it up! you maniacs!" 22:17:21 you blew it up! you maniacs! 22:21:45 -!- Gregor-WebChatYA has quit (Quit: Page closed). 22:22:53 I officially hate myself 22:24:05 http://pastie.org/private/woo2ngzmdcv9qpep4imjg 22:29:22 -!- nooga has quit (Ping timeout: 258 seconds). 22:31:07 -!- Slereah has quit (Ping timeout: 264 seconds). 22:31:35 why did you do this 22:31:38 -!- GuestIceKovu has joined. 22:32:18 > let range = [0,1] in replicateM 9 range -- sorry :P 22:32:19 [[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0... 22:33:10 i assume there's supposed to be something inside the inner one 22:33:54 :t Array.fromList 22:33:55 Not in scope: `Array.fromList' 22:34:13 @hoogle [a] -> (i,i) -> Array i a 22:34:14 Data.Array.IArray listArray :: (IArray a e, Ix i) => (i, i) -> [e] -> a i e 22:34:14 Data.Array.MArray newListArray :: (MArray a e m, Ix i) => (i, i) -> [e] -> m (a i e) 22:34:14 Data.Array.MArray newArray :: (MArray a e m, Ix i) => (i, i) -> e -> m (a i e) 22:34:16 -!- iamcal has quit (Remote host closed the connection). 22:35:27 > listArray ((1,1),(3,3)) <$> let range = [0,1] in replicateM 9 range 22:35:28 [array ((1,1),(3,3)) [((1,1),0),((1,2),0),((1,3),0),((2,1),0),((2,2),0),((2... 22:43:25 -!- copumpkin has joined. 22:46:57 Maybe calculating an equation 21^9 times isn't the way to go here 22:47:02 > 21**9 22:47:03 7.94280046581e11 22:47:04 perhaps 22:47:33 (And I can't believe I was planning on 201^9 times) 22:47:35 _could_ be 22:47:36 > 201**9 22:47:37 5.3550621652227346e20 22:47:58 I should do it in C. It'll be faster. 22:48:02 ^^joke 22:48:09 ok 22:48:53 nah, everyone knows that for _really_ huge equation loops you need FORTRAN 22:49:21 also, a supercomputer, which might be a bigger problem. 22:50:11 * Sgeo looks again at that number and wonders why it's considered huge 22:51:04 i assume that depends on how complicated each equation is. 22:51:14 determinant = a1 * b2 * c3 - a1 * b3 * c2 - a2 * b1 * c3 + a2 * b3 * c1 + a3 * b1 * c2 - a3 * b2 * c1 22:51:18 Simple 22:51:31 aha 22:51:57 you can combine some terms there 22:53:22 http://www.wolframalpha.com/input/?i=a1+*+b2+*+c3+-+a1+*+b3+*+c2+-+a2+*+b1+*+c3+%2B+a2+*+b3+*+c1+%2B+a3+*+b1+*+c2+-+a3+*+b2+*+c1+ 22:53:29 wolfram alpha didn't seem to find any to combine 22:53:29 * Sgeo decides he'd rather just do random trials 22:53:57 tiffany: um that's because wolfram alpha is not trying to optimize it for calculating 22:54:06 :d 22:54:17 a1 * (b2 * c3 - b3 * c2) etc. 22:54:19 I think a million trials might be a bit more reasonable? 22:54:55 I ran 500 000 000 calculations of x*x with my lua interpreter and 500 000 000 of x^2 and x*x was 1600 cycles and x^2 was 600 22:54:57 :s 22:55:10 I remember you saying this before 22:55:11 tiffany: i saw you mentioned 22:55:25 oh 22:55:27 sorry 22:56:23 Sgeo's may be harder though for the compiler to rearrange, because floating point issues means you don't get _exactly_ the same thing 22:56:41 I'm only using integers in the loop 22:57:02 ah. well then it might be overflow issues. 22:57:17 OK, who's going to sing the Befunge song if I write it? 22:57:20 I see Sgeo volunteering. 22:57:41 -!- iamcal has joined. 22:57:54 64bit signed ints overflow on the 97th number in the fibonacci set 22:58:01 ok 22:59:19 > drop 95 $ fix(scanl(+)0.(1:)) :: [Int] 22:59:21 [-4953053512429003327,-3659523366270331776,-8612576878699335103,61746438287... 22:59:33 ...that doesn't look 64 bit 22:59:41 o.o 22:59:54 > maxBound :: Int 22:59:55 9223372036854775807 23:00:00 > drop 95 $ fix(scanl(+)0.(1:)) :: [Int64] 23:00:03 [-4953053512429003327,-3659523366270331776,-8612576878699335103,61746438287... 23:00:06 hm 23:00:06 wat 23:00:15 -!- pikhq has quit (Read error: Operation timed out). 23:00:16 maybe it overflowed before then 23:00:31 > drop 50 $ fix(scanl(+)0.(1:)) :: [Int64] 23:00:33 [12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,2... 23:01:07 > dropWhile ((>0).snd) . zip [1..] $ fix(scanl(+)0.(1:)) :: [Int64] 23:01:08 Couldn't match expected type `GHC.Int.Int64' 23:01:08 against inferred type ... 23:01:55 > dropWhile ((>0).snd) . zip [1..] $ (fix(scanl(+)0.(1:)) :: [Int64]) 23:01:56 -!- pikhq has joined. 23:01:57 [(1,0),(2,1),(3,1),(4,2),(5,3),(6,5),(7,8),(8,13),(9,21),(10,34),(11,55),(1... 23:02:01 er 23:02:17 > dropWhile ((>0).snd) . drop 10 . zip [1..] $ (fix(scanl(+)0.(1:)) :: [Int64]) 23:02:19 [(94,-6246583658587674878),(95,1293530146158671551),(96,-495305351242900332... 23:02:29 aha 23:02:48 I had 97 and 94 mixed up 23:02:57 I wonder where the other thing it mixed up with is 23:02:59 > drop 92 . zip [1..] $ (fix(scanl(+)0.(1:)) :: [Int64]) 23:03:01 [(93,7540113804746346429),(94,-6246583658587674878),(95,1293530146158671551... 23:04:51 Ugh 23:05:04 hi 23:05:16 I should have told my professor that I predict that it's very likely that three random planes will intersect a unique point 23:05:27 Because that's what I was suspecting, and that's the result 23:07:05 -!- cheater_ has quit (Ping timeout: 260 seconds). 23:07:31 -!- pikhq_ has joined. 23:07:33 -!- pikhq has quit (Ping timeout: 260 seconds). 23:07:46 Unless there's a mistake (and I don't mean code looking like crap as a mistake) in https://gist.github.com/f3a03b13c555aa5468cb 23:09:04 -!- cheater_ has joined. 23:09:19 well yes that sounds about right. in 3d, that is. 23:09:46 _two_ planes are likely to intersect in a line. that line is likely to intersect another plane in a unique point. 23:10:20 where "likely" is "with probability 1" for a reasonably random selection. 23:11:04 Yeah, I was thinking something like that too 23:11:08 http://en.wikipedia.org/wiki/General_position 23:11:13 And it's more obvious when you look at 2 lines 23:11:27 What's the chance of two lines having the same slope? 0. 23:11:34 wouldn't the intersections of 3 planes be the intersection of the intersection of the 3 lines created from the intersections of each plane with each other one? 23:11:36 :s 23:11:53 tiffany: yes but those 3 lines are not independent of each other 23:12:24 I am amazingly bad at doing geometry after school 23:12:30 while the line you get from 2 independent planes is independent of the third one 23:13:24 tiffany: for example it's obvious that if _two_ of the lines intersect in a point, then the third one must too 23:13:37 because that means all three planes intersect there 23:13:48 mm 23:24:28 -!- cheater_ has quit (Ping timeout: 260 seconds). 23:32:19 see a drünk mööse http://www.dagbladet.no/2011/09/07/nyheter/dyrenes_nyheter/dyr/elg/jakt/18009987/ 23:34:34 -!- ais523 has quit (Remote host closed the connection). 23:37:26 I thought of another way of thinking about it, but since variables are being multiplied by variables, it might not be correct: 23:37:42 The system would have to fall on a single 9-dimensional hyperplane in 10-dimensional space 23:38:40 -!- cheater has joined. 23:39:53 i'm not entirely convinced of that 23:39:56 * Sgeo plays with Wolfram Alpha for a bit 23:40:40 but as i don't actually really know algebraic geometry... 23:40:47 Maybe not a hyperplane, but a 9-dimensional construct of some sort? 23:41:26 that sounds more likely. 23:42:33 Given 8 variables in the 3x3 determinant equation, could you figure out what the 9th would have to be for the determinant to be 0? 23:42:50 I think that would force it to be a 9-dimensional figure 23:42:56 actually there are at least two possibilities: the three planes don't intersect in a common point at all, and they intersect in an entire line or more (well "more" would mean they're all the same plane) 23:42:59 Wait, no, 8-dimensional/ 23:43:15 oh hm 23:43:26 8-dimensional figure in 9d space 23:43:49 oh and you are not getting _all_ planes from 3 variables that way. 23:44:10 Hmm? Why not? 23:44:42 Each existent system of 3 planes should be representable in 9d space, or am I mistaken? 23:45:01 degenerate case. a*x + b*y + c*z = d is a general plane iirc, and you can remove one of a,b,c,d but only if the one you remove is _non-zero_ 23:45:19 No, just planes embedded in 3d space, and it takes 6 numbers to specify each... argh I'm confused 23:46:14 4 numbers is sufficient. and 3 would be except for the degenerate case, iirc 23:47:01 and also at least one of a,b,c must be non-zero, i think 23:47:06 So, 12d space to represent all systems of 3 planes 23:47:42 no, it's 9d, but not given by 9 variables in linear equations 23:48:00 Oh! The determinants equation doesn't specify... location of each plane 23:48:03 I .. think 23:48:08 * Sgeo is confused 23:49:09 Sgeo: you can give each plane as either a*x+b*y+c*z = 1 or as a*x+b*y+c*z = 0 23:50:14 So, 9 dimensions of continuous space and 1 discrete dimension of 2 possibilities? 23:50:27 Why am I still thinking in terms of hyperspace 23:50:36 9+1D is not intuitive to me, believe it or not 23:50:42 "discrete dimension" is not really a concept in this subject afaik 23:51:12 it's a 9d space. it just doesn't happen to be a hyperplane. 23:51:58 What does the entity on which all systems of 3 planes that don't intersect at a point look like when embedded in the 9d space? 23:52:21 well most of it is in the = 1 part, which _is_ a hyperplane. 23:52:28 i think. 23:52:29 How can something be a hyperplane or not without being embedded in a higher space? 23:53:03 oh hm 23:53:17 I don't get how you distinguish between =1 and =0 without an additional dimension 23:53:30 Maybe my idea of dimensions is confused 23:53:56 Sgeo: yes. dimension is an intrinsic property of a topological space. 23:54:16 if you take the union of two n-dimensional subspaces, that is still n-dimensional. 23:55:09 O.O 23:55:13 -!- Braber01 has joined. 23:55:53 um odd question, does anybody know the f**kf**k counterparts to brainf**k? 23:56:13 Braber01: you were answered last time, with a link. is it not on the wiki page? 23:56:14 If I have two lines, and take their union, is the specification of which line somehow embeddable in the single value I'd normally need to specify my location on one line? 23:56:24 * oerjan checks 23:56:34 I can't get wiki for somereason, 23:56:54 Braber01: oh right hm. try esoteric.voxelperfect.net 23:57:10 esolangs.org is having dns issues 23:57:28 (the dns provider is actually closing :( ) 23:58:04 http://esoteric.voxelperfect.net/wiki/Fuckfuck 23:58:53 * Braber01 wonders why wiki works now, but didn't earler, oh well.