←2008-02-22 2008-02-23 2008-02-24→ ↑2008 ↑all
00:01:14 <Slereah> Eso-std loads :D
00:03:40 <ehird> \o/
00:10:02 <ehird> Slereah: wot it display??!
00:10:30 <Slereah> A bunch of folders, but I assume that's normal.
00:11:40 <ehird> yay
00:16:18 <_D6Gregor1RFeZi> OK, Esoteric Sexually Transmitted Diseases. Intersting.
00:16:21 <_D6Gregor1RFeZi> *Interesting
00:16:39 <Slereah> Happened to me once.
00:16:49 <Slereah> I had sex with Alan Turing.
00:16:59 <Slereah> Then, bam. I had stacks.
00:17:06 <Slereah> Had to pop 'em.
00:18:00 <_D6Gregor1RFeZi> Be careful with that metaphor.
00:18:06 <_D6Gregor1RFeZi> Stretch it any farther and it just might tear.
00:18:52 <Slereah> It will take more than shame to make me drop it!
00:20:33 <ehird> _D6Gregor1RFeZi: Esoteric standards, actually.
00:20:34 <ehird> But nice try.
00:21:08 <Slereah> What will be the appropriate sentence for breaking the standards?
00:21:34 <Slereah> I feel it should involve Malbolge somehow.
00:39:07 <Slereah> Hm.
00:39:16 <ehird> yelling at
00:39:20 <ehird> and supplying a better interp
00:39:26 <Slereah> I've got this strange attraction to try scheme instead of Haskell.
00:39:31 <Slereah> It looks pretty.
00:39:35 <ehird> Don't
00:39:41 <ehird> Scheme doesn't have monads, for one.
00:39:47 <ehird> For another, it's not *purely* functional.
00:39:49 <Slereah> Even better.
00:39:53 <ehird> For another, it's not actually as pretty.
00:39:58 <ehird> Slereah: Not if you want to make Lazy Bird work.
00:40:04 <_D6Gregor1RFeZi> The sentence for breaking standards should be an ice cream cake and a pat on the back.
00:40:11 <Slereah> I'm totally cool with side effects, dude.
00:40:11 <ehird> And besides, Scheme isn't very nice for writing real apps.
00:40:12 <ehird> Haskell is.
00:40:27 <ehird> Slereah: You're not -- monads are the only way to solve IO in a purely lazy language like Lazy Bird.
00:40:54 <Slereah> What does Scheme use though?
00:41:05 <_D6Gregor1RFeZi> EVIL MAGIC
00:41:07 <ehird> Slereah: Scheme isn't lazy.
00:41:13 <ehird> Scheme is eagerly-evaluated.
00:41:15 <Slereah> D:
00:41:18 <ehird> And it's not a functional language.
00:41:24 <ehird> It has many functional features, but inside it's still imperative.
00:41:28 <Slereah> Oh.
00:41:30 <ehird> You can mutate just about everything.
00:41:38 <Slereah> I thought it was, with Lazy K written in it.
00:41:43 <ehird> No.
00:41:48 <ehird> The lazy evaluation is coded by hand; there.
00:44:22 <lament> haskell is nice for writing real apps?
00:44:39 <lament> in my (very limited) experience, monads turn everything into an ugly mess.
00:44:50 <Slereah> YOU LIED TO ME EHIRD!
00:45:06 <Slereah> YOU TOLD ME IT WAS ALL BIKERIDES AND SUNSET!
00:46:21 <ehird> lament: You lie!
00:46:31 <ehird> Slereah: lament is just stupid; no bother!
00:46:31 <ehird> :D
00:47:07 <lament> you get a big, ugly looking stack of monad transformers and have to constantly lift stuff
00:47:17 <lament> and when you need to add a new monad to the stack, oh, you're so screwed.
00:47:25 <ehird> lament: rubbish
00:47:30 <ehird> i've never encountered that
00:47:35 <lament> which part of that is not true?
00:47:35 <ehird> you just write crappy haskell! :P
00:47:41 <ehird> the part where you complained
00:48:33 <lament> big, ugly looking stack - unavoidable
00:48:33 <lament> constantly lifting stuff - unavoidable
00:48:52 <lament> screwed when you need to add a new monad - unavoidable. Unless you shove all monads into the stack in the beginning, just to be safe!
00:49:11 <ehird> lament: very avoidable
00:49:15 <lament> which part?
00:49:18 <ehird> Your code is just ugly. :|
00:49:26 <ehird> lament: all of it. it's just a matter of design.
00:49:26 <lament> which part is avoidable?
00:49:29 <lament> that's not true
00:49:49 <lament> have you seen the picture of the monad stack for lambdabot?
00:49:59 <ehird> lament: lambdabot code isn't ugly.
00:51:49 <lament> newtype LB a = LB { runLB :: ReaderT (IRCRState,IORef IRCRWState) IO a } deriving (Monad,Functor,MonadIO)
00:52:05 <lament> i suppose that's not so bad.
00:52:48 <ehird> lament: that may look ugly, but the ACTUAL CODE that makes up lambdabot is not
00:52:55 <ehird> and there's no huge-stacks-of-lift
00:53:08 <ehird> besides, I count one transformer there.
00:53:17 <lament> yes, there were definitely more :)
00:54:06 <ehird> lament: ergo, lambdabot code used to be bad
00:54:08 <ehird> which was why it looked that way
00:54:15 <ehird> but, once rewritten properly, it is fine
00:54:28 <lament> no, i mean there're more transformers there somewhere
00:54:48 <lament> but the part about me writing crappy haskell is definitely true.
00:54:59 <lament> it's hard, since there's no guides on writing good haskell!
00:55:59 -!- pjoter has joined.
00:56:00 <ehird> lament: it's called #haskell!
00:56:06 <ehird> & a functional mind, represented as a monad
00:56:12 <pjoter> i'm hungry
00:56:25 <ehird> type Mind = ReaderT (RState,IORef RWState) IO
00:56:27 <ehird> that should do it
00:56:49 <pjoter> hey thats not about programming machines is it!??
00:57:12 <pjoter> i'm into the quest for ultimate wisdom darn it!
00:57:29 <ehird> pjoter: uhh
00:57:29 <ehird> what
00:57:37 <pjoter> c'mon...
00:57:40 <ehird> oh, i see
00:57:42 <ehird> #esoteric.
00:57:52 <ehird> pjoter: your (presumably pseudoscientific) nonsense is that way ---->
00:58:13 <pjoter> cmon make this a spiritual channel NOW!
00:58:14 <pjoter> pls
00:58:17 <Slereah> From here, that arrows points to Sgeo. Though when I press enter, it will point...
00:58:27 <pjoter> mmmmh
00:58:33 <pjoter> ok lets talk about machines
00:58:37 * Slereah puts on his bandana
00:58:39 <ehird> pjoter: no, personally i think spiritual crap is just that
00:58:52 <ehird> others here may disagree though there seems to be a general scientific, agnostic/atheist bend around here
00:59:04 <pjoter> i would welcome it
00:59:09 <lament> ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
00:59:22 <pjoter> ?
00:59:26 <ehird> pjoter: science works pretty well for me, you could try it.
00:59:34 <ehird> (but no, it's far too much work trying to actually understand things, I assume)
00:59:41 <pjoter> are you so sure arrogant son of a ape?
01:00:02 <ehird> Well, you seem to accept evolution. It's a start!
01:00:02 <pjoter> (no offense though)
01:00:15 <pjoter> i was referring to your dad
01:00:21 <pjoter> lol j/k i like machines too ;)
01:00:22 <Slereah> Nah, ehird is probably quite mild.
01:00:24 <pjoter> but hey cmon
01:00:32 <pjoter> i want some spiritual channel, where will i find it?
01:00:44 <Slereah> Aren't we spiritual and shit?
01:00:50 <pjoter> the problem with the world is we know nothing isnt it?
01:01:00 <ehird> pjoter: freenode is not the place.
01:01:01 <Slereah> We were talking about the programming language of the universe yesterday!
01:01:05 <ehird> freenode is mainly about -- as you put it -- 'machines'
01:01:14 <Slereah> Also math.
01:01:16 <pjoter> do you know the damn feeling of wanting to understand and realizing you understand just nothing?
01:01:17 <Slereah> And SCIENCE
01:01:39 <Slereah> Freenode is definately not much about spirits.
01:01:42 <ehird> pjoter: Yes! This is why I critically examine and verify everything I see. It's better than just blindly believing something because it 'feels' true -- that's against what you just said!
01:01:51 <pjoter> i like that
01:01:53 <ehird> Slereah: Shut up, I'm busy advocating SCIENCE! :<
01:01:55 <pjoter> but hold on
01:02:08 <Slereah> Can't I just ask a spirit to do my I/O? I don't understand monads :(((
01:02:15 <ehird> Slereah: hehe
01:02:24 <pjoter> i wanna achieve some higher spirit, some insight which science obviously isnt able to grant me
01:02:34 <pjoter> you know that feeling, dont hide!
01:02:48 <ehird> pjoter: 'obviously'?
01:02:48 <ehird> Stop assuming things..
01:02:48 <ehird> And, why does a 'higher spirit' have to exist? That's another assumption.
01:02:50 <ehird> If there's something wrong with your current state; fix it.
01:03:12 <pjoter> thats the frame you put on it
01:03:26 <pjoter> we all know that
01:03:31 <pjoter> its necessary somehow, ok
01:03:45 <ehird> No.. This is what I honestly believe to be true, because it is the most logical explanation and I truly believe the scientific method is how the world can be explained.
01:03:45 <pjoter> but it aint all, we know that too at the bottom of our hearts
01:03:48 <pjoter> would you agree?
01:03:55 <ehird> I'm afraid I wouldn't.
01:04:18 <pjoter> i dont say the scientific method is wrong at all
01:04:21 <pjoter> its just not enough
01:04:31 <ehird> that makes no sense
01:04:35 <ehird> why isn't it enough?
01:04:53 <Slereah> Heh.
01:05:02 <ehird> Slereah: Seriously though.
01:05:06 <Slereah> A few years ago, I would have so jumped in.
01:05:11 <ehird> I haven't heard one reason why it isn't enough.
01:05:18 <pjoter> i'll try
01:05:19 <ehird> Apart from: 'well, we all feel it'
01:06:35 <pjoter> there are moments we take another look to the world, fractions of seconds only.. thats my experience, i cant grasp it, but i know i should concentrate my whole efforts to do so
01:07:00 <ehird> pjoter: I think that's just general human paranoia. :P
01:07:11 <pjoter> you may condemn the "well i feel it" argument but on what else we base ALL our thinking in the last consequences?
01:07:19 <pjoter> ethics
01:07:19 <ehird> (Well, fine. But whatever you do, just don't join scientology.)
01:07:20 <pjoter> moral
01:07:37 <ehird> pjoter: Laws of logic which have withstood the critical test for eons.
01:07:54 <pjoter> for eons??
01:08:09 <pjoter> i heard some different stories, though i dont wanna attack logic at all right now
01:08:10 -!- bd_ has joined.
01:08:19 -!- bd_ has left (?).
01:08:20 -!- bd_ has joined.
01:08:36 <Slereah> You also might not want to do it here.
01:08:38 <ehird> bd_: Some context -- pjoter thought this was a channel about real esoterica, 'science vs non-science' abounds
01:08:41 <bd_> topic is lies :(
01:08:43 <pjoter> we had a lot of struggle to actually end up here, and we're by far not out of flaws
01:08:48 <ehird> and yes
01:08:50 <ehird> topic is very much lies
01:08:58 <pjoter> mh topics are for wimps aint they?
01:09:13 <pjoter> ;) cmon you're the right guys , i feel that too!
01:09:30 <ehird> pjoter: anyway, my opinion is that science gives real understanding. Other things (such as, well, esoterica) give comfort.
01:09:35 <ehird> I know which one I would prefer.
01:09:44 <pjoter> ok lets end it now
01:09:55 <pjoter> tell me something about the language
01:10:09 <ehird> what language
01:10:15 <Slereah> It won't have monads, I hope!
01:10:15 <pjoter> the esoteric language
01:10:24 <Slereah> Languages, pjoter.
01:10:25 <ehird> esolangs.org/wiki/Language_list
01:10:26 <ehird> pick one.
01:10:38 <pjoter> i heared that word monads four times now i guess
01:10:47 <Slereah> The big ones are Brainfuck, Befunge and Intercal.
01:10:47 <ehird> pjoter: monads monads monads monads monads gonads monads monads monads monads
01:10:52 <pjoter> darn it
01:10:56 <pjoter> oh ok
01:11:08 <pjoter> brainfuck alike
01:11:18 <Slereah> Well, in concept at least.
01:11:20 <olsner> hmm, incidentally I was just thinking about making an esolang with *only* monads (possibly with a type system... but I'm trying to figure out how to avoid *functions*)
01:11:38 <pjoter> and you tell me about sobriety and science?
01:11:54 <pjoter> j/k
01:12:00 <Slereah> Hell, ain't nothing as sobering as Brainfuck.
01:12:05 <ehird> pjoter: I think I found your answer! http://www.thechurchofgoogle.org/
01:12:18 <bd_> olsner: haskell with the sk calculus?
01:12:26 <ehird> bd_: that includes functions
01:12:28 <pjoter> lol i'll consider it
01:12:33 <ehird> pjoter: uhh, it's a joke
01:12:34 <ehird> :P
01:12:38 <pjoter> lool
01:12:41 <pjoter> he's warning me
01:12:43 <pjoter> i like that
01:12:48 <bd_> ehird: well, I mean removing lambda in the same way as unlambda
01:12:57 <olsner> no, SK would count as functions in this context IMO
01:13:08 <pjoter> the lambda calculus ever lacked of deeper esoteric concepts
01:13:14 <pjoter> we all know that
01:13:27 <olsner> but arguably, this'd have to become a combinatory logic with monad-based combinators
01:13:33 <pjoter> thats just not how we perceive the world
01:13:46 <ehird> pjoter: i guess you percieve the world as a turing machine then
01:13:59 <pjoter> a two banded yes
01:14:02 <ehird> maybe that's why you're on this 'quest'... you can't see the beauty in the world as it is
01:14:06 <Slereah> Nah. Pjoter seems more of a recursive functions kind of guy.
01:14:14 <olsner> my world is referentially transparent, it's just in a State monad
01:14:22 <pjoter> i just need to understand recursion to understand recursion
01:14:26 <pjoter> not now
01:14:54 <ehird> olsner: my world is more finely-grained transparent than that
01:15:05 <ehird> the Universe monad I have is very elegant
01:15:05 <ehird> :-P
01:15:07 <pjoter> thats what you think!
01:15:53 <pjoter> no really i was lookin for some real esoteric channel and what i encounter? fellow machine servants.. isn't that ironic?
01:16:07 <ehird> machine servants?
01:16:07 <ehird> hehe.
01:16:11 <Slereah> I'm wetting my pants thinking of it.
01:16:19 <olsner> (turing) machine servants?
01:16:21 <Slereah> Plus, we're not all machine servants!
01:16:28 <pjoter> what else
01:16:28 <Slereah> Some of us are more of a function servants
01:16:34 <ehird> Your brain is good at generalizing thiings quickly to support the path you already chose for yourself, pjoter. All of ours are. Maybe you should think about that..
01:17:02 <pjoter> did you know that actually all phenomena are directly or indirectly related to the number five, and this relationship can always be demonstrated given enough ingenuity on the part of the demonstrator?
01:17:12 -!- lament has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a monad attack in progress there, or simply unusually heavy interest. Please leave this channel and try again. Your channel may also be "identified-only" (+r); join #please_register for more information. If you need help, message a freenode staffer or email staff@freenode.net .... Thanks!.
01:17:16 <Slereah> Yes.
01:17:22 <pjoter> there we go
01:17:22 <Slereah> I read Illuminatus too!
01:17:36 <ehird> pjoter: the ingenuity being the key thing, of course. :-)
01:17:38 <pjoter> ok i'll put some noodles with cheese into myself now and you just hold on ok?
01:17:42 <pjoter> hehe k
01:17:44 <ehird> I can also derive 45345345 from anything!
01:17:45 <lament> EWIGE BLUMENKRAFT!
01:17:54 <pjoter> perhaps i'll find some real esoteric channels someday..
01:17:55 <pjoter> %%
01:17:58 <ehird> lament: what did you do to the topic?
01:17:58 <Slereah> I've got monads to keep me company, don't worry.
01:17:59 <pjoter> wie jetz blumenkraft?
01:18:25 <pjoter> also ich ess mal paar kaesspaetzle - bbl
01:18:41 <lament> ehird: made it more buzzwordy
01:18:44 <Slereah> Don't worry pjoter, you're not the first to make the mistake.
01:18:47 <olsner> warum dieser "blumenkraft"?
01:18:52 <Slereah> At least the second that I know of!
01:19:01 <ehird> lament: but that was the direct #overflow topic
01:19:01 <ehird> :(
01:19:25 <ehird> Slereah: did i advocate SCIENCE then too?
01:19:36 <Slereah> Not that I remember.
01:20:01 <Slereah> He didn't call us machine servants, maybe that's why.
01:20:10 <Slereah> Though I have to admit, I really dig the expression.
01:24:24 <Slereah> "FOR BREAKING THE ESO, THE MACHINE WILL MAKE YOU PAY"
01:24:46 <Slereah> And then, bam, the guilty servant is sent to the Malebolge
01:25:04 <Slereah> Where his code will change at each instruction.
01:25:13 <Slereah> Cruel but fair is the machine.
01:28:46 <pjoter> lol the second
01:29:36 <Sgeo> oh hi bd_
01:29:39 <Sgeo> afk going to eat
01:30:18 <pjoter> plus i included me into that flippant classification
01:30:18 <Slereah> Haskell isn't easy to get used to.
01:30:25 <lament> No, not at all.
01:30:30 <Slereah> I should probably write some little programs in it.
01:31:57 <lament> my biggest issue with it was that I wanted to do OO all the time.
01:32:05 <Slereah> OO?
01:32:26 <ehird> OO. More like 'EW!'
01:33:08 <lament> ehird: don't diss OO!
01:33:28 <pjoter> OO is just a flamboyant expression for nothing
01:33:41 <ehird> lament: why not
01:33:46 <ehird> pjoter: so is esoterica
01:33:52 <pjoter> lol
01:34:27 <pjoter> hey ok i'm out, nice to meet ya all and good luck with further esoteric pilgrims or the like
01:34:52 <Slereah> Bai.
01:34:55 <pjoter> perhaps i'll be back someday if i'm versed enough for haskell
01:34:58 <pjoter> bai
01:35:02 -!- pjoter has left (?).
01:35:21 <ehird> Someone should submit a patch to gnu coreutils, replacing true.c with:
01:35:23 <ehird> int main(void)
01:35:23 <ehird> {
01:35:23 <ehird> return 0;
01:35:23 <ehird> }
01:36:10 <Slereah> Is return 0 even necessary?
01:36:26 <Slereah> main(){}
01:36:26 <ehird> Slereah: Yes.
01:36:31 <ehird> main must return an 'int'.
01:36:34 <ehird> ANSI C specifies this.
01:36:43 <ehird> and main() is invalid. You need (void)
01:37:35 <lament> ehird: also, do you use emacs?
01:37:51 <ehird> lament: yes; why?
01:37:59 <lament> then i'm not talking to you anymore!
01:37:59 <ehird> well, I use Emacs and TextMate about equally
01:38:08 <ehird> (suprisingly, TextMate's XML support is superior to all of Emacs')
01:38:14 <ehird> lament: why not
01:38:15 <ehird> :(
01:38:48 <lament> emacs is evil.
01:38:54 <ehird> why
01:39:00 <Slereah> Is Kate okay?
01:39:03 <ehird> I mean, it is kinda, but it's better at editing Haskell and Lisp than everything else.
01:39:07 <ehird> Slereah: Not for Haskell! or lisp.
01:39:22 <Slereah> Good. Haskell makes mah head hurt
01:39:28 -!- Corun has joined.
01:39:30 <lament> ehird: right, that's why haskell and lisp suck.
01:39:39 <ehird> lament: bullshit
01:39:45 <lament> ehird: i have a point
01:39:47 <ehird> lament: ok then, what do you suggest instead.
01:40:01 -!- GreaseMonkey has joined.
01:40:47 <lament> ehird: A language is just a small element of the overall development environment which you use to make stuff. A language should be well-integrated into this environment.
01:40:59 <lament> It is certainly true that lisp is well-integrated into emacs
01:41:37 <lament> but i don't like emacs, so i wouldn't use lisp.
01:41:57 <lament> haskell is not well-integrated into anything, at least as of yet.
01:42:11 <Slereah> Heh.
01:42:24 <ehird> yi
01:43:01 <lament> yi is just an editor
01:43:06 <lament> as far as i know
01:43:09 <ehird> no it's not
01:43:11 <ehird> its an environment
01:43:15 <lament> what can it do?
01:43:16 <ehird> that happens to look a lot like an editor
01:43:21 <ehird> lament: environmenty stuff.
01:43:27 <ehird> it can act like vi or emacs too
01:43:30 <ehird> when it has its editor disguise on
01:45:02 <lament> does it have a good module/function browser? Does it provide good autocompletion? Tooltips which show the types of functions as you type them in? Does it have a good debugger? A refactoring tool? How well is it integrated with QuickCheck?
01:45:16 <ehird> lament: if it doesn't have any of those things, adding them will be trivial
01:45:22 <ehird> #haskell, go forth and ask.
01:46:03 <lament> (not to mention that the time i tried yi, it wouldn't even install)
01:46:32 <lament> ehird: i'm pretty sure that it doesn't, and i seriously doubt any of them are trivial
01:46:44 <lament> i suspect they're painfully complex
01:46:49 <lament> in any editor, not just yi
01:48:28 <lament> I suspect that emacs doesn't provide those things for haskell, either.
01:48:55 -!- ehird has quit ("This computer has gone to sleep").
01:49:18 <lament> mission accomplished!
01:50:07 <Slereah> YOU HAVE DRIVEN OUT THE HASKELL FORCES SIR
01:50:11 <Slereah> CONGRATULATION.
01:50:19 <Slereah> The Machine God will reward you.
01:50:30 <Slereah> Machines do not take kindly to functions >:|
01:50:59 <GreaseMonkey> why does everyone seemingly want to masturbate to Haskell?
01:51:29 <Slereah> I don't. But it's apparently awesome and all for something I need to do.
01:51:51 <Slereah> Although my guess is, I'll do the lazy thing and just use some priority operator
01:52:29 <Sgeo> I think Haskell suprisingly has better IO than Python
01:52:49 <Sgeo> Although I understand Python much better than Haskell
01:53:04 <lament> GreaseMonkey: it's amazingly beautiful.
01:53:07 <GreaseMonkey> python is very clean
01:53:14 <Slereah> Hell, first program I wrote in Python was the beggining of the Love Machine 9000!
01:53:14 <GreaseMonkey> i once made my own OOP language
01:53:18 <lament> GreaseMonkey: yes, python is
01:53:30 <lament> but it's not nearly as beautiful as haskell
01:53:37 <Slereah> i'm not sure I can rewrite Lazy Bird as my first Haskell program
01:54:50 <GreaseMonkey> in my lang, you could do something like: a = #1; b = #0; i = #10; while({i>0;},{a = a.add(b); print(a); t = b; b = a; a = t; i = i.sub(1);});
01:54:55 <GreaseMonkey> whoops
01:55:15 <GreaseMonkey> a = #1; b = #0; i = #10; while({i.gt(#0);},{a = a.add(b); print(a); t = b; b = a; a = t; i = i.sub(#1);});
01:56:15 * Slereah looks back on the first Love Machine 9000
01:56:24 <Slereah> It actually asked all states :o
02:01:02 <Sgeo> LM9k? What's that?
02:01:23 <Slereah> http://www.esolangs.org/wiki/NTCM
02:01:33 <Slereah> I never actually call it NTCM.
02:02:23 <Sgeo> Why is it at NTCM then?
02:02:38 <Slereah> Because it is moar srs name
02:02:52 <Slereah> More than Love Machine 9000, that is.
02:03:07 <Sgeo> At least redirect [[Love Machine 9000]] and [[LoveMachine 9000]] and [[LoveMachine9000]]
02:03:33 <Sgeo> and maybe [[LoveMachine]] and [[Love Machine]]
02:03:39 <Sgeo> And versions with M as lowercase
02:03:40 <Sgeo> >.>
02:03:55 <Sgeo> j/k about the case, because searching for one will return the other
02:04:18 <Slereah> Plus, the only people who hear of LM9k are the people here
02:04:23 <Slereah> And they already know :o
02:04:54 <GreaseMonkey> what's wrong with expanding your fanbase?
02:04:56 <Sgeo> I didn't
02:05:07 <Sgeo> I wonder what my fanbase for PSOX is
02:05:35 <GreaseMonkey> heck, i got some email about some guy's 5-instruction language when he read about bloody HighFive
02:05:58 <Slereah> Well, they can email me about it under the name NTCM
02:06:10 <Slereah> Although so far, no fanmail!
02:15:00 <Slereah> First version was that one : http://membres.lycos.fr/bewulf/Russell/turing.py
02:39:34 <Sgeo> Grr, I can never remember the URL for logs
02:39:57 <Slereah> http://www.esolangs.org/wiki/Esolang:Community_Portal#IRC
02:40:52 <Sgeo> ty
02:42:20 <Sgeo> I can't seem to search it
02:42:53 <Slereah> Use google!
02:42:58 <Slereah> USE THE GOOGLE
02:43:11 <Slereah> site:[adress of the site] [terms of the search]
02:43:15 <Slereah> That's the syntax
02:43:19 <Sgeo> http://www.google.com/search?q=PESOX+site%3Aircbrowse.com&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:official&client=firefox-a
02:43:34 <RodgerTheGreat> hey guys, I felt inspired, so I whipped up a simple, extensible assembler: http://www.nonlogic.org/dump/text/1203733864.html
02:43:38 <Sgeo> Same with PSOX
02:44:09 <RodgerTheGreat> it can currently turn something like this http://www.nonlogic.org/dump/text/1203733935.html into this: http://www.nonlogic.org/dump/text/1203734033.html
03:09:57 <Sgeo> I think I'll abstract different GUI toolkits
03:10:05 <Sgeo> To be usable by PSOX
03:10:20 <Sgeo> Then the client can choose which toolkit to use, although there will be no difference in the API
03:11:00 <pikhq> Sounds like the best way of doing things.
03:11:15 <pikhq> Makes portability trivial. ;)
03:12:37 * Sgeo registers pri:GUI
03:13:37 <Sgeo> How does this sound:
03:13:43 <Sgeo> A function to pull in one GUI event
03:13:52 <Sgeo> The first byte is the Element ID
03:14:07 <Sgeo> Second byte is the event type, dependent on the type of the element
03:14:22 <Sgeo> Then after that is any associated data, then a 0x00
03:14:35 <Sgeo> For instance, if I click a button with EID 0x01
03:14:47 <Sgeo> Then it will return 0x01 0x01 0x00
03:15:05 <Sgeo> Once the button is released, it will return 0x01 0x02 0x00
03:15:13 <Sgeo> (for buttons, 0x01 is click, 0x02 is release)
03:17:11 <Sgeo> Events do need to be registered for each EID
03:17:35 <Sgeo> pikhq, thoughts?
03:17:50 <Sgeo> Also, thoughts on an mkdir function with a cd option, and no separate cd function?
03:18:04 -!- Corun has quit ("Leaving").
03:18:18 <pikhq> No thoughts ATM.
03:18:27 <pikhq> I'm *really* tired. . .
03:18:33 <pikhq> Like, about to collapse. . .
03:19:15 <Sgeo> Gotosleep!
03:20:45 <pikhq> It's only 8:20.
03:20:52 <Sgeo> Take a nap!
03:21:05 <pikhq> I've barely been *home* for an hour. Ugh.
03:21:27 <Sgeo> Are you sick? Feel better soon if so
03:21:48 <pikhq> No, just low sleep combined with the world's longest day. :(
03:22:20 <Sgeo> Why was this a long day for you?
03:22:34 <Sgeo> </awkward-way-of-asking-what-should-be-a-simple-question>
03:22:39 <pikhq> I left home at 6. I got home at 18:30.
03:22:55 <pikhq> See? Way the fuck too long.
03:23:24 <Sgeo> What was going on
03:23:25 <Sgeo> ?
03:24:20 <pikhq> School + having to wait 4 fucking hours for a ride. :(
03:25:05 <Sgeo> Why did you have to wait 4 hours?
03:26:26 <pikhq> Because that's how long it took for my ride to show up?
03:26:58 <Sgeo> Why did it take that long?
03:27:11 <Sgeo> Maybe your ride could have called you and you could have taken a bus?
03:27:26 <pikhq> I'm in the US. We don't *have* decent public transportation.
03:27:40 <Sgeo> 2 hours is more decent than 4 hours
03:27:43 <pikhq> Specifically: the bus towards where I live runs 3 times a day.
03:27:53 <Sgeo> (Takes me 1.5hrs to get to college)
03:28:06 <Sgeo> Don't feel like talking about the trip back
03:28:07 <Sgeo> oh
04:29:32 -!- oerjan has joined.
04:54:47 <Sgeo> Hioerjan
04:58:08 <pikhq> Ah, yes. The rare Hioerjan subspecies of oerjan.
04:58:59 <oerjan> We Are In A Hi'er State
04:59:15 <oerjan> hisgeo
05:14:12 -!- uvanta has quit ("php you!").
06:15:56 -!- Sgeo has quit (Connection timed out).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:50:18 -!- puzzlet has quit (Remote closed the connection).
08:50:26 -!- puzzlet has joined.
09:06:49 <oklopol> bus to where i live in goes about a hundred times a day... but that's just the one bus, there's 4 buses for it
09:28:35 -!- GreaseMonkey has quit ("Bad attempt, Liempt.").
09:30:05 -!- oerjan has quit ("leaving").
13:42:06 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
13:42:11 -!- puzzlet has joined.
13:53:41 -!- Corun has joined.
15:27:04 -!- ehird has joined.
16:12:55 -!- calamari has joined.
16:16:15 <calamari> hi
16:17:51 <Slereah> Hi
16:20:59 <ehird> <GreaseMonkey>why does everyone seemingly want to masturbate to Haskell?
16:21:08 <puzzlet> eewww
16:21:10 <ehird> why does GreaseMonkey masturbate to keeping his wiki pages non-public domain?
16:21:24 <ehird> then cry and remove them when realizing the wiki is PD?
16:21:41 <Slereah> Because that's what monkeys do.
16:24:03 <Slereah> к определению алгоритма
16:24:16 <Slereah> Kolmogorov, why can't you be awesome like Alan Turing?
16:24:32 <Slereah> And write articles that people can understand.
16:24:52 <ehird> hay, someone ping eso-std.org
16:24:55 <ehird> it isn't der
16:25:11 <Slereah> "403 Forbidden" D:
16:25:51 <ehird> that sok
16:43:27 <pikhq> Emacs - RMS = ???
16:44:43 <RodgerTheGreat> better emacs?
16:45:11 <pikhq> No.
16:45:28 <pikhq> The last time he wasn't maintaining Emacs, Emacs spent 5 years without a release, IIRC.
16:45:36 <RodgerTheGreat> excellent
16:45:43 <RodgerTheGreat> this news is sounding better and better
16:46:11 <pikhq> Emacs without RMS is like Apple without Jobs.
16:46:27 <olsner> if it means no emacs, I'm all for it
16:46:36 <RodgerTheGreat> "the emacs Newton"
16:49:31 <pikhq> olsner: The hell is wrong with you?
16:49:40 <pikhq> Even if you don't like emacs, you don't have to *use* it.
16:50:04 <pikhq> RodgerTheGreat: My thoughts exactly. *shudder*
16:52:19 <ehird> pikhq: Don't talk about Apple without Jobs. It gives me nightmares.
16:52:30 <ehird> (Albeit, probably in part because of the wonderful RDF.)
16:52:46 <ehird> pikhq: And it's called editor wars, n00blet.
16:53:03 <pikhq> ehird: Who gives a fuck?
16:53:42 <pikhq> I'll just be happy knowing I can do M-x M-butterfly
16:53:44 <ehird> pikhq: Who the fuck disabled your humour node?
16:53:57 <pikhq> An editor war is not funny, it's boring.
16:53:57 <ehird> Oh wait, you can't LIVE without your precious emacs without rms. It's too special, not for joking about. Sorry, sorry.
16:54:34 <pikhq> That's either damnably insulting, or not a bad joke.
16:54:38 <pikhq> Can't quite decide which.
16:56:28 <ehird> Mainly the latter, a tiny bit of the former because I'm an asshole./
16:56:29 <ehird> :D
17:09:23 -!- Sgeo has joined.
17:35:17 -!- Tritonio_ has joined.
17:37:13 <Tritonio_> hello everybody
17:37:51 <Slereah> Hello little man.
18:00:05 -!- Tritonio_ has quit (Remote closed the connection).
18:31:09 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
18:31:11 -!- slereah_ has joined.
18:44:57 -!- oerjan has joined.
18:50:40 <Sgeo> rehi slereah_ hi oerjan
18:51:00 <slereah_> Hello little man.
18:52:29 <Sgeo> "little man"?
18:52:38 <slereah_> Little man.
18:52:55 <slereah_> I call each and every man little man.
18:53:00 <slereah_> Also most women.
18:53:52 <oerjan> actually Sgeo is a 7 feet 68 year old black woman from New Carolina. but she won't admit it of course. except to confuse us.
18:54:05 <Sgeo> lol oerjan
18:54:17 <Sgeo> "New Carolina"?
18:54:28 <slereah_> Is that a fusion between Hillary and Obama?
18:54:37 <slereah_> Because that's what America wants.
18:54:54 <oerjan> *south
18:55:13 <oerjan> no, that would be South York
18:56:02 <Sgeo> http://youtube.com/watch?v=blm4xPO_iIA
18:56:03 * oerjan notes that New Carolina gives several google hits
19:03:21 -!- puzzlet_ has joined.
19:10:15 <SimonRC> hi
19:10:46 <Sgeo> Hi puzzlet_ and SimonRC
19:15:16 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
20:30:19 -!- ehird has quit ("Leaving").
20:32:26 -!- ehird has joined.
20:36:36 <Sgeo> rehird
20:37:38 <SimonRC> heh
20:40:04 <ehird> heh
20:40:11 <ehird> re, ehird. rehird.
20:45:13 <SimonRC> actually, rehi + ehird = rehird
20:45:40 <Sgeo> SimonRC, somehow, I failed to notice thhat
20:47:37 <ehird> SimonRC: that's good.
20:47:39 <ehird> rehi, ehird. rehird.
21:16:13 <pikhq> 13:29:59 <GregorR-W> Razor-X: Thou shalt not build regexp's into a base language :P
21:16:18 <pikhq> From the #esoteric logs.
21:16:33 <pikhq> Gregor, could you tell me again how you defined the Plof3 syntax? :p
21:17:03 <oerjan> no gregor here
21:19:40 <Sgeo> Regexes are used in PSOX
21:22:01 <Sgeo> pikhq, how's work on PEBBLE2?
21:22:28 <Sgeo> !ami 3488
21:22:33 <Sgeo> ern wribg cgab
21:23:06 <oerjan> flib gnor fre?
21:24:10 <Sgeo> ??/
21:24:24 <SimonRC> huh?
21:25:05 * oerjan checks for unicode and finds none
21:25:19 * Sgeo was typoing
21:25:40 <Sgeo> whon lov was typoneswe
21:26:53 <pikhq> Sgeo: /dev/null
21:32:26 -!- oerjan has set topic: You've reached this channel because the channel you tried to enter has been configured with join throttling (+J). There may be a monad attack in progress there, or simply unusually heavy interest. Please leave this monad and return again. Your channel may also be "arrows-only" (+r); join #please_register for more information. If you need help, massage a freenode staffer or email staff@freenode.net .... Thanks!.
21:34:50 <Sgeo> +r? "arrows-only"?
21:34:53 <Sgeo> Oh
21:34:56 <Sgeo> >.>
21:35:06 <Sgeo> Some crazy monad thing I guess
21:35:53 <oerjan> when in doubt, escalate. the monad was already there.
21:36:30 <SimonRC> arrows are a generalisation of monads to inputs as well as outputs
21:36:53 <pikhq> LMAO
21:37:09 <SimonRC> uuuuh
21:37:23 <SimonRC> you have a strange sense of humour
21:38:49 <slereah_> He's a SERVANT OF THE MACHINE
21:39:37 <oerjan> AM NOT &"NO CARRIER
21:41:11 <SimonRC> +++ATH0
21:43:26 <ehird> pikhq: regexp's are in psox core
21:43:27 <ehird> :)
21:43:45 <ehird> slereah_: were you here yesterday for the spiritual guy?
21:43:52 <slereah_> Yes, yes I was.
21:44:36 <Sgeo> ehird, well, the PSOX reference implementation's core
21:44:42 <ehird> err
21:44:43 <ehird> i mean oerjan
21:44:45 <ehird> *maent
21:44:48 <ehird> *meant
21:44:50 <Sgeo> How does this look:
21:44:51 <Sgeo> 0x00 0x06 0x01 FNUM(1)/cd STRINGNL/dirname 0x0A
21:44:51 <Sgeo> Makes directory dirname if it doesn't exist (if it does, it's harmless)
21:44:51 <Sgeo> If cd is not 0x00, changes current directory to that directory regardless of whether or not it existed beforehand
21:45:02 <oerjan> no, i briefly noticed in the logs
21:45:16 <oerjan> *it in
21:46:14 <ehird> oerjan: he was pretty good at convincing himself.
21:49:40 <oerjan> i am _not_ an "atheist or agnostic", for what it is worth. although i was from about 1994 to a day in the summer of 1998.
21:50:19 <slereah_> Did Gawd appear to you?
21:50:39 <oerjan> no, i opened a book at a random page in desperation.
21:50:42 <Sgeo> oerjan, what happened on that day
21:50:54 <oerjan> the page spoke about opening books on random pages.
21:51:00 <slereah_> Lol
21:52:14 <Sgeo> And that caused you to believe what?
21:52:30 <oerjan> in syncronicity.
21:56:17 <RodgerTheGreat> aw, man. :(
21:56:18 <RodgerTheGreat> http://www.editorandpublisher.com/eandp/departments/syndicates/article_display.jsp?vnu_content_id=1003712741
22:01:10 <ehird> oerjan: what are you? just curious
22:01:19 <ehird> RodgerTheGreat: WHAT NO
22:01:30 <ehird> time to kill someone
22:01:31 -!- ehird has quit ("Leaving").
22:01:43 -!- ehird has joined.
22:01:49 <ehird> boy, that typo was perfectly timd
22:01:51 <ehird> timed
22:05:30 <ehird> everyone died?
22:05:41 <slereah_> Aaaaaaaaaaargh
22:05:56 <slereah_> Promise me, before I die...
22:05:58 <slereah_> To serve the machine
22:06:21 * SimonRC goes
22:09:09 <Sgeo> I guess I should use unbuffered for all files?
22:37:19 <Sgeo> Should ls listings be a list of files delimited by \n and terminated with NUL, or delimited by NUL and terminated with \n?
22:37:34 -!- ihope has joined.
22:37:41 <Sgeo> hihope
22:37:44 <Sgeo> Should ls listings be a list of files delimited by \n and terminated with NUL, or delimited by NUL and terminated with \n?
22:37:53 <ihope> Ello.
22:38:24 <ihope> Delimited by \n and terminated with NUL.
22:39:17 <Sgeo> ok ty. Why?
22:40:25 <_D6Gregor1RFeZi> OH NOSE
22:40:28 <_D6Gregor1RFeZi> PBF D-8
22:40:53 <ihope> Because NUL seems bigger.
22:41:10 <oerjan> oh dear gregor was here, just horribly maimed
22:41:13 <Sgeo> _D6Gregor1RFeZi, what's with that name?
22:41:28 <_D6Gregor1RFeZi> I was mangled.
22:41:45 * ehird is going to write a dinky little esolang which is like haskell, but crazier
22:41:45 <oerjan> did you get the license plate?
22:41:50 <ehird> for example, the Y combinator types in it
22:41:56 <ehird> actually, i think every term will type in it
22:41:57 <ehird> :D
22:42:04 <slereah_> Damn you and yout Haskell!
22:42:16 <olsner> ehird: how about run-time lazy type checking? :P
22:42:20 <_D6Gregor1RFeZi> $ haskell -v
22:42:20 <ehird> olsner: haha :)
22:42:24 <_D6Gregor1RFeZi> YOUT Haskell v1
22:42:35 <ehird> it will have a type inference engine of course
22:42:40 <ehird> but i hope i can get it to infer recursive types
22:42:56 <ehird> (\f -> f f) infers to '(a = a -> b) -> b'
22:43:23 <Sgeo> ehird, just like you were going to work on SOXP?
22:44:57 <ehird> Sgeo: You should really get over it. Sheesh.
22:45:08 <Sgeo> I think I would like to see a SOXP
22:45:18 <ehird> so you can whine about it being a bad idea?
22:45:24 <ehird> that's what you did, originally
22:45:52 <Sgeo> Well, at least a GUI domain, if you're not doing your SOXP project
22:46:11 <ehird> i thought you're working on that
22:46:43 <ehird> oh
22:47:12 <ehird> here's 'coerce' in my language (which is called Facade):
22:47:13 <ehird> coerce :: a -> b;;
22:47:13 <ehird> coerce = \a -> a;;
22:47:16 <ihope> Cool.
22:47:17 <ehird> use like:
22:47:39 <ehird> wtf :: [Int];; # strings are lists of unicode codepoints
22:47:47 <ehird> wtf = coerce 5;;
22:48:01 <ehird> which will give you the internal representation of 5, when treated as a list of integers
22:48:05 <ihope> Ideally, coerce would be implemented as "My gosh, why would you want to do a thing like that?"
22:48:17 <ehird> ihope: But this is so much more fun!
22:48:28 <Sgeo> ehird, I will work on it if you don't work on it
22:48:35 <Sgeo> But first I'm working on File I/O
22:48:39 <ihope> I guess coerce is nice when you want to get at internal representations.
22:49:03 <ehird> ihope: Not really, since there'll be no way to sanely get at it
22:49:11 <ihope> Oh.
22:49:18 <ehird> oh, and here's map:
22:49:19 <ihope> So it's only good for fun and circumvention?
22:49:28 <ehird> map :: (a -> b) -> [a] -> b
22:49:41 <ihope> What does that do, then?
22:49:59 <ehird> map = \f -> \xs -> if (equal xs []) [] (cons (f (head xs)) (map f (tail xs))
22:50:05 <ehird> and yes i'm aware that looks like lisp
22:50:11 <ehird> the syntax is ... lightweight
22:50:14 <ehird> but i will improve it
22:50:46 <ihope> How is that [a] -> b and not [a] -> [b]?
22:50:49 <ehird> err
22:50:51 <ehird> it is [b]
22:50:52 <ehird> sorry
22:51:08 <ehird> wowzers, I think I need 'hindley/milner type inference for retards'
22:51:34 <ihope> Have some type declarations: Disguise : RealType a -> a; Undisguise : a -> RealType a
22:51:40 <ihope> Wait, no.
22:51:48 <ehird> ihope: define 'RealType'
22:52:44 <ihope> Disguise : a -> b; Undisguise : (\x : a) => RealType x
22:52:57 <ehird> heh
22:52:58 <ehird> wow
22:53:06 <ehird> on another note
22:53:07 <ehird> InfElemList : [InfElemList];;
22:53:11 <ihope> And Disguise . Undisguise = id makes it work. :-P
22:53:15 <ehird> but that can be inferred automatically:
22:53:20 <ehird> xs = [xs];;
22:53:22 <ehird> :t xs
22:53:25 <ehird> a = [a]
22:55:30 <ehird> ihope: Actually... will hindley/milner work for this?
22:55:37 <ihope> I think so.
22:55:48 <ihope> If you mean the (a = a -> b) -> b type of stuff.
22:56:52 <Sgeo> Attention everyoen interested in PSOX, including pikhq: Does this look good? http://trac2.assembla.com/psox/browser/trunk/spec/psox-fileio.txt
22:57:12 <ehird> yay.
22:57:19 <ehird> manpage for false(1): 'do nothing, unsuccessfully'
22:57:20 <ehird> very zen
22:57:26 <ehird> let's break it down
22:57:32 <ehird> INITIAL GOAL: do nothing
22:57:37 <ehird> SPECIFIER: unsuccessfully
22:57:51 <ihope> So it actually does something? Gasp.
22:57:55 <ehird> ~X where PURPOSE = X & SPECIFIER = 'unsuccessfully'
22:58:06 <ehird> PURPOSE: not (do nothing)
22:58:09 <ehird> PURPOSE: don't (do nothing)
22:58:15 <ehird> ~nothing = something
22:58:18 <ehird> PURPOSE: do something
22:58:29 <ehird> Now, 'false' actually fails to do anything, therefore its manpage is incorrect.
22:58:37 <ehird> (Well, it does 'return 1;'. But still.)
22:58:46 <ehird> Either its manpage is incorrect, or there's a bug, that is.
22:58:57 <Sgeo> return 1; counts as something
22:59:01 <ihope> And don't forget this fun set of declarations: extensible data Real; Zero : Real; One : Real; a + b + c = a + (b + c); a * b * c = a * (b * c); a + b = b + a; a * b = b * a; Zero + a = a; One * a = a; Zero * a = a; a * (b + c) = a * b + a * c; I don't feel like typing up the least upper bound property; Not (Zero = One)
22:59:03 <Sgeo> It's the manpage for true(1) that's wrong
22:59:35 <ehird> ihope: You know I think when I have an implementation YOU can type this all up. :-P
23:00:23 <ehird> Hmm.
23:00:26 <ehird> First thing first - an AST!
23:00:50 <ehird> Hmm.
23:00:55 <ehird> I won't group 'a :: b' and 'a = b'
23:01:05 <ehird> The thingy can sort that out.
23:03:52 <oerjan> not the watchy?
23:04:36 <ehird> oerjan: no
23:13:35 <ehird> ihope: http://hpaste.org/5849
23:13:38 <ehird> that's an AST
23:13:40 <ehird> any comments?
23:14:14 <ihope> Nope.
23:14:23 <slereah_> What means AST?
23:14:27 <ehird> ihope: OK, I mean -- is there anything you'd like to see there :P
23:14:29 <ehird> slereah_: Parse tree
23:14:32 <ehird> Abstract Syntax Tree
23:14:58 <ihope> Multi-argument lambdas?
23:15:13 <ehird> ihope: Haskell doesn't have those.
23:15:37 <ihope> \a b -> Foo?
23:16:05 <ehird> ihope: And what is the type of that?
23:16:11 <ehird> (Alternate: Give me another way to write that.)
23:16:20 <ihope> \a -> \b -> Foo
23:16:23 <ehird> Exactly.
23:16:36 <ehird> I can, if wanted, just parse '\a b -> Foo' as '\a -> \b -> Foo'
23:16:47 <ehird> Same reason I don't have a special 'f x = ...' definition.
23:16:51 <ehird> I can just parse it as 'f = \x -> ...'
23:16:55 <ihope> Oh, yeah.
23:24:43 <ehird> ihope: Wow, parsing [a,b,c,...] is actually kinda hard with parsec.
23:25:41 <ihope> [, repeating expression-comma, optional expression, ]?
23:26:32 -!- ihope_ has joined.
23:26:42 <ihope_> Or [, optional (repeating expression-comma, expression), ]?
23:26:59 <ihope_> Make that optional (expression, repeating comma-expression), actually. Maybe.
23:29:05 <ehird> ihope_: Yeah, it's just that in Parsec all that 'optional' stuff can get ugly
23:30:22 <ihope_> It's not too ugly if you're careful.
23:33:33 <oerjan> use sepBy
23:34:32 <oerjan> ehird: ^^
23:34:57 <ihope_> Suddenly, I feel like making a pseudo-BNF definition that recognizes a prime number.
23:35:40 <ehird> oerjan: but #haskell want me to use lexeme and TokenParser! :-P
23:35:44 <ehird> ihope_: Is that... possible?
23:35:59 <oerjan> i mean for the [a,b,c,...] lists
23:36:18 <ihope_> I did say pseudo-.
23:37:12 -!- uvanta has joined.
23:37:26 <ehird> oerjan: am funcuzzled
23:38:17 <oerjan> sepBy p delim parses nothing, or p, or any number of p's separated by delim's
23:39:19 <oerjan> the reference example is commaSep p = p `sepBy` (symbol ",")
23:41:11 <ehird> oerjan: would i be better using TokenParser, or that?
23:41:17 <ehird> I mean, Facade's grammar isn't that complex..
23:41:34 <oerjan> erm, symbol is part of TokenParser
23:41:46 <ehird> ah
23:41:58 <ehird> oerjan: but .. can I mix regular parsers with that?
23:42:08 <oerjan> sure
23:42:54 <ehird> oerjan: and does that skip whitespace?
23:43:01 <ihope_> Now I'm wondering whether it's possible to read in an integer in little-endian binary and output it in little-endian decimal using finite storage.
23:43:05 <oerjan> TokenParser gives you parsers for various individual token types, automatically skipping space and comments after them
23:43:22 <ehird> oerjan: so, essentially, i can't just drop that in
23:43:35 <ehird> because, personally, i have no idea how to use TokenParser
23:43:37 <oerjan> sure you can
23:43:40 -!- ihope has quit (Read error: 110 (Connection timed out)).
23:43:40 <ehird> and Parsec docs aren't very helpful
23:43:51 <ehird> oerjan: OK, but how will that sepBy help me handle whitespace?
23:43:51 <oerjan> there's an example using it
23:44:03 <oerjan> sepBy has nothing to do with the whitespace
23:44:20 <ehird> exactly
23:44:22 <oerjan> it's just for parsing something structured like a list with delimiters
23:44:27 <ehird> so; what is the best solution?
23:44:33 <ehird> where i have a standard language grammar
23:44:42 <ehird> with mostly entirely whitespace insensitivity
23:44:53 <ehird> and quite a lot of deliminated things like that
23:45:01 <ehird> is there a TokenParser thing for unifying all that skipping and stuff?
23:45:10 <ehird> because right now i have various space skipping littered about.
23:45:19 <ehird> if TokenParser can help me get rid of that too..
23:45:20 <oerjan> yes
23:45:33 <oerjan> lexeme p parses p, then skips.
23:46:15 <oerjan> all the other parsers defined by TokenParser are wrapped with lexeme
23:46:52 <oerjan> like symbol, which parses a string of operator-like symbols
23:47:06 <oerjan> (a specific one)
23:47:16 <ehird> oerjan: is there an example unifying all that?
23:48:06 <oerjan> See the Lexical Analysis section
23:49:10 <oerjan> *analysis
23:51:29 <ehird> oerjan: so I define a thingy called lexer
23:51:31 <ehird> which is a thingy
23:51:44 <ehird> and is a TokenParser ()
23:53:47 <oerjan> see the reference section "The members of TokenParser"
23:56:14 <oerjan> oh there is even a specific commaSep parser. scratch my suggestion of explicitly using sepBy, then.
23:57:07 <ehird> oerjan: hm, I don't like the look of that languagedef stuff
23:57:08 <oerjan> squares (commaSep p) :)
23:57:11 <ehird> too much hand-waving magic..
23:57:32 <oerjan> well yeah it does make some assumptions
23:58:07 <oerjan> there is a section describing those fields too
23:59:08 <oerjan> (The members of LanguageDef)
23:59:18 * Sgeo is implementing domain 0x06
23:59:59 <oerjan> it's of course designed to allow you to easily parse the tokens of an "ordinary" language
←2008-02-22 2008-02-23 2008-02-24→ ↑2008 ↑all