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:53 <ais523> where did it get the continuation library from?
00:01:01 <elliott> "Continuations as threads" is a really stupid way to say
00:01:04 <elliott> "Coroutines with stack pointer".
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: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: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: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:53 <ais523> and have an option where they just reformat serializations rather than load them
00:07:19 <lambdabot> Data.Function fix :: (a -> a) -> a
00:07:20 <lambdabot> Control.Monad.Fix fix :: (a -> a) -> a
00:07:31 <elliott> ais523: Surely you can encapsulate a loading of a serialisation and then serialise that program?
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:20 <ais523> elliott: hmm, you could write a small program to do it
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: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:24 <ais523> or provide it with an argument
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: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: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: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:40 <ais523> oh, I see what you mean there
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: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 <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: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:29 <elliott> ais523: well, you should maintain the stack
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: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: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:53 <elliott> ais523: Why does the history matter?
00:17:07 <elliott> START stack 'C' future END = stack (stack (future)) future
00:17:14 <elliott> ais523: Why not (stack future)?
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: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:16 <ais523> "current program"? ouch
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: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: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 <ais523> there's no "in a new context", you manufacture the new context by hand
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:07 <elliott> The only relevant effect being that any "exit" instructions are defined to only halt the current program.
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: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: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:55 <elliott> Cx => (x)x is reasonable, after all
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: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:36 <oerjan> elliott: exit the program
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: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: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: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: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:32 <elliott> by having an operation (foo)L that runs foo "with the | after it"
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: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: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:41 <elliott> ais523: hmm, preemptive multitasking seems like it must be a primitive, or else it requires Greenspunning the language _itself_
00:31:03 <ais523> I think you can do it with preprocessor rules, anyway
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:41 <elliott> fizzie: Can I blame you for SOCK?
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: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:02:26 <CakeProphet> I am flabbergasted that I cannot talk about forks and be appreciated for my intellectual contribution.
03:04:42 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds).
03:07:19 -!- BeholdMyGlory has joined.
03:10:05 <elliott> can someone say the digit one please
03:11:47 <oerjan> elliott: look in the topic
03:12:00 <elliott> there is an extra space in the topic
03:12:39 -!- Guardric has quit (Quit: Leaving).
03:12:42 -!- CakeProphet has quit (Ping timeout: 252 seconds).
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: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:28 <elliott> Q: How do I easily edit existing topic?
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:38 <elliott> BAD: R received wrong data and/or misplaced it
03:18:38 <elliott> BAD: trying to close socket with K reflected
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:53 <oerjan> quintopia: /top<tab>e<tab>^W<tab> works XD
03:24:47 <quintopia> i wonder if there is a patch for this already
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:48 <oerjan> i'm sure elliott can explain
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:28 <elliott> ok maybe you're meant to... pad it ou?
03:31:29 <elliott> GOOD: sent "Foobar" with W
03:31:29 <elliott> GOOD: closed socket with K
03:31:58 <elliott> OH GOD I' MSUCH AN IDIOT.... no wait no im not
03:32:26 <elliott> sorry the crying doesn't stop for anyone
03:33:44 <elliott> i want to bite this laptop for not working
03:35:01 <oerjan> i hear biting things is a common disease among horses
03:37:07 <elliott> "< >:#,\n | goe\n#:<\"BA\n\">:#,_\nlects\"\n\"+_v#!\n0\"+<>:\n00#vp"
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:56 <oerjan> i mean in latin-1, of course
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: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:18 <pikhq> Shame that that's still an issue.
03:46:12 <elliott> G(Va -- 0gnirts)Get string from specified position
03:55:07 <elliott> > fromEnum (compare "a" "a")
03:55:12 <elliott> > fromEnum (compare "a" "b")
03:55:15 <elliott> > fromEnum (compare "b" "a")
03:56:05 <oerjan> > [minBound .. maxBound :: Ordering]
03:56:47 <lambdabot> forall a. (Ord a) => a -> a -> Ordering
03:56:49 <oerjan> it's just the default instance
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:26 <elliott> ?hoogle come on, some substring finding shit
03:57:27 <lambdabot> --count=20 "come on, some substring finding shit"
03:57:30 <lambdabot> Text.XHtml.Frameset sub :: Html -> Html
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:39 <lambdabot> forall a. (Eq a) => [a] -> [a] -> Bool
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:27 <lambdabot> forall a. (a -> Bool) -> [a] -> Maybe Int
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:48 <elliott> by repeatedly findIndexing
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:47 <oerjan> :t find (isPrefixOf ?s) . tails
03:59:48 <lambdabot> forall a. (?s::[a], Eq a) => [a] -> Maybe [a]
04:01:40 <elliott> shiro: user error (Pattern match failure in do expression at Shiro/Monad.hs:206:3-8)
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:12 <elliott> ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo
04:04:19 <elliott> ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoof
04:04:23 <elliott> Deewiant what the fuck did you do
04:16:02 <elliott> oerjan: exlcamation mark please
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:50:18 <Lymee> pikhq, you arn't elliott
05:01:39 -!- augur_ has quit (Remote host closed the connection).
05:07:53 <lambdabot> Couldn't match expected type `Text.ParserCombinators.ReadP.ReadS
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: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: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: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:50 <elliott> what if i spent money instead
05:26:57 <elliott> is that a way to occupy time
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:28:09 <elliott> thinking causes indecision
05:31:22 <elliott> oerjan there is three options
05:31:49 <oerjan> I THINK IT IS QUITE CLEAR
05:33:21 <elliott> sleeping is niceb ecause in sleep there is rest and also i feel tired
05:33:25 <elliott> non slep is nice because um i dont know
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: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: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: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:47 <elliott> and doesnt print one bytes forever
05:36:48 <oerjan> fizzie: could you ^save i added a ^wiki command
05:36:50 <fungot> elliott: in terminator 3: rise of the new zealand study:
05:37:15 <fizzie> elliott: Make a state file that has ten empty lines. (Intuitive!)
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:38:21 <fizzie> You should get the raw irc stuff on screen if it a work.
05:39:03 <fizzie> Then I suppose it not 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> elliott@katia:~/Code/shiro/rsc/fungot$ ~/ccbi-2.1/ccbi fungot-load-freenode.b98
05:39:40 <elliott> does my text mode i o stuff need to work
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:32 <fizzie> Also you'll get all the commands (all of them).
05:44:45 <elliott> $ ~/ccbi-2.1/ccbi fungot-load-freenode.b98
05:44:46 <fungot> elliott: 20:04, december 1, 2006.
05:44:56 <elliott> did i fuck up my load script
05:45:02 <elliott> change command char and things
05:45:38 <fizzie> Freenode has also changed them IPs since some time ago, if you didn't recheck that.
05:46:30 <elliott> ok now it connect with ccbi
05:47:08 <fizzie> I'unno. I don't think it does very much work before connectzing.
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:22 <elliott> fizzie: do you rely on any undefined behaviour for STRN, maybe?
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: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:52 <elliott> I get all GOODs in mycology
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: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:51 <elliott> Shiro superiority four eva
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:58 <fizzie> It was sneakily modified without any change notices or version numbers or anything; you didn't like that.
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: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:56:35 <Sgeo> Just True or Just False?
05:57:31 <fizzie> "Just Nothing" sounds funny.
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 -!- CakeProphet has quit (Ping timeout: 246 seconds).
05:58:50 <elliott> Aha, pushString is finally a bottleneck
05:58:56 <Sgeo> Although Just Nothing actually would presumably be seen in some programs
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: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:54 <fizzie> "consensus" and "discussion page" are good clues.
06:01:41 <elliott> strip nomic actually exists.
06:01:53 <elliott> like, it has actually been played.
06:02:16 <fizzie> "Preferrably one with pictures."
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: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: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:42:19 <CakeProphet> well I think usually it's done statistically. Thus a percentage.
06:46:58 <elliott> oh right we're meant to say hi to newbies
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:20 <elliott> aspect: if you're completely confused http://esolangs.org/ may be enlightening
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: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: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
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
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:17:41 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
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:44 -!- Sgeo has quit (Ping timeout: 258 seconds).
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:26:17 <Taneb> Uniquode now has a part of its memory called the TEMPORAL WAYPOINT BUFFER
15:26:43 <Taneb> Esolang I'm working on
15:26:52 <Taneb> Uses the entire Unicode character set
15:26:57 <cheater_> there should be a unicode based programming language
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: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:38:14 -!- NihilistDandy has joined.
15:41:26 -!- sllide has joined.
15:44:03 <Gregor> nooga: Then give it to some dumb white bitch to eat?
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:10 <Taneb> befunge-93 or -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: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: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: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: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:53:38 <fizzie> Something that just keeps screaming and pooping everywhere, or so I hear.
18:55:03 -!- IROMLT00014 has joined.
18:56:11 <Gregor> Those are certainly words.
18:57:13 -!- IROMLT00014 has quit (Client Quit).
18:58:39 <fizzie> So, is the Befunge song finished already?
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: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: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: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 <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: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: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: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: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.
20:13:37 <Gregor> Ideas for the "legit" JIT for Fythe:
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: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: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: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: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: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: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: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: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:45 <fizzie> When polishing your particular turd, you might use a real linker script to drop those out.
21:08:35 <fizzie> "-Wl,--gc-sections" might drop it. Then again, it might not.
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: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: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:51:06 -!- Patashu has joined.
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:54:54 <oerjan> @info is one that confuses people
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: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
22:01:07 -!- Gregor-WebChatYA has joined.
22:03:17 <Gregor-WebChatYA> It was supposed to be WebChatYAY, but I ran out of characters :P
22:03:59 <oerjan> also does this mean you did not see the above...
22:04:52 <oerjan> well it _was_ a logreading response to you
22:05:16 <oerjan> important, is anything on irc important.
22:11:42 -!- azaq23 has quit (Quit: Leaving.).
22:13:09 -!- sllide has quit (Ping timeout: 245 seconds).
22:13:26 -!- Phantom_Hoover has quit (Quit: Leaving).
22:16:57 <lambdabot> Plugin `dummy' failed with: Prelude.read: no parse
22:17:20 <oerjan> @dead "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: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:33 <Sgeo> (And I can't believe I was planning on 201^9 times)
22:47:58 <Sgeo> I should do it in C. It'll be faster.
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: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: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:55:10 <monqy> I remember you saying this before
22:55:11 <oerjan> tiffany: i saw you mentioned
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: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
23:00:00 <oerjan> > drop 95 $ fix(scanl(+)0.(1:)) :: [Int64]
23:00:03 <lambdabot> [-4953053512429003327,-3659523366270331776,-8612576878699335103,61746438287...
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: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: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: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: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: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: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: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: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: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:29 <Sgeo> How can something be a hyperplane or not without being embedded in a higher space?
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: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: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.