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