←2011-10-03 2011-10-04 2011-10-05→ ↑2011 ↑all
00:04:32 -!- kwertii has quit (Quit: kwertii).
00:11:09 -!- tiffany has quit (Quit: Bai~).
00:15:59 -!- HackEgo has quit (Remote host closed the connection).
00:18:57 -!- HackEgo has joined.
00:22:35 -!- HackEgo has quit (Remote host closed the connection).
00:23:05 -!- augur has joined.
00:23:12 -!- HackEgo has joined.
00:27:54 -!- HackEgo has quit (Ping timeout: 256 seconds).
00:28:01 -!- DH____ has quit (Read error: Connection reset by peer).
00:29:12 -!- HackEgo has joined.
00:39:11 <zzo38> I added another function to barrier monads module: replaceFail :: (String -> String) -> Barrier f b t -> Barrier f b t;
00:39:28 <zzo38> I also added the instance of Alternative so that you can use <|>
00:40:01 -!- HackEgo has quit (Remote host closed the connection).
00:40:11 -!- HackEgo has joined.
00:41:33 <zzo38> Now you can map the front type, back type, return type, and the fail message.
00:42:53 -!- ive has quit (Ping timeout: 260 seconds).
00:44:32 -!- copumpkin has joined.
00:45:06 -!- FireFly has quit (Ping timeout: 276 seconds).
00:45:51 -!- DH____ has joined.
00:48:42 <zzo38> Now I added bindFail :: (String -> Barrier f b t) -> Barrier f b t -> Barrier f b t;
00:49:22 <zzo38> (replaceFail is really a specialized kind of bindFail, I suppose)
00:50:37 <oerjan> :t catch
00:50:44 <oerjan> no lambdabot
00:51:03 <oerjan> anyway, i think your bindFail resembles the catch functions
00:51:37 -!- FireFly has joined.
00:51:44 <zzo38> Yes it is similar. But catch is for IO and for Exception.
00:52:06 <zzo38> catch :: Exception e => IO a -> (e -> IO a) -> IO a
00:52:11 <oerjan> there is also a variant for MonadError
00:52:26 -!- Jafet has quit (Quit: Leaving.).
00:52:28 <oerjan> you might be able to make an instance
00:52:42 <zzo38> OK. What is MonadError?
00:54:22 <oerjan> http://hackage.haskell.org/packages/archive/mtl/2.0.1.0/doc/html/Control-Monad-Error.html
00:55:54 <zzo38> OK, yes, I suppose it can do so.
00:56:57 <Madoka-Kaname> That program I was working on yesterday?
00:56:58 <Madoka-Kaname> http://i53.tinypic.com/2rdg21j.png < :3
00:57:28 <Madoka-Kaname> I dumped the raw data from the FFT into the image. I'm quite sure the two halves are related in some way.
00:57:39 <Madoka-Kaname> (top and bottom half)
00:59:58 <Madoka-Kaname> http://i51.tinypic.com/rhl380.png < that makes more sense
01:00:02 <Madoka-Kaname> This API is a little wacky >>
01:00:45 <zzo38> I removed bindFail and replaceFail and use MonadError instead, now.
01:08:21 -!- esowiki has joined.
01:08:57 -!- esowiki has joined.
01:11:11 -!- glogbot has joined.
01:11:11 -!- FireFly has quit (*.net *.split).
01:11:11 -!- Zwaarddijk has quit (*.net *.split).
01:11:11 -!- micahjohnston has quit (*.net *.split).
01:11:11 -!- olsner has quit (*.net *.split).
01:11:11 -!- DH____ has quit (*.net *.split).
01:11:11 -!- augur has quit (*.net *.split).
01:11:11 -!- elliott has quit (*.net *.split).
01:11:11 -!- zzo38 has quit (*.net *.split).
01:11:11 -!- sebbu has quit (*.net *.split).
01:11:11 -!- Nisstyre has quit (*.net *.split).
01:11:11 -!- iamcal has quit (*.net *.split).
01:11:11 -!- twice11 has quit (*.net *.split).
01:11:11 -!- monqy has quit (*.net *.split).
01:11:11 -!- hagb4rd has quit (*.net *.split).
01:11:11 -!- MichaelBurge has quit (*.net *.split).
01:11:13 -!- variable has quit (*.net *.split).
01:11:13 -!- oklopol has quit (*.net *.split).
01:11:13 -!- jix has quit (*.net *.split).
01:11:13 -!- Sgeo|web has quit (*.net *.split).
01:11:13 -!- HackEgo has quit (*.net *.split).
01:11:13 -!- calamari has quit (*.net *.split).
01:11:13 -!- myndzi has quit (*.net *.split).
01:11:13 -!- BeholdMyGlory has quit (*.net *.split).
01:11:13 -!- ineiros has quit (*.net *.split).
01:11:13 -!- mycroftiv has quit (*.net *.split).
01:11:13 -!- rodgort has quit (*.net *.split).
01:11:13 -!- tswett has quit (*.net *.split).
01:11:13 -!- mtve has quit (*.net *.split).
01:11:14 -!- MDude has quit (*.net *.split).
01:11:14 -!- SimonRC has quit (*.net *.split).
01:11:14 -!- clog has quit (*.net *.split).
01:11:14 -!- derdon has quit (Remote host closed the connection).
01:11:25 -!- copumpkin has quit (Ping timeout: 255 seconds).
01:11:51 -!- copumpkin has joined.
01:14:57 -!- esowiki has joined.
01:15:20 -!- esowiki has joined.
01:15:20 -!- glogbot has joined.
01:15:27 <CakeProphet> question:
01:15:28 <elliott> oerjan: waht happened while
01:15:30 <elliott> i was gone
01:15:36 <CakeProphet> could you make a fan blade that's exactly pi inches?
01:15:47 <oerjan> 03:13 oerjan> fungot: a horrible split!
01:15:47 <oerjan> 03:13 fungot> oerjan: i, myself, will bring an end to all. ghosts lurk in the ruins! the structural damage is severe. the tale?
01:15:47 <fungot> oerjan: there! there it is! but by the time we're through with you, you'll be in danger. open hatch.
01:15:47 <fungot> oerjan: yes, it's been awhile prometheus!
01:16:08 <oerjan> also, 03:12 oerjan> eek
01:16:44 <elliott> CakeProphet: the universe has finite information in a finite area, or so I understand
01:16:50 <elliott> so I would guess no
01:16:53 <elliott> i presume by make
01:16:56 <CakeProphet> that was my guess as well.
01:16:56 <elliott> you mean construct as a god
01:17:04 <CakeProphet> no I mean construct as a person with materials.
01:17:15 <elliott> well then I'll say definitely not
01:17:18 <elliott> but that's a stupid question
01:17:23 <oerjan> the question is whether "exactly n inches" has meaning in our universe
01:17:27 <elliott> ask the god one instead, since that's equivalent to "can our universe represent reals"
01:17:33 <elliott> oerjan: good point :P
01:17:37 <elliott> well not reals I guess
01:17:53 <elliott> maybe the universe just supports algebraic numbers and throws pi in as an extra
01:18:01 <CakeProphet> ..lol
01:18:19 <CakeProphet> I think as far as physical quantities irrationals are perhaps impossible?
01:18:36 <elliott> um.
01:18:56 <CakeProphet> no?
01:18:57 <oerjan> it depends how you measure... if 1 is possible, is sqrt(2) possible because it's the diagonal of a square with sides 1?
01:18:59 <elliott> CakeProphet: compass and straightedge dude
01:19:03 <elliott> assuming space is continuous
01:19:11 <zzo38> elliott: O, OK, I can look at SomeException. Can you convert a String to SomeException?
01:19:16 <CakeProphet> ah okay.
01:19:44 <elliott> zzo38: the standard IO fail puts it in an IOError
01:19:51 <elliott> you might want to create your own wrapper since that doesn't make much sense
01:20:11 <oerjan> if one of those loop quantum gravity theories with spacetime as a kind of graph is true, then the possibilities might be discrete, but maybe not necessarily rational if you think about that square example
01:20:17 <elliott> quite simple, "newtype FailException = FailException { failMessage :: String } deriving (Show, Typeable); instance Exception FailException" should do it
01:20:26 <elliott> then fail = Fail . FailException
01:20:54 <zzo38> OK.
01:22:01 <oerjan> <elliott> maybe the universe just supports algebraic numbers and throws pi in as an extra <-- hm, i think the field generated by that has decidable equality, none of that e+pi problem if you don't include both
01:22:04 <elliott> oh, you'll need DeriveDataTypeable for that... but you should use it, hand-written Typeable instances are very much frowned upon
01:22:28 <elliott> oerjan: See, God just got tired of not having an Eq instance.
01:22:46 <zzo38> But if I use SomeException, can I combine multiple errors?
01:23:14 <oerjan> <zzo38> elliott: O, OK, I can look at SomeException. Can you convert a String to SomeException? <-- hm something tells me elliott said something on the other side of the split
01:23:48 <elliott> oerjan: yep
01:23:50 <elliott> zzo38: What do you mean?
01:24:04 <elliott> oerjan: <elliott> zzo38: btw you probably want SomeException
01:24:05 <elliott> <elliott> not String
01:24:05 <elliott> <elliott> in Fail
01:24:05 <elliott> <elliott> that way, you can e.g. handle exceptions properly in the liftIO for BarrierT IO
01:24:18 <zzo38> I currently have an Alternative instance that <|> combines error messages if both sides are error.
01:25:28 <elliott> well, you cannot really do that in general, whatever character you pick might conflict with a valid character in a fail message anyway
01:25:47 <elliott> however, I think Fail _ <|> m should = m
01:25:53 <elliott> by the standard interpretation of Alternative
01:25:59 <zzo38> I picked '\RS'
01:26:44 <elliott> because after all, (<|>) is a kind of error handling
01:27:01 <elliott> in that it's basically a <|> b = a `catch` const b
01:27:04 <elliott> (metaphorically etc. etc. etc.)
01:28:04 <elliott> zzo38: but you could always define an expression pair type that's a combination of two exceptions and a subtype of those... I have no idea how to do that, oerjan might :P
01:28:57 <oerjan> eek
01:29:14 <oerjan> i don't _think_ the expression system supports multiple "inheritance"
01:29:36 <elliott> it probably shouldn't :P
01:29:36 <oerjan> *exception
01:31:00 * oerjan reads that again
01:35:10 <oerjan> it seems that an exception type needs preparation in order to be subtypeable
01:35:49 <oerjan> because a subtype exception needs to be cast to it in order to be thrown
01:35:58 <elliott> right
01:36:42 <oerjan> and it would probably take even more preparation to permit two exceptions to have a common subtype
01:44:36 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:49:01 -!- copumpkin has joined.
02:00:33 -!- calamari has quit (Quit: Leaving).
02:06:56 -!- pikhq_ has joined.
02:08:57 -!- pikhq has quit (Ping timeout: 244 seconds).
02:18:48 <oerjan> hm...
02:18:50 <oerjan> instance IsString ShowS where fromString = (++)
02:18:58 <elliott> yep, what of it
02:19:05 <elliott> ShowS is just DL Char :-P
02:19:09 <oerjan> just thought of it :P
02:19:23 <elliott> oerjan: the World -> (World, a) representation is used in compilers to avoid CSE interrupting with IO... doesn't just making (>>=) use pseq solve that?
02:19:29 <elliott> hmm
02:19:49 <elliott> x `pseq` f x `pseq` f x `pseq` IO ()
02:19:51 <elliott> I guess not
02:19:59 <elliott> since that duplicate f x pseqqing is reducable
02:20:00 <elliott> reducible
02:20:05 <elliott> still seems gross though
02:20:42 <oerjan> if it was plain a then _seq_ would be permitted to do the IO
02:20:51 <oerjan> i don't think you want that :P
02:20:59 <oerjan> or even pseq.
02:21:25 <elliott> oerjan: um you would obviously wrap it in "data"
02:21:41 <elliott> data IO a = IO a; instance Monad IO where return = IO; IO a >>= f = a `pseq` f x
02:21:48 <oerjan> ...but that would be _less_ efficient
02:21:49 <elliott> erm
02:21:50 <elliott> data IO a = IO a; instance Monad IO where return = IO; IO a >>= f = a `pseq` f a
02:21:58 <elliott> oerjan: umm, why?
02:22:05 <oerjan> because data is boxed
02:22:13 <elliott> functions are a kind of box...
02:22:27 <oerjan> yes, but RealWorld is optimized away
02:22:33 <elliott> yes, becoming ()
02:22:37 <elliott> there's still a box involved
02:22:40 <oerjan> not even ()
02:22:42 <elliott> yes but
02:22:43 <elliott> dude
02:22:46 <elliott> the value inside is still lazy
02:22:50 <elliott> or seq would do IOjust like you said
02:23:04 <oerjan> no.
02:23:12 <elliott> howso
02:23:22 <oerjan> well, hm... maybe.
02:23:36 <elliott> you can't have it completely stripped of boxing and laziness and still not do IO on sequencing
02:23:52 <elliott> functions are a kind of boxing, eliminating their actual argument parts and half of their result does not change that
02:24:40 <oerjan> oh well, it's just which trick you use to make the compiler not run IO too early
02:25:18 <elliott> it's not so much too early as not enough in this case...
02:25:20 <elliott> <elliott> data IO a = IO a; instance Monad IO where return = IO; IO a >>= f = a `pseq` f x
02:25:22 <elliott> the problem is that
02:25:25 <elliott> <elliott> x `pseq` f x `pseq` f x `pseq` IO ()
02:25:26 <elliott> can be reduced to
02:25:30 <elliott> x `pseq` f x `pseq` IO ()
02:25:35 <elliott> because CSE, etc.
02:26:19 <oerjan> istr some compiler just did World -> a, essentially
02:26:27 -!- CakeProphet has quit (Quit: Lost terminal).
02:26:52 <elliott> that works but you need a "unique world" primitive
02:27:02 <elliott> which has to be completely unique each time, CSE-wise
02:27:05 <elliott> which is just weird
02:27:15 <elliott> at least the World -> (World, a) model requires no compiler changes to work with CSE :P
02:27:23 <elliott> i mean, in teh deep internals
02:27:36 <elliott> s/teh/the/
02:28:23 <elliott> holy shit jhc uses m4 in its libraries
02:29:26 -!- ive has joined.
02:37:03 -!- Gregor has quit (Quit: Coyote finally caught me).
02:37:45 -!- Gregor has joined.
02:38:48 <elliott> oerjan: man, jhc is so lame, it uses a modified version of ghc's parser
02:38:50 <elliott> so lame???
02:39:25 <elliott> (...not that haskell's syntax is _simple_...)
02:39:51 <elliott> oerjan: I like how Lexer.hs is over half as long as HsParser.ly
02:40:02 <elliott> and mostly full of actual complicated logic ather than the parser
02:41:14 <oerjan> mhm
02:41:26 <elliott> ather
02:41:28 <elliott> good word
02:42:22 <oerjan> prithe, nuncle, whence comest thou ather?
02:45:27 <elliott> oerjan: :))))))000000000000000
02:46:39 <elliott> i guess
02:46:40 <elliott> i should start
02:46:42 <elliott> with a lexer???
02:46:48 <elliott> i am really not sure where to start :badatprogramming:
02:47:11 <elliott> monqy: emphathise mywith my pilght
02:53:40 <elliott> monqy no empasise im sad
02:58:22 <elliott> not even oerjan can mephaithise
03:06:05 <oerjan> phtamiserable
03:06:32 <oerjan> spleing
03:06:57 <elliott> oerjan: emtphaethlaise with me
03:07:11 <oerjan> sorry, i don't do drugs
03:07:19 <elliott> :'(
03:07:25 <elliott> the drugge... of empathy.....
03:07:25 -!- MDude has changed nick to MSleep.
03:08:00 <oerjan> well my projects have halted at the beginning of the lexing stage before
03:10:12 <oerjan> http://www.reddit.com/r/programming/comments/kz98v/your_favorite_language_probably_sucks_at/c2oid71?context=1
03:11:30 <elliott> ais: a person that exists
03:11:45 <oerjan> dun dun dun
03:11:47 * elliott replies
03:12:42 <elliott> "Have you tried VHDL? Because of the built in libraries, it's only as low level as you want it to be? I like the idea of writing software as independent modules with parallel inputs regulated by a clock."
03:12:44 <elliott> lol
03:13:30 <oerjan> poor ais523, having elliott ruin his reddit reputation
03:13:43 <elliott> shut up, I have more karma than him
03:13:54 <elliott> ooh someone vote ais up, he has 127 comment karma
03:16:27 <zzo38> I watched the first five episodes of Kaiji
03:17:04 <monqy> elliott: sorry i was away not being here
03:17:08 <monqy> elliott: too away to
03:17:16 <monqy> elliott: empathinse
03:17:20 <elliott> you mean emtphaethlaise
03:17:24 <monqy> that too
03:18:26 <elliott> monqy: should i write.......lexer first...
03:18:27 <monqy> i would probably.....do things other than the parser....first
03:18:37 <monqy> i'm including lexer in there
03:18:55 <monqy> with the parser
03:18:58 <monqy> in things I wouldn't do first
03:19:35 <elliott> monqy: well i don't know if you can parse haskell while lexing it sanely
03:19:37 <elliott> oerjan might know :P
03:19:39 <elliott> layout and all
03:19:51 <elliott> but i dunno what else i could do without an ast, and writing an ast divorced from a parser sounds REALLY REALLY TEDIOUS
03:20:00 <monqy> :(
03:20:36 <monqy> i gues you could
03:20:38 <monqy> do parsing first
03:20:48 <elliott> i just don't knwo what to do :(
03:21:02 <oerjan> well i hear ghc needs the parser to callback the lexer in order to do layout properly
03:21:04 <monqy> or you could write an ast divorced from a parser or you could write a dummy parser
03:21:22 <oerjan> because of the } insertion rule
03:21:26 <elliott> monqy: ast divorced from a parser sounds really tedious
03:21:31 <elliott> what would a dummy parser even be
03:21:44 <zzo38> I also try to write Haskell parsing program. But it is mostly only lexer, grouping by (){}[] and also splitting by ; and finding name locality (layout is not supported)
03:21:58 <oerjan> elliott: deriving Read
03:22:05 <monqy> hehehehehe
03:22:09 <elliott> oerjan: how would I even use that :P
03:22:18 <zzo38> I make it so that I can make a macro program for Haskell. So if I am not using layout, I don't need to make it to support layout
03:22:38 <oerjan> elliott: add deriving Read to all your data types, then you have your dummy parser
03:22:47 <oerjan> *ast data types
03:22:49 <elliott> oerjan: yes, but how is that useful in any way? :P
03:23:00 <zzo38> (Actually, inside of () and [] they split by , and inside of {} they split by ; is how I do it)
03:23:09 <oerjan> elliott: it allows you to test other things before doing the proper parser?
03:23:23 <monqy> elliott: i dunno you'd make major simplifications like no layout, no infix, etc. when i said dummy i was actually thinking of something even simpler but then i realized that would not be as good of an idea
03:23:28 <elliott> oerjan: why would I even need a Read instance, then?
03:23:33 <oerjan> mind you, a lot of that you can simply do in ghci
03:23:41 <oerjan> elliott: well maybe not
03:24:27 <elliott> anyway, one thousand six hundred lines or so isn't so bad; I don't need any extensions or cruft, and I can maybe unify the lexer and parser
03:24:44 <elliott> (well plus utilities like the lexing and parsing monad it uses but I don't consider them "part of the parser")
03:24:58 <elliott> {-# INLINE happyIn150 #-}
03:24:58 <elliott> happyOut150 :: (HappyAbsSyn ) -> (HsName)
03:24:58 <elliott> happyOut150 x = unsafeCoerce# x
03:24:58 <elliott> {-# INLINE happyOut150 #-}
03:24:58 <elliott> happyIn151 :: (HsName) -> (HappyAbsSyn )
03:24:59 <elliott> happyIn151 x = unsafeCoerce# x
03:25:01 <elliott> {-# INLINE happyIn151 #-}
03:25:03 <elliott> happyOut151 :: (HappyAbsSyn ) -> (HsName)
03:25:05 <elliott> happyOut151 x = unsafeCoerce# x
03:25:07 <elliott> {-# INLINE happyOut151 #-}
03:25:09 <elliott> happyIn152 :: (HsName) -> (HappyAbsSyn )
03:25:11 <elliott> happyIn152 x = unsafeCoerce# x
03:25:13 <elliott> {-# INLINE happyIn152 #-}
03:25:15 <elliott> happyOut152 :: (HappyAbsSyn ) -> (HsName)
03:25:17 <elliott> happyOut152 x = unsafeCoerce# x
03:25:19 <elliott> {-# INLINE happyOut152 #-}
03:25:21 <elliott> happyIn153 :: (HsExp) -> (HappyAbsSyn )
03:25:23 <elliott> happyIn153 x = unsafeCoerce# x
03:25:24 <monqy> good parser
03:25:25 <elliott> {-# INLINE happyIn153 #-}
03:25:27 <elliott> happyOut153 :: (HappyAbsSyn ) -> (HsExp)
03:25:29 <elliott> happyOut153 x = unsafeCoerce# x
03:25:31 <elliott> happy producesgood output
03:25:33 <elliott> s/producesgood/produces good/
03:25:35 <elliott> ohm yogod
03:25:37 <elliott> http://sprunge.us/PNZP
03:25:39 <elliott> what
03:25:41 <elliott> IS THis????
03:25:54 <elliott> wow this is awful
03:25:55 <zzo38> That makes it really messy. The other way is to use Parsec
03:26:10 <oerjan> zzo38: i think records split by , inside {}
03:26:26 <monqy> zzo38: parsec? is that powerful enouygh?
03:27:00 <zzo38> monqy: I think so. It can store state if you need it to, as well.
03:27:20 <elliott> i do not like how cavalier ghc and jhc are aout using language extensions
03:27:26 <zzo38> oerjan: Yes it does.
03:27:32 <elliott> zzo38: i doubt parsec can do layout. at least unmodified.
03:27:33 <monqy> other options: handwritten parser
03:27:35 <elliott> or without massive hacks
03:27:53 <monqy> other other options: make your own TOTALLY RAD parser combinators, use them
03:28:15 <elliott> monqy: I guess when I write my arbitrary-CFG combinator library I will make it use that :P
03:28:22 <zzo38> elliott: You do have a state if you need it, though. You can use the state to keep track of layout.
03:29:00 <elliott> zzo38: well theoretically you can do anything with state just by storing the actual parser to use inside the state...
03:29:10 <elliott> but that doesn't mean it'll be "using" parsec in any meaningful sense
03:30:01 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
03:32:02 <oerjan> well i do think using the state to keep the layout stack is reasonable
03:32:30 <zzo38> oerjan: Yes that is what I meant.
03:32:39 <elliott> oerjan: does that handle the fail-reparse case?
03:32:58 <monqy> tokenprimex looks like a fun function
03:33:03 <oerjan> elliott: it should be nominally possible, at least...
03:33:28 <elliott> fsvo nominally
03:33:30 <elliott> monqy: where.....
03:33:37 <monqy> tokenPrimEx :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> Maybe (SourcePos -> t -> s -> u -> u) -> (t -> Maybe a) -> ParsecT s u m a
03:33:44 <monqy> FunCtion
03:33:52 <elliott> beautaetauetiaetuaieutieatuaeituaietuaietiaeutaieutaeituaeitaueitaetiful...........
03:40:14 -!- lambdabot has joined.
03:40:42 <zzo38> You can make barrier monad act similarly to the state monad by a function like this: flip $ perform (maybe (join (,)) (flip (,))) error (,)
03:41:27 <elliott> do we even need any non-barrier monads......
03:41:46 <oerjan> > let a = 2 + in "test"
03:41:47 <lambdabot> <no location info>: parse error on input `in'
03:42:09 <zzo38> Yes, you do need some. Anyways, barrier monads are not the most efficient, they also lack some things others have.
03:42:34 <oerjan> > let a = 2 + of "test"
03:42:35 <lambdabot> <no location info>: parse error on input `of'
03:42:40 <oerjan> > let a = 2 + 2 of "test"
03:42:41 <lambdabot> <no location info>: parse error on input `of'
03:43:00 <zzo38> The barrier monads are a bit similar to generator functions in JavaScript, actually.
03:43:01 <elliott> oerjan: im scared.....
03:43:12 <oerjan> elliott: wat
03:43:19 <elliott> oerjan: of ur acode.....
03:43:44 <oerjan> elliott: i'm just finding out if ghc ever reveals when it's failing to use the } insertion rule
03:43:57 <elliott> oerjan: does it ever fail?
03:44:19 <oerjan> hm...
03:45:29 <oerjan> well it sometimes gives that possibly incorrect indentation message...
03:45:49 <oerjan> > do "test" let x = 5
03:45:50 <lambdabot> <no location info>: parse error on input `let'
03:46:38 <oerjan> if the let had been one line lower, that _would_ have depended on indentation
03:47:10 <elliott> help
03:47:19 <zzo38> But generator functions in JavaScript cannot have a return value.
03:49:48 <oerjan> it's possible using the state for the layout stack would just "work".
03:50:58 <elliott> oerjan: only one way to find out...
03:51:07 <elliott> oerjan: well edwardk was working on a haskell layout "parser transformer" thing
03:51:10 <elliott> presumably using its state
03:53:36 -!- itidus20 has quit (Ping timeout: 256 seconds).
04:17:23 <oerjan> elliott: i think in order for it to just work, there needs to be at least one sanity condition on your parser structure
04:17:35 <elliott> wat
04:18:00 <cheater> oerjan: watch garret lisi's presentation on TED
04:18:00 <oerjan> if you have do (try a <|> b); virtualRightBrace somewhere
04:18:22 <oerjan> then a must _not_ be able to parse a prefix of something b parses
04:18:23 <elliott> oerjan: become a geologist
04:18:49 <elliott> oerjan: also, would you even need try if a couldn't do that...?
04:19:04 <oerjan> elliott: possibly not.
04:19:26 <oerjan> oh i mean, a whole parse by a must not be a prefix of something b parses
04:19:31 <oerjan> er...
04:20:26 <elliott> cheater: you upgraded your connection i guess if it can handle video now? grats
04:21:10 <cheater> no, i watched it ages ago.
04:21:12 <oerjan> let's say a stops parsing "argle bargle glop glyf" at glop, so a virtual } might be inserted befor glyf
04:21:27 <oerjan> then b must not be able to parse beyond glop
04:21:33 <elliott> oh
04:21:46 <elliott> oerjan: it's that ~surfer dude~ who came up with that ToE that got debunked in about three days
04:21:47 -!- MSleep has quit (Ping timeout: 252 seconds).
04:21:47 <elliott> that lie group thing
04:21:59 <oerjan> elliott: ok
04:22:13 <oerjan> is he talking about that or something else
04:22:17 <cheater> and then he continued working and it didn't
04:22:30 <oerjan> i'm not _very_ interested
04:22:41 <elliott> oerjan: dunno, wouldn't listen to anything he says anyway, unless it seemed exceptinoally interesting
04:23:10 <cheater> oerjan: he shows how he applies E8 sort of logic to elements, you could do the same with values or types in a a language.
04:24:04 <cheater> i think this would be interesting because it's difficult to reasons about operations in E8 without the help of computers
04:24:28 <cheater> AND most languages model some structure in abstract algebra, a lot of such structures are embedded in E8
04:26:18 <cheater> E8 is currently the most complex structure in algebra
04:26:49 <cheater> that is being looked at, at least
04:31:32 <oerjan> i sincerely doubt your second last statement, just on intuition
04:31:48 <Sgeo|web> HOLY FUCK I WAS RIGHT MY PROFESSOR WAS WRONG BUT I WAS STARING AT MY RESULT FROM MY RUBY SCRIPT AND NOT RECOGNIZING IT BECAUSE I GOT THE MATH THAT I DID EARLIER IN CLASS UNDER THE ASSUMPTION THAT I WAS RIGHT WRONG
04:31:51 <oerjan> even with your last one
04:32:19 <elliott> hi Sgeo|web
04:32:37 * oerjan puts Sgeo|web in shouting disease quarantine
04:33:38 <elliott> you don't understand..... it was a holy fuck situation
04:33:42 <Sgeo|web> I wasn't certain that my professor was wrong because I know sometimes things that look independent aren't actually independent and interact in weird and unintuitive ways, and I thought maybe this was one of those times
04:33:55 <oerjan> elliott: like haven't been seen in 2000 years?
04:34:09 <elliott> oerjan: is the joke that jesus... and holy...and.....
04:34:21 <elliott> because doesn't immaculate conception poke... a hole in this joke...
04:34:31 <oerjan> maybe.
04:34:41 <Sgeo|web> Immaculate Conception is Mary being born without sin
04:34:54 <Sgeo|web> Free from original sin, I mean
04:34:57 <oerjan> well, i knew that.
04:35:16 <elliott> yeah but isn't jesus still the dad
04:35:18 <elliott> erm
04:35:19 <elliott> yeah but isn't god still the dad
04:35:32 <elliott> I dunno, I don't remember any fucking being involved
04:35:37 <elliott> at least outside of the astral plane
04:35:43 <elliott> but I'm not so hot on my christian porn theology
04:35:48 <pikhq_> elliott: As traditional Western Christian doctrine holds that Jesus == God, Jesus would still be the dad.
04:35:52 <cheater> oerjan: you doubt that E8 is one of the most complex structures in mathematics?
04:36:00 <Sgeo|web> elliott: I think it's a joke that God had sex with Mary
04:36:03 <elliott> "one of" = ""
04:36:12 <elliott> pikhq_: i don't think the elements of the trinity are considered literally identical are tehy
04:36:17 <elliott> or they wouldn't need names
04:36:21 <elliott> it's that "separate but the same" stuf
04:36:26 <pikhq_> elliott: It's utterly vague.
04:36:32 <elliott> no shit
04:36:32 <oerjan> cheater: s/statement/line/
04:36:42 <cheater> oerjan: well what are you refering to then
04:36:55 <pikhq_> This is what you get when you try to make polytheism consistent with monotheism.
04:37:08 <cheater> oerjan: why not just copy-paste
04:37:11 <oerjan> cheater: i doubt it is the most complex, yes.
04:37:15 <cheater> ok.
04:37:53 <cheater> no, that is incorrect. it is undoubtedly one of the most complex things out there.
04:38:41 <elliott> oerjan has a phd in irc discussion of comepmxepxpelixty.............
04:41:07 <oerjan> elliott: http://www.airshipentertainment.com/growfcomic.php?date=20080608
04:41:17 <elliott> oerjan has a phd in convenient comics to reference in any situation
04:41:27 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
04:41:56 <elliott> perhaps oerjan
04:41:59 <elliott> has every phd....................
04:42:08 <elliott> just a thought
04:44:32 <elliott> oerjan: are you gonna be interesting soon, just gotta schedule things in, don't think i'll get a parser for qhc started today
04:44:41 <oerjan> now if i had a phd in not biting my lip, that would be something
04:45:52 <zzo38> A PhD in not biting your lip?
04:46:11 <oerjan> yes. then i might be able to eat today without hurting myself.
04:46:22 -!- GreaseMonkey has joined.
04:46:41 <zzo38> As far as I know there is no such PhD
04:47:10 <oerjan> as far as i know you have no joke detector.
04:47:37 * pikhq_ grants oerjan a PHILOSOPHIAE DOCTOR in non-lip-biting
04:47:47 <pikhq_> Now to become accreditted.
04:48:03 <elliott> oerjan: i dunno i think zzo38 discovered a fairly fatal flaw in your plan
04:48:17 * oerjan walks to accept the phd, trips over something and breaks his leg
04:48:41 <elliott> rip
04:49:04 <elliott> oerjan: but seriously are you planning to like give the channel a lecture or something or can i go be busy for some hours
04:49:37 <oerjan> i am not planning, no.
04:49:40 <shachaf> elliott: I think "QHC" is taken.
04:49:41 <zzo38> Now you need a PhD in not breaking your leg
04:49:41 * shachaf wonders if elliott will softly and suddenly vanish away again.
04:49:50 <elliott> ah but are you INTENDING
04:50:00 <elliott> shachaf: Probably XHC for all X is taken.
04:50:17 <pikhq_> *All* X?
04:50:19 <oerjan> no.
04:50:23 <elliott> But you only predicted that because I mentioned softly and suddenly vanishing away like seven lines up.
04:50:26 <pikhq_> Even 龍HC?
04:50:29 -!- elliott has quit (Quit: So good guess!).
04:50:53 <shachaf> I think elliott just leaves whenever I'm around nowadays.
04:52:16 <oerjan> so you are secretly elliott, check.
04:52:41 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
04:59:31 -!- hagb4rd has joined.
05:19:28 <zzo38> Each player must, at the beginning, loan any amount of money they choose from 1 million yen up to 10 million yen. The interest is 40% compounded every ten minutes. Each player gets three stars and twelve cards, four each of Rock, Paper, and Scissors. At the end of four hours, anyone with no cards and at least three stars wins.
05:19:39 <zzo38> And you have to pay back your loan.
05:20:28 <zzo38> There is a scoreboard that tells the time remaining, as well as how many of each card are still in the game in total and have not yet been played.
05:21:30 <zzo38> Disposing of cards is not permitted, but you can buy and sell them. You can also buy and sell stars. Normally each game is a bet of one star, but you can bet more than one star, and you can bet money on it too.
05:22:11 <zzo38> You are permitted to pay back your loan as soon as you meet the winning conditions.
05:24:00 <zzo38> You also lose if you are unable to pay back your loan.
05:24:25 <zzo38> Now, do you wish to play this kind of game?
05:26:28 <zzo38> If you attempt to flush your cards down the toilet, or leave them on the floor, you will be disqualified.
05:28:06 <oerjan> "no"
05:29:03 <oerjan> > 0.6 ^ 24
05:29:04 <lambdabot> 4.738381338321614e-6
05:29:31 <fizzie> Here "disqualified" must be some sort of an euphemism for "taken behind the shed and shot".
05:29:33 <oerjan> wait, is this yearly interest
05:29:34 <zzo38> You get an extra 4 million yen for each star above 3 that you have at the end.
05:29:51 <zzo38> fizzie: Yes.
05:29:55 <oerjan> because if it is 10 minute interest it's just insane
05:29:58 <zzo38> oerjan: No. It is 40% for four hours.
05:30:04 <oerjan> oh.
05:33:08 <zzo38> (You get the extra money due to being able to sell the stars to the judges for that amount.)
05:34:33 <zzo38> You also are not allowed to change the amount of the loan after it has started.
05:35:30 <zzo38> Now do you understand?
05:36:32 <fizzie> "Have you ever used money that you can buy something with? Describe in detail where, how, why and name of all persons:" (A question from a form you can use to apply for a free "comrade ticket" to this event, if you have already purchased a ticket. It's a very long form.)
05:38:42 <zzo38> fizzie: Comrade ticket? But you need to already have a ticket? I cannot possibly remember all the things I have ever purchased with money, or the names of the merchants.
05:40:18 <zzo38> What is a comrade ticket anyways?
05:41:03 <pikhq_> A sentient, communist ticket.
05:41:03 <fizzie> It's a ticket you can give to a friend/enemy/hostage/etc.
05:41:45 <zzo38> OK.
05:43:10 <oerjan> i for one welcome our new ticket overlords
05:46:21 -!- esowiki has joined.
05:46:36 -!- esowiki has joined.
05:47:45 -!- esowiki has joined.
05:48:15 -!- esowiki has joined.
05:48:50 -!- esowiki has joined.
05:49:51 -!- esowiki has joined.
05:50:06 -!- esowiki has joined.
05:50:26 -!- esowiki has joined.
05:51:01 -!- esowiki has joined.
05:52:20 -!- esowiki has joined.
05:52:34 -!- glogbot has joined.
05:53:01 <CakeProphet> oh hello.
05:54:11 <CakeProphet> glogbot: how are you?
05:54:55 -!- Gregor has joined.
05:56:19 -!- HackEgo has quit (Ping timeout: 258 seconds).
05:56:30 -!- HackEgo has joined.
05:56:46 <oerjan> Sgeo|web: think about it as the combination of two decks, one with only suits and one with only ranks
05:57:25 <oerjan> chosing A from the second deck and B from the first deck gives the exact same probabilities
05:57:33 <zzo38> pikhq_: I cannot answer in Unicode my IRC client receive but cannot send Unicode
05:57:35 <zzo38> Sorry
05:57:52 <oerjan> and those are of course independent
05:58:30 <oerjan> hm oh.
05:59:11 <oerjan> or perhaps its the pulling out which is the confusion? in which case, shuffle the deck, let A be the top card and B the card under that
05:59:15 <oerjan> *it's
06:00:13 <Sgeo|web> I need to sleep soon
06:00:30 <oerjan> anyway, they are independent
06:01:42 <Sgeo|web> Yeah, that's what I thought.
06:01:55 <Sgeo|web> But wasn't certain until I saw the results from my crappy script
06:02:13 <Sgeo|web> Probably would have been a 1-liner in Haskel
06:02:13 <Sgeo|web> Haskell
06:02:23 <Sgeo|web> Instead of the monster I made it in Ruby
06:06:15 <fizzie> "The Monster in Ruby", the new summer hit movie. Coming soon to a theater near you.
06:06:32 <zzo38> Do you like to play monster character in Ruby? Do you in Emerald?
06:08:27 <Sgeo|web> Sleep time
06:15:23 <Madoka-Kaname> Note to self: Take Bible studies or something. Understanding a religion's holy book better than many believers would be an advantage in arguments...
06:18:20 -!- esowiki has joined.
06:18:40 -!- esowiki has joined.
06:18:48 -!- esowiki has joined.
06:20:04 -!- esowiki has joined.
06:20:55 -!- esowiki has joined.
06:21:03 -!- glogbot has joined.
06:21:21 <CakeProphet> `run units 'pythagoreanthird' 'minorsecond'
06:21:22 <HackEgo> Unknown unit 'minorsecond'
06:21:28 <zzo38> pikhq_: Even if the context is of being metaphorical?
06:21:37 <CakeProphet> `run units 'pythagoreanthird' 'musical fifth'
06:21:46 <HackEgo> Unknown unit 'musical'
06:21:50 <CakeProphet> `run units 'pythagoreanthird' 'musicalfifth'
06:21:52 <HackEgo> ​* 0.84375 \./ 1.1851852
06:22:12 <CakeProphet> `run units 'lightyear' 'beardsecond'
06:22:12 <pikhq_> zzo38: It's quite literal.
06:22:14 <HackEgo> ​* 1.8921461e+24 \./ 5.2850042e-25
06:22:25 <pikhq_> zzo38: It then goes on to note a scheme for substituting sacrifices.
06:22:37 <zzo38> pikhq_: No, I mean metaphorical at a completely different level.
06:22:45 <pikhq_> So, it is permissible to sacrifice a valued goat in favor of a first-born son.
06:22:51 <pikhq_> Erm, in lieu of.
06:22:58 <Madoka-Kaname> pikhq, well, I intend to less argue against the religion itself, and more of the kinds of things people justify with their religion.
06:23:06 <CakeProphet> `run units 'cubicfeat/minute' 'cubiccentimeters/second'
06:23:07 <Madoka-Kaname> i.e. [quote dump] "Yep. Just like Jesus would do"
06:23:11 <HackEgo> Unknown unit 'cubicfeat'
06:23:14 <CakeProphet> `run units 'cubicfeet/minute' 'cubiccentimeters/second'
06:23:16 <HackEgo> Unknown unit 'cubicfeet'
06:23:17 <CakeProphet> >_>
06:23:23 <CakeProphet> sometimes my brain does strange things.
06:23:33 <pikhq_> Madoka-Kaname: Well, for *that* it'd probably be easiest to just read the Gospels.
06:23:48 <CakeProphet> `run units 'feet^3/minute' 'cm^3/second'
06:26:12 <HackEgo> ​* 471.94744 \./ 0.00211888
06:26:13 <pikhq_> Those are at least not mind-numbingly long, terrible, ancient, and boring. Just *fairly* terrible, ancient, and boring.
06:26:13 <CakeProphet> `run units 'feet^3/minute^2' 'cm^3/second^2'
06:26:13 <Madoka-Kaname> =p
06:26:13 <CakeProphet> `run units 'romanfoot' 'foot'
06:26:13 <Madoka-Kaname> CakeProphet, accelerating expansion or something?
06:26:13 <Madoka-Kaname> o.o
06:26:13 <pikhq_> And if you think while reading it, you get all sorts of fun questions. For instance, where was Jesus born?
06:26:13 <zzo38> Some give the example of that God created the light before the sun, as being absurd and wrong, and possibly just metaphorical. I say, even if that is what is meant, that particular example is not a good one because the statement is correct; there can be light!
06:26:13 <CakeProphet> Madoka-Kaname: excellerating wind output on a fan.
06:26:13 <Madoka-Kaname> =p
06:26:13 <zzo38> There are a lot of better examples of things that do in fact more nonsense.
06:26:13 <CakeProphet> derivative.
06:26:13 <Madoka-Kaname> zzo38, well, the big bang was just as silly.
06:26:13 <pikhq_> Near as I can tell, Jesus was born in a superposition of towns.
06:26:13 <CakeProphet> you know what's silly?
06:26:13 -!- Gregor has joined.
06:26:13 <CakeProphet> Copenhagen interpration.
06:26:13 <pikhq_> CakeProphet: Agreed.
06:26:13 <pikhq_> CakeProphet: But "superposition of towns" is funny enough I'm willing to say it anyways.
06:26:13 <HackEgo> ​* 7.8657907 \./ 0.1271328
06:26:13 <HackEgo> ​* 0.97112861 \./ 1.0297297
06:26:13 <CakeProphet> ether
06:26:13 <CakeProphet> was silly
06:26:14 -!- lambdabot has joined.
06:26:20 <CakeProphet> > let fibs = 0 : 1 : zipWith (+) fibs (tails fibs) in fibs
06:26:25 <lambdabot> Occurs check: cannot construct the infinite type: a = [a]
06:26:30 <CakeProphet> > let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs
06:26:33 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
06:26:36 <Madoka-Kaname> zzo38, photons were existing far before stars!
06:26:49 <zzo38> Madoka-Kaname: Yes that is what I meant.
06:27:00 <pikhq_> Madoka-Kaname: Also, the big bang theory isn't silly, it's the clear result of direct observation.
06:27:02 <CakeProphet> I think I'm experiencing organ failure?
06:27:12 <Madoka-Kaname> pikhq_, I know. =p
06:27:22 <pikhq_> https://upload.wikimedia.org/wikipedia/commons/2/2d/WMAP_2010.png Here, have a photo.
06:27:27 <Madoka-Kaname> I was personifying the big bang, not attacking the theory!
06:27:31 <olsner> pikhq_: the sitcom or the actual theory? :P
06:27:36 <pikhq_> olsner: The theory.
06:27:50 <pikhq_> olsner: I'm consistent with capitalisation, generally.
06:28:01 <pikhq_> olsner: I'd say "The Big Bang Theory" in reference to the sticom.
06:28:10 <pikhq_> Sitcom, even.
06:35:56 -!- esowiki has joined.
06:35:59 -!- glogbot has joined.
06:36:00 -!- glogbackup has left.
06:40:23 -!- glogbot has quit (Ping timeout: 252 seconds).
06:40:29 -!- esowiki has joined.
06:40:29 -!- glogbot has joined.
06:41:46 -!- oerjan has quit (Quit: Good night).
06:46:30 -!- esowiki has joined.
06:47:06 -!- esowiki has joined.
06:47:27 -!- esowiki has joined.
06:47:34 -!- glogbot has joined.
06:47:34 -!- glogbackup has left.
06:47:45 <zzo38> Do you need chess board?
06:47:59 -!- HackEgo has quit (Ping timeout: 276 seconds).
06:48:37 <zzo38> Can I somehow make the spells of Icosahedral RPG to form a (mathematical category theory) category?
06:48:45 -!- HackEgo has joined.
06:48:47 -!- Gregor has joined.
06:49:03 <CakeProphet> zzo38: no I was thinking software game.
06:49:31 <zzo38> CakeProphet: Do you need cards anyways, even if the cards is done by computer?
06:50:16 <monqy> oerjan isn't here so i'm going to call it abcdef
06:50:48 <zzo38> Do you know what 88's funny game is?
06:51:53 -!- Zetroid has joined.
06:51:59 <CakeProphet> zzo38: cards could be incorporated somehow?
06:57:26 <zzo38> Use two standard decks, a tarot deck, and a Fanucci deck, all mixed together. And Washizu mahjong tiles. Some of the cards have a magic spell on them, and some of them are torn.
07:14:14 <Vorpal> CakeProphet: what software game?
07:14:42 <Vorpal> <CakeProphet> I think I'm experiencing organ failure? <-- I read this as the musical instrument first.
07:19:36 -!- ive has left.
07:25:41 <fizzie> Fancy Trac is fancy; it noticed the attachment starts with a unified-diff header, and colors it with a pretty diff-viewer.
07:28:35 <CakeProphet> monqy: you combine them to create spells.
07:28:40 <CakeProphet> up to 3 perhaps.
07:30:10 <monqy> hi
07:30:55 <monqy> m is pretty close to z, I guess
07:31:19 <CakeProphet> ...
07:31:33 <fizzie> An 'ad hobbitem' fallacy is when you try to undermine someone's credibility by referring to how hairy his/her feets are.
07:31:56 <Vorpal> fizzie: really?
07:32:02 <fizzie> Vorpal: No, I just made it up.
07:32:20 <Vorpal> ah
07:32:26 <fizzie> But it could be!
07:32:31 <Vorpal> yeah
07:33:01 <fizzie> The search seems to mostly find just something that looks like a Latin translation of LOTR.
07:33:05 <Vorpal> fizzie: in an alternative universe it is a widely accepted word.
07:33:07 <fizzie> "Bilbo undecigesimos primos annos, CXI, actus erit, numerum insuetiore et aetatem respectabilem ad Hobbitem --"
07:33:17 <Vorpal> fizzie: XD
07:34:25 <Vorpal> fizzie: does it say that Bilbo has hairy feet?
07:36:26 <Vorpal> hm why does English use the term eigen in eigenvalues rather than calling it something like "selfvalues"
07:38:11 <Vorpal> or ownvalues, that works too
07:41:26 <fizzie> The Finnish term is translated; "ominaisarvot".
07:42:30 <Vorpal> the Swedish term is translated too: egenvärden
07:42:40 <Vorpal> (note the dropped i)
07:45:06 <fizzie> They do have a term though: "characteristic value".
07:46:24 <Vorpal> hm
07:46:25 <olsner> I think the english imported the concept from a german mathematician, presumably at some time when german was a primary academic language (which would be why they kept the german instead of adopting a new english word)
07:46:40 <Vorpal> ah, makes sense
07:47:05 -!- kmc has joined.
07:52:09 -!- zzo38 has quit (Remote host closed the connection).
07:53:42 <CakeProphet> how many lines of code is GHC?
07:54:50 <CakeProphet> over 100,000 in fact.
07:55:11 <CakeProphet> (...that's a lot of lines for a Haskell program)
07:56:50 <CakeProphet> I would say Haskell's main compiler is Pretty Fucking Excellent(tm)
07:59:25 -!- MichaelBurge has quit (Read error: Connection reset by peer).
08:00:04 -!- MichaelBurge has joined.
08:02:32 <Vorpal> CakeProphet: ghc is written in haskell right? Apart from low level parts of the RTS.
08:03:21 <CakeProphet> yes.
08:03:35 <Vorpal> which was the first haskell compiler?
08:03:48 <Vorpal> or interpreter I guess
08:03:51 <cheater> miranda
08:03:53 <cheater> ?
08:03:56 <cheater> maybe
08:04:13 <cheater> if you're asking what was first used to compile haskell
08:05:14 <monqy> wasn't miranda a language? that would be like answering "what's a popular c compiler" with "c"
08:05:38 <Vorpal> oh cheater talking? I have him on ignore. And yes miranda is a language
08:06:09 <monqy> perhaps I should too
08:06:38 <monqy> I don't like ignoring people because it weirds conversation, but rarely I do it anyway
08:07:02 <Vorpal> yeah it weirds conversations definitely
08:09:53 <cheater> monqy: please ignore me if it'll spare me stupid comments like yours just now about ignoring me to facilitate someone's hatred
08:10:17 <monqy> what?
08:10:25 <CakeProphet> I want to say that the first implementation of the Haskell 98 standard is GHC.
08:10:25 <monqy> it's not about facilitating someone's hatred
08:10:32 <monqy> it's because I don't want to listen to you
08:10:39 <Vorpal> CakeProphet: of haskell, not haskell 98
08:10:49 <Vorpal> oh well, I need to leave, university
08:11:02 <cheater> monqy: oh, moving target fallacy
08:11:07 <cheater> monqy: definitely ignore me then
08:11:13 <monqy> sure thing
08:11:29 <CakeProphet> monqy: I hate you.
08:11:33 <monqy> CakeProphet: what
08:11:37 <CakeProphet> :( :( :(
08:11:40 <monqy> :(
08:11:50 <monqy> are you ignoring cheater too?
08:12:04 <CakeProphet> No I have no reason to really.
08:12:06 <cheater> no CakeProphet is too cool to ignore people
08:12:44 <CakeProphet> cheater: yes this is something I would generally agree with
08:12:57 <CakeProphet> I might ignore derrick or itidus one of these days.
08:13:08 <cheater> i don't really know who they are
08:13:19 <cheater> sometimes i see itidus talking but i've never had a conversation with him
08:13:27 <CakeProphet> some of the few people I don't like reading.
08:13:55 <monqy> I agree w/r/t derrik but itidus is amazing
08:14:32 <CakeProphet> `quote <monqy>.*?I agree
08:14:37 <HackEgo> 682) <monqy> i agree with elliott
08:15:00 <cheater> monqy would agree to everything.
08:15:04 <cheater> he's like that.
08:15:34 <cheater> right now he's agreeing with you and disagreeing with you at the same time, trying to maximize agreement rate
08:15:47 <monqy> hm?
08:16:23 <CakeProphet> uh, yeah I don't do stupid personal shit.
08:16:27 <CakeProphet> no tks
08:16:40 <CakeProphet> #esoteric shouldn't work that way.
08:17:26 <cheater> same reason i told monqy to put me on ignore
08:17:31 <cheater> i just don't need that really
08:36:09 -!- monqy has quit (Quit: hello).
08:56:23 -!- Zetroid has quit (Ping timeout: 255 seconds).
09:16:53 -!- kmc has quit (Quit: Leaving).
09:35:01 -!- kmc has joined.
10:15:01 -!- derdon has joined.
10:19:19 -!- pikhq has joined.
10:19:20 -!- pikhq_ has quit (Ping timeout: 248 seconds).
10:19:50 -!- ais523 has joined.
10:19:57 -!- ais523 has quit (Changing host).
10:19:57 -!- ais523 has joined.
10:21:46 -!- sllide has joined.
10:52:49 <Vorpal> hi
10:53:49 <ais523> hi
11:16:03 -!- GreaseMonkey has quit (Quit: The Other Game).
11:36:13 -!- Phantom_Hoover has joined.
12:43:04 -!- DH____ has quit (Read error: Connection reset by peer).
12:43:08 -!- DHeadshot has joined.
12:49:57 -!- atehwa has set topic: computed jumps... the topic. | Esolang event @ Hel/Finland on 3.10.2011: https://wiki.helsinki.fi/display/lambda/esoteeriset+ohjelmointikielet | god bless haskell america | 12345678!&^ | http://codu.org/logs/_esoteric/.
12:50:14 -!- atehwa has set topic: computed jumps... the topic. | http://codu.org/logs/_esoteric/.
12:50:51 <Phantom_Hoover> atehwa, did anyone show up?
12:51:46 <atehwa> yes :)
12:51:57 <atehwa> about 20 people at the same time, and 30 people total
12:52:13 <atehwa> I took the effort to advertise the event quite broadly
12:52:34 <fizzie> Whoa, that's a lot of people.
12:52:39 <atehwa> yeah, definitely
12:52:49 <atehwa> I'm quite proud
12:53:00 <atehwa> what I'm not so proud about is that I wasn't too well prepared
12:53:21 <Phantom_Hoover> There aren't even that many regulars in the channel.
12:53:22 <atehwa> but the subject is so broad anyway, you couldn't give very detailed treatment of anything
12:53:40 <atehwa> Maybe I should advertise the channel for the participants of the event
12:53:47 <atehwa> I have their email addresses, anyway.
12:54:22 <atehwa> oh and BTW, the material is here: http://members.sange.fi/~atehwa/slides/esoteric
12:58:17 * ais523 looks
13:03:11 -!- boily has quit (Ping timeout: 245 seconds).
13:10:02 -!- kmc has quit (Quit: Leaving).
13:10:40 <Phantom_Hoover> "just a new syntax for Brainfuck,"
13:10:52 <Phantom_Hoover> atehwa, did you cite me as world expert on hating BF derivatives.
13:11:45 <ais523> Phantom_Hoover: Ook! doesn't count, BF derivatives were interesting back then
13:12:03 <ais523> but all the others are hateworthy unless they use the BF structure to demonstrate some language feature that's interesting on its own
13:12:04 <Phantom_Hoover> I have given Ook! pardon already.
13:12:14 <ais523> like BF Joust or PaintFuck
13:13:25 <Phantom_Hoover> "[Unlambda] does not have predefined data types, other than the program source"
13:13:43 <Phantom_Hoover> Hmm, can the .cs be considered a data type?
13:23:37 <atehwa> Phantom_Hoover: I did inform people there about some registrants' dislike towards Brainfuck
13:24:00 <Phantom_Hoover> Oh, no, everyone loves BF.
13:24:09 <Phantom_Hoover> It's the derivatives we detest.
13:26:27 <atehwa> :)
13:27:14 <atehwa> most "designers" of BF derivatives are BF fans
13:27:36 <atehwa> they usually dislike other derivatives, too :)
13:28:00 <atehwa> I don't really understand why we should favour bf over its derivatives, though
13:28:36 <ais523> in general, we shouldn't, it's just that most of the derivatives are much worse than the original
13:28:40 <ais523> they have a tendency to miss the point
13:28:41 <atehwa> If it was a clear standard that gave life to 15 year old programs, I could live with that
13:28:55 <ais523> the best derivatives find a point of their own to hit
13:29:07 <atehwa> ais523: well, then we should probably dislike "bad" bf derivatives, whatever that means for anyone.
13:29:24 <ais523> atehwa: indeed, it's just that around 90% of them are awful
13:29:37 <atehwa> it's like PHP software
13:30:09 <atehwa> "there's no reason why your particular piece of software couldn't be great even if it was written in PHP, it just happens that 90% of stuff written in PHP is crap"
13:31:03 -!- boily has joined.
13:31:09 <atehwa> Phantom_Hoover: .cs?
13:31:22 <atehwa> printing "functions"?
13:31:26 <Phantom_Hoover> Yeah.
13:31:28 -!- copumpkin has joined.
13:32:05 <atehwa> hmm.... the ability to have those functions in program source extends the data model, of course
13:32:37 <atehwa> but IMO they're farther from data types than SKI expressions, because there's no way to inspect them
13:33:31 <atehwa> SKI expressions can be used to build general-purpose data types ("first-class"), whereas printing functions can't
13:34:14 <atehwa> it's a matter of terminology, really.
13:57:43 -!- azaq23 has joined.
13:57:58 -!- azaq23 has quit (Max SendQ exceeded).
13:58:28 -!- azaq23 has joined.
14:07:52 -!- azaq23 has quit (Ping timeout: 256 seconds).
14:09:25 -!- pikhq_ has joined.
14:09:50 -!- pikhq has quit (Ping timeout: 260 seconds).
14:28:55 -!- azaq23 has joined.
14:28:56 -!- augur has quit (Remote host closed the connection).
14:30:33 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:36:55 <Sgeo|web> Ook! is getting a pardon?
14:38:56 <ais523> yes, Ook! gets a pardon
14:39:05 <ais523> it'd be awful if invented for the day, but at the time, it was actually interesting
14:39:11 <ais523> *if invented today
14:41:03 -!- MDude has joined.
14:47:44 <Phantom_Hoover> I love all the people who put their names on their crappy BF derivatives.
14:48:56 <ais523> haha, I suppose if I invent a really really bad BF deriv, elliottfuck might be a good name for it
14:49:07 <ais523> not because elliott makes bad BF derivs
14:49:14 <ais523> but for the joke of trying to shift the blame
14:50:07 <Deewiant> What made Ook! interesting even at the time?
14:50:53 -!- azaq23 has quit (Quit: Leaving.).
14:52:04 <Phantom_Hoover> Deewiant, nothing, it was just a silly joke.
14:52:14 <Phantom_Hoover> The kind that stops being funny the second time it's made.
14:53:56 <Phantom_Hoover> It's now been made at least 6 times.
14:56:12 -!- copumpkin has joined.
14:59:50 -!- augur has joined.
15:01:47 -!- oklopol has quit (Ping timeout: 255 seconds).
15:02:17 <ais523> Deewiant: it was the first language which really had a deliberately useless syntax
15:02:33 <ais523> there had been terse syntaxes before, but not stupid ones
15:03:17 <Deewiant> Doesn't INTERCAL kind of fit that bill? :-P
15:03:32 <ais523> not really
15:03:56 <ais523> it's more a parody syntax than a deliberately useless one, more like LOLCODE than Ook! in that respect
15:04:26 <Sgeo|web> I thought Ook! was just BF with the commands replaced by variations of Ook! So, what syntax?
15:04:28 <Deewiant> I don't think there's a big difference there
15:04:34 <Deewiant> But I kind of see your point
15:05:59 <MDude> All the commands were made to look similar.
15:07:53 -!- hagb4rd has quit (Ping timeout: 248 seconds).
15:42:20 -!- hagb4rd has joined.
15:42:20 <cheater> ais523: what about
15:42:24 <cheater> i.e. whitespace
15:42:29 <cheater> that's impractical
15:42:50 <ais523> that's also quite recent, IIRC
15:43:04 <cheater> i think less recent than ook, or is it?
15:44:33 <cheater> <orbitz> We need a langugae with test-based features
15:44:33 <cheater> That is, you have to pass a test in order to use the feature
15:50:14 <Sgeo|web> I think my language idea of needing to crack a hash to output was going to be a BF derivative because I couldn't imagine a good other structure to use
15:50:23 <Sgeo|web> I don't remember details though
15:50:32 <Sgeo|web> I should get around to actually making that language
16:07:41 -!- monqy has joined.
16:09:41 <Gregor> <elliott> oerjan: "esthetic" is an abominable spelling imho. :( <elliott> it's the common american spelling
16:09:43 <Gregor> No it's not.
16:09:46 <Gregor> Maybe it was 100 years ago.
16:09:58 <Gregor> (Hooray for responding to multi-day-old logs :P )
16:11:18 <Gregor> Of course, I never had a class in "archeology" either ...
16:15:28 <Phantom_Hoover> Did you get lab coats in your department?
16:18:59 <Gregor> Not quite cold enough yet. I'm holding off until people will want to wear them.
16:27:29 -!- augur has quit (Remote host closed the connection).
16:36:35 -!- Ngevd has joined.
16:36:38 <Ngevd> Hello!
16:37:36 -!- kwertii has joined.
16:40:23 <Deewiant> https://secure.wikimedia.org/wikipedia/en/wiki/COMEFROM#Examples "An actual example in INTERCAL would be too difficult to read[citation needed]."
16:40:35 <ais523> heh
16:40:38 <ais523> I am aware of the line
16:40:55 <Deewiant> I think I was too, but not the "[citation needed]"
17:03:27 -!- ais523 has quit (Remote host closed the connection).
17:20:25 -!- Ngevd has quit (Quit: Leaving).
17:26:22 <monqy> Articles in category "Brainfuck derivatives"
17:26:22 <monqy> There are 95 articles in this category.
17:26:25 <monqy> Articles in category "Brainfuck equivalents"
17:26:25 <monqy> There are 13 articles in this category.
17:26:30 <monqy> weeping
17:29:18 <Phantom_Hoover> I blame Sgeo|web.
17:42:24 -!- nooga has joined.
17:51:28 -!- ais523 has joined.
17:52:36 <Vorpal> Phantom_Hoover: did he make many of them?
17:53:18 <Vorpal> monqy: there are actually a few interesting Brainfuck derivatives though
17:53:26 <Vorpal> boolfuck iirc
17:53:52 <monqy> in their place i will substitute the multitude of awful non-brainfuck-derivatives
17:56:42 -!- elliott has joined.
17:57:37 <elliott> CakeProphet: have i mentioned i'm going to replace hackego's units :P
17:58:23 <elliott> 05:36:32: <fizzie> "Have you ever used money that you can buy something with? Describe in detail where, how, why and name of all persons:" (A question from a form you can use to apply for a free "comrade ticket" to this event, if you have already purchased a ticket. It's a very long form.)
17:58:25 <elliott> fizzie: :D
17:58:27 -!- Ngevd has joined.
17:59:17 <Ngevd> Hello
17:59:22 <monqy> hi
17:59:31 <monqy> that is an awful form question
17:59:36 <Ngevd> elliott, how's the idle thinking going?
17:59:37 <elliott> no its the best
17:59:58 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
18:00:12 <elliott> ais523: hi, please delete [[Category:Shameful]], it's an unauthorised category creation
18:00:18 <elliott> Ngevd: at the percolation stage :P
18:00:28 <ais523> elliott: someone created the category page?
18:00:36 <elliott> ais523: as their first (IP) contrib
18:00:51 <elliott> http://esolangs.org/wiki/User:Grouchymaverick
18:00:54 <elliott> this guy sure is a grouchy maverick
18:01:10 <ais523> reason for deletion: unapproved category; missing an in-joke
18:01:44 <elliott> ais523: btw, Aptennap has been waiting for a reply for days now
18:01:49 <elliott> on http://esolangs.org/wiki/User_talk:Aptennap
18:02:03 <elliott> (time for a which-usdr-talk-page-to-reply-on flamewar?)
18:02:06 <elliott> s/usdr/user/
18:02:49 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
18:03:14 <ais523> I replied on his
18:03:17 <ais523> as he replied on his not mine
18:03:26 <ais523> my reply is definitely in the right place; his may not be, but I don't really care
18:03:39 <elliott> yep, I was just wondering which side of THE DEBATE You were on :P
18:04:08 <ais523> elliott: oh, I'm all for splitting conversations, but don't care strongly enough about it to flamewar
18:04:13 <elliott> I wonder how Timwi's CSS-only skin is getting on
18:05:14 -!- boily has quit (Read error: Operation timed out).
18:05:34 <elliott> 08:09:53: <cheater> monqy: please ignore me if it'll spare me stupid comments like yours just now about ignoring me to facilitate someone's hatred
18:05:34 <elliott> Ignoring someone else doesn't prevent them from seeing your comments, so that wouldn't have the effect you desire
18:05:44 <elliott> 08:10:25: <CakeProphet> I want to say that the first implementation of the Haskell 98 standard is GHC.
18:05:44 <elliott> I'm not sure about that
18:05:48 <elliott> well 98 maybe
18:06:34 <cheater> elliott: why are you even replying to things i say?
18:07:15 <elliott> I was clarifying the function of ignores for people in the channel. There are some forty people here that this channel is a conversation with all of.
18:07:41 <cheater> it was obviously yet another quip addressed at me
18:07:49 <elliott> wow, Wikipedia uses google (verb) in articles
18:08:20 <cheater> not only did you show a lack of understanding of what i spoke about but displayed mild stupidity by assuming i don't know how the ignore function works
18:08:32 <cheater> why is that ever interesting for anyone?
18:08:57 <elliott> heh, not only that but it has an /article/ on google (verb)
18:09:23 <MDude> It's probab ly just not worth the hassle ot edit out when people use it.
18:09:31 -!- augur has joined.
18:09:46 <elliott> MDude: it's in the first few paragraphs of [[New York City]], linked to the article on the verb
18:09:52 <fizzie> elliott: It also asks for the length of your submarine in millimetres, as well as "Continue the following sentence: I request to be sent to Siberia for 13 years because:", and also "Are you aware that you will be sentenced to prison camp if you don't answer here 'yes'" in which "yes" does not pass form validation.
18:09:56 <elliott> I'm sure it'd be gone if it wasn't approved of
18:10:13 <elliott> fizzie: So is there any actual possibility of getting a ticket? :p
18:11:53 <elliott> cheater: btw, I don't do personal quips, but I would appreciate it if you stopped making them in here about me, it's quite hypocritical to accuse me of doing it while still doing it yourself
18:12:03 <cheater> ahahah
18:12:07 <cheater> as if.
18:12:28 <elliott> I don't appreciate them in the slightest and I'm sure nobody else does either
18:12:34 <fizzie> elliott: I believe so, but the evaluation criteria are... obscure.
18:12:37 <cheater> there's this thing called self-awareness
18:12:47 <cheater> which you are not displaying
18:12:58 <elliott> so, you're not going to stop, right?
18:13:15 <fizzie> Oh, they also ask for a hand-drawn picture of your passport, and "Best picture gets special prize!"
18:13:21 <cheater> i think you're out on a limb here with your monologue
18:13:34 <Ngevd> .
18:13:40 <Ngevd> .
18:13:41 <Ngevd> .
18:13:49 <Ngevd> THIS IS GETTING TEDIOUS
18:13:56 <elliott> It's not a monologue, it's a simple request for you to stop doing the same shit you accuse me of, but clearly you are not interested in cooperating civilly
18:14:12 <cheater> yeah i'm sort of waiting til elliott figures out no one is interested in his daily attacks at me
18:14:29 <elliott> Ngevd: It's even more tedious when you're on the receiving end, but I'll just take it up where everyone else isn't bothered by it.
18:14:53 <Ngevd> IT'S DOUBLE ENDED
18:15:02 <Ngevd> AS IN, BOTH ENDS RECIEVE
18:15:05 <Ngevd> IT'S ANNOYING
18:15:08 <cheater> yeah
18:15:09 <Ngevd> TO LISTEN TO
18:15:14 <monqy> #esoteric drama
18:15:19 <cheater> i wish elliott wouldn't keep on creating drama every day
18:15:42 <elliott> Ngevd: Which is why I'm taking it up in private, so turn your caps lock off and acknowledge you've been here for about three months out of over a year.
18:15:49 <cheater> notice this started with elliott posting a quote from me, making up some bullshit to make himself look smart and to make me look stupid, and winding it up from there
18:15:49 -!- kwertii has quit (Ping timeout: 260 seconds).
18:15:53 <Ngevd> Yup
18:15:58 <Ngevd> And my caps lock was never on
18:16:03 <MDude> No.
18:16:57 <cheater> Ngevd: btw, do you listen to any music in particular? i wanted to ask you earlier
18:16:59 <MDude> At least, all i noticed was Elliot asking some not-that important thing of you, you takign it personally, and then an endless cycle of NO YOU'RE THE ONE ATTACKING ME.
18:17:04 <Ngevd> cheater, Muse
18:17:11 -!- Phantom_Hoover has joined.
18:17:20 <Ngevd> Occasionally Red Hot Chilli Peppers and Breaking Benjamin
18:17:27 <cheater> MDude: not really.
18:17:46 <cheater> Ngevd: interesting, i never heard of the third one
18:18:00 <Ngevd> They're a not-very-big group
18:18:09 <Ngevd> Quite good
18:18:15 <Ngevd> In my opinion at least
18:18:17 <cheater> so did they break him in the end
18:18:18 <cheater> :p
18:19:13 <Ngevd> They're from the far-off land of Pennsylvania
18:21:00 <Ngevd> And as the lead singer, aptly named Benjamin, has numerous phobias, including flying, they will never perform anywhere I can really see them
18:22:27 <cheater> o
18:22:47 <cheater> what if that's what the band's name is about
18:22:51 <cheater> his phobias
18:22:54 <cheater> and breaking them
18:23:04 <Ngevd> No, that would be their third album
18:23:05 <Ngevd> Phobia
18:23:11 <Ngevd> The band name is about a mic
18:23:19 -!- boily has joined.
18:23:32 <cheater> so elliott i don't see any "private chat", didn't you want to "work it out"? or are you just bothering ais or oerjan again with your troll attempts
18:23:33 -!- kwertii has joined.
18:23:49 <cheater> because really riling me up and then going to tell is just laughable
18:24:23 <cheater> Ngevd: a mic?
18:24:24 <cheater> what mic?
18:24:26 <cheater> interesting
18:24:42 * cheater knows microphones sometimes have very crazy stories
18:24:46 <Ngevd> One at a club they were performing at under a different name
18:25:10 <cheater> one recording engineer who made a classic recording of some sort, multiple platinum, recovered a pair of microphones after decades
18:25:17 <cheater> he had to sell em at some point
18:25:20 <cheater> and now got them back
18:25:28 <ais523> <cheater> so elliott i don't see any "private chat", didn't you want to "work it out"? or are you just bothering ais or oerjan again with your troll attempts <--- what was that line for? it seems to be riling elliott for no good reason
18:26:27 <cheater> ais523: that line was for telling him that it is not socially acceptable to annoy people, and also not acceptable to annoy them as part of a scheme in which you use this in a premeditated show of some sort that is supposed to show those people in a bad light.
18:26:54 <cheater> ais523: apparently he is unaware of those facts, at least according to what i see, OR is aware of them but thinks no one will say a thing and he will get away with it
18:26:56 <ais523> cheater: I just don't see how you can get annoyed by elliott while he's not posting
18:27:10 <cheater> ais523: i got annoyed by him while he was posting
18:27:38 <Phantom_Hoover> cheater, stop stirring shit, it'll explode or something.
18:27:41 <cheater> now i am not *being* annoyed, i just *am* annoyed, but that line was not out of annoyance itself, it was to prevent his silly scheme from succeeding.
18:28:03 <ais523> cheater: do you really think that elliott spends all his time on convoluted schemes to annoy you?
18:28:04 -!- kwertii has quit (Ping timeout: 252 seconds).
18:28:10 <ais523> would there be any point in doing so, among other things?
18:28:12 <cheater> if you look at what i just described, his scheme at least partly depends on no one saying anything in view of his obvious attempts at denigration
18:28:18 <cheater> ais523: yes, i do.
18:28:36 <cheater> ais523: if i didn't, i wouldn't be saying this.
18:28:49 -!- kwertii has joined.
18:29:01 <cheater> ais523: when this whole thing started i wouldn't have ever had a thought like this, but this is now obvious
18:29:09 <cheater> anyways this is not a convoluted scheme
18:29:12 <ais523> cheater: isn't the way you're trying to defend just likely to rile him into annoying you back?
18:29:16 <ais523> it's a mutual recrimination cycle
18:29:17 <cheater> kids in kindergarten know how to do this
18:29:21 <cheater> annoy someone and go tell
18:29:35 <cheater> the *explanation* is convoluted, but not the modus operandi.
18:29:46 <cheater> ais523: no, i am not trying to get him to annoy me again
18:30:04 <ais523> what /are/ you doing, then?
18:30:17 <cheater> ais523: i am trying to show him that his schemes are childish and make no sense, because i'm not stupid enough to be unable to notice what he's doing and call him out on that
18:30:49 <cheater> which in turn means that i can, at least to some extent, defend myself from his attempted manipulations of people here
18:31:09 <ais523> cheater: well, if you /didn't/ call him out, there wouldn't be a problem in the first place, right?
18:31:13 <cheater> it's not the first time he's trying this, not the second, and not the tenth
18:31:16 <ais523> your "defence" is the actual argument
18:31:35 <cheater> ais523: no, it is not.
18:32:01 <cheater> ais523: the argument started with elliott making annoying comments on quotes of things i have said hours ago
18:32:27 <cheater> ais523: it was the start of this behavioral scheme which continued when he said in the channel that he is "taking this private"
18:32:41 <cheater> obviously i have thought he'd try to be constructive and msg me
18:32:50 <monqy> cheater: what manipulations? Honestly, nobody's manipulating me. I have my own opinions. Okay?
18:33:01 <cheater> monqy: weren't you going to ignore me?
18:33:11 <monqy> I did, but then this looked interesting so I unignored you
18:33:18 <cheater> so ignore me again
18:33:21 <monqy> no
18:33:30 <cheater> either way i'm talking with ais, not with you.
18:33:43 <ais523> cheater: err, it's an IRC channel?
18:33:57 <monqy> cheater: so are you going to disregard what I said and only believe your own theories about all of us?
18:34:03 <cheater> ais523: and if i am in a physical room i can too talk to just select people.
18:34:20 <cheater> ais523: or if you are in a dining room with 1000 students are you having a conversation with everyone?
18:34:23 <ais523> cheater: that's what /query is for, right?
18:34:35 <ais523> I don't think I've ever been in a dining room with 1000 students before, so I wouldn't know
18:34:35 <cheater> that's one way to do it
18:35:09 <cheater> consider any other large number
18:35:17 <ais523> but normally, when I'm in a room with, say, ten people
18:35:28 <ais523> there are mini-conversations, but they're fluid
18:35:30 <ais523> people will hear an interesting bit of a conversation they aren't in, and join in
18:35:43 <ais523> IRC works a lot like that except that people tend to be in lots of conversations simultaneously, including in the same channel
18:36:06 <cheater> ais523: anyways, after he didn't msg me, i realized he's "taking it private" by going to complain to someone, like a brat who feels he'll get me into trouble. which he's done before, oerjan told me elliott keeps on complaining about me to him in private, and he was very surprised when i told him (oerjan) that elliott never came to *me* with any issues, that he just keeps insulting me in public instead.
18:36:30 <cheater> this is a classical social strategy and, again, is mostly used by kids.
18:36:33 <Ngevd> I like Haskell's zipWith
18:36:35 <cheater> at some point they grow up.
18:36:53 -!- FireFly has quit (Excess Flood).
18:38:01 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
18:38:14 <cheater> ais523: what's surprising is: why didn't you ask elliott what his original annoying comment was for? you asked me what i made my comment for, why didn't you apply the same behaviour to elliott? is he exempt of responsibility?
18:38:44 <ais523> cheater: I did, he was annoyed at things you'd said in the logs
18:38:55 <ais523> and so the argument continues indefinitely
18:39:11 <cheater> so what?
18:39:20 <cheater> i am annoyed at things he said earlier too
18:39:26 <cheater> but if he's talking i don't call him out
18:39:34 <ais523> so if you keep being annoyed at things the other said earlier indefinitely
18:39:34 -!- FireFly has joined.
18:39:37 <cheater> the only times i talk to him at all are if he starts talking to me
18:39:38 <ais523> then the argument's never going to finish
18:39:40 <cheater> no no
18:39:42 <cheater> look
18:39:48 <cheater> it's obvious
18:39:50 <cheater> he initiated this
18:40:01 <cheater> i hadn't spoken to him for about 24 hours at that time
18:40:07 <cheater> maybe more, maybe less
18:40:07 <Ngevd> Tell me when you've shut up about this. I'll be in #esoteric-minecraft, likely
18:40:10 -!- Ngevd has left ("Leaving").
18:40:11 <ais523> he reads logs
18:40:11 <cheater> but a substantial time
18:40:23 <ais523> so he's going to reply when he reads the comment, not when it happens
18:40:27 <cheater> so what? the thing i said wasn't directed at him or about him
18:40:38 <cheater> when he doesn't talk about me i let him alone too
18:41:20 <cheater> it doesn't change anything when he reads it, it wasn't directed at him or about him, there's nothing related to him in it, if he comments on it then he is initiating contact between me and him again
18:41:23 -!- elliott has left ("I'm with Ngevd").
18:41:25 <cheater> which is unwanted
18:41:35 <cheater> especially when he makes it as unpleasant as he did
18:41:52 <cheater> but even if it's "pleasant" it's still unwanted because i just don't want to talk to him
18:42:16 <cheater> simply because i see him as an unfriendly person
18:42:39 <ais523> aha, I think that's the point of friction; you want to be in the same channels as elliott, so as to talk about the same subjects, /but/ don't want him to be involved in conversations you're involved in
18:42:56 <cheater> no, that is not the point of friction
18:43:11 <cheater> the point of friction here is that he took something i said, and made a stupid, childish remark
18:43:14 -!- pikhq has joined.
18:43:18 <cheater> and that he keeps on doing that
18:43:21 <cheater> this is the point of friction
18:43:33 <ais523> cheater: I'm trying to talk about the whole situation between you and elliott that has been running for weeks, if not months
18:43:40 <cheater> no
18:43:41 <cheater> years
18:43:43 <ais523> not whatever the latest thing that resparked off the argument is
18:43:51 <cheater> not weeks, not months, years
18:43:51 <ais523> you haven't been around for that many years
18:44:13 <cheater> check logs
18:44:15 <cheater> anyways
18:44:23 -!- pikhq_ has quit (Ping timeout: 256 seconds).
18:44:26 <cheater> the latest thing that resparked the argument was that elliott took a quote of me and made a stupid, deprecating comment
18:44:37 <cheater> the thing BEFORE THAT, which was yesterday, was him doing exactly the same thing
18:44:41 <cheater> etc etc
18:44:41 -!- sllide has quit (Quit: Leaving).
18:44:49 <cheater> i seriously don't talk to him or about him at all
18:44:57 <ais523> yes you do, you are right now
18:45:06 <cheater> yes, i was just going to add that:
18:45:10 <cheater> UNLESS he initiates it
18:45:13 <cheater> which he has just now
18:45:25 <cheater> it's really simple
18:45:30 <cheater> i'm passive in this
18:45:32 <ais523> well, each time he does it's a response to you coming up with an argument like this
18:45:35 <cheater> i don't initiate anything
18:45:41 <ais523> and each time you do, it's a response to him getting annoyed at your arguments
18:45:44 <cheater> no, this is a fallacy
18:45:45 <ais523> do you see the problem here?
18:45:46 <cheater> look at what he did
18:45:48 -!- sllide has joined.
18:45:50 <cheater> you are lying
18:45:59 <cheater> <elliott> 08:09:53: <cheater> monqy: please ignore me if it'll spare me stupid comments like yours just now about ignoring me to facilitate someone's hatred
18:46:05 <ais523> he hasn't spoken in here for over half an hour
18:46:08 <cheater> HOW is that a response to something i said to him or about him??
18:46:16 -!- sllide has quit (Read error: Connection reset by peer).
18:46:20 <cheater> tell me
18:46:33 <ais523> cheater: he interpreted it as being about him because there was no other reference
18:46:35 <ais523> who was it about?
18:46:40 -!- sllide has joined.
18:47:06 <cheater> it was about monqy and vorpal. it was 100% clear from context.
18:47:21 <cheater> read the log where i was talking with monqy at that point and you'll see for yourself.
18:47:25 <cheater> nothing to do with elliott.
18:47:27 <monqy> he may have interpreted it as being about him because of the "facilitating someone else's hatred" bit. was I actually facilitating Vorpal's hatred?
18:48:01 <cheater> obviously, because vorpal said he had me on ignore (whether he actually does or not, he's probably just showing off) and told you to ignore me too.
18:48:22 <cheater> and you said you just might.
18:48:33 <monqy> he never told me to ignore you
18:48:34 <cheater> so i said that if you want to facilitate vorpal you can feel free.
18:48:54 <ais523> cheater: hmm... what might help, is when you make comments, don't give elliott a chance to misinterpret them as being about him
18:48:59 <cheater> he has implied it to which you have reacted with an "i might"
18:49:02 <monqy> 08:05:38: <Vorpal> oh cheater talking? I have him on ignore. And yes miranda is a language
18:49:05 <monqy> 08:06:09: <monqy> perhaps I should too
18:49:08 <monqy> 08:06:38: <monqy> I don't like ignoring people because it weirds conversation, but rarely I do it anyway
18:49:11 <monqy> 08:07:02: <Vorpal> yeah it weirds conversations definitely
18:49:13 <monqy> that is what happened
18:49:19 <monqy> he said nothing about "you should do this too"
18:49:32 <cheater> monqy: it was implied.
18:49:39 <monqy> you are jumping to conclusions
18:49:41 <cheater> obviously people want to do what others in the group do
18:49:45 -!- Phantom_Hoover has joined.
18:49:47 <cheater> they.. monkey themselves
18:49:51 <cheater> for lack of better terms
18:49:51 <monqy> ohoho
18:49:59 <Phantom_Hoover> Damn powercuts.
18:50:01 <cheater> and you said that you might too
18:50:04 -!- pumpkin has joined.
18:50:05 <cheater> so, here's that.
18:50:13 <Vorpal> Phantom_Hoover: oops no ups?
18:50:13 <cheater> ais523: the rule is: i never talk about elliott unless i am explicit about it.
18:50:15 <monqy> actually, as I indicated later, it is because I did not want to listen to you. that is the reason for ignoring, no?
18:50:34 <Phantom_Hoover> Vorpal, not much good if the router and modem are connected to the mains.
18:50:35 <ais523> cheater: hmm, shall we put that in the topic so that there can be no misunderstanding?
18:50:42 <Phantom_Hoover> Also FFS you know I have a laptop.
18:50:50 <cheater> ais523: if he thinks i might be talking about him, but i hadn't mentioned his name as identifying him as the object of the conversation, then he is not.
18:50:57 <cheater> ais523: no, better put it in his head
18:51:14 <cheater> because the topic isn't a place for fixing elliott's unwanted behaviour
18:51:29 -!- monqy has left ("sick of this").
18:51:34 <cheater> "ais523: if he thinks i might be talking about him, but i hadn't mentioned his name as identifying him as the object of the conversation, then he is *wrong*."
18:51:39 <Phantom_Hoover> monqyyyyyyyyyyyyyyyyy
18:51:40 <cheater> there, corrected.
18:52:11 <ais523> well, it's more important that the rest of the channel thinks that, so he can't decide you're trying to incite him or something
18:52:17 <cheater> ais523: so to reiterate: i never, ever, initiate contact to elliott in here, and almost never anywhere else.
18:52:37 <Vorpal> Phantom_Hoover: ups on them too?
18:52:45 <cheater> ais523: is what i just said something that you can agree on?
18:52:52 <Vorpal> or on them only since you have a laptop
18:52:53 -!- Phantom_Hoover has left.
18:53:36 -!- copumpkin has quit (Ping timeout: 245 seconds).
18:55:32 <ais523> cheater: do you agree to not make any comments that could even be misinterpreted as being about elliott? otherwise, you might get people annoyed at him even if you don't mean to
18:55:47 <cheater> ais523: i cannot control elliott's interpretations
18:55:56 <cheater> and i refuse to be terrorized by what elliott might think
18:56:02 <ais523> I didn't say elliott's interpretations, I'm talking about other members of the channel
18:56:12 <cheater> the same goes for other people
18:56:30 <cheater> i cannot control X's interpretations
18:56:37 <ais523> yes you can
18:56:41 <cheater> and i refuse to be terrorized by what X might think
18:56:43 <ais523> it's quite easy to say something in a way that can't be misinterpreted
18:56:53 <cheater> that's like asking me to walk backwards on fridays
18:57:01 <ais523> elliott is worried that you'll be making statements that aren't about him in such a way as to manipulate people into thinking they're about him
18:57:19 <cheater> ok let me make it 100% clear
18:57:24 <cheater> i don't care at all about elliott
18:57:28 <pikhq> Whoooo. kernel.org's up.
18:57:52 <ais523> cheater: then just stop responding to him, altogether
18:58:12 <ais523> if you don't even try to defend yourself, then the channel will be able to make up its own minds
18:58:14 <cheater> ais523: no because then he gets to play his games and get me into trouble
18:58:20 <MDude> You are always the first person to respond to his complaints about you.
18:58:37 <ais523> cheater: he can't get you into trouble if you don't respond, right?
18:58:39 <cheater> ais523: people will make their minds up on what someone shouts in their ear
18:58:42 <cheater> ais523: that is wrong
18:58:46 <cheater> i have tried that already
18:58:52 <cheater> i put him on ignore for several months
18:58:55 <ais523> and /did/ you get into trouble?
18:58:57 <cheater> after that time everyone hated me
18:58:58 <cheater> yes.
18:59:04 <cheater> i got kicked out of here.
18:59:17 <ais523> cheater: well, do you think arguing with everything he says will make people hate you less?
18:59:18 <cheater> ignoring a danger does not make it go away.
18:59:35 <cheater> it gives me a chance to highlight bullshit
18:59:53 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
19:00:08 <cheater> which is often needed because often people don't know what's true or don't care enough to find out the final truth of the matter and instead they just accept what is given to them
19:00:28 -!- pumpkin has changed nick to copumpkin.
19:01:09 <ais523> well, the problem is that you've kept up a stream of comments that could be misinterpreted as being about elliott for months/years now, even if they apparently are
19:01:15 <ais523> and he doesn't like the apparent constant barrage of attacks
19:01:22 <cheater> you mean aren't?
19:02:01 <ais523> err, yes
19:02:03 <cheater> look ais, ANYTHING can be taken out of context and made to look like i'm talking about anyone in particular
19:02:13 <cheater> that's not how language works
19:02:26 <cheater> you can't take single sentences and interpret them without context
19:02:56 <cheater> you will without fail be able to conceive any sort of twisted sick stupidity by doing that
19:03:19 <ais523> cheater: so why doesn't elliott do this with anyone else?
19:03:32 <ais523> it's pretty rare for a troll to be out for one person specifically
19:03:39 <ais523> hmm, we should take this to /query, no reason to clog up #esoteric
19:03:48 <fizzie> As I recall it, at least the "responsibility for your pets" line that actually did get you kicked out was very hard to interpret as being about anything else than elliott, given that it explicitly names him, and is (as far as one can tell from it) about things happening completely elsewhere.
19:04:13 <cheater> no ais, it is not
19:04:27 <cheater> fizzie: that was ages ago.
19:04:43 <cheater> fizzie: and again, this was in response to something he did.
19:05:00 <fizzie> That was what got you kicked out, not ignoring him. As far as I know. I'm certainly no expert on the whole debacle.
19:05:02 -!- Sgeo|web has quit (Ping timeout: 252 seconds).
19:06:00 <fizzie> (And I don't want to be, so feel free to continue in query with ais523 if it seems more profitable than on-channel discussion.)
19:09:45 <ais523> OK, can I go invite everyone back now? and can we actually discuss esolangs then?
19:10:55 <fizzie> Regarding the first point, if you are feeling brave, certainly; regarding the second, it might be too much to hope for?
19:11:17 -!- elliott has joined.
19:11:40 <ais523> fizzie: aww, but I like esolangs
19:11:49 -!- Ngevd has joined.
19:11:59 <elliott> Esolangs are shit, man.
19:12:05 <ais523> :(
19:12:07 <fizzie> ais523: You could try throwing out some topics, maybe one of them will (metaphorically) catch fire.
19:12:18 <ais523> fizzie: heh, you just reminded me of Burn
19:12:23 <ais523> I'm sure it can't be /that/ hard to figure out
19:12:36 <Ngevd> I'm publishing a spec for my latest esolang at current
19:12:41 <ais523> (Burn backstory: I wrote an esolang, then forgot how it worked, and all I have is one sample program to try to reconstruct it from)
19:12:46 -!- monqy has joined.
19:13:31 <fizzie> I'm not even sure what the "BG" means in the comment? Background? Blue/green?
19:14:01 <elliott> Burn grade.
19:14:17 <elliott> Baguette gastronomy.
19:14:52 <cheater> fizzie: sorry, i was refering to another time. but that doesn't matter, anyways. there's little reason to talk about this.
19:15:41 <fizzie> ais523: Have you considered some sort of repressed-memory hypnotherapy sort of thing?
19:15:49 <ais523> fizzie: no, I hadn't
19:16:06 <fizzie> I've seen it in webcomics, it worked quite well there.
19:21:51 <ais523> Ngevd: what interesting feature does it have?
19:22:03 <ais523> or is there more than one? (people typically don't waste interesting esolang properties by doubling up on them)
19:22:20 <elliott> Heh, Leonard Nimoy is "retiring".
19:22:42 <elliott> ais523: if it's Brook, then the idea is that the program outputs its own interpreter, which is used to run itself, lazily
19:22:46 <Ngevd> A program can create a stream of characters which is interpreted as per the program's spec
19:22:52 <elliott> presumably with some prefix of an interpreter to start it off
19:23:04 <ais523> heh, a sort of backwards Muriel?
19:23:15 <ais523> tell me it has no other loop construct, and I'll be pleased
19:23:27 <Ngevd> It has a fixed, non conditional loop
19:23:35 <Ngevd> "Pop a number and loop that many times"
19:23:44 <ais523> hmm, I'll give you that
19:23:46 <elliott> that's conditional, sort of
19:23:46 <ais523> I think
19:23:50 -!- tiffany has joined.
19:24:05 <monqy> Ngevd: would you be able to remove it?
19:24:11 <Ngevd> Meaning?
19:24:15 <ais523> it's entropic
19:24:22 <ais523> Ngevd: argument 0 or 1, you have an if
19:24:34 <Ngevd> Hmm, true
19:24:42 <Ngevd> I may make it fixed length at write-time
19:24:44 <fizzie> Speaking of non-textual syntax (yes, yes, I know it wasn't the topic), any existing languages where the "lexical" structure is based on taking an audio file, turning it into a spectro-temporal representation (i.e. spectrogram) with some well-defined parameters, and then having some features in that domain that do things? It sounds like it could work slightly like Fugue/Prelude/Musical-X/(esp.) Velato, except it would give even more freedom to the musician-progr
19:24:44 <fizzie> ammer to make it sound like whatever e wants (assuming "coarse" enough do-a-thing features).
19:24:51 <ais523> so we have, basically, a primitive recursive programming language, that can only become TC by doing a weird interp-loop thing
19:24:55 <ais523> I like the concept
19:25:06 <ais523> fizzie: oh, I'm sure it was the topic /once/
19:25:06 <Ngevd> As in, "17(16^) pushes 16 to the queue 17 times
19:25:50 <ais523> I actually have a different opinion on musical languages; I'd prefer them to sound like interesting and varied music upon compiling arbitrary programs to them
19:26:05 <elliott> fizzie: That sounds almost as useless as SPEECH RECOGNITION.
19:26:09 <ais523> e.g. if you compile Lost Kingdoms to Fugue, it's very repetitive because the huge lists of >>>>>> and <<<<<<< just become scales
19:26:22 <fizzie> ais523: That is obviously a better thing, but it's not quite as trivial.
19:26:23 <Ngevd> I'd hate to see a Screamo
19:26:32 <ais523> it sounds quite nice in the context of hworld.mid, but not in something that does a lot of lefting and righting
19:26:47 <ais523> (I haven't /actually/ compiled Lost Kingdoms to Fugue, but that's what it'd sound like if I did)
19:26:48 <elliott> http://googleblog.blogspot.com/2006/10/do-you-google.html this is still the best blog post ever
19:27:20 <ais523> elliott: I was disappointed when the ksplice security advisory for Bowser's Castle disappeared when Oracle bought them
19:27:26 <cheater> ais523: instead of a simple mapping of "up one note" and "down one note" you need to use phrases, and follow up through them.
19:27:31 <cheater> you need to sequence these phrases.
19:27:35 <elliott> ais523: oh dear, Oracle bought them?
19:27:40 <ais523> elliott: indeed
19:27:42 <elliott> shame
19:27:51 <ais523> that was one of my favourite blog posts ever
19:27:55 <cheater> it's something that was mostly figured out in the 80s in so called "arranger keyboards"
19:28:12 <elliott> ais523: did you know that esolangs.org/w redirects to the wiki?
19:28:15 <elliott> I've saved, like, whole seconds of typing time
19:28:39 <ais523> no, although it doesn't surprise me
19:28:47 <ais523> why don't you just use the Esolang search box in the corner of your browser?
19:29:07 <elliott> :P
19:29:15 <ais523> (sorry, that's a vague attempt at tab=8-style trolling)
19:29:29 <elliott> that was a new one, though, so I don't mind
19:29:33 <ais523> I appreciate that even though I'm correct, trying to prove it to everyone else is a waste of time
19:29:40 <fizzie> Or the "eso" keyword-bookmarklet, or the Esolang search widget in your panel, or the Esolang wiki screensaver (just wait for the article of interest), or ...
19:29:53 <elliott> I should make @ render \t as 9 spaces in absolutely all situations.
19:30:06 <ais523> hey, does anyone know an appropriate channel/webforum/newsgroup for having flamewars about indentation styles?
19:30:06 <elliott> To change that involves delving deep into driver code and messing with bitshifts.
19:30:14 <elliott> ais523: /dev/null
19:30:21 <ais523> as in, people go there fore the purpose of flamewarring with each other?
19:30:31 <ais523> the web really needs a decent index
19:30:44 <ais523> Yahoo used to be that before search engines took off, it was part of the reason it got popular
19:30:59 <elliott> dmoz? :-P
19:31:10 <elliott> Still Waiting for DMOZ? - Try BOTW Business Directory
19:31:10 <elliott> www.botw.org/submit
19:31:10 <elliott> Guaranteed Submission Reviews
19:31:12 <elliott> good ad
19:31:27 <elliott> wtf, dmoz is alexa rank 592
19:31:28 -!- Phantom_Hoover has joined.
19:31:54 <elliott> "After a Slashdot article suggested that Gnuhoo had nothing in common with the spirit of free software,[2] for which the GNU project was known, Richard Stallman and the Free Software Foundation objected to the use of Gnu. So Gnuhoo was changed to NewHoo. Yahoo! then objected to the use of "Hoo" in the name, prompting them to switch the name again."
19:32:01 <elliott> We like your name, apart from the gnu part and the hoo part.
19:32:57 <ais523> elliott: I did think of dmoz
19:32:58 <elliott> ais523: wow, Google Directory is down
19:33:01 <elliott> Google Directory is no longer available.
19:33:01 <elliott> We believe that Web Search is the fastest way to find the information you need on the web.
19:33:01 <elliott> If you prefer to browse a directory of the web, visit the Open Directory Project at dmoz.org
19:33:27 <elliott> here you go, google thinks this is the place to flamewar indentation: http://www.ruby-forum.com/topic/114942
19:33:57 <ais523> yeah, dmoz isn't really clear enough
19:34:00 <ais523> also, Ruby?
19:34:10 <ais523> that actually makes some sort of sense
19:34:11 <elliott> Hey, Web Search is the fastest way to find the information you need on the web.
19:34:13 <elliott> Don't question it.
19:34:25 <elliott> "flame war forum12 up, 3 down
19:34:25 <elliott> A site on the internet where flaming is encouraged for the purpose of entertainment.
19:34:25 <elliott> www.flamewarforum.com
19:34:25 <elliott> Contains information regarding what a flame war is, how to flame, how best to respond to flaming and a guide to forum speak."
19:34:28 <elliott> ais523: Urban Dictionary saves the day again
19:34:36 <elliott> if only it wasn't squatted
19:34:55 <fizzie> I was trying to find an alt.comp.* group for it, but no much luck.
19:35:09 <elliott> alt.comp.eight-space-tabs.die.die.die
19:35:11 <kwertii> people still use newsgroups?
19:35:19 <ais523> I do
19:35:22 <elliott> (Did I get the reference right?)
19:35:33 <ais523> elliott: yes
19:35:39 <Ngevd> I'm debating whether including a global register in Brook that different continuities (As I call them) can all access
19:35:39 <fizzie> Usenet will never die.die.die.
19:35:47 <ais523> I was in a discussion about facts (thus not flamewar) recently, and was planning to turn to Usenet for help
19:35:55 <ais523> but it turned out it had been discussed already
19:35:55 <elliott> Ngevd: that sounds lame, make it harder
19:36:02 <Ngevd> DEAL
19:36:14 <ais523> (the issue in question: is "int main(){return 0;}", technically speaking, strictly conforming C?)
19:36:34 <ais523> (the only bit people think is potentially problematic is main() rather than main(void))
19:36:40 <elliott> ais523: which standard?
19:36:45 <elliott> it's valid C99 and C[eight]9
19:36:49 <elliott> erm
19:36:49 <elliott> well
19:36:50 <elliott> it's valid C99
19:36:55 <ais523> C89 and C99
19:36:55 <elliott> it might not be valid C[eight]9
19:36:56 <elliott> no wait
19:36:59 <elliott> ais523: yes, it's valid
19:37:02 <ais523> see, it's a nontrivial question
19:37:04 <elliott> ais523: () means (void) in definitions
19:37:08 <elliott> in C99, it means (void) in declarations too
19:37:14 <elliott> but in C[eight]9, it means unspecified prototype
19:37:19 <elliott> so yes, it's definitely conforming
19:37:23 <ais523> no, in C99 it doesn't mean (void) in declarations too
19:37:26 <ais523> you're thinking of implicit int
19:37:29 <elliott> err, right
19:37:35 <elliott> but yes, in definitions is always means (void)
19:37:38 -!- boily has quit (Ping timeout: 258 seconds).
19:37:56 <ais523> so anyway, the conclusion was that /if/ it's legal, it means the same thing as the version with void specified, because of the whole declaration-equivalence thing
19:38:06 <ais523> however, apparently there's an accidental miswording in the definition of main
19:38:12 <ais523> which suggests that maybe it isn't after all
19:38:21 <elliott> hmm
19:38:23 <elliott> what miswording?
19:38:31 -!- oerjan has joined.
19:38:45 <ais523> basically, it implies that the prototype of main has to specify the types void, or int+char**, or equivalent
19:38:49 <ais523> and doesn't define "equivalent"
19:38:50 <fizzie> ais523: C99 "It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or ..."
19:39:09 <ais523> fizzie: yep, something like that
19:40:06 <fizzie> The "or equivalent" (based on the placement of semicolons) only applies for the two-argument form, where a footnote says "int can be replaced by a typedef name defined as int, or the type of argv can be written as char ** argv, and so on".
19:40:32 -!- FireFly has quit (Changing host).
19:40:32 -!- FireFly has joined.
19:41:17 <fizzie> N1570 (latest C1x) hasn't changed any of that wording, apparently.
19:41:34 <Ngevd> Now for the most important stage in any esolang creation
19:41:34 <Ngevd> Making sure the name isn't taken already
19:41:39 <ais523> 1570 is latest? good to know the number
19:41:51 <fizzie> I think it is; it's from April.
19:41:56 <ais523> what's likely to change for C1x? I thought C99 did most of the changes people wanted and hadn't really caught on anyway
19:41:59 <fizzie> The latest that I knew of.
19:42:12 <ais523> Ngevd: bleh, just call it Clue
19:42:12 <elliott> C99 caught on pretty well for the successor to C[eight]9
19:42:26 <fizzie> C1x makes some amount of (possibly the least adopted) mandatory C99 features optional.
19:42:30 <ais523> well, I suspect C89 is still used more
19:43:06 <pikhq> Shame, too; C99 adds many conveniences.
19:43:27 <fizzie> And then of course it adds its own features that are already subject of debate; like threading, type-generic expressions and the removal of gets.
19:43:36 <ais523> removal of gets? wow
19:43:51 <ais523> I think I proved it was theoretically possible to use safely, but such uses weren't actually useful
19:43:59 <elliott> ais523: how?
19:44:09 <cheater> fizzie: how do you add removal of gets?
19:44:09 <ais523> elliott: reading back from a temporary file you wrote yourself
19:44:16 <elliott> ais523: someone else could have changed it
19:44:28 <ais523> that'd violate the definitions in the standard, IIRC
19:44:29 <pikhq> Or having stdin rebound to be a pipe from yourself.
19:44:38 <elliott> ais523: oh, you mean of temporary files?
19:44:41 <ais523> pikhq: can't be done in standard C
19:44:47 <ais523> elliott: I think so, not sure, it was a while ago
19:44:48 <pikhq> ais523: No, but it can be done in POSIX.
19:44:55 <ais523> yep, and that's a good way to safe-gets in POSIX
19:44:56 <elliott> ais523: reading a temporary file you wrote yourself is perfectly useful; it lets you prove a hosted C system TC
19:45:05 <ais523> ah right
19:45:07 <ais523> but why use gets?
19:45:12 <fizzie> cheater: At that point of the sentence when gets came up, I didn't quite feel up to rearranging it.
19:45:13 <ais523> it's a bit of a wonky API for that
19:45:15 <pikhq> Legacy only.
19:45:22 <elliott> ais523: well, you said you could use gets safely but it wasn't useful
19:45:28 <ais523> yep, that's what I meant
19:45:30 <elliott> ais523: if your language is somehow naturally line-based memory-wise, why not?
19:45:32 <ais523> in that the API wasn't good for typical use
19:45:46 <ais523> well, you know the length, so just use fread/fwrite
19:45:52 <elliott> you can always just write your own gets a
19:45:54 <elliott> , anyway
19:45:55 * oerjan swats monqy -----###
19:46:07 <elliott> ais523: more code
19:46:10 <elliott> why bother? gets is safe
19:46:22 <cheater> fizzie: oh, i thought you meant "the ability to remove gets"
19:46:30 <Ngevd> Spec online
19:46:37 <cheater> like, there are gets, and then you call a magical function, and then the gets are not there.
19:46:44 <ais523> elliott: similar amount of code, as you don't have to write the \n terminator by hand
19:46:49 <cheater> (what are gets? getters on structs?)
19:46:59 <elliott> ais523: umm, eh?
19:47:06 <fizzie> ais523: They do add a "gets_s" function, which is like fgets() in that it accepts a maximum size for the destination, but like gets() in that it always reads a full line of input, maintaining a one-to-one mapping to input lines and gets_s calls.
19:47:11 <elliott> ais523: oh, you can't use gets to read a file you wrote yourself
19:47:14 <elliott> gets works on stdin
19:47:29 <oerjan> <ais523> Ngevd: bleh, just call it Clue <-- * oerjan swats ais523 for not remembering oklopol [?] has an esolang named that -----###
19:47:33 <ais523> elliott: you redirect stdin; freopen is standard
19:47:37 <elliott> ais523: oh, it is?
19:47:46 <pikhq> Hmm, sure enough.
19:47:47 <elliott> oerjan: whoosh
19:47:47 <ais523> oerjan: you missed the point, there are /two/ esolangs called Clue already
19:47:48 <Ngevd> oerjan, that's the joke
19:47:48 <elliott> oerjan: whoooosh
19:47:50 <elliott> oerjan: WHOOOOOOOOOSH
19:47:52 <elliott> [gale force wind]
19:48:00 <pikhq> You can attach any damned file to stdin.
19:48:14 <ais523> elliott: dup2 is POSIX, freopen is C89
19:48:21 <ais523> either would work for that situation
19:48:38 <elliott> I wonder if you can write tie in pure C89?
19:48:44 <Ngevd> My long-term project Uniquode includes embedded Clue (Keymaker) programs functioning as gotos
19:48:49 <elliott> you just need to loop stdin<->stdout and then call system()
19:49:00 <elliott> so with freopen and a temporary file, perhaps?
19:49:10 <elliott> Ngevd: brook is the best name for it imo
19:49:20 <ais523> elliott: nah, you'd need a pipe, and there's no way to write one in C89
19:49:28 <ais523> you could do it if you also had fork, and simulated a pie by hand
19:49:32 <ais523> *pipe
19:49:37 <ais523> but you don't have fork in C89
19:49:42 <elliott> ais523: hmm, can't you rewind the fd after writing to it?
19:49:47 <elliott> I guess you can't control writes though
19:49:52 <Ngevd> Hehe Brook already is a programming language that isn't esoteric
19:50:00 <elliott> you need, like, a don't-forward-read-pointer-on-write fd
19:50:02 <elliott> Ngevd: doesn't matter
19:50:06 <ais523> Ngevd: esolangs have nameclashed with reallangs before
19:50:07 <Ngevd> A C based language for GPU things
19:50:10 <elliott> Ngevd: we have one called cobol too
19:50:15 <cheater> fizzie: OH, you mean the gets() function, sorry
19:50:21 <cheater> < confused!
19:50:49 * oerjan blows away
19:51:28 <ais523> Ngevd: have you ever seen SystemC?
19:51:46 <ais523> it's possibly the scariest non-eso lang I've ever seen
19:51:50 <ais523> actually, beats all the esolangs too
19:51:51 <cheater> SystemC sounds familiar
19:51:53 <elliott> ais523: please, this is polite company
19:51:57 <cheater> what is it?
19:52:05 <cheater> and why is it scary?
19:52:06 <Phantom_Hoover> SystemC is that LLVM thing, no?
19:52:07 <ais523> its design principle can be summarised as "recreate VHDL with C++ templates"
19:52:16 <cheater> ohhh right
19:52:20 <cheater> i remember
19:52:31 <fizzie> ais523: Incidentally, C1x also adds an exclusive create-and-open mode, so if you open the temporary file as "w+x", you can possibly be more assured it won't change before the gets() call (that has sadly been removed...); it creates the file "with exclusive (also known as non-shared) access to the extent that the underlying system supports exclusive access".
19:52:31 <cheater> it's this kinda XML looking thing right?
19:52:38 <elliott> ais523: I replied to an /r/programming thread you were in :P
19:52:40 <elliott> SORRY MAN
19:53:04 <elliott> (was reminded of it by the VHDL comment)
19:53:06 <ais523> elliott: why is that a sorry? also, which one?
19:53:15 <elliott> http://www.reddit.com/r/programming/comments/kz98v/your_favorite_language_probably_sucks_at/c2onwrv?context=3
19:53:22 <oerjan> to simulate a pie by hand, you must first simulate the universe
19:53:23 <elliott> that's my answer to both questions :P
19:53:46 <cheater> oerjan: haha
19:54:00 <cheater> oerjan: that's funny, did you just come up with that?
19:54:12 <elliott> carl "oerjan" sagan
19:54:40 <ais523> elliott: the funny thing is, that that answer is completely accurate and yet /looks/ like trolling
19:54:46 <elliott> ?
19:54:58 <ais523> elliott: to the question to me on Reddit, IMean
19:54:59 <ais523> *I mean
19:55:16 <elliott> hmm, I see what you mean :P
19:55:33 <elliott> to be fair, my favourite toaster automaton language is Tcl
19:55:55 <elliott> fizzie: also, don't tell him, but I've accidentally adopted the ineiros tab method
19:56:47 -!- boily has joined.
19:57:12 <oerjan> ais523: is that to trolling like an anti-joke is to a joke?
19:57:46 <ais523> oerjan: I don't know
19:58:02 <oerjan> ais523: i should apologize for pointing elliott to that thread, then :P
19:58:26 <fizzie> elliott: Also called "the crazy method".
19:59:02 <elliott> fizzie: Does he take it to the point of intentionally kill -9'ing his browser to spring clean?
19:59:53 <fizzie> elliott: I actually think he cleaned the nesting out one of these days. But I wouldn't put it past him to be at six or so already again.
19:59:59 <elliott> Oh no.
19:59:59 <oerjan> what is ineiros's tab method again
19:59:59 -!- sadhu has joined.
20:00:08 <elliott> Unfortunately with Chrome closing tabs pushes the tabsets away. :p
20:00:20 <elliott> oerjan: Using the "oops, the browser crashed, here's the tabs you had" screen to store tabsets.
20:00:24 <elliott> oerjan: /Nested./
20:00:54 <sadhu> I have started working on the asm-to-bf project
20:00:57 <fizzie> oerjan: Firefox has the "restore tabs" screen; if you ignore it and start piling on new tabs, when it crashes the next time, the "restore tabs" screen has a "restore tabs" screen inside it. And so on. (Do I misremember, or did it actually show it as a tree?)
20:01:24 <sadhu> first i am working on a good bf interpreter now...which dynamically allocates cell
20:01:31 <sadhu> inspired by beef!
20:01:41 <elliott> I think egobfi does that already
20:01:47 <elliott> you might want to look at the esotope BF compiler
20:01:56 <oerjan> elliott: Nested? otherwise i use that when i restart IE (which may be more due to the fact IE has a memory leak bug or something that _requires_ that i restart it before it makes my whole laptop flaky^Hier than usual)
20:02:06 <elliott> it goes the wrong way (BF to C) but conveys are pretty deep understanding of BF's semantics :P
20:02:22 <elliott> oerjan: nested, as in "crashed, here's tabs" pages offering a "crashed, here's tabs" page as one of the ones to reopen
20:02:26 <elliott> which then contains a tabset itself.
20:02:42 <oerjan> elliott: ouch.
20:04:18 -!- kwertii has quit (Quit: kwertii).
20:06:25 <oerjan> alas, IE doesn't afaik offer recursion on that, which has occasionally bitten me when the restart is due to some program wanting an update and a complete reboot before opening its _own_ browser page which i then close before thinking.
20:07:08 <elliott> I'm surprised Firefox does.
20:09:50 <sadhu> elliott:esotope is a great idea but my project will convert assembly like opcodes to brainfuck
20:11:40 -!- ralc has joined.
20:11:43 <elliott> Just offering reading material
20:12:14 <sadhu> elliott:thanks for that...esotope is really state of the art!
20:12:30 <sadhu> i mean the optimization....its awesome!
20:13:04 <fizzie> elliott: Incidentally, the nestedness feature will involve escaping (and double-escaping, and triple-escaping, and so on) in the JSON that's holding the tab information.
20:13:52 <fizzie> elliott: It looks like: ({"windows":[{"tabs":[{"entries":[{"url":"about:sessionrestore","title":"Restore Session","ID":0,"formdata":{"#sessionData":"({\"windows\" ... :\"({\\\"windows\\\": ... :\\\"({\\\\\\\"windows\\\\\\\" ...
20:14:22 <sadhu> is fizzie a bot?
20:14:36 <oerjan> fizzie: that's ... exponential growth
20:14:53 <oerjan> fungot: is your master a bot?
20:14:56 <fizzie> oerjan: Yes, which makes his nesting depth of 8 or 9 or so rather... interesting. I think it finally failed.
20:15:21 <fizzie> fungot: What, are you mute or something?
20:15:21 <fungot> fizzie: these unique items make us invincible!
20:16:06 <oerjan> i didn't think i'd used it that much... i guess no one else has.
20:16:36 <oerjan> oh wait right
20:16:46 <ais523> '''Brook''' is a language created by [[User:Taneb]] in 2011 with the gimmick that the program can produce and immediately execute an infinite length program written in Brook. It is unknown if it is [[Turing-complete]] or not. ==IF YOU ARE [[User:Ehird]], do not read onwards! That means you, elliott!==
20:17:00 <oerjan> i first used it, then pasted the conversation to elliott, which triggered it again
20:17:02 <ais523> Ngevd: wow, I've never seen something like that in a wiki article
20:17:17 <fizzie> I think one of these days it'd be time to add a new ^style again.
20:17:50 <oerjan> fizzie: are there right-wing american radio host transcripts?
20:17:56 <oerjan> just an idea.
20:18:08 <fizzie> oerjan: Are there conservapedia db-dumps?
20:18:14 <oerjan> hm...
20:18:36 <oerjan> i dunno, but that might be even better...
20:19:01 <fizzie> Though the current Wikipedia style is very bad. I tried to use talk pages to make it more conversational, but it's not really all that, and also the formatting removal was pretty weak sauce.
20:21:42 <oerjan> and besides, i just realized fungot's markovization would only make it more sensible.
20:21:42 <fungot> oerjan: the knight spirit has. you came to see it? that glow...!? is that schala's! i see you're dressing...normally again!
20:25:11 <oerjan> `addquote <fizzie dictionary> An 'ad hobbitem' fallacy is when you try to undermine someone's credibility by referring to how hairy his/her feets are.
20:25:16 <HackEgo> 701) <fizzie dictionary> An 'ad hobbitem' fallacy is when you try to undermine someone's credibility by referring to how hairy his/her feets are.
20:27:29 <oerjan> <fizzie> "Bilbo undecigesimos primos annos, CXI, actus erit, numerum insuetiore et aetatem respectabilem ad Hobbitem --"
20:27:31 <sadhu> HackEgo !
20:27:40 <sadhu> how to use HackEgo
20:27:49 <fizzie> oerjan: I make no claims as to the accuracy of that.
20:27:50 <oerjan> that actually says eleventy-first :P
20:29:00 <fizzie> oerjan: Yeah, well, it came via "rivendellworld.proboards.com" and apparently originally from a Geocities page, so...
20:30:27 <oerjan> looks plausible to this amateur, anyway
20:30:59 <fizzie> I'm sure it's at least equally accurate as the rec.arts.books.tolkien/alt.fan.tolkien "free ebook" of LOTR that they published as a response to all the people coming there and asking for a copy of the ebook.
20:35:42 <elliott> back
20:35:57 <elliott> (temporarily)
20:36:29 <elliott> <sadhu> is fizzie a bot?
20:36:31 <elliott> sadhu: yes :)
20:36:41 <fizzie> I NO BOT I SHOW YOU BOT
20:36:42 <elliott> sahre hackego:
20:36:43 <elliott> `help
20:36:43 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
20:36:48 <elliott> erm
20:36:49 <elliott> sadhu: re hackego
20:37:46 <Ngevd> I may try to write a Fibonacci numbers thing in Brook
20:38:22 <sadhu> run echo brainfucked!
20:38:28 <sadhu> `run echo brainfucked!
20:38:30 <HackEgo> brainfucked!
20:38:38 <sadhu> `run cat /etc/fstab
20:38:39 <HackEgo> cat: /etc/fstab: No such file or directory
20:38:51 <sadhu> :D
20:39:12 <fizzie> Are we in for another break-out-of-plash session? (Or is that umlbox already?)
20:39:18 <elliott> umlbox, yes.
20:39:38 <fizzie> Umlbox is the box sort of box.
20:39:43 <fizzie> Eh, best sort of box, I tried to say.
20:39:50 <fizzie> But undoubtedly it's the box sort of box too.
20:41:23 <elliott> fizzie: Can you make a "fungot" style with everything fungot has said over its lifetime?
20:41:24 <fungot> elliott: but cyrus! are you leaving! moon stone?! you dare to defile this place is a mini war zone! this must be the invention. hope it still leaves you hungry! here you are the only one thing we need to defeat you, lavos.
20:41:35 <elliott> Including non-babble.
20:42:20 <fizzie> In theory, sure. I should probably automate some steps in the style-making, though, to experiment more easily with it.
20:42:41 <fizzie> Currently I have to copy-paste at least five commands!
20:44:34 -!- DHeadshot has quit (Read error: Connection reset by peer).
20:44:38 -!- DH____ has joined.
20:45:17 <Ngevd> What do people thing of Brook?
20:48:45 -!- GreaseMonkey has joined.
20:56:15 -!- sadhu has quit (Quit: Grrr......... X-D).
20:56:18 <Ngevd> Brook fibonacci numbers program: I2(1^@O)2^-2(94^@c1^@C)C40^c85^c43^c64^c85^c64^c79^c41^c
20:56:22 -!- hagb4rd has joined.
20:56:26 <CakeProphet> elliott: why are you going to replace units?
20:56:26 <oerjan> 13:13:25: <Phantom_Hoover> "[Unlambda] does not have predefined data types, other than the program source"
20:56:30 <oerjan> 13:13:43: <Phantom_Hoover> Hmm, can the .cs be considered a data type?
20:56:53 <oerjan> i'd say the continuations fit better, although there's a way to simulate them in source
20:57:17 <elliott> unlambda continuatinos are just functions
20:57:34 <Phantom_Hoover> But are they faster than light?
20:58:11 <oerjan> i don't _think_ there is any unlambda value which cannot be written equivalently as source
21:00:54 <oerjan> there is the single last character read, btw.
21:02:13 <oerjan> which is quite hard to reify into a function, because of the lack of something to fit in the last spot of . : | :: ? :
21:02:24 <Ngevd> Goodnight!
21:02:27 -!- Ngevd has quit (Quit: Leaving).
21:06:40 -!- pikhq_ has joined.
21:08:54 -!- pikhq has quit (Ping timeout: 240 seconds).
21:10:09 <CakeProphet> elliott: < CakeProphet> elliott: why are you going to replace units?
21:12:27 <elliott> YOU'LL SEE.
21:14:29 <ineiros> elliott: Have you looked at Firefox's session(re)store file when you have some sessions waiting for you?
21:14:41 <elliott> ineiros: That escaped JSON thing? But I use Chrome. :p
21:14:58 <elliott> With Chrome, it GCs my old tabs by pushing them off the "recently closed tabs" list.
21:15:28 <CakeProphet> elliott: is there something better than units?
21:15:44 <elliott> CakeProphet: I already said YOU'LL SEE. :p
21:16:45 <fizzie> ineiros: I pasted that thing you pasted me.
21:17:55 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:18:00 <ineiros> elliott: I like Chrome's way of forgetting the tabs. And I dislike its way of forgetting pinned tabs (if I open an additional window).
21:18:32 <elliott> I don't see the point of pinned tabs much.
21:18:33 <ineiros> fizzie: Ah, didn't read the whole context. I'm on my N900 and I'm lazy.
21:19:15 <fizzie> ineiros: It might have happened slightly later, I didn't recall the horror immediately.
21:20:33 <ineiros> elliott: Basically I mark the pages I really want to read at some point with that feature.
21:21:25 <elliott> You could use bookmarks. :p
21:22:40 <CakeProphet> elliott: I don't want to see later I want to see NOW
21:22:48 <elliott> CakeProphet: Too bad.
21:22:50 <elliott> I'm busy.
21:23:03 <ineiros> Bookmarks are things I probably will never return to.
21:26:59 <ineiros> I nowadays recognize the limits of time, and like to keep the tabs annoying me until I read or permanently close them.
21:40:12 -!- nooga has quit (Ping timeout: 252 seconds).
21:40:54 <Phantom_Hoover> I have bookmarks I have not read in a year.
21:42:46 <elliott> oerjan: CSE can introduce space leaks, right?
21:43:16 <elliott> because e.g. "case huge x of OK _ -> { long-running code that calculates huge x in one place in a very rare circumstance and throws it away immediately }; _ -> error ..."
21:43:17 <elliott> -->
21:43:34 <elliott> let x' = huge x in case x' of OK _ -> { ha ha, x' is kept around forever in here }; _ -> error ...
21:45:31 <oerjan> elliott: i thought that was the main reason why ghc doesn't do it aggressively
21:45:37 <elliott> right
21:45:45 -!- hagb4rd has quit (Ping timeout: 248 seconds).
21:46:32 <oerjan> Phantom_Hoover: i have bookmarks i have not read in 9 years. admittedly they're on a cd which may or may not be readable any longer.
21:47:04 <oerjan> and in netscape format
21:47:20 <Phantom_Hoover> Bookmarks that I left to read later.
21:48:00 <oerjan> that's what i did with those, too.
21:48:15 <elliott> oerjan: you used netscape? :DD
21:48:20 <elliott> did you switch to IE because it was the hot new thing
21:48:57 <ais523> hmm, TIL that Mac touchpads completely screw up my muscle memory
21:49:06 <oerjan> i switched to IE because my laptop came with windows preinstalled and i am lazy.
21:49:07 <ais523> I was trying to drag via double-tap rather than via pushing unusually hard
21:49:28 <ais523> likewise, trying to scroll with the edge of the touchpad rather than via using two fingers
21:50:21 <elliott> <ais523> I was trying to drag via double-tap rather than via pushing unusually hard
21:50:23 <elliott> that's not how you drag
21:50:35 <ais523> how do you drag, then?
21:50:38 <elliott> you click with thumb and use ... whatever finger comes after thumb ... to move
21:50:44 <ais523> ah, right
21:50:52 <elliott> annoyingly, the linux drivers for this touchpad breaks that
21:50:58 <ais523> pushing unusually hard also works, and is what the Mac owner showed me
21:51:04 <elliott> so I /do/ have to just push unusually hard in practice
21:51:11 <elliott> relatedly: I don't move windows much
21:51:44 <CakeProphet> elliott: what finger comes after your thumb?
21:51:51 <elliott> dunno :D
21:51:51 <ais523> I can't remember why I was dragging; that might have been it
21:51:53 <ais523> CakeProphet: index
21:52:17 <ais523> elliott: but then, I'm the sort of insane person who's used tap-drag while playing Enigma
21:52:47 <oerjan> now for the big question: what comes after index. i am not sure myself.
21:53:06 <elliott> bird finger
21:53:12 <oerjan> ...makes sense.
21:53:17 <elliott> oh, it's literally middle
21:53:18 <elliott> boooooring
21:53:26 <elliott> they should just call them zero one two three and four
21:53:29 <oerjan> i don't believe you, but it does make sense.
21:53:40 <elliott> let's laugh at all those animals without opposable zeroes
21:54:09 <oerjan> you should never laugh at positivity.
21:55:32 <oerjan> oh now i remember, middle finger was the name of that planet in forever war
21:56:37 <oerjan> iirc it was a snub against the rest of humanity that they wouldn't understand
22:01:08 <elliott> Terrible ideas: gch, a Haskell frontend for gcc.
22:01:08 <fizzie> Thumb, index, middle, ring and the pinky a.k.a. "commie" finger.
22:01:26 <elliott> What is it with the tendency of two messages after a long period of silence to coincide almost exactly, timewise?
22:01:33 <elliott> I realise there's selection bias but it happens in one-to-one conversations all the time.
22:01:57 <elliott> <oerjan> synchronicity
22:03:03 -!- ive has joined.
22:05:28 <elliott> "After all, Ada language is used into mission critial software, and Haskell has been influenced by Ada: This can’t be for accident, after all, don’t you believe?"
22:06:50 <ais523> elliott: who wrote that?
22:07:04 <ais523> it sounds like some sort of crazy opposite to zzo38
22:07:51 <elliott> ais523: http://alfredodinapoli.wordpress.com/2011/10/03/book-review-learn-you-a-haskell-for-great-good/
22:08:14 <oerjan> hm _is_ there any ada influence in haskell, i wonder
22:10:49 <ais523> a book review on learn you a haskell?
22:10:52 <ais523> I'm worried, now
22:10:56 <elliott> why?
22:11:10 <ais523> not the existence of a book review
22:11:13 <ais523> but that sentence in a book review
22:12:17 -!- Phantom_Hoover has quit (Quit: Leaving).
22:14:29 -!- Jafet has joined.
22:25:48 <elliott> Aw, Ngevd isn't here.
22:26:46 <oerjan> he has a disturbingly normal sleeping rhythm, there must be something wrong with him.
22:27:24 <elliott> Clearly.
22:28:31 <fizzie> "There's disturbingly little wrong with him, there must be something wrong with him."
22:28:34 <elliott> oerjan: I think I might kick off qhc by just writing a parser for layout-less Haskell; I can then modify the various "brace" parsers to handle it.
22:29:02 <olsner> only mad people sleep when the sane people are still awake
22:29:39 <fizzie> So you're saying it's safe to go to sleep now?
22:30:33 <elliott> olsner: huh i thought oerjan said that
22:30:38 <elliott> it's the kind of thing he would say :P
22:30:46 <fizzie> So did I, initially.
22:30:59 <fizzie> Perhaps they're the same person.
22:31:09 <Vorpal> <fizzie> So did I, initially. <-- same
22:31:10 * elliott tries to figure out where jhc's FrontEnd.HsSyn comes from
22:31:11 <oerjan> we should check.
22:31:34 <Vorpal> are all haskell implementations written primarily in haskell?
22:31:52 <Vorpal> well, all modern ones
22:32:06 <elliott> hugs is in C
22:32:10 <Vorpal> ah
22:32:17 <Vorpal> elliott: was hugs the first one?
22:32:22 <fizzie> oerjan: Three people have thought it was you; by international maritime law, you are now legally obligated to say it.
22:32:25 <elliott> well Hugs derives from Gofer
22:32:29 <Vorpal> aha
22:32:35 <Vorpal> elliott: which one was the first one then?
22:32:41 <elliott> oerjan probably knows what the first actual implementation of Haskell was, but I think it's hard to say
22:32:47 <Vorpal> oh?
22:32:50 <elliott> Haskell was basically a merging of like two or three other languages at the time
22:32:52 <oerjan> i'd have to look it up
22:32:55 <Vorpal> ah
22:33:02 <elliott> so I imagine most implementations simply evolved
22:33:03 <Vorpal> elliott: which ones?
22:33:04 <olsner> you should all just tune your nick colorization better so that me and oerjan get different colors
22:33:05 <elliott> rather than were written from scratch
22:33:18 <elliott> Vorpal: well Miranda for one
22:33:20 <Vorpal> olsner: I don't use that feature
22:33:23 <Vorpal> elliott: what other ones?
22:33:25 <oerjan> my nick colorization is perfectly tuned, everyone is black on white
22:33:37 <elliott> Following the release of Miranda by Research Software Ltd, in 1985, interest in lazy functional languages grew: by 1987, more than a dozen non-strict, purely functional programming languages existed. Of these, Miranda was the most widely used, but was not in the public domain. At the conference on Functional Programming Languages and Computer Architecture (FPCA '87) in Portland, Oregon, a meeting was held during which participants formed a strong
22:33:37 <elliott> consensus that a committee should be formed to define an open standard for such languages. The committee's purpose was to consolidate the existing functional languages into a common one that would serve as a basis for future research in functional-language design.[10]
22:33:47 <elliott> dunno, oerjan probably knows what the first Haskell impl was anyway :-P
22:34:07 <Vorpal> right
22:34:09 <olsner> I wonder how IRC would be if you just removed everone else's nicks entirely
22:34:19 <Vorpal> elliott: he said he would have to look it up above
22:34:23 <elliott> olsner: better and worse
22:34:25 <olsner> it might be like conversing with the hive mind
22:34:25 <fizzie> olsner: IRCnet ircd has a channel mode for that.
22:34:35 <elliott> olsner: you would be more objective in general, but you would waste time reading troll messages
22:35:03 <elliott> "The language is rooted in the observations of Haskell Curry and his intellectual descendants, that "a proof is a program; the formula it proves is a type for the program"." --Wikipedia, on Haskell, being full of shit
22:35:05 <oerjan> i vaguely recall something about "written in ml"
22:36:00 <fizzie> The +a mode on a !channel will rewrite all PRIVMSGs, joins, parts and whatever to appear to come from "anonymous!anonymous@anonymous". It's also irrevocable.
22:36:02 <oerjan> olsner: 4chan?
22:36:18 <Jafet> "* Exception: stack overflow" --Uncyclopedia, reporting the truth about Haskell
22:36:23 -!- Madoka-Kaname has quit (Read error: Connection reset by peer).
22:36:50 <elliott> stack overflows are like, the least common haskell error :P
22:36:56 <olsner> oerjan: oh, right, already invented... meh
22:37:00 <elliott> fizzie: Irrevocable?
22:37:03 <fizzie> We tried the "count consecutive numbers" thing on a +a channel once to attempt to figure out how many people were present, but it just kept going and going.
22:37:06 <elliott> fizzie: So if I were to take over a channel...
22:37:26 <elliott> I like that it still sends joins and parts, though.
22:37:27 <elliott> Very useful.
22:37:34 <fizzie> I seem to recall you need to have the +O flag only the original channel creator gets.
22:38:22 <elliott> fizzie: Re just kept going and going, I imagine people repeated themselves for "the lulz", as they call it. :p
22:38:34 <olsner> or someone quickly built a counting bot or three
22:39:38 * CakeProphet does use "always on top" quite a bit.
22:39:43 <elliott> oerjan: did haskell 98 actually improve anything?
22:39:50 <CakeProphet> I always hate that Windows doesn't have that.
22:40:14 <oerjan> "GHC was begun in January 1989 at the University of Glasgow, as
22:40:14 <oerjan> soon as the initial language design was fixed. The first version of
22:40:14 <oerjan> GHC was written in LML by Kevin Hammond, and was essentially
22:40:16 <oerjan> a new front end to the Chalmers LML compiler."
22:40:22 <elliott> CakeProphet: um yes it does
22:40:24 <elliott> i think
22:40:33 <elliott> Vorpal: there we go then
22:40:44 <elliott> oerjan: I bet LML = Lazy ML
22:40:49 <oerjan> it may not have been the _only_ one then, though...
22:40:54 <fizzie> 4.2.1 of http://www.faqs.org/rfcs/rfc2811.html -- yes, it needs the channel creator privilege on !foo; not on &foo, but it's un-settable there too.
22:40:56 <elliott> in which case it was probably pretty similar to Haskell, and might have even contributed to the design process
22:41:03 <elliott> oerjan: well that's before even the first standard
22:41:04 <oerjan> (http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf section 9.1)
22:41:58 <oerjan> <elliott> oerjan: did haskell 98 actually improve anything? <-- i dunno, i've not learned any previous versions :P
22:42:05 <elliott> " SASL was even used at Burroughs to develop an
22:42:05 <elliott> entire operating system—almost certainly the first exercise of
22:42:05 <elliott> pure, lazy, functional programming “in the large”."
22:42:07 <elliott> heroes :')
22:42:16 <elliott> oerjan: surely you learnt the previous version to be able to contribute to the 98 report :P
22:42:19 <elliott> or did you learn it as it was written
22:42:56 <elliott> "In July 1981, Peter Henderson, John Darlington, and David Turner
22:42:56 <elliott> ran an Advanced Course on Functional Programming and its Applications, in Newcastle (Darlington et al., 1982)."
22:42:58 <elliott> CLEARLY OUR NEWCASTLE
22:44:14 <elliott> oerjan: remember that time a Clean programmer came here?
22:44:23 <elliott> could barely speak a lick of English but still, that's like meeting a giraffe
22:45:01 <Vorpal> <elliott> oerjan: surely you learnt the previous version to be able to contribute to the 98 report :P <-- did he contribute to it?
22:45:11 <elliott> Vorpal: yes, he practically wrote half of it
22:45:18 <Vorpal> elliott: I don't believe that
22:45:47 <Vorpal> elliott: I could have believed that he wrote a paragraph or two in it. :P
22:46:07 <elliott> "In addition, dozens of other people made helpful contributions, some small but many substantial. They are as follows: [...] Orjan Johansen [...]"
22:46:10 <oerjan> elliott: it _may_ be that 98 was the first to have modules, i'm not sure
22:46:14 <elliott> HIS WAS JUST PARTICULARLY SUBSTANTIAL
22:46:22 <Vorpal> elliott: ah
22:46:26 <elliott> oerjan: um i doubt that:
22:46:26 <elliott> Haskell 1.4 report - html (tar + gzip) [125K]
22:46:26 <elliott> Haskell 1.4 report - postscript [230k]
22:46:26 <elliott> Haskell 1.4 library report - html (tar + gzip) [60k]
22:46:26 <elliott> Haskell 1.4 library report - postscript [100K]
22:46:32 <elliott> oerjan: unless "library" meant "huge list of predefined functions"
22:46:38 -!- Madoka-Kaname has joined.
22:46:39 -!- Madoka-Kaname has quit (Changing host).
22:46:39 -!- Madoka-Kaname has joined.
22:46:46 <elliott> yes indeed not
22:46:49 <elliott> module IO (
22:46:51 <elliott> -- The Haskell 1.4 Library Report
22:46:52 <oerjan> ok
22:47:06 <elliott> An implementation is entitled to assume the following laws about these operations:
22:47:06 <elliott> range (l,u) !! index (l,u) i == i -- when i is in range
22:47:06 <elliott> inRange (l,u) i == i `elem` range (l,u)
22:47:08 <elliott> wow
22:47:19 <elliott> Haskell 1.4 implementations were allowed to assume typeclass laws
22:47:38 <elliott> liftM5 :: (Monad m) => (a -> b -> c -> d -> e -> f) ->
22:47:38 <elliott> (m a -> m b -> m c -> m d -> m e -> m f)
22:47:39 <elliott> liftM5 f = \a b c d e -> [f a' b' c' d' e' |
22:47:39 <elliott> a' <- a, b' <- b,
22:47:39 <elliott> c' <- c, d' <- d, e <- e']
22:47:41 <elliott> nice definition :D
22:48:14 <oerjan> <elliott> oerjan: remember that time a Clean programmer came here? <-- i've forgotten :(
22:48:15 <elliott> oerjan: and IO had a Show instance...
22:48:37 <elliott> instance Show (a->b) where
22:48:37 <elliott> showsPrec p f = showString "<<function>>"
22:48:37 <elliott> instance Show (IO a) where
22:48:37 <elliott> showsPrec p f = showString "<<IO action>>"
22:48:40 <Vorpal> heh
22:48:57 <elliott> and of course, it had Void
22:49:03 <Vorpal> elliott: Void?
22:49:06 <Vorpal> wtf was Void in haskell
22:49:07 <elliott> data Void -- No constructor for Void is exported. Import/Export
22:49:07 <elliott> -- lists must use Void instead of Void(..) or Void()
22:49:09 <elliott> the empty type
22:49:12 <Vorpal> ah
22:49:14 <elliott> sadly absent from later standards
22:49:18 <elliott> though implementable
22:49:20 <elliott> newtype Void = Void Void
22:49:47 <oerjan> <elliott> Haskell 1.4 implementations were allowed to assume typeclass laws <-- i vaguely recall that is _still_ the case, it would just be insane to do so if you want any useful sandboxing
22:49:59 <elliott> ais523: what's the command to get the patched source directory of a package on debian again?
22:50:03 <elliott> oerjan: yikes (sandboxing how?)
22:50:23 <Vorpal> elliott: apt-get source iirc?
22:50:36 <Vorpal> elliott: I think that extracts it and applies patches
22:50:41 <Vorpal> though not for everything maybe
22:50:50 <elliott> thanks
22:51:00 <Vorpal> elliott: seems to depend on /how/ the patches are done
22:51:20 <Vorpal> elliott: I swear there are as many package management systems for debian as there are packages...
22:51:35 <elliott> it seems to just unpack the debian/ directory here
22:51:40 <elliott> I guess it wants me to run the svn command
22:51:51 <Vorpal> elliott: oh right, it might have patches inside debian/
22:52:11 <Vorpal> elliott: that are applied later
22:52:16 <fizzie> It's possible to patch things from withing the debian/rules thing, yes.
22:52:21 <ais523> elliott: apt-get source
22:52:25 <oerjan> elliott: like with safe haskell... if you can write instances that cause segfaults because the implementation assumes things about them, you've got trouble. i recall arrays used to have such a problem in ghc.
22:52:36 <ais523> it downloads the original and the patch and then applies one to the other, leaving the original original there
22:52:51 <elliott> oerjan: ah. I was just thinking about simplifications of expressions.
22:53:10 <elliott> ais523: so I'm meant to manually extract the orig tarball it gives, right?
22:53:18 <elliott> it says
22:53:20 <elliott> dpkg-source: info: extracting gcj-4.5 in gcj-4.5-4.5.3
22:53:20 <elliott> dpkg-source: info: unpacking gcj-4.5_4.5.3.orig.tar.gz
22:53:20 <elliott> dpkg-source: info: applying gcj-4.5_4.5.3-9ubuntu1.diff.gz
22:53:20 <elliott> but
22:53:21 <ais523> elliott: no, it creates adirectory
22:53:23 <elliott> $ l
22:53:24 <elliott> debian/
22:53:24 <ais523> *a directory
22:53:28 <elliott> in the appropriately-named directory
22:53:35 <ais523> in that case, that's the only thing that's there
22:53:35 <Vorpal> elliott: ... no?
22:53:41 <Vorpal> hm
22:53:43 <elliott> ais523: odd
22:53:48 <elliott> it does say
22:53:50 <elliott> NOTICE: 'gcj-4.5' packaging is maintained in the 'Svn' version control system at:
22:53:50 <elliott> svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.5
22:53:51 <ais523> and that that gcj package is just a wrapper
22:53:52 <elliott> when i run apt-get sourec
22:53:56 <elliott> source
22:54:01 <Vorpal> ais523: ah of course
22:54:01 <elliott> ais523: oh, hmm, there's a similar package ending -source
22:54:15 <elliott> elliott@katia:~$ apt-get source gcj-4.5-source
22:54:15 <elliott> source source source
22:54:19 <elliott> oh, nope
22:54:21 <Vorpal> elliott: why gcj though?
22:54:23 <elliott> it downloaded the same package
22:54:25 <ais523> packages that are -source are generally installed not downloaded
22:54:27 <elliott> Vorpal: I need to compile it
22:54:30 <ais523> into /usr/src
22:54:36 <Vorpal> elliott: I mean, who uses gcj?
22:54:45 <elliott> ais523: oh, probably I should download the gcc package instead
22:54:54 <ais523> heh, right
22:55:06 <ais523> and libgcj, presumably, if there is one
22:55:09 <Vorpal> elliott: it is probably part of gcc yes and just generated as part of building the entire gcc toolchain with everything
22:55:09 <fizzie> dpkg-buildpackage should probably take care of compiling apt-get source'd things.
22:55:19 <elliott> ais523: hmm, I might only have to build libgcj, actually
22:55:22 <elliott> fizzie: I want to change configure opts
22:55:41 <elliott> Picking 'gcj-4.6' as source package instead of 'libgcj12'
22:55:44 <elliott> oh for /god's sake/
22:55:59 <oerjan> "GHC proper was begun in the autumn of 1989, by a team consisting
22:55:59 <oerjan> initially of Cordelia Hall, Will Partain, and Peyton Jones. It
22:55:59 <oerjan> was designed from the ground up as a complete implementation of
22:55:59 <oerjan> Haskell in Haskell, bootstrapped via the prototype compiler. The
22:55:59 <oerjan> only part that was shared with the prototype was the parser, which
22:56:01 <Vorpal> elliott: debian/ubuntu is a PITA to modify packages on. That thing is much easier on arch. Not a zillion different systems like on debian
22:56:02 <oerjan> at that stage was still written in Yacc and C. The first beta release
22:56:04 <oerjan> was on 1 April 1991 (the date was no accident), but it was another
22:56:07 <oerjan> 18 months before the first full release (version 0.10) was made in
22:56:09 <oerjan> December 1992. This version of GHC already supported several
22:56:12 <oerjan> extensions to Haskell: monadic I/O (which only made it officially
22:56:14 <oerjan> into Haskell in 1996), [...]
22:56:19 <elliott> <oerjan> was on 1 April 1991 (the date was no accident), but it was another
22:56:19 <elliott> :D
22:56:22 <fizzie> That just means "libgcj12" is generated from that source package. They do generate multiple binary ones.
22:56:24 <elliott> interhaskell
22:56:30 <elliott> fizzie: yes, but there's /no source/ in the directory :P
22:56:50 <elliott> rules rules.d/ rules.patch rules.unpack
22:56:50 <elliott> rules2 rules.defs rules.sonames runcheck.sh
22:56:50 <elliott> rules.conf rules.parameters rules.source
22:56:52 <Vorpal> elliott: that is because it is generated from a different package.
22:56:54 <elliott> ooh, it's like the lottery
22:56:59 -!- CakeProphet has quit (Ping timeout: 255 seconds).
22:57:11 <Jafet> Pick a briefcase
22:57:27 <Vorpal> elliott: I suspect all of these are somehow generated from the gcc package or such
22:57:37 <elliott> well there's stuff in the debian/ directory
22:57:50 <Vorpal> elliott: hm
22:57:55 <Vorpal> which is strange
22:57:58 <elliott> good lord, can I pay someone to build me a libgcj? :-P
22:58:17 <Vorpal> elliott: you discovered the horror of debian package building
22:58:24 <elliott> i don't even need it from debian
22:58:31 <elliott> just the standard gcc tarballs won't build it here
22:58:35 <Vorpal> elliott: oh?
22:58:36 <elliott> they fail on some weird issue
22:58:39 <Vorpal> weird
22:58:45 <Vorpal> elliott: why do you need gcj though
22:58:48 <elliott> something about bits/blah.h :P
22:58:52 <elliott> Vorpal: because I need it
22:59:02 <Vorpal> elliott: for what?
22:59:12 <elliott> compiling java programs
22:59:21 <Vorpal> elliott: and bits/* is generally internal glibc helper headers.
22:59:29 <Vorpal> anyone including that directly should be shot
22:59:32 <elliott> yes, that's why I gave up on it
22:59:35 <elliott> Vorpal: gcc does that kind of shit all the time
22:59:46 <elliott> Vorpal: to be fair, it has to know executable format and the like
22:59:51 <Vorpal> elliott: use openjdk for java programs?
23:00:00 <elliott> no, I need gcj
23:00:01 <fizzie> elliott: Just "dpkg-buildpackage -b" it and see what happens? At least on Ubuntu it wants gcc-4.5-source as a build-dependency, maybe it picks the source from there.
23:00:04 <ais523> bits/* is mostly platform definitions
23:00:07 <Vorpal> elliott: yes but still, what if it isn't gnu libc?
23:00:13 <Vorpal> elliott: then there might be no bits/
23:00:14 -!- Jafet has quit (Quit: Leaving.).
23:00:17 <elliott> fizzie: That will build it with the standard options.
23:00:19 <ais523> as in, say, the list of errnos directly from the kernel
23:00:24 <elliott> fizzie: Like I said, I need to change them, although there's so many I'm not sure which.
23:00:24 <ais523> and the actual header files are wrappers around them
23:00:58 <fizzie> elliott: You can edit the control files; but at least it will get you the source from somewhere, or list it as a missing build dependency.
23:01:05 * elliott elliott@katia:~$ apt-get source gcc-4.6
23:01:43 <elliott> Have I mentioned how simple Kittens' package files are? :p
23:02:19 <elliott> s/s'/'s/
23:02:42 <elliott> elliott@katia:~/gcc-4.6-4.6.1$ l
23:02:42 <elliott> debian/ gcc-4.6.1.tar.xz
23:02:45 <elliott> Vorpal: um...
23:02:52 * elliott shrugs, tar xfs it
23:02:56 <Vorpal> elliott: this would be trivial to figure out on arch. Sure there is the split package thing, but it is trivially obvious to understand it. Just a single PKGBUILD file with a few extra functions that define which files go in which binary package
23:03:30 <elliott> http://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gcc
23:03:31 <elliott> http://projects.archlinux.org/svntogit/packages.git/tree/trunk/gcc.install?h=packages/gcc
23:03:31 <fizzie> I'd probably just edit the debian/ metafiles to twiddle whatever attributes I wanted in there, and then dpkg-buildpackage it; assuming I wanted an "otherwise compatible but slightly tweaked" build.
23:03:34 <elliott> http://projects.archlinux.org/svntogit/packages.git/tree/trunk/gcc-libs.install?h=packages/gcc
23:03:37 <elliott> Not exactly what I would call simple.
23:03:50 <elliott> fizzie: If only I knew exactly which bits I needed to flip.
23:03:55 -!- CakeProphet has joined.
23:03:55 -!- CakeProphet has quit (Changing host).
23:03:55 -!- CakeProphet has joined.
23:03:56 <Vorpal> elliott: the .install things run when installing the binary package
23:04:04 <Vorpal> elliott: so you need one for each binary package
23:04:19 <elliott> Doesn't mean it's quite the perfect paradise of simplicity.
23:04:20 <fizzie> Manually trying to compile it would probably lead to a not very debianized result. But w/e.
23:04:32 <elliott> I especially like those undocumented options to configure.
23:04:33 <Vorpal> elliott: no it could be simpler. But it is WAY simpler than debian :P
23:04:48 <elliott> fizzie: I don't care how Debianised it is, I just want it to work :P
23:05:08 <elliott> Holy shit, the Debian diff to gcc is THIRTY SIX MEGABYTES uncompressed.
23:05:13 <elliott> THIRTY
23:05:14 <Vorpal> elliott: the key is that you have pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') as an array as opposed a single variable
23:05:14 <elliott> SIX
23:05:15 <elliott> MEGABYTES
23:05:25 <Vorpal> elliott: then you have separate package_foo
23:05:32 <elliott> Vorpal: THIRTY
23:05:33 <elliott> SIX
23:05:34 <elliott> MEGABYTES
23:05:40 <Vorpal> elliott: well, that is debian for you
23:05:58 <fizzie> If you want to install it as a system thing, it should probably be built according to Debian rules. If not, why do you need the Debian-specific patches on it instead of using the original sources?
23:06:04 <elliott> It is
23:06:07 <elliott> one zero four six six seven one
23:06:08 <elliott> lines long.
23:06:15 <elliott> fizzie: Because the original sources don't: built.
23:06:27 <elliott> fizzie: http://www.linux-archive.org/debian-gcc/569731-bug-639752-gcc-4-5-ftbfs-usr-include-features-h-323-26-fatal-error-bits-predefs-h-no-such-file-directory.html
23:06:32 <elliott> I applied the patch there but it didn't help.
23:06:38 <Vorpal> elliott: again look at arch! two patch files, less than 200 lines in total
23:06:38 <elliott> But it's the same
23:06:39 <Vorpal> :P
23:06:40 <elliott> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such
23:06:40 <elliott> file or directory
23:06:41 <elliott> error.
23:06:45 -!- sllide has quit (Ping timeout: 256 seconds).
23:06:46 -!- variable has quit (Quit: I found a 1 /dev/zero).
23:06:56 <Vorpal> elliott: wait a second, features.h included it, not gcc directly
23:07:05 <Vorpal> elliott: your system, it might be screwed
23:07:08 <elliott> Vorpal: No.
23:07:10 <elliott> It's a gcc bug.
23:07:14 <elliott> Thus why there's a gcc patch.
23:07:19 <elliott> It's bootstrapping header location bullshit.
23:07:22 <Vorpal> oh
23:07:28 <elliott> You wouldn't think this matters because it's java.
23:07:32 <Vorpal> I don't have any /usr/include/bits/predefs.h either btw
23:07:36 <elliott> BUT YOU'D BE WRONG BECAUSE YOU CAN'T BUILD GCJ WITHOUT --ENABLE-LANGUAGES=C++ TOO
23:07:37 <Vorpal> elliott: so apply the patch in question?
23:07:42 <Vorpal> elliott: XD
23:07:44 <elliott> Vorpal: <elliott> I applied the patch there but it didn't help.
23:07:49 <Vorpal> oh
23:07:54 <Vorpal> elliott: apply all 36 MB?
23:08:04 <elliott> Vorpal: It creates a huge debian/ and does nothing else.
23:08:19 <Vorpal> elliott: that debian will contain all the patch files
23:08:28 <elliott> You might think I'm not being serious with my Kitten jabs but good god Debian is driving me to it.
23:08:29 <Vorpal> which will be applied from rules or rules.something
23:08:35 <fizzie> I'm not entirely sure you will get the patched sources to build manually either, without following the debian/rules procedure.
23:08:38 -!- copumpkin has joined.
23:08:49 <Vorpal> fizzie: there is that too
23:08:53 <elliott> fizzie: I know what I'll do, I'll just build a slightly older gcc. I think before they did multilib.
23:09:00 <elliott> ISTR it failed in some multilib shit.
23:09:08 -!- variable has joined.
23:09:08 <elliott> GCC 4.4.6. Yes, that sounds reassuring.
23:09:22 <fizzie> Especially considering it's gcc, of all things. It's not exactly the simplest of programs to build.
23:09:47 <elliott> It's not hard to build when it works, people just make it hard :P
23:09:49 <Vorpal> oh kernel.org is up again
23:09:50 <Vorpal> yay
23:10:01 <elliott> Vorpal: You visit kernel.org regularly?
23:10:34 <elliott> I wonder what http://projects.archlinux.org/svntogit/packages.git/tree/trunk/gcc_pure64.patch?h=packages/gcc does.
23:10:44 <elliott> Is it just to use /lib instead of /lib64 on 64-bit systems?
23:11:00 <Vorpal> elliott: I think so. Arch doesn't do multilib anyway (yes that is a pain)
23:11:05 <elliott> "gcc-4.2.0.orig" I thought Arch were ahead of the times.
23:11:07 <Vorpal> well not proper multilib
23:11:09 <Vorpal> not for building
23:11:11 <Vorpal> just for using
23:11:32 <Vorpal> elliott: I have gcc 4.6.1 here
23:11:36 <elliott> Hmm, weird, they still use that diff.
23:11:38 <Vorpal> elliott: maybe they apply it with -p1
23:11:42 <elliott> I guess it just hasn't broken yet.
23:12:18 <oerjan> "The prelude code was also remarkably un-buggy for code
23:12:18 <oerjan> that had never been compiled (or even type checked) before hbc
23:12:20 <oerjan> came along."
23:12:34 <elliott> heh
23:12:39 <oerjan> it would appear that hbc may have been the first compiler to reach a usable state
23:12:51 <oerjan> while it was not _started_ first
23:13:15 <elliott> ./configure --enable-languages=java --disable-bootstrap --prefix=/opt/gcj --disable-shared --disable-multilib
23:13:23 <oerjan> “During the spring of 1990 I was eagerly awaiting the first Haskell
23:13:23 * elliott backports that to this gcc.
23:13:23 <oerjan> compiler, it was supposed to come from Glasgow and be based
23:13:23 <oerjan> on the LML compiler. And I waited and waited. After talking to
23:13:23 <oerjan> Glasgow people at the LISP& Functional Programming conference
23:13:23 <oerjan> in Nice in late June of 1990 Staffan Truv´e and I decided that instead
23:13:26 <oerjan> of waiting even longer we would write our own Haskell compiler
23:13:28 <oerjan> based on the LML compiler.
23:13:31 <oerjan> “For various reasons Truv´e couldn’t help in the coding of the
23:13:33 <oerjan> compiler, so I ended up spending most of July and August coding,
23:13:35 <elliott> Oh, I think I need --enable-libgcj too.
23:13:36 <oerjan> sometimes in an almost trance-like state; my head filled with
23:13:38 <oerjan> Haskell to the brim. At the end of August I had a mostly complete
23:13:41 <oerjan> implementation of Haskell. I decided that hbc would be a
23:13:49 <oerjan> cool name for the compiler since it is Haskell Curry’s initials. (I
23:13:49 <oerjan> later learnt that this is the name the Glasgow people wanted for
23:13:50 <oerjan> their compiler too. But first come, first served.)
23:14:09 <elliott> elliott@katia:~/Downloads/gcc-4.4.6$ ./configure --enable-languages=java --disable-bootstrap --enable-static --disable-shared --prefix=/opt/gcj --enable-libgcj
23:14:12 <elliott> oerjan: /me reads
23:14:19 <oerjan> (written by augustss)
23:14:26 <elliott> what a surprise :P
23:14:48 <elliott> heh, did the glasgow people want to call it hbc after Curry too?
23:15:05 <oerjan> so it says
23:15:43 -!- augur has quit (Remote host closed the connection).
23:15:46 <elliott> well no it just says they wanted hbc
23:15:56 <elliott> ../.././gcc/gcov.c:1103:6: warning: jump skips variable initialization [-Wjump-misses-init]
23:15:56 <elliott> ../.././gcc/gcov.c:1094:6: note: label ‘mismatch’ defined here
23:15:57 <elliott> ../.././gcc/gcov.c:1069:26: note: ‘fn_n’ declared here
23:15:57 <elliott> ../.././gcc/gcov.c:1103:6: warning: jump skips variable initialization [-Wjump-misses-init]
23:15:57 <elliott> ../.././gcc/gcov.c:1094:6: note: label ‘mismatch’ defined here
23:15:57 <elliott> ../.././gcc/gcov.c:1068:13: note: ‘ident’ declared here
23:15:59 <elliott> im scared
23:16:18 <Vorpal> elliott: false positive perhaps
23:16:31 <elliott> does anyone ever fix warnings in gcc? I somehow doubt it
23:16:36 <elliott> there's millions
23:16:56 <Vorpal> elliott: might be because you are building using a newer gcc version?
23:17:08 <elliott> might be, but gcc always generates tons of warnings :P
23:17:16 <Vorpal> hm true
23:17:23 <Vorpal> I don't compile it very often
23:17:34 <elliott> ../.././gcc/function.h:140:34: warning: using ‘call_site_record’ as both a typedef and a tag is invalid in C++ [-Wc++-compat]
23:17:40 <elliott> ah yes, I forgot they're letting C++ into gcc.
23:18:48 <CakeProphet> what why.
23:18:49 <CakeProphet> no.
23:18:50 <CakeProphet> bad.
23:19:38 -!- ais523 has quit (Remote host closed the connection).
23:21:35 <Vorpal> old news
23:21:35 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:83: error: storage class specified for parameter ‘warn_psabi’
23:21:35 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:84: error: storage class specified for parameter ‘warn_redundant_decls’
23:21:36 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:85: error: storage class specified for parameter ‘flag_redundant’
23:21:36 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:86: error: storage class specified for parameter ‘warn_reorder’
23:21:38 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:87: error: storage class specified for parameter ‘warn_return_type’
23:21:41 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:88: error: storage class specified for parameter ‘warn_selector’
23:21:44 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:89: error: storage class specified for parameter ‘warn_sequence_point’
23:21:47 <elliott> ../../../host-x86_64-unknown-linux-gnu/gcc/options.h:90: error: storage class specified for parameter ‘warn_shadow’
23:21:50 <elliott> I...
23:21:55 <Vorpal> elliott: did you boostrap a gcc of the same version?
23:22:01 <Vorpal> elliott: if not you are doing it wrong
23:22:04 <elliott> I --disable-bootstrapped.
23:22:12 <Vorpal> elliott: that is why it fails then
23:22:16 <Vorpal> try again doing it properly
23:22:31 <elliott> I thought that would just skip a pointless bootstrap given that I'm going to compile JAVA CODE >_<
23:22:33 <Vorpal> well, probably why it fails
23:22:54 <Vorpal> elliott: you need to --enable-language=c,c++,java and enable the bootstrap probably
23:23:03 <elliott> It automatically enables C++.
23:23:08 <elliott> If you select Java.
23:23:13 <Vorpal> I suspect you need plain C too
23:23:46 <elliott> elliott@katia:~/Downloads/gcc-4.6.1$ ./configure --enable-languages=c,java --disable-multilib --enable-static --disable-shared --prefix=/opt/gcj --enable-libgcj
23:23:47 <elliott> Here goes nothing.
23:24:04 <Vorpal> elliott: are you sure gcj works with static?
23:24:10 <elliott> Yes.
23:24:13 <Vorpal> okay
23:24:24 <elliott> http://gcc.gnu.org/wiki/Statically_linking_libgcj
23:24:44 <Vorpal> elliott: what thing is it that you are compiling with gcj?
23:24:50 <elliott> Java code.
23:24:55 <Vorpal> elliott: what java code
23:25:01 <elliott> Code, written in Java.
23:25:12 <Vorpal> elliott: why are you avoiding a straight answer?
23:25:21 <elliott> More fun.
23:25:38 <Vorpal> meh
23:28:55 <elliott> coppro: How far is libc++ from running WebKit? :p
23:31:13 <oerjan> hm still zeppelins in iwc? the timeline cannot have been entirely normalized.
23:32:05 <elliott> More like LAMEalised.
23:32:33 <oerjan> yeah outright killing hitler?
23:32:44 <elliott> Vorpal: Thou lies, bits/predefs.h error remains :P
23:32:58 <Vorpal> elliott: not the storage class one though?
23:33:01 <elliott> Maybe --disable-multilib doesn't quite disable multilib.
23:33:12 <Vorpal> elliott: that was the one I talked about
23:33:13 <elliott> Vorpal: Well no, I decided to try 4.6 again, if no bootstrapping was the problem.
23:33:20 <Vorpal> elliott: different problem
23:33:31 <elliott> Your mom is a different problem. But ok ok fine.
23:33:43 <Vorpal> elliott: I suggested that the storage class thingy is /probably/ a bootstrapping problem
23:33:53 <Vorpal> elliott: not bootstrapping gcc = weird problems
23:34:11 <Vorpal> that is especially painful when you are building a cross compiler
23:34:12 -!- CakeProphet has quit (Ping timeout: 276 seconds).
23:34:12 <elliott> Guess who can't wait for gcc to die?? This guy!
23:34:17 <Vorpal> you need a native one of same version then
23:34:23 -!- pikhq has joined.
23:34:26 <Vorpal> elliott: use clang. Write Java frontend for it
23:34:30 -!- pikhq_ has quit (Ping timeout: 240 seconds).
23:34:32 <oerjan> elliott: but then, everyone knows that killing hitler never works. clearly something will become messed up, now.
23:34:36 <elliott> elliott@katia:~/Downloads/gcc-4.4.6$ ./configure --enable-languages=c,java --enable-static --disable-shared --prefix=/opt/gcj --enable-libgcj
23:34:40 <elliott> ATTEMPT NUMBER 9999999999999
23:34:50 <Vorpal> over 9000
23:34:50 -!- CakeProphet has joined.
23:35:00 <CakeProphet> I guess 52 torrents is not good for my connection..
23:35:01 -!- CakeProphet has quit (Changing host).
23:35:01 -!- CakeProphet has joined.
23:35:11 <CakeProphet> *IRC connection
23:35:23 <oerjan> a torrent a day keeps your bandwidth away
23:35:52 <Vorpal> heh
23:35:58 <Vorpal> and duh
23:35:59 <CakeProphet> wow I actually hit 1 MB/s
23:36:00 <CakeProphet> that's rare.
23:38:03 <CakeProphet> huh usr/lib contains 6.7 GBs apparently
23:38:11 <CakeProphet> most of it in debug
23:38:22 <elliott> Vorpal: i love how almost all the warnings in this version are from -Wc++-compat
23:38:28 <Vorpal> heh
23:39:10 <CakeProphet> would I break things if I deleted stuff in /usr/lib/debug?
23:39:26 <Vorpal> CakeProphet: just uninstall the -dbg package that adds that file
23:39:32 <Vorpal> CakeProphet: but yes it would break debugging
23:39:41 <elliott> Gregor: Re fast compression, you might also be interested in: LZFX is a small (one C file, 200 non-comment lines) BSD-licensed library designed for very-high-speed compression of redundant data.
23:39:47 <elliott> http://code.google.com/p/lzfx/
23:40:04 <CakeProphet> hmmm I'd only get getting like 1.3 GBs from doing that really.
23:40:06 <CakeProphet> not worth it.
23:40:23 <Vorpal> CakeProphet: low on disk space but 1.3 GB not worth it?
23:40:29 <CakeProphet> neither.
23:40:43 <CakeProphet> I'm just uh... playing around and looking at my disk usage.
23:40:48 <Vorpal> I see
23:40:58 <CakeProphet> maybe preparing for a future in which it is something I need to worry about.
23:41:23 <elliott> http://www.creativereview.co.uk/cr-blog/2011/august/sainsburys-own-label-book <-- holy shit, I want to live in a world where supermarket products look this cool
23:41:37 <elliott> CakeProphet: Installing Kitten should decimate your disk usage.
23:41:51 <elliott> Vorpal: Same error without bootstrap.
23:41:59 <elliott> Maybe my system /is/ fucked.
23:42:08 <elliott> Vorpal: Do you know which packages the bits/ stuff is?
23:42:10 <elliott> in?
23:42:11 <CakeProphet> 97% of my disk usage is in /home, imagine that.
23:42:17 <elliott> I don't seem to ... have it.
23:42:40 <Vorpal> elliott: nope. Try dpkg-query to check which packages own a file from there
23:42:50 <CakeProphet> /usr just happens to be the next biggest chunk at 6 GB
23:42:52 <elliott> Vorpal: I don't _have_ those files, that's the problem :P
23:42:58 <Vorpal> elliott: and the file you mentioned? I don't have it either
23:43:06 <Vorpal> elliott: any file from there, surely you have bits/something?
23:43:16 <elliott> elliott@katia:~/Downloads/gcc-4.4.6$ ls /usr/include/bits/
23:43:16 <elliott> ls: cannot access /usr/include/bits/: No such file or directory
23:43:22 <Vorpal> elliott: otherwise: find /usr/include -name bits
23:43:24 <elliott> This may be my: Problem.
23:43:27 <Vorpal> maybe it is x86-64/bits
23:43:29 <Vorpal> or some such
23:43:32 <elliott> Oh: /usr/include/x86_64-linux-gnu/bits
23:43:44 <elliott> (Maybe that's the problem.)
23:43:58 <Vorpal> elliott: now why does it not look there I wonder
23:44:16 <elliott> Probably one of Debian's five billion patches adds that.
23:44:25 <Vorpal> heh
23:44:36 <Vorpal> elliott: so apply the relevant patch
23:44:44 <elliott> Vorpal: Ha ha ha.
23:44:45 <Vorpal> it is probably in debian/patches or something like that
23:45:02 <pikhq> elliott: It's actually an option to --configure
23:45:03 <Vorpal> elliott: you could do grep -R bits
23:45:06 <pikhq> Erm, configure
23:45:07 <elliott> pikhq: What is?
23:45:23 <pikhq> elliott: The bit that makes it install bits in /usr/include/x86_64-linux-gnu/
23:45:31 <elliott> Vorpal: http://sprunge.us/SRMU Pick one
23:45:37 <elliott> pikhq: Ah. How do I get gcc to look there for bits/ headers?
23:45:41 <elliott> It's failing because, I think, it can't find them.
23:45:44 <elliott> When compiling gcc.
23:45:51 <Vorpal> elliott: all on one line? Not going to look at that
23:46:03 <elliott> "diod is an I/O forwarding server that implements a variant of the 9P protocol from the Plan 9 operating system. When paired with a modern version of the v9fs Linux 9P client, diod allows a file system to be exported over a TCP/IP network in a manner similar to NFS."
23:46:08 <elliott> OMG MAYBE MY PERFECT IRC CLIENT CAN COME TRUE
23:46:13 <CakeProphet> .cache is 1.3 GB apparently
23:48:48 <pikhq> Fek, I can't find it.
23:49:29 -!- CakeProp1et has joined.
23:50:02 <Vorpal> elliott: well have fun with debian
23:50:15 <Vorpal> I always had issues building gcc on debian
23:50:20 <Vorpal> I just don't do it any more
23:50:23 <elliott> It's always worked for me up until now :P
23:50:41 -!- CakeProphet has quit (Ping timeout: 245 seconds).
23:50:53 <pikhq> Yeah, GCC has opted to do multiarch in the way most likely to need patches.
23:51:18 <pikhq> Erm, Debian.
23:51:25 <elliott> Can I just...
23:51:28 <elliott> ln -s ... /usr/include/bits?
23:51:32 <elliott> Will that break everything?
23:51:52 <pikhq> Well, I seem to already have such a symlink.
23:51:56 <pikhq> So, "no".
23:52:00 -!- DH____ has quit (Read error: Connection reset by peer).
23:53:15 <CakeProp1et> I'm feeling a little bouncy
23:54:38 -!- CakeProphet has joined.
23:54:39 -!- CakeProphet has quit (Changing host).
23:54:39 -!- CakeProphet has joined.
23:55:11 -!- augur has joined.
23:55:56 * CakeProphet turned on a speed limit
23:56:31 <elliott> elliott@katia:~/Downloads/gcc-4.6.1$ sudo ln -s /usr/include/x86_64-linux-gnu/sys /usr/include
23:56:32 <elliott> ln: creating symbolic link `/usr/include/sys': File exists
23:56:32 <elliott> elliott@katia:~/Downloads/gcc-4.6.1$ ls /usr/include/sys
23:56:32 <elliott> asoundlib.h
23:56:32 <elliott> pikhq: Rage.
23:57:45 -!- CakeProp1et has quit (Ping timeout: 256 seconds).
23:58:25 <elliott> pikhq: Can I just... symlink every relevant header?
←2011-10-03 2011-10-04 2011-10-05→ ↑2011 ↑all