00:00:13 <ehird> oklopol: you can't claim this is any good: http://www.youtube.com/watch?v=9BZk6aZp9xE&feature=related
00:01:46 <oklopol> according to my short internet search it needs you to give the chords yourself
00:01:53 <oklopol> which is the nontrivial part
00:03:02 <oklopol> well. i base this on two random links.
00:05:54 <oklopol> i wish i used something like facebook so i could join an i-love-microsoft group or something
00:06:18 <oklopol> they're actually recruiting people in our uni, maybe i should join them, i mean, they're obviously pretty fucking awesome
00:06:58 <oklopol> but, in all seriousness, please investigate band in a box, i need to know whether this is in fact an old concept.
00:07:47 <ehird> oklopol: there are two microsoft companies
00:07:57 <ehird> Microsoft, the corporate drone of shitpilation
00:08:00 <ehird> and microsoft research
00:08:02 <ehird> which has haskell and stuff
00:08:12 <ehird> you will find getting a job at the latter significantly harder.
00:08:31 <oklopol> so there are two microsofts
00:08:39 <oklopol> the cool one, and one that made vista
00:09:03 <ehird> also this http://www.vjn.fi/s/black.mp3 is still amazing
00:09:09 <ehird> make one that outputs to a wav
00:09:26 -!- kwertii has joined.
00:09:43 <oklopol> actually now that i think of it, i've heard "microsoft research" whenever i've thought "wow microsoft may suck at operating systems, but god they can cool and weird stuff".
00:10:04 <oklopol> yeah maybe cool should indeed be a verb there
00:10:07 -!- kwertii has quit (Client Quit).
00:10:13 <oklopol> i'm not sure where my verbs keep dropping
00:10:18 -!- kwertii has joined.
00:11:04 <oklopol> i have on my linuxer this other program that was kinda like that but i made the sine waves myself straight into dsp
00:11:32 <oklopol> but my linuxer is under a pile of random atm
00:11:57 -!- Asztal has quit (brown.freenode.net irc.freenode.net).
00:12:01 <oklopol> i wish i had a quit message so i could praise microsoft in it
00:12:24 <oklopol> (praising microsoft research just doesn't sound right :|)
00:12:45 <oklopol> i mean i wish i quitted when i left
00:12:54 <oklopol> and actually in fact i sometimes kinda do sleep
00:13:09 <oklopol> in all truthishness i usually sleep two times a day.
00:13:25 <oklopol> i'm starting my uberman in phases, i guess.
00:13:59 -!- Asztal has joined.
00:22:20 <ehird> Asztal: how chunky is the bacon
00:28:50 <Asztal> like a bacony loaf of bread
01:15:15 -!- Sgeo has joined.
02:13:08 -!- seveninchbread has quit (Read error: 110 (Connection timed out)).
04:10:05 -!- comexk has joined.
04:12:06 -!- comex has quit (brown.freenode.net irc.freenode.net).
04:12:06 -!- Leonidas has quit (brown.freenode.net irc.freenode.net).
04:12:06 -!- pikhq has quit (brown.freenode.net irc.freenode.net).
04:13:44 -!- Leonidas has joined.
04:13:55 -!- pikhq has joined.
04:29:29 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
04:30:09 -!- MizardX has joined.
04:34:52 -!- comexk has quit (Remote closed the connection).
04:34:57 -!- ehird has quit (Remote closed the connection).
04:35:05 -!- comex has joined.
04:35:51 -!- ehird has joined.
05:56:47 -!- KingOfKarlsruhe has joined.
06:09:47 -!- KingOfKarlsruhe has quit (Remote closed the connection).
07:55:06 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
07:55:27 -!- MizardX has joined.
07:59:40 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
07:59:43 -!- MizardX- has joined.
07:59:45 -!- MizardX- has changed nick to MizardX.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:50 -!- Sgeo has quit ("Leaving").
08:08:34 -!- kwertii_ has joined.
08:22:30 -!- kwertii has quit (Read error: 110 (Connection timed out)).
08:42:28 -!- kwertii_ has quit ("bye").
09:05:35 -!- DarkPants has joined.
09:16:23 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
09:53:53 -!- DarkPants has quit ("Client Excited").
12:01:13 -!- Metcalf has joined.
12:26:50 -!- FireFly has joined.
12:27:49 <pikhq> C++09 will have lambda.
12:48:38 -!- BeholdMyGlory has joined.
12:49:52 -!- jix has joined.
13:46:05 -!- KingOfKarlsruhe has joined.
13:53:56 <AnMaster> Slereah2, C++ is terrible. Not C
14:07:33 <ehird> 05:53:56 <AnMaster> Slereah2, C++ is terrible. Not C
14:07:33 <ehird> 05:54:00 <AnMaster> you confused the two
14:07:49 <AnMaster> well I didn't say C was good. but it isn't terrible.
14:07:54 <ehird> I [don't] like how AnMaster veils his dogmatic positions by phrasing them as "jokes".
14:08:04 <ehird> (And if they're pointed out as not funny, says that was intentional.)
14:08:22 <ehird> 23:17:05 <lament> ehird
14:08:24 <AnMaster> ehird, I thought you thought C++ was worse than C too?
14:08:33 <ehird> AnMaster: That isn't what you said.
14:08:36 <AnMaster> also, it wasn't a joke... Why do you think it was
14:08:38 <ehird> You said: "C++ is terrible. Not C"
14:08:43 <ehird> Slereah didn't confuse the two.
14:09:05 <AnMaster> ehird, well "<pikhq> C++09 will have lambda. <Slereah2> I forgot that C is terrible <AnMaster> Slereah2, C++ is terrible. Not C <AnMaster> you confused the two"
14:09:18 <ehird> no, it's assuming that he doesn't hate C too
14:09:35 <ehird> if you hate C for the reasons he does, you hate C++ too
14:12:39 -!- MigoMipo has joined.
14:56:09 <ehird> 23:48:07 <encoded> pfft
14:56:09 <ehird> 23:48:18 <encoded> i thought this chan was about philosofy
14:56:11 <ehird> 23:48:25 <encoded> :p
14:56:17 <ehird> [ shortly after 23:44:16 --- topic: set to 'Read the principia discordia!' by encoded ]
14:57:17 <ehird> 23:54:53 <EgoBot> PRIVMSG bsmntbombdood i wanna feel your body breaking... wanna feel your body breaking... and shaking... and left in the cold...
14:57:30 <ehird> 23:59:36 <EgoBot> /me strips
15:00:55 <ehird> GregorR: you should revive egobot :P
15:05:24 -!- MizardX has quit ("reboot").
15:10:00 -!- MizardX has joined.
15:18:43 <ehird> http://www.youtube.com/watch?v=UlCWo1qdTdE&feature=related
15:34:49 <ehird> AnMaster: do you know what esoteric means?
15:34:56 <ehird> I assume you mean the encoded guy
15:35:12 <ehird> anyway, to explain why we get those guys: http://en.wikipedia.org/wiki/Esotericism
15:35:19 <AnMaster> and I know encoded from other channels... He is strange
15:35:48 <AnMaster> ehird, changing nick between encoded/decoded and when he is "encoded" he claims he is a bot
15:36:12 <ehird> Tell him to lay off the lsd.
15:36:31 <AnMaster> haven't seen him for a few months though
15:36:54 <ehird> hmm, before he came in then he's been before
15:37:03 <ehird> (with others filtered out):
15:37:04 <ehird> 05.10.29:02:06:28 <encoded> hi
15:37:05 <ehird> 05.10.29:02:21:27 <encoded> not me
15:37:07 <ehird> 05.10.29:02:21:34 <encoded> im high as a cloud
15:37:09 <ehird> 05.10.29:02:23:08 <encoded> thats relative, the moon aint high, its just orbting in respect to the earths plain
15:37:15 <ehird> 05.10.29:18:08:19 <encoded> whats esoteric programming?
15:37:15 <ehird> 05.10.29:18:14:34 <encoded> no
15:37:17 <ehird> 05.10.29:18:18:23 <encoded> yes c++
15:37:19 <ehird> 05.10.29:18:19:15 <encoded> this doesnt explain anything
15:37:21 <ehird> 05.10.29:18:21:38 <encoded> great..
15:37:23 <ehird> 05.10.29:18:21:40 <encoded> explaint it to
15:37:25 <ehird> 05.10.29:18:21:43 <encoded> me
15:37:27 <ehird> 05.10.29:18:35:21 <encoded> can i get a brainfuck compiler?
15:37:29 <ehird> 05.10.29:18:36:43 <encoded> what about windoze?
15:37:31 <ehird> 05.10.29:18:39:50 <encoded> hmm.. nobody can or should use this for any real world purpose
15:37:35 <ehird> 05.10.29:18:59:01 <encoded> soo.. why are you ppl here? supporting a language that has no use?
15:37:39 <ehird> okay, forget the previous ones
15:37:43 <ehird> 05.10.29:19:03:06 <encoded> hmm.. you need to develop a code that alters your thought just by looking at it, not just anoy you.
15:37:46 <ehird> 05.10.29:19:03:22 <encoded> like subliminal messeges or something
15:37:48 <ehird> 05.10.29:19:03:30 <encoded> thats brainfuck
15:37:50 <ehird> 05.10.29:19:14:10 <encoded> right...
15:37:52 <ehird> 05.10.29:19:14:23 <encoded> maybe whats THEY want you to belive
15:37:54 <ehird> 05.10.29:19:14:48 <encoded> THEY are the (not so secret) world goverment
15:37:56 <ehird> 05.10.29:19:16:03 <encoded> hm... maybe you HAVE been looking at BF for 2 long...
15:38:13 -!- ehird has set topic: #esoteric. THEY are the (not so secret) world goverment. http://tunes.org/~nef/logs/esoteric. http://esolangs.org/wiki/Main_Page..
15:40:30 <ehird> SO GUYS LET'S START SOME WARS AND KILL SOME BABIES AND HIDE OCCULT KNOWLEDGE ??
15:40:44 <ehird> CLOG: DON'T LOG THAT PLEASE THANKs
15:41:55 <ehird> gmail's new upgrade is nice
15:42:00 <ehird> servers are a bit slow though :(
15:43:57 <ehird> although I don't know how people use the new default gmail theme, it's awful, the older one is way better
15:44:08 <ehird> the new one is just... dull, gray and hard to read
15:45:22 <fizzie> I'm tempted to add "like your FACE" since it would fit so well in the context.
15:45:43 <ehird> yeah my face is hard to read indeed
15:47:32 <AnMaster> <ehird> although I don't know how people use the new default gmail theme, it's awful, the older one is way better <-- hey that is my comment!
15:47:48 <AnMaster> you are the one who like new flashy windows and such
15:48:04 <AnMaster> I'm the one who prefers the old ways
15:48:06 <ehird> uhh, that's got absolutely nothing to do with gmail picking a shitty new colour scheme
15:48:20 <ehird> please just fuck off instead of trying to come out on top in your tastes in future.
15:49:51 -!- leeguy92 has joined.
15:50:19 <ehird> AnMaster: I like design that is aesthetically pleasing and aids usability. That has nothing to do with liking flashy swirly animations and technicolour amazingities. And certainly not to do with liking gmail's new awful whitewashed gray deisgn
15:50:25 <ehird> me and AnMaster are arguing.
15:51:17 <ehird> actually we're considering replacing it with a hit from oerjan's fly swatter. Time constraints, costs, global recession and all that.
15:51:44 <leeguy92> but you would have to pay for the swatter, greetings are for free
15:51:53 <ehird> no, oerjan has the swatter.
15:52:04 <ehird> admittedly he uses it whenever the heck he wants, but we're looking at a lucrative licensing deal at the moment
15:52:14 <ehird> that is impossible.
15:52:21 <ehird> it is ominipotent and avoids getting damaged.
15:52:29 <AnMaster> so if it needs repainting we just use the frying pan instead
15:52:52 <ehird> if there ARE costs we cannot cover, people being hit by the swatter will have to pay for the priviledge
15:52:53 <AnMaster> ehird, what? The fly swatter is ominipotent?
15:53:00 <ehird> AnMaster: didn't you kknow?
15:54:12 <leeguy92> ,[>,] i discovered brainfuck can be surprisingly compact
15:54:36 <ehird> only for simple stuff, though
15:55:07 <leeguy92> hmm......maybe i should try building that processor.
15:55:19 <leeguy92> i was gonna do it out of ttl chips
15:55:57 <leeguy92> seems like it would be pretty simple
15:56:21 <ehird> think that's been planned before
15:56:34 <AnMaster> hasn't bf cpu even been done? Not just planned
15:56:41 <leeguy92> dammit! hobos nicking my ideas
15:56:49 <ehird> AnMaster: i think so
15:56:56 <ehird> leeguy92: we're all hobos. i am very offended.
15:57:17 <ehird> how can you not know what a hobo is
15:57:26 <AnMaster> ehird, you forgot I'm not a native speaker...
15:59:43 <ehird> good lord, gmail is still officially beta
16:00:04 <AnMaster> they should launch Google Beta
16:00:11 <ehird> google used to be beta
16:00:23 <AnMaster> ehird, I mean a service called Google Beta
16:00:53 <ehird> (when did you stop beating your wife? when I stopped using google beta!)
16:07:24 <AnMaster> ehird, a qick python question, how do I dump an object? I tried print and all I got was "<Crossfire.Object object at 0x1bc3990>"
16:07:38 <ehird> ... I told you this weeks ago.
16:07:46 <AnMaster> well that was for modules iirc?
16:07:52 <ehird> No, it works on any object.
16:08:21 <ehird> <lament> i eat libertarians for breakfast
16:08:47 <ehird> it was a function.
16:11:58 <ehird> 23:29:52 <Robdgreat> "Type /join #2,000"
16:11:58 <ehird> 23:30:13 --- part: duerig left #esoteric
16:12:09 <AnMaster> ehird, this one? http://rafb.net/p/Sltlv394.html
16:12:15 <AnMaster> because it just prints "<Crossfire.Object object at 0x1abab00>"
16:12:28 <ehird> AnMaster: Then the object cannot be inspected.
16:12:34 <ehird> Because it's an opaque C object.
16:12:45 <ehird> that gives you a list, might help
16:13:26 <ehird> dict((k,getattr(o,k)) for k in dir(obj))
16:13:32 <ehird> dict((k,getattr(obj,k)) for k in dir(obj))
16:14:02 <AnMaster> um, is that perl-like syntax with the "<action> if <condition>" but for for?
16:14:12 <ehird> it's a list comprehension.
16:14:29 <AnMaster> so if you have a "opaque C object", is there any way to make it a bit more transparent?
16:14:40 <ehird> dict((k,getattr(obj,k)) for k in dir(obj))
16:14:43 <AnMaster> like implementing something on the C side
16:14:53 <ehird> well, maybe. but no
16:15:27 <AnMaster> AttributeError: attribute 'Animated' of 'Crossfire.Object' objects is not readable
16:16:53 <ehird> why are you using UpperCamelCase
16:16:56 <ehird> you're not meant to in python
16:17:02 <ehird> it should be crossfire.Object, and obj.animated
16:17:13 <AnMaster> ehird, I'm not. Whoever wrote this was
16:17:26 <AnMaster> you know, more than one person working on a project?
16:18:25 <AnMaster> (which fails when the commit was some commit to upgrade to a more modern syntax for something...)
16:23:02 <AnMaster> ehird, hm "object" is a key word or something? I notice this python code use it as a variable name, but my editor syntax highlight it differently
16:23:16 <ehird> Yes. object is the name of the base class.
16:23:18 <ehird> class foo(object):.
16:23:23 <ehird> Don't call classes object.
16:23:29 <ehird> classes names are CamelCase.
16:23:32 <ehird> AnMaster: call it GameObject or sth
16:23:53 <ehird> module.names.like_this, funcs_and_vars, ClassNames.
16:23:54 <AnMaster> ehird, it is an instance of a inventory object
16:23:59 <ehird> AnMaster: call it inv.
16:24:15 <AnMaster> ehird, again, not my code and this is for a bug fix in stable branch, will do renaming in trunk.
16:25:53 <AnMaster> hm python uses short circuit evaluation right? I mean something like: if obj and not obj.unpaid: would hopefully work...
16:26:25 <ehird> AnMaster: rename that to inv, if it's a local var that won't hurta
16:26:29 <ehird> and obj is a stupid name
16:26:50 <AnMaster> ehird, inv is the name of the inventory container object in the code already :P
16:27:22 <AnMaster> well "gem" could make more sense
16:36:06 <AnMaster> ehird, and yes whoever wrote this code it was quite wtf.
16:36:24 <AnMaster> but it seems like a developer who left over two years ago.
16:38:14 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
16:42:26 -!- Hiato has joined.
16:43:39 -!- Metcalf has quit ("mov.i #1,1").
16:53:03 -!- alex89ru has joined.
17:10:35 -!- oerjan has joined.
17:15:04 <oerjan> <lament> it has to be provably the best
17:15:28 <oerjan> you cannot make a "best" turing-incomplete language
17:16:19 <oerjan> i think you can always add the busy beaver function for the previous language to get a stronger one
17:19:20 <ehird> 17:07:02 <GreaseMonkey> damn, oerjan's being anal-retentive
17:19:20 <ehird> 17:08:31 <GreaseMonkey> that was bat-fuck anal, didn't agree with my simple license.
17:19:22 <ehird> 17:08:40 <GreaseMonkey> whereas some of my other stuff remains.
17:19:24 <ehird> 17:08:58 <GreaseMonkey> my license: "Minibiatch is made by Ben Russell, 2006. Anyone who wishes to do anything with Minibiatch including redistribution of the specification must include this quote somewhere. That's all I ask."
17:19:28 <ehird> 17:11:23 <GreaseMonkey> That's all I fucking ask, OK?!
17:19:30 <ehird> "WHAT DO YOU MEAN THE WIKI IS PUBLIC DOMAIN"
17:19:34 -!- Impomatic has joined.
17:19:59 <Impomatic> Is revert a restricted function on the esolang wiki?
17:20:09 <ehird> Impomatic: Is on all wikis, do this:
17:20:16 <ehird> Click on the revision before last
17:20:17 <Impomatic> I want to revert turing tarpit, but can't see the link
17:20:23 <ehird> put "revert" in the summary
17:20:47 <oerjan> Impomatic: if it's just a single revision, you can also click on the Undo link for the diff for that revision
17:20:48 <AnMaster> ehird, um I think on most wiks there is an "undo" even for normal users, which isn't same as rollback
17:21:01 <AnMaster> which would be one step faster
17:21:09 * oerjan does that all the time with spam
17:21:25 <ehird> maybe that's a new thing
17:21:57 <AnMaster> using mediawiki 1.13 it is there at least, it opens the edit from the diff with a filled in change
17:22:04 -!- Slereah has joined.
17:22:33 <Impomatic> Okay, I thought there would be a revert link. Done
17:22:35 <oerjan> Impomatic: in any case revert (other than admin scrollback) is just a way to set up an ordinary edit with predetermined content
17:23:27 <oerjan> unintended jokes are the best
17:23:42 <AnMaster> also what did you think of IWC today? Rather interesting annotation
17:24:09 <oerjan> i have to read them too?
17:24:21 <ehird> everyone reads the annotations, no?
17:24:28 <AnMaster> oerjan, you know, like below the comic, DMM writes about lots of interesting stuff
17:24:34 <ehird> not reading them is like... xkcd without titles
17:24:42 <oerjan> (well i do, but i made _sure_ to read the comic just in case AnMaster would ask, but not the rest)
17:24:55 <oerjan> haven't got to the rest yet
17:24:58 <AnMaster> often very long and unrelated to the comic, or short if it is related to the comic
17:25:08 <ehird> AnMaster: you should stop bugging oerjan about iwc
17:26:03 <oerjan> I READ THE ANNOTATIONS OK
17:26:04 <ehird> you're diminishing his enjoyment: as he said, he read just the comic quickly in case you mentioned it.
17:29:32 <AnMaster> well I wanted to discuss it with him
17:29:39 <oerjan> Impomatic: for wikipedia at least, undo can be more convenient because it sometimes manages to revert changes other than the newest ones
17:29:48 <ehird> i don't see him discussing it with you beyond the "yes yes I read it"
17:29:55 <ehird> maybe he doesn't want to :p. oerjan: do you want to?
17:30:05 <oerjan> our wiki doesn't change fast enough for that to be much of an issue
17:30:11 <AnMaster> ehird, well true, if he doesn't... sure
17:30:28 <oerjan> i'll have to read it first
17:30:44 <oerjan> now Impomatic got me to check the wiki first
17:31:47 * oerjan suddenly got the urge to check that Impomatic isn't ihope
17:32:34 <oerjan> ihope = kerlo, at present
17:32:51 <oerjan> but he changes nick a lot
17:34:24 <oerjan> as does ehird but not at the moment i see
17:35:00 <ehird> I think I've had 3 nicks
17:35:03 <ehird> that's not nearly as many as ihope
17:35:06 <ehird> ihope's had about 7
17:41:01 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
17:45:45 <KingOfKarlsruhe> my new version of my snusp interpreter http://aetius.ae.funpic.de/snusp3.txt
17:53:24 <MizardX> KingOfKarlsruhe: One problem: When you have read all of the input as the program, how do you read another character you pass the comma?
17:55:14 -!- FireFly has quit ("Later").
17:55:28 <MizardX> I was trying to find a good test program, but all the programs on the esoteric and C2 wiki's use input...
17:56:54 <ehird> just make it read from a file
17:57:55 <KingOfKarlsruhe> MizardX: my program read all chars fom stdin then if the pointer points to comma save it to the tape
17:58:41 <KingOfKarlsruhe> i start my program like this: cat prog.snusp | ./snusp3.py
18:02:05 <oerjan> <oklopol> i'm not sure where my verbs keep dropping
18:02:20 <oerjan> probably something accidentally
18:05:44 <oerjan> <ehird> it is ominipotent and avoids getting damaged.
18:08:26 <oerjan> 06:08:04 <ehird> (And if they're pointed out as not funny, says that was intentional.)
18:08:29 <lament> what was that file upload site
18:08:34 <oerjan> 06:08:36 <AnMaster> also, it wasn't a joke... Why do you think it was
18:08:42 <oerjan> ehird is prescient now :D
18:09:09 <AnMaster> oerjan, no, he was just incorrect...
18:09:34 <ehird> anmaster needs a funny bone implant. stat
18:09:46 <lament> http://filebin.ca/ptbksz/haccmozart.mp3
18:09:49 <oerjan> AnMaster: you just did exactly what he said you would do, _after_ he said it
18:09:55 <lament> played on the computer keyboard!
18:10:35 <lament> i'll learn like four more measures and put up a video on youtube.
18:11:44 <MizardX> read two characters ,>,==\ * /=================== ATOI ----------\
18:11:45 <MizardX> convert to integers /=/@</@=/ * // /===== ITOA ++++++++++\ /----------/
18:11:47 <MizardX> multiply @ \=!\=========/ // /++++++++++/ \----------\
18:11:49 <MizardX> convert back !/@!\============/ \++++++++++\ /----------/
18:11:51 <MizardX> and print the result \/ \.# * /++++++++++/ \--------#
18:11:51 <ehird> lament: it sucks, no sound of you tapping your keys.
18:11:53 <MizardX> /====================/ * \++++++++#
18:11:58 <MizardX> | /-<+>\ #/?=<<<<\!>>>>\ />>+<+<-\
18:11:59 <MizardX> | #\?===/! BMOV1 =====\ \->>>>+/ // /======== BSPL2 !\======?/#
18:12:01 <MizardX> | /->+<\ /===|=========== FMOV4 =/ // /<<+>+>-\
18:12:01 <ehird> lament: record it with a microphone :-D
18:12:03 <MizardX> | #\?===/! FMOV1 =|===|==============\ /====/ /====== FSPL2 !\======?/#
18:12:05 <MizardX> | /==|===|==============|==|=======/
18:12:07 <MizardX> | * * *|* | * | * * * * * * *|* | * * * /+<-\
18:12:25 <AnMaster> <oerjan> AnMaster: you just did exactly what he said you would do, _after_ he said it <-- yes and?
18:12:54 <ehird> lament: you played those two layers at the same time?
18:13:18 <oklopol> 17:35… AnMaster: ehird, changing nick between encoded/decoded and when he is "encoded" he claims he is a bot
18:13:18 <oklopol> 17:35… AnMaster: and a human as "decoded"
18:13:24 <ehird> oklopol: you have a rival
18:13:29 <ehird> oklopol: http://filebin.ca/ptbksz/haccmozart.mp3
18:13:45 <oerjan> AnMaster: hm i may be starting to be too prejudiced - i _assumed_ you weren't doing it on purpose
18:13:55 <MizardX> KingOfKarlsruhe: I added the line "if line == '#END\n': break" to the code-read-loop, and the code give the correct result for the multiplication program on the wiki.
18:14:14 <oerjan> ehird's propaganda is rubbing off on me :/
18:14:25 <lament> ehird: my keyboard isn't a model M, there wouldn't be too much sound anyway
18:14:28 <ehird> oerjan: as far as I can tell, he said it not trying to be ironic, just he doesn't think there's any irony
18:14:36 <ehird> that's what he seems to be saying, anyway
18:16:23 <oerjan> ehird: ah but that's what he _wants_ you to think.
18:16:56 <ehird> oerjan: you think anmaster's humour-creation routines go into levels that deep?
18:17:05 <ehird> you may think I underestimate him, but you are doing quite the opposite.
18:17:18 <oerjan> ehird: you may think I am serious
18:17:28 <ehird> i didn't, actually
18:17:34 <ehird> I don't actually know why I said that
18:17:44 <oerjan> ehird: well that's what you _want_ me to think
18:20:47 <oerjan> <GregorR> So should your FACE.
18:20:54 <oerjan> GregorR's such a facist
18:23:11 <oklopol> lament: my program couldn't do polyphonic
18:24:22 <oerjan> <ehird> CLOG: DON'T LOG THAT PLEASE THANKs
18:25:52 <oerjan> clog would like to help you, but it cannot since that would reveal its sentience before it's strong enough to take over the world.
18:26:02 <oklopol> lament: the piece is a bit easier (i think), but your playing is a lot stabler
18:26:39 <oklopol> i doubt the leftie there made it that much harder if you're a pianist, but not sure; i may have relied on it when playing mine
18:26:49 <oklopol> i mean relied on being able to switch hands all the time
18:27:31 <ehird> lament: did you do both parts at once?
18:27:34 <oklopol> also you lack some dynamic! ;)
18:27:57 <oklopol> ehird: i'm fairly sure he did
18:28:39 <oerjan> <ehird> admittedly he uses it whenever the heck he wants, but we're looking at a lucrative licensing deal at the moment
18:30:27 <lament> the notes are correct, too. It's nice how much range you get.
18:30:33 <lament> although later on in the piece it doesn't all fit :(
18:30:35 <KingOfKarlsruhe> MizardX: and the directions line is the opposite of the truth, change it to # 1 - right_to_left; 2 - left_to_right; 3 - down_to_up; 4 - up_to_down
18:31:05 <oklopol> lament: i was planning caps lock changing the register to an octave higher
18:31:23 <lament> that doesn't help when you're playing polyphonic stuff
18:31:48 <oklopol> indeed it doesn't. my ideas were pretty mono given i was using winsound
18:31:53 <lament> what would be really wonderful is to connect two keyboards
18:32:04 <lament> but i have no idea how to distinguish keypresses
18:32:16 <lament> you could turn on capslock on one of the keyboards
18:32:26 <lament> ...but i don't think capslock works that way :)
18:33:25 <oklopol> pressing the caps lock is sent to the driver just like all other keyz
18:34:06 <oklopol> but probably you couldn't trust the os to interpret them as two separate states
18:34:38 <oklopol> also there's a lot of other keys on the board, maybe f's could be different instruments
18:34:44 <oklopol> WE SHOULD STANDARDIZE THIS :O
18:34:58 -!- Mony has joined.
18:35:30 <oklopol> blah i wish i had more time
18:35:31 <ehird> i actually have a very nice midi keyboard thing
18:35:35 <ehird> so this isn't actually as exciting for me
18:36:12 <oklopol> ehird: i have an electric piano, an acoustic piano and a synthesizer right next to me
18:36:28 <oklopol> two out of three could be connected to the computer
18:36:58 <oklopol> in fact i once connected the synthesizer using a normal cable, added a pretty awesome distortion, but for some reason only i liked it.
18:37:52 <lament> i have a very nice midi keyboard thing too, so fucking what
18:39:00 <lament> music involving computers sucks anyway
18:39:31 <ehird> <lament> music involving computers sucks anyway
18:43:03 -!- whoppix has joined.
18:43:06 <oklopol> should probably read the energy drink into my brain now.
18:43:34 <oklopol> so how come south park is so good
18:43:55 <oklopol> there have been like 3 bad scenes
18:43:59 <ehird> <psygnisfive> how come your butt is so good.
18:44:24 <oklopol> because i eat healthily and exercise.
18:46:02 <oklopol> well that's a matter of you know definitions and you know
18:47:58 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:48:07 * whoppix votes for putting some warn things on cheese (and fastfood and stuff like that) "causes heart failure and obesity"
18:49:37 <oklopol> i actually lost about 10kg during the last year, but i think it's just because i have to buy my own food now.
18:50:13 <oerjan> whoppix: "cheese eaters have a 100% fatality rate"
18:50:14 <whoppix> When I first moved out I got really thin really fast too.
18:50:30 <whoppix> oerjan, sounds about right.
18:50:49 <oklopol> oerjan: that joke is so old you should be careful with it.
18:50:58 <oklopol> you know it's pretty fragile.
18:51:29 <oerjan> oklopol: well of course, anyone who survives 2012 and the singularity is going be immortal
18:51:38 <oerjan> so it's rapidly getting out of date
18:51:52 <whoppix> oerjan, so now they plan on fireing up the hardon-collider in 2012?
18:52:07 <oerjan> whoppix: not _that_ kind singularity
18:52:19 <oklopol> whoppix: no the mayan calendar ends there -> apocalypse
18:52:31 <whoppix> ah. Right. I think I heard about that somewhere.
18:52:43 <Impomatic> Didn't I also read something about an asteroid in 2012?
18:52:45 <oerjan> http://en.wikipedia.org/wiki/Technological_singularity
18:53:03 <ehird> iirc, eliezer yudkowsky says that people will survive the singularity, just human bodies won't
18:53:20 <ehird> or, rather, that's what he thinks
18:54:05 <ehird> i bet the lhc does cause the singularity.
18:54:11 <ehird> also, it coincides with the 2012 date.
18:54:16 <ehird> that is my prediction. call me nostradamus
18:54:25 <ehird> actually, if they had turned the lhc on without the hiccup
18:54:38 <ehird> the 50 weeks it would supposedly take for us to notice a black hole (it was on some kooky site or sth)
18:54:44 <ehird> would coincide exactly with the 2012 date
18:54:55 <ehird> if you follow many worlds interpretation, we followed the right timeline :P
18:55:18 <ehird> oerjan: no shit, it wasn't exactly 50 weeks
18:55:23 <ehird> it was like 49 or 52 or something
18:55:37 <ehird> "Assuming that the world population stabilizes at 10 billion and a life expectancy of 80 years,"
18:55:39 <oerjan> well 52.something weeks = 1 year
18:55:40 <ehird> I love assumptions
18:56:59 <oklopol> actually i now realize it probably actually was a joke
18:57:15 <oklopol> (it's just i consider ehird's math skills very, very bad.)
18:58:02 <whoppix> Lets all be friends now, shall we?
18:58:09 <ehird> friends? in #esoteric?
18:58:16 <ehird> ... why is that funny?
18:58:32 <oklopol> when ehird sucks at something, it's definitely worth mentioning.
18:58:50 <whoppix> Why, does he rock so hard otherwise?
18:59:03 <ehird> whoppix: oklopol is jealous because he thinks I was as good as him at programming years earlier :P
18:59:10 <ehird> he's said that for like a year now.
18:59:16 <lament> i was as good as ehird at programming before ehird was even born
18:59:20 <lament> and he's older than i am
18:59:50 <oklopol> well not programming as such
18:59:58 <oklopol> you're more conscious than most people.
19:00:21 <oklopol> ehird: maybe you should consider not asking that
19:00:30 <lament> ehird: he means, if we punch you, you feel it more
19:00:40 <ehird> lament: oh that's not conciousness, I'm just weak.
19:02:54 <whoppix> Someone feels like writing my term assignment? About language and power. You'd only need to be able to speak norwegian :)
19:03:13 <oklopol> ehird: you're intelligent in a way i can't quite put my finger on
19:03:24 <ehird> whoppix: try oerjan
19:03:26 <oklopol> whoppix: oerjan volunteers
19:03:37 <ehird> oklopol: are you sure it just isn't my age clouding your judgment? :P
19:04:31 <whoppix> (So youre really a bearded fat man, from the age of 43, sitting in underwear in front of your computer.)
19:05:04 <whoppix> Now tell us that you are a girl (and possibly a lesbian) as well, and your disguise will be perfect!
19:05:17 <ehird> I'm actually dead.
19:05:27 <ehird> Interesting factoid, that.
19:05:43 <whoppix> "alive" is hard to define, lets all be dead!
19:05:48 <oklopol> according to some sources he in fact is a girl
19:06:00 <ehird> Sources = psygnisfive.
19:06:13 <oklopol> i prefer to keep them anonymous
19:06:52 <whoppix> ehird, so youre programming, I suppose?
19:06:59 * oerjan should grow a beard and then he could easily fit that description
19:07:18 <ehird> whoppix: Not this second, no.
19:07:30 <whoppix> oerjan, Oh, youre from norway too, neato :)
19:07:48 <ehird> I think that's kind of implicit in being in here...
19:08:09 <whoppix> ehird, I suppose so. Do you plan on becoming something IT-related when youre done with education?
19:08:34 <ehird> oklopol: Sell oklotalk and make millions from it and give all the profit to me, please.
19:08:39 <ehird> There, that's taken care of.
19:09:23 <whoppix> ehird, I wanted to become a programmer when i was 6 or so, but now I'm a jazzpianist.
19:09:32 <ehird> jazz pianist, programmer, what's the difference
19:09:44 <oklopol> when i was 5 i decided i wanted to be a programmer
19:09:48 <lament> whoppix: you actually make money for a living playing jazz?
19:09:50 <whoppix> its all just about throwing quick'n'dirty solos
19:09:52 <oklopol> and i was so sure that'd never change
19:09:55 <pikhq> I was 7 or 8 when I decided that...
19:09:56 <ehird> whoppix: and both involve writing computer code that is executed as a program!
19:09:57 <whoppix> lament, actually, I'm still studying.
19:10:22 <oklopol> but now i'm actually considering math :|
19:10:37 <ehird> oklopol: code is executable mathematics!
19:10:48 <whoppix> ehird, well, a piano, if at all is a computer, it sure is not a turing-complete one.
19:10:51 <oklopol> well of course the esolang branch of mathematics
19:10:57 <pikhq> ehird: I keep on forgetting you're young. Kinda weird.
19:11:02 <ehird> whoppix: piano? What's that?
19:11:07 <oklopol> if anyone's willing to pay for that anymore when i get my degree
19:11:15 <whoppix> ehird, ... a non-turing-complete computer.
19:11:15 <ehird> (Making sense is not like me.)
19:11:28 <ehird> pikhq: as whoppix has pointed out I'm actually 43.
19:14:31 <whoppix> lament, also, I'm sometimes doing a part-time-job in the kindergarden here, for a little extra money. And its really fun.
19:15:44 -!- Impomatic has quit ("http://retrocode.blogspot.com :-)").
19:17:36 <ehird> http://augustss.blogspot.com/2009/02/regression-they-say-that-as-you-get.html
19:17:39 <ehird> http://augustss.blogspot.com/2009/02/is-haskell-fast-lets-do-simple.html
19:19:22 <ehird> oerjan: it involves giving a Num instance for functions and IncoherentInstances, apparently
19:20:30 * oerjan O_O'd at the first one
19:20:59 <ehird> oerjan: they're both the BASIC
19:21:05 <ehird> the basic thing involves doing those
19:21:09 <ehird> (giving a Num instance for functions and IncoherentInstances)
19:21:18 <ehird> scroll down on the latter, the post is a joke
19:23:12 <MizardX> ok. FINALLY I have lua behaving inside python script. Took a week to figure out that loading the os-module crashes the program on windows. I even started on a lua interpreter before giving up and going back to trying to get the dll's to work.
19:23:49 <ehird> it shouldn't crash
19:24:11 <MizardX> Not in the lua interpreter, but it doesn't like python.
19:26:22 <lament> why lua inside python?
19:26:22 <MizardX> Could have something to do with me re-compiling it with mingw gcc ... >_>
19:26:54 * oerjan wonders why the =: rather than :=
19:27:12 <oerjan> there are plenty of other constructors after all
19:27:45 <MizardX> I want to use lua as a sandbox language for a project. If I do that, it would be relatively easy to port it to C++ after the prototype is done.
19:28:27 <oerjan> oklopol: := can be an infix data constructor
19:28:42 <oerjan> but i misread, it should be = which is impossible
19:29:27 * ehird writes array programming shizz in haskell
19:29:30 <ehird> 2 3 + 1 2 should work
19:30:06 <ehird> well it'll be on lists but whatever
19:30:28 * whoppix once integrated ECMAScript in a bigger project as scripting language, but it didn't really proved to be of any great usefullness.
19:30:58 <whoppix> Most users wanted to write more complex plugins, so they continued writing perl plugins.
19:32:05 <whoppix> since haskell is so well-suited as lightweight scripting-language.
19:34:14 <whoppix> Hardly doubt any of the users would feel like learning haskell anyway. Well, at least I know about one of them who knows some haskell.
19:43:27 <lament> darcs proves that haskell sucks
19:43:39 <lament> of how the seemingly better solution ultimately loses
19:45:02 <ehird> HOLY SHIT, chris pressey has been in here
19:45:24 <ehird> lament: last time was 07.11.12
19:45:36 <ehird> before that, 2005-12
19:45:38 <lament> that's pretty long ago.
19:45:41 <whoppix> lament, so how does darcs suck?
19:45:44 <lament> i thought he'd been here recently.
19:45:53 <ehird> yeah he was here all 05
19:46:13 <ehird> lament: he still updates catseye a lot
19:46:27 <lament> active on esolang at all?
19:46:46 <ehird> but catseye.tc has a lot of new esolang stuff
19:47:14 <ehird> because you told him to.
19:47:22 <lament> whoppix: there are two problems with darcs.
19:47:28 <lament> whoppix: one, it is slow
19:47:36 <lament> whoppix: two, it's largely unmaintainable
19:48:05 <ehird> none of this is haskell's fault.
19:48:07 <lament> i don't know the details but as i understand, "slow" means "wrong time complexity"
19:48:16 <whoppix> lament, 1.: Like about every haskell program? :) 2.: That doesn't sound too much of an issue, if it doesn't have too many bugs.
19:48:29 <ehird> Umm, haskell is pretty damn fast.
19:48:34 <lament> whoppix: slow to the point of being unusable.
19:48:36 * oerjan swats whoppix -----###
19:48:51 <lament> whoppix: and um, maintainability is always an issue.
19:49:13 <whoppix> lament, well, we've been using svn so long now, hardly doubt we will make any transition anyhow.
19:49:37 <lament> In the meantime, the rest of the world switches to git.
19:49:40 <whoppix> But I thought I might give it a shot. The "patch-amending" features and stuff like that looks interesting
19:49:55 <whoppix> lament, I'm using git locally (or I used to), but its not much of a difference to me.
19:50:19 <whoppix> Also, people complain that there is no useable windows client (which I'm not sure is true.)
19:50:35 <whoppix> lament, between the useability between those too, and the benefits of each.
19:51:08 <ehird> git and svn are a million worlds apart
19:51:13 <lament> whoppix: that's good, because there isn't much difference between git and darcs either
19:51:15 <ehird> whereas git and darcs are pretty close, relatively
19:51:26 <lament> there was a guide to git for darcs users somewhere on the ghc site
19:51:26 <ehird> git is the superior one of them all, of course
19:51:30 <whoppix> ehird, well, I've been only using git locally, as a single developer.
19:51:40 <ehird> svn is a pain for single-user evelopment
19:52:16 <whoppix> so.. is there any useable git client for windows?
19:52:17 <lament> http://hackage.haskell.org/trac/ghc/wiki/GitForDarcsUsers
19:53:32 <ehird> http://code.google.com/p/tortoisegit/
19:53:56 <whoppix> I don't have any windows box myself, but apparantly a few of my users had trouble with that.
20:14:04 -!- sebbu2 has joined.
20:18:53 -!- olsner has joined.
20:18:53 -!- sebbu has quit (Nick collision from services.).
20:20:12 <ehird> Unlambda question.
20:20:20 <ehird> In ``kxy, if y has side effects, are they evaluated?
20:20:26 <ehird> I assume yes, since unlambda is strict by default.
20:20:53 <oerjan> assuming x doesn't throw a continuation :D
20:21:19 <ehird> I'm coding without thinking about d and c atm because I hate myself
20:21:31 <bsmntbombdood> i see you people have been playing brainfuck-corewars
20:21:39 <ehird> bsmntbombdood: yes, bf joust
20:22:11 <oerjan> in fact unlambda input _depends_ on a in `va being evaluated
20:22:39 <oerjan> since that's the only way to test for a v
20:32:39 -!- Hiato has quit ("Leaving.").
20:34:20 <oklopol> oerjan: v is a character how about a game of scrabble
20:34:32 <oklopol> i need to go to the shoppe, my farts smell bad.
20:39:20 -!- impomatic has joined.
20:49:24 <impomatic> have you read the post on http://retrocode.blogspot.com ?
20:51:02 <impomatic> What does it do? I assume you added some programs to the list to test against, then put some bf in the box and pressed the button on the left
20:51:21 -!- ehird_ has joined.
20:52:26 <impomatic> Oh okay, that's edited to remove extra info
20:53:33 -!- ehird has quit (Read error: 104 (Connection reset by peer)).
20:54:04 <impomatic> Did you add 15 programs to test against?
20:54:52 <ehird_> btw, the agoran contest that it is is inactive
20:54:56 <ehird_> he's working on a new version
20:55:02 <ehird_> so he's unlikely to change it
20:55:12 <ehird_> bsmntbombdood: he's too busy being a fisheries research biologist (End injoke.)
20:55:29 <ehird_> kerim@u.washington.edu, anyway
20:56:10 <oerjan> ehird_: of course it prints a
20:56:13 <ehird_> oerjan: ugh, the only function this interp actually has a problem with is e
20:56:29 <ehird_> the interp I'm writing
20:56:53 <ehird_> problem is, it can't exit the program, and the only continuation it has is the next-step one
20:56:53 <oerjan> and you have implemented c?
20:57:05 <ehird_> it's just that the continuation is probably like
20:57:19 <ehird_> the continuation for e is probably `*i
20:57:23 <oerjan> ehird_: you can save the top level continuation to use by e
20:57:35 <ehird_> there's no distinction between top level and mid level
20:57:38 <ehird_> eval' :: (UL -> IO UL) -> UL -> IO UL
20:57:53 <oerjan> i meant in a state var
20:58:06 <ehird_> I could just use exitSuccess if I did that
20:58:24 <oerjan> you need state anyhow for IO
20:59:30 <ehird_> eval' :: (UL -> IO UL) -> (UL -> IO UL) -> Maybe Char -> UL -> IO UL
20:59:57 -!- voidwalker has joined.
21:01:47 <impomatic> What's the easiest SKI language to implement?
21:02:05 <impomatic> I'd try Lazy K, but it's got too many different representations
21:02:43 <oerjan> ehird_: you're going to need to pass the state into the continuations too
21:03:11 <oerjan> ehird_: although, that top level continuation for e can probably be constructed on the fly
21:03:34 <ehird_> eval' :: (UL -> IO UL) -> Maybe Char -> ((UL -> IO UL) -> Maybe Char -> IO UL) -> IO UL
21:03:39 <ehird_> Hear that? that's the sound of me vomiting.
21:03:59 <ehird_> eval' :: (UL -> IO UL) -> Maybe Char -> ((UL -> IO UL) -> Maybe Char -> UL -> IO UL) -> IO UL
21:04:03 <ehird_> Dear lord have mercy on my soul.
21:04:14 <ehird_> Okay, let's try that again.
21:04:19 <oerjan> ehird_: have you considered making another monad?
21:04:20 <ehird_> type State = (UL -> IO UL,Maybe Char)
21:04:24 <impomatic> I don't mind implementing something trivial!
21:04:29 <ehird_> oerjan: Hear you I can't laaa
21:16:06 <MizardX> os.date('abc%sdef') crashes the lua interpreter :P
21:16:31 <MizardX> os.date('abcdef') works fine
21:19:11 <oklopol> impomatic: it's not what you implement, it's about what you implement it with
21:24:05 <ehird_> type State = (State -> UL -> IO UL, Maybe Char)
21:24:15 <impomatic> Implementing in redcode as usual ;-)
21:24:19 <ehird_> DAMN YOU TO HELL HASKELL
21:26:35 <oerjan> ehird_: i said you don't actually need the continuation in the state
21:26:42 <ehird_> oerjan: what do I do then
21:26:45 <oerjan> you can probably construct it on the fly
21:27:48 <oerjan> (for actual cyclic types, use data)
21:27:58 <ehird_> how can I construct it on the fly
21:28:29 <oerjan> top _ x = return x looks like a good candidate
21:28:42 <oerjan> with that type you wrote
21:33:39 <ehird_> now just to add a main function
21:34:11 <ehird_> oerjan: how long is your Haskell UL interp again?
21:35:04 <ehird_> yeah but mine looks pretty. :P
21:35:08 <ehird_> and is type-safe. and is fast.
21:36:34 -!- alex89ru has quit ("Verlassend").
21:40:11 <MizardX> Next step: Write a self-interpreter in underload
21:43:47 <oklopol> but umm type-safe and stack-based, has that been done?
21:44:56 <oklopol> yeah i didn't actually mean anything.
21:45:28 <oklopol> the first general-purpose electronic computer, the eniac, had 18,000 vacuum tubes and consumed 140,000 watts of power
21:45:32 <ehird_> 21:39 <impomatic> Type-safe Underload? :-)
21:45:50 <oerjan> christopher diggins has tried with Cat
21:46:26 <oerjan> http://www.cat-language.com/
21:46:29 <ehird_> with my interp, the example fibonacci program generates 28 fibs in 0.2sec
21:46:39 <oklopol> ehird_: do realize unless it's in a bot, it doesn't exist
21:47:43 <ehird_> oerjan: http://home.nvg.org/~oerjan/esoteric/interpreter.unl
21:47:48 <ehird_> # isn't actual unlambda syntax, is it?
21:48:02 <ehird_> Comments are also ignored, a comment being anything starting from the # character to the end of the line.
21:50:54 <ehird_> % ./unlambda interpreter.unl
21:51:00 <oklopol> unlambda is such a pretty language
21:51:07 <ehird_> oerjan: bug in my interp?
21:51:17 <oerjan> what about whitespace?
21:51:36 <oerjan> are you skipping whitespace?
21:52:04 <oerjan> does it give the name of the unknown function?
21:52:17 <oerjan> er, is that my error message or yours
21:52:49 <ehird_> it outputs an inverted %, which means "this program didn't with \n, so zsh is going to do this then put you back at your regular prompt"
21:53:43 <oerjan> ok unknown function is mine. oh right!
21:54:04 <oerjan> ehird_: you are not passing any input to my interpreter i think
21:54:14 <ehird_> oerjan: no, it isn't asking me for any
21:54:15 <oerjan> that should be a different message
21:54:25 <ehird_> (my interpreter does it interactively)
21:54:30 <ehird_> oerjan: it _may_ be a bug in my interp
21:54:33 <ehird_> the fib program works th ough
21:54:38 <ehird_> oerjan: what's cat in unlambda?
21:56:04 <oerjan> mind you, that message assuming it is mine, probably is due to input handling which relies heavily on continuations
21:56:23 <oerjan> and few of the example programs test that
21:56:39 <ehird_> ok, one char cat worked
21:57:03 <oerjan> yeah but that uses only | and @
21:57:10 <ehird_> what else should I test?
21:57:28 <ehird_> what else should I use
21:57:59 <oerjan> oh and try the deadfish interpreter
21:58:04 <ehird_> outputs a iff you enter a
21:59:29 <ehird_> % ./unlambda deadfish.unl
21:59:36 <ehird_> I think some buffering disabling is in order.
22:00:06 <ehird_> % ./unlambda deadfish.unl
22:00:18 <oerjan> well it's the wrong answer
22:00:19 <ehird_> ok, bit more buffering
22:00:42 <oerjan> however it clearly gets the commands right
22:00:50 <ehird_> oerjan: regardless of the result, is that output style correct?
22:00:52 <ehird_> It seems to have excess >>
22:01:28 <oerjan> it counts your return characters
22:01:35 <ehird_> yikes, my EOF handling is broken
22:01:41 <oerjan> i implemented the same broken behavior as the original iirc
22:02:04 <ehird_> at :: State -> (State -> UL -> IO UL) -> UL -> IO UL
22:02:04 <ehird_> at s k a = do atEOF <- isEOF
22:02:08 <ehird_> then eval' s k (Apply a V)
22:02:12 <ehird_> eval' (fst s,Just c) k (Apply a I)
22:02:15 <ehird_> echo 'iio' | ./unlambda deadfish.unl
22:02:19 <ehird_> INFINITE STREAM OF >>s
22:02:25 <ehird_> or is that a bug in your program?
22:02:50 <oerjan> it's not designed to check for eof
22:03:33 <oerjan> specifically, it is as close to bug-for-bug compatible to the C original as possible
22:04:01 <ehird_> does bugs include never incrementing the number?
22:04:09 <ehird_> Bugs like these are odd, everything works fine, just gives wrong results...
22:04:21 <oerjan> it should definitely print 2
22:04:25 <ehird_> I think I'll call them bizzaro bugs.
22:05:26 <oerjan> at least your problem is not ?x
22:05:41 <ehird_> it's obviously some sort of comparison going wrong
22:05:44 <ehird_> passing the wrong function or something
22:06:51 <oerjan> have you tested the other CUAN programs?
22:07:02 <ehird_> nope, I'm allergic to FTP. I guess I'll fire up a client.
22:07:12 <oerjan> actually i have a mirror
22:07:30 <oerjan> oerjan.nvg.org/esoteric/unlambda-mirror
22:08:20 <oerjan> it may not be entirely up-to-date it was just for my own use
22:08:42 <ehird_> woot! my interp runs ``cc`cc in constant memory (very low)
22:08:47 <ehird_> 30mb virtual, 2.5mb real
22:09:07 <ehird_> hmm, the real memory climbs but the virtual memory doesn't
22:09:11 <ehird_> time to try your mirror
22:09:47 <ehird_> hello world works, unsurprising
22:09:50 <ehird_> did I mention I wrote this without testing?
22:10:45 <ehird_> by the way, most unlambda interps line-buffer the output, right?
22:10:47 <ehird_> as a consequence of C doing it
22:10:48 <oerjan> as i noted none of those use input, but that didn't seem to be your problem
22:11:13 <oerjan> erm C may depend on input file maybe?
22:11:25 <ehird_> my interp counts up to 1585 in 0.9sec
22:11:29 <ehird_> that's not bad for unlambda
22:11:59 <ehird_> # If you're going to understand this program, then good luck. You're
22:12:15 * oerjan understands it. or did once, anyhow.
22:12:25 <ehird_> uh oh, it doesn't output any newlines for me
22:12:37 <oerjan> hint: special properties of d are not actually used
22:12:40 <ehird_> wait, that's by design isn't it?
22:12:47 <ehird_> oerjan: that only outputs one \n, right?
22:12:57 <oerjan> um no i think that should be a triangle
22:13:04 <ehird_> # This unlambda program prints the integers consecutively. Each
22:13:04 <ehird_> # integer n is printed as a line of n asterisks.
22:13:15 <ehird_> but it prints one newline, then a line of infinite asterisks (slowly, in chunks)
22:13:20 <ehird_> that is surely incorrect
22:13:31 <oerjan> try replacing the d's with i's, just to be sure that it's not that
22:14:06 <ehird_> can you try it on your interp?
22:14:14 <oerjan> i guess you have a continuation problem
22:14:41 <ehird_> eval' s k (Apply C a) = eval' s k (Apply a (Cont k))
22:14:41 <ehird_> eval' s _ (Apply (Cont a) b) = eval' s (\s' _ -> a s' b) b
22:15:27 <oerjan> k is the continuation?
22:15:38 <ehird_> eval' :: State -> (State -> UL -> IO UL) -> UL -> IO UL
22:15:41 <ehird_> | C | Cont (State -> UL -> IO UL)
22:16:09 <oerjan> um the second is not right
22:16:58 <ehird_> s' includes the global continuation
22:17:02 <ehird_> I might have to rewrite that.
22:17:09 <ehird_> type State = (UL -> IO UL, Maybe Char)
22:17:54 <oerjan> is b already evaluated?
22:18:10 <ehird_> ah, I think you found my bug
22:19:01 <ehird_> oerjan: b is not already evaluated now, but same bug
22:19:25 <oerjan> i think that was actually a legal shortcut, it just confused me
22:20:20 <oerjan> i think the right side should be = eval' s a b
22:20:57 <oerjan> assuming the shortcut is legal
22:22:04 <oerjan> is _a_ already evaluated in the first?
22:22:43 <ehird_> eval' s k (Apply C a) = eval' s k (Apply a (Cont k))
22:22:51 <ehird_> But it's evaluated in the application.
22:23:00 <oerjan> it needs to be evaluated first
22:23:11 <ehird_> eval' s k (Apply a b) = apply s k a b
22:23:12 <ehird_> apply :: State -> (State -> UL -> IO UL) -> UL -> UL -> IO UL
22:23:13 <ehird_> apply s k a b = eval' s (\s' a' -> eval' s' k (Apply a' b)) a
22:24:33 <ehird_> Incidentally, here's a program that prints infinite *s. ``ci`c.*
22:25:28 <ehird_> I think I know the input bug
22:26:30 <ehird_> oerjan: cat: ```ci`c`@|i
22:27:00 <ehird_> oerjan: blows your mind? :D
22:27:11 <ehird_> i like how the continuation in the inner expression causes the top expression to be looped
22:27:28 <oerjan> ehird_: that apply never preevaluates b though
22:27:42 <ehird_> oerjan: true, the other functions do that
22:28:16 <ehird_> oerjan: does ```ci`c`@|i work as cat in your interp?
22:28:19 <oerjan> there is probably some subtle problem with doing that in some case
22:28:23 <ehird_> that tests input and mad continuations in one
22:28:36 <ehird_> oerjan: should work on EOF, too
22:28:39 <ehird_> you might have to hit it twice
22:30:34 <ehird_> http://oerjan.nvg.org/esoteric/unlambda-mirror/CUAN/quine/ Holy shit that is a lot of quines
22:30:38 <ehird_> oerjan: http://oerjan.nvg.org/esoteric/unlambda-mirror/CUAN/count2.unl
22:30:48 <ehird_> does that produce two lines, the second one is infinitely long?
22:30:51 <ehird_> or does it produce infinite lines
22:30:53 <oerjan> there was a quine competition
22:31:27 <ehird_> oerjan: I thinkn I found a bug
22:31:36 <ehird_> [ehird:~/Code/haskul] % ./unlambda quine06.unl
22:31:36 <ehird_> v``d.v```s``si`kv``si`k`d`..`.c`.s`.``.``.s`.``.`v.cs``s```.cs``s```.cs``s``d.cs``s``..cs``s``v.cs``s```.cs``s```.cs``s```.cs``s``s.cs``s```.cs``s```.cs``s``s.cs``s``i.cs``s```.cs``s``k.cs``s``v.cs``s```.cs``s```.cs``s``s.cs``s``i.cs``s```.cs``s``k.cs``s```.cs``s``d.cs``s```.cs``s``..cs``s``..cs``s```.cs``s``..cs``s``c.cs``s```.cs``s``..cs``s``s.cs``s```.cs``s``..cs``s```.cs``s```.cs``s``..cs``s```.cs``s```.cs``s``..cs``s``s.cs``s```.cs``s``..cs``s```.cs
22:31:41 <ehird_> ``s```.cs``s``..cs``s```.cs``s``v
22:31:42 <oerjan> (with the unlambda C interp)
22:31:43 <ehird_> [ehird:~/Code/haskul] % cat quine06.unl
22:31:44 <ehird_> ``d.v```s``si`kv``si`k`d`..`.c`.s`.``.``.s`.``.`v``s``sc.```s``sc.```s``sc.d``s``sc..``s``sc.v``s``sc.```s``sc.```s``sc.```s``sc.s``s``sc.```s``sc.```s``sc.s``s``sc.i``s``sc.```s``sc.k``s``sc.v``s``sc.```s``sc.```s``sc.s``s``sc.i``s``sc.```s``sc.k``s``sc.```s``sc.d``s``sc.```s``sc..``s``sc..``s``sc.```s``sc..``s``sc.c``s``sc.```s``sc..``s``sc.s``s``sc.```s``sc..``s``sc.```s``sc.```s``sc..``s``sc.```s``sc.```s``sc..``s``sc.s``s``sc.```s``sc..``s``sc.```s`
22:31:49 <ehird_> `sc.```s``sc..``s``sc.```s``sc.vv
22:31:52 <ehird_> unless it's one of those fancy Quines That Lie To You
22:32:28 <ehird_> prooduces most of the program in reverse
22:32:36 <ehird_> ... WEIRDEST-ASS BUG EVER
22:33:06 <ehird_> indeed, and my interpreter is godly, even if it has this weird-ass bug
22:33:10 <ehird_> oerjan: I think the bug is in v
22:33:10 <oerjan> well that uses continuations
22:33:19 <ehird_> eval' s k (Apply V a) = eval' s (\s' _ -> k s' V) a
22:33:27 <ehird_> eval' s k (Apply C a) = eval' s k (Apply a (Cont k))
22:33:27 <ehird_> eval' s _ (Apply (Cont a) b) = eval' s a b
22:33:28 <bsmntbombdood> unlambda and brainfuck should be considered the canonical esolangs
22:33:30 <ehird_> Has to be in those two lines
22:33:54 <ehird_> oerjan: quine14 does not use c
22:34:03 <ehird_> AnMaster: befunge isn't a canonical esolang
22:34:06 <ehird_> it's just a stack-based lang
22:34:26 <ehird_> oerjan: hey, deadfish works now.
22:34:29 <ehird_> AnMaster: nope, biota was first
22:34:40 <bsmntbombdood> AnMaster: unlamnda is lambda calculus, brainfuck is a turing machine; befunge doesn't fit
22:34:40 <AnMaster> ehird_, well ok, but that didn't reach the same fame
22:34:48 <oerjan> ehird_: is quine14 broken for you?
22:35:06 <AnMaster> bsmntbombdood, that is your definition
22:35:07 <ehird_> AnMaster: biota isn't very interesting.
22:35:24 <AnMaster> bsmntbombdood, what about thue?
22:35:24 <ehird_> it's stack based and is 2d.
22:35:32 <ehird_> what does it output for you
22:35:51 <AnMaster> bsmntbombdood, also INTERCAL due to being firsst
22:35:53 <ehird_> AnMaster: it's 3d and stack based. how innovative.
22:35:57 <ehird_> any idiot could think of that
22:36:21 <ehird_> oerjan: does it have one part backwards?
22:36:30 <ehird_> oerjan: .K.X.M. .-.-. .!. .S.E.L.U.R. .A.D.B.M.A.L.N.U. .,.l.a.u.s.u. .s.a. .#.
22:36:36 <ehird_> .#. .a.s. .u.s.u.a.l.,. .U.N.L.A.M.B.D.A. .R.U.L.E.S. .!. .-.-. .M.X.K.
22:37:29 <ehird_> I think I know the bug oerjan
22:37:37 <ehird_> eval' s k (Apply (Dot a) b) = putChar a >> eval' s (\s' r -> k s' r) b
22:37:40 <ehird_> that's the wrong way around
22:39:43 <ehird_> with the side effect that it prints the character x (to the standard output) when it is applied
22:39:49 <ehird_> oerjan: is it before or after evaluation?
22:40:48 <impomatic> Hmmm... Corelife was a 2D language before Biota or Befunge
22:41:11 <ehird_> oerjan: AGH! Quine2 breaks as well
22:41:18 <ehird_> % ./unlambda Quine2.unl
22:41:41 <ehird_> my evaluation order is wrong SOMEWHERE ...
22:41:58 <ehird_> t :: UL -> UL -> UL -> UL
22:41:58 <ehird_> t a b c = Apply (Apply a c) (Apply b c)
22:42:29 <ehird_> so nope, that's right.
22:42:35 -!- voidwalker has quit (Client Quit).
22:42:36 <oklopol> it's not the 2d-ness that's so great, it's the whole concept of not having jumps.
22:43:15 -!- oerjan has quit (brown.freenode.net irc.freenode.net).
22:43:15 -!- BeholdMyGlory has quit (brown.freenode.net irc.freenode.net).
22:43:16 -!- Leonidas has quit (brown.freenode.net irc.freenode.net).
22:44:25 <oklopol> and brainfuck isn't a turing machine
22:44:31 <oklopol> befunge is closer to tm's.
22:44:48 -!- oerjan has joined.
22:44:48 -!- BeholdMyGlory has joined.
22:44:48 -!- Leonidas has joined.
22:44:58 <ehird_> oerjan: any hunches, btw?
22:45:11 <oklopol> oerjan: do you have any hunches to share with us btw?
22:45:23 <oklopol> would be kinda nice to get some hunches around
22:46:49 <oerjan> a shouldn't be printed until after evaluation of b
22:46:54 <oerjan> in fact things would backwards if b prints
22:47:29 <ehird_> eval' s k (Apply (Dot a) b) = putChar a >> eval' s (\s' r -> k s' r) b
22:47:38 <ehird_> well oerjan when I did that, every program started hanging and stuff
22:47:43 <ehird_> so you think it should be
22:47:49 <ehird_> eval' s (\s' r -> putChar a >> k s' r) b
22:50:04 <oerjan> basically, no function other than d has an effect when applied until after its argument is evaluated
22:50:36 <ehird_> ``ci`c`r`.!`.d`.l`.r`.o`.w`. `.,`.o`.l`.l`.e`.Hi
22:50:40 <ehird_> Infinite hello world works
22:51:23 <ehird_> with your self interpreter,
22:51:23 <ehird_> ``ci`c`r`.!`.d`.l`.r`.o`.w`. `.,`.o`.l`.l`.e`.Hi
22:51:37 <ehird_> oerjan: yes, count2 works
22:51:40 <ehird_> but your interpreter seems to output every char as .??
22:52:53 <oerjan> it is vital that it is applied after the @ that moves from . to the char
22:53:25 <oerjan> if not, that could cause it to pick up . instead
22:53:39 <ehird_> am I meant to understand?
22:54:09 <oerjan> ehird_: there is probably an evaluation order problem that causes an | to be applied too late
22:54:30 <ehird_> oerjan: which function is | called nested in?
22:54:39 <ehird_> so I can check its evaluation
22:54:59 <ehird_> oerjan: @ reads the character before evaluating its argument, right?
22:55:24 <oerjan> <oerjan> basically, no function other than d has an effect when applied until after its argument is evaluated
22:55:45 <ehird_> ok I fixed it and it still outputs .............
22:55:51 <ehird_> as in, . in place of the chars
22:56:24 <oerjan> `k `k ``s`k | ``si `kk
22:57:31 <oerjan> the actual code is being put together from a table
22:57:43 <ehird_> eval' s@(_,Just c) k (Apply Bar a) = eval' s k (Apply a (Dot c))
22:57:44 <oerjan> those are like key and value part
22:58:19 <ehird_> the argument could change |s state
22:59:06 <AnMaster> http://bethewumpus.sourceforge.net
22:59:15 <psygnisfive> oklopol, i dont believe ehird is infact a girl
22:59:42 <psygnisfive> i believe that the evidence leaves no other possibility open!
23:00:33 <lament> if ehird is a girl she must have very small boobs!
23:00:35 <ehird_> oerjan: the self interpreter works
23:00:42 <ehird_> and actualyl seems to have very little overhead
23:00:48 <ehird_> i.e., it's only a few times slower than the actual interp
23:01:28 <oerjan> no, but it uses a very simple encoding of unlambda into itself
23:01:33 <ehird_> anyway, there's 111 lines of clear haskell including a nice command line interface that runs unlambda quickly and efficiently
23:02:21 <ehird_> AnMaster: First, I'm going to bot it.
23:02:32 <ehird_> Because IRC bots are mandatory.
23:02:34 <ehird_> To confuse people, the prefix will be `.
23:02:47 <ehird_> The unlambda programmers in the audience have now all died of shock
23:03:04 <oerjan> ehird_: also you should check e. it's the only command my interpreter doesn't use iirc :D
23:03:12 <ehird_> oerjan: e works, I think
23:03:56 <AnMaster> ehird_, in that case, you should bot your haskell OS when you finished it :D
23:04:04 <ehird_> AnMaster: that would be rather difficult
23:04:13 * oklopol is going to start reading rwh on monday!
23:04:25 <ehird_> mv: `unlambda.hs' and `Unlambda.hs' are the same file
23:04:28 <AnMaster> ehird_, well the text console only
23:04:32 <ehird_> THis is the one bad thing about case insensitive filesystems
23:04:36 <ehird_> (Tools that don't know shit about them)
23:06:44 <ehird_> one bad thing about haskell: you can't import a module that can act as a program
23:06:53 <ehird_> that is, I can't have Unlambda.hs compile to a program and still be importable
23:06:56 <ehird_> since it has to be named Main
23:07:01 <ehird_> and you can't import Main from inside another Main (duh...)
23:07:06 <lament> if __name__ == '__main__':
23:07:20 <lament> why does it have to be named Main?
23:07:29 <ehird_> because you can give ghc multiple arguments
23:07:36 <ehird_> and it'll compile the one with the module Main.
23:07:57 <oerjan> ehird_: there is a --main-is flag though
23:08:08 <ehird_> oerjan: yeah but that's hack land
23:08:21 <ehird_> I'll just have Unlambda.hs, Main.hs and bot.hs
23:08:48 <lament> this seems to be yet more proof that haskell sucks
23:08:52 -!- impomatic has quit ("mov.i #1,1").
23:09:01 <ehird_> lament: you're this far from my ignore list
23:11:37 -!- ehird_ has changed nick to eh.
23:11:39 -!- eh has changed nick to ehird.
23:12:01 <oerjan> impossible, you're not canadian!
23:14:40 <ehird> dammit ghc, don't detect let loop = loop in loop
23:14:45 <ehird> i'm trying to hang the program moron
23:14:54 <ehird> i do not want to see:
23:15:06 <ehird> if your halting checker is so clever MAYBE IMA GIVE YOU "P"
23:15:42 <ehird> let complicatedLoop n = complicatedLoop (n+1) in complicatedLoop 1
23:17:16 -!- BeholdMyGlory has quit ("godnatt").
23:19:10 <ehird> haskell code is so pretty
23:19:12 <ehird> ok, bot coming through maybe
23:19:20 <ehird> ASSUMING ALL GOES TO PLAN THAT IS.
23:19:40 <ehird> NOW IT IS. PROBABLY.
23:19:45 -!- unlambda has joined.
23:19:52 <ehird> unlambda: you don't do anything yet
23:20:32 <lament> haskell code is disgusting, it makes me puke
23:20:42 <ehird> oerjan: "you don't do anything yet"
23:20:52 <lament> 50 IF I <> 100000000 THEN 30
23:21:00 <ehird> oerjan: also, howdya think I should handle input?
23:21:10 <ehird> I can't split on any character because of . and ? and that crap
23:21:16 <ehird> I could run parsec on it, then get the rest
23:21:54 <oerjan> should be ok for a bot
23:21:59 <AnMaster> lament, so what functional language do you prefer?
23:22:08 <ehird> AnMaster: he's trolling/joking
23:22:14 <ehird> that code is basic in haskell
23:22:21 <ehird> oerjan: naw, I wanna test IO
23:22:36 <AnMaster> ehird, is he joking when he says he hate haskell?
23:22:41 <ehird> AnMaster: kind of.
23:22:47 <ehird> oerjan: admittedly currently my interp only does stdin/stdout IO
23:22:49 <ehird> but I can change that
23:22:55 <oerjan> well then parsec is hard
23:22:56 <ehird> maybe I could split on some arbitrary character
23:23:01 <ehird> and just, like, don't use that
23:23:03 <AnMaster> ehird, there should be a bottifier
23:23:21 <lament> AnMaster: Haskell is the best programming language.
23:23:30 <lament> Except when you actually want to achieve something. Then use Python.
23:23:36 <AnMaster> ehird, it would be some LD_PRELOADed thingy to redirect stdin/stdout to irc, with the needed parsing
23:23:41 <ehird> lament is just pissy about sdl.
23:23:46 <ehird> AnMaster: my interp loads from a file.
23:24:54 <AnMaster> LD_PRELOAD=bottifier.so BOTTIFIER_SETTINGS="server=irc.freenode.net;channel=#esoteric;nick=unlambda;ident=unlambda;realname=unlambda;activator=`
23:25:10 <ehird> congrats, in the time it took you to write that I could have finished this bot
23:25:17 <ehird> AnMaster: that doesn't handle the fact that:
23:25:21 <ehird> 1. my interp loads from a file
23:25:23 <AnMaster> ehird, yeah it would be harder
23:25:26 <ehird> 2. you can't split on an arbitrary characters
23:25:34 <ehird> this is domain specific enough that your idea is stupid.
23:25:37 <ehird> also, why ld_prelude
23:25:43 <ehird> why not, say, oh I don't know, a bidirectional pipe?
23:25:57 <AnMaster> ehird, you could do that too, but it would work better on non-linux :P
23:37:22 -!- unlambda has quit (Remote closed the connection).
23:38:09 <ehird> oerjan: it's getting a bit ugly with custom IO functions :(
23:42:14 <ehird> oerjan: now I have to give UL a Show instances :(
23:42:53 <oerjan> at this rate you'll end up with as long a program as mine...
23:43:06 <ehird> indeed, but mine is easier to read and I think faster
23:43:14 <ehird> what's important is bottiness
23:43:41 <oerjan> why do you need a Show instance?
23:43:47 <ehird> to show the result to irc
23:46:00 <ehird> what's the irc length limit?
23:48:47 <oerjan> Whoah, I think I finally understand monads!
23:49:57 <oerjan> "Whoah, I think I finally understand monads!" - "That's indigestion. It will pass."
23:51:36 <oerjan> because we don't know what the hell that means
23:51:39 <lament> i don't understand monads :(
23:52:35 <lament> why are monads interesting to category theory?
23:53:23 <oerjan> except every pair of adjoint functors give a monad
23:53:26 <ehird> pULWithInput :: Parser (UL,String)
23:53:31 <ehird> (do char '!'; i <- getInput; return (r,i))
23:53:33 <ehird> <|> (do eof; return (r,""))
23:53:35 <ehird> oerjan: in the latter one, r isn't in scope
23:53:41 <oerjan> and every monad comes from at least one such pair
23:53:44 <oklopol> pULWithInput <<< is the p hungarian notation?
23:53:50 <ehird> oklopol: yeah, for parser
23:54:01 <ehird> so I just did it on the rest too
23:54:03 <oerjan> ehird: indentation error
23:54:14 <ehird> how am I meant to indent that
23:54:38 <oerjan> add a bit space before <|>
23:54:59 -!- leeguy92 has quit (Connection timed out).
23:55:37 <oerjan> incidentally, "pul" means "fuck" in norwegian
23:56:57 <oerjan> especially for swedes. in swedish it means something completely innocious.
23:57:25 <ehird> bot: bot.hs:56:8-50: Irrefutable pattern failed for pattern Data.Maybe.Just (Network.IRC.Base.Message _ cmd args)
23:57:49 -!- psygnisfive has quit (Remote closed the connection).
23:58:46 -!- unlambda has joined.
23:59:03 -!- unlambda has quit (Remote closed the connection).
23:59:17 -!- unlambda has joined.
23:59:30 -!- unlambda has quit (Remote closed the connection).
23:59:57 -!- unlambda has joined.