←2011-01-22 2011-01-23 2011-01-24→ ↑2011 ↑all
00:00:04 <nddrylliog> zzo38: submodules?
00:00:24 <elliott> zzo38: Err, what?
00:00:30 <elliott> That question makes very little sense.
00:00:43 <oklofok> *writes
00:00:57 <zzo38> nddrylliog: Does git have a submodules command?
00:01:10 <zzo38> elliott: Why is it doesn't make sense?
00:01:14 <nddrylliog> zzo38: very much indeed http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html
00:01:26 <elliott> zzo38: Submodules might be hard to use with your crazy vcslist system :P
00:01:49 -!- quintopia has joined.
00:01:54 <oklofok> btw what nationality is that of zzo's
00:01:59 <nddrylliog> submodules suck big time.
00:02:04 <nddrylliog> even git guys say that.
00:02:06 <zzo38> Thanks for telling me about the submodules. Now I will read the instruction
00:02:10 <elliott> oklofok: canadia
00:02:15 <oklofok> really?
00:02:18 <nddrylliog> but yeah, sometimes you need them
00:02:19 <elliott> yes.
00:02:31 <elliott> nddrylliog: i doubt it will work with zzo38's... idiosyncratic VCS usage
00:02:36 <Phantom_Hoover> oklofok, he doesn't really have a nationality.
00:02:49 -!- cheater- has quit (Ping timeout: 240 seconds).
00:02:54 <Phantom_Hoover> He is a citizen of Crazytown, and that is about it.
00:02:59 <elliott> xD
00:03:01 <elliott> subtle
00:03:11 <zzo38> oklofok: I live in Canada. And my internet service provider is also Canada.
00:03:30 <oklofok> zzo38: are you originally from there?
00:03:42 <oklofok> or are you a poser like lament
00:03:57 <oklofok> of course lament is not here so that's kind of a weird thing to say
00:04:04 <zzo38> oklofok: I was born in Canada, too.
00:04:36 <oklofok> zzo38: do you have long nails, and what color are your eyes
00:05:01 <zzo38> Why do you need to know what color are my eyes?
00:05:27 <oklofok> no reason i guess
00:06:01 <zzo38> What if I told you that I have fifteen and a half eyes and all of my finger nails are different length from 1cm to 20cm long?
00:06:15 <oklofok> well i would not believe you
00:06:23 <zzo38> oklofok: Good, because it isn't true.
00:06:38 <oklofok> okay.
00:06:50 <oklofok> i have two eyes myself
00:07:10 <elliott> me too
00:07:15 <elliott> nddrylliog: what about you
00:07:22 <Phantom_Hoover> I am a tuatara.
00:07:28 <oklofok> elliott: don't you mean me
00:07:29 <oklofok> *two
00:07:32 <Phantom_Hoover> People think I have 3 eyes but I actually only have 2.
00:08:51 <zzo38> My D&D character has 8 eyes but that is just a game.
00:08:56 <elliott> oklofok: no
00:09:06 <elliott> zzo38: it is not just game! it REAL!
00:09:17 <zzo38> Would you believe me if I told you that I have a cardboard cutout of a circle glued in my wall?
00:09:25 <elliott> no
00:09:30 <elliott> it's definitely not a perfect circle
00:09:30 <oklofok> i would
00:09:41 <elliott> oklofok: i don't think that's possible the universe is discrete and all
00:09:51 <oklofok> elliott: shut up fag that's ignorant
00:09:56 <zzo38> Would you believe me if I told you that I have a periodic table of elements on the wall?
00:10:00 * Phantom_Hoover → sleep
00:10:11 <oklofok> zzo38: no table can be truly periodic in a discrete universe
00:10:23 <zzo38> Would you believe me if I told you that I am currently wearing a red shirt?
00:10:38 <oklofok> by red shirt
00:10:49 <oklofok> surely you mean a big box full of red shirts
00:10:50 <Vorpal> <elliott> it's definitely not a perfect circle <-- what about one perfect down to the atom level.
00:10:50 <zzo38> Do you believe I have all of the Akagi manga book so far?
00:10:53 <elliott> <oklofok> zzo38: no table can be truly periodic in a discrete universe
00:10:54 <elliott> :D
00:11:01 <elliott> Vorpal: that's just an N-agon, not a circle
00:11:08 <Vorpal> elliott, XD
00:11:10 <elliott> zzo38: no that's impossible in a discrete universe
00:11:28 <Sgeo> I hate discrete stuff
00:11:29 <Vorpal> elliott, what about a sphere then? is that a n-what?
00:11:36 <Vorpal> Sgeo, ... what
00:11:43 <Sgeo> Therefore, I hate the universe.
00:11:45 <Vorpal> it is a LOT better than non-discrete
00:11:52 <Vorpal> a lot easier to calculate with generally
00:11:55 <oklofok> how can you hate discrete stuff
00:11:58 <Vorpal> (okay, not always)
00:12:00 <elliott> Sgeo: do you hate GOL
00:12:03 <elliott> *GoL
00:12:07 <Sgeo> ...good point
00:12:15 <elliott> continuous stuff is just really small discrete stuff
00:12:20 <zzo38> Is the D&D characters game REAL because of discrete universe?
00:12:21 <elliott> no, i mean /really/ small
00:12:25 <elliott> zzo38: yes
00:12:32 <Sgeo> What would a continuous GoL look like?
00:12:33 <oklofok> really really small like small to the seventh power
00:12:53 <oklofok> there was something called ummm larger than life? anyhow something like continuous go
00:12:53 <Sgeo> Small as in lim size->0 small?
00:12:56 <elliott> Sgeo: um it would not look like a cellular automata
00:12:58 <elliott> *automaton
00:13:05 <elliott> so it wouldn't be anything like GoL.
00:13:05 <elliott> :p
00:13:12 <zzo38> Now try to answer these questions again by assuming not discrete universe.
00:13:22 <oklofok> you could take some sort of integral at each point, and average smaller and smaller neighborhoods to get some sort of local amount of neighbors
00:13:26 <oklofok> erm
00:13:41 <oklofok> ignore the integral, i glued together two sentences :D
00:14:00 <elliott> i like that idea
00:14:00 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:14:10 -!- acetoline has quit (Ping timeout: 276 seconds).
00:14:11 <elliott> "2.7 alive neighbours"
00:14:25 <elliott> hmm what's the moore neighbourhood in a continuous universe
00:14:26 <elliott> as in
00:14:27 <elliott> how big is it
00:14:37 <oklofok> that's not how you do it
00:14:46 <oklofok> you can't have a fixed neighborhood size
00:14:55 <oklofok> you have to smallify it smaller and smaller.
00:14:55 <elliott> well right
00:15:06 <oklofok> and take a limit
00:15:08 <Vorpal> oklofok, you mean like falling off with distance?
00:15:09 <elliott> oklofok: so basically it's all the particles that are infinitesimally close?
00:15:10 <elliott> :P
00:15:16 <elliott> divided by infinity ofc
00:15:28 <oklofok> then you assume something about your configurations, and show that this is well-defined almost everywhere or something
00:15:29 <Vorpal> okay that is better
00:16:00 <Vorpal> elliott, you could use some weight that falls off with distance for how much they affect you
00:16:06 <elliott> no that is lame
00:16:08 <elliott> GoL doesn't do that
00:16:12 <Vorpal> elliott, I suspect inverse square would be a good function!
00:16:14 <Vorpal> XD
00:16:24 <elliott> everything is fuckin inverse square
00:16:33 <oklofok> elliott: no, just the limit of white/black as neighborhood gets smaller, unless you want to tell me what infitesimally close means
00:16:33 <elliott> even your mom lol
00:16:35 -!- Wamanuz has quit (Ping timeout: 255 seconds).
00:16:51 <oklofok> are the configurations over hyperreal plane?
00:16:53 <oklofok> *over the
00:17:15 <elliott> oklofok: say the position is (x,y), then you take the number of particles that can be expressed as (x+n\epsilon, y+n\epsilon) for real n
00:17:16 <elliott> *alive particles
00:17:18 <oklofok> "<Vorpal> elliott, you could use some weight that falls off with distance for how much they affect you" <<< yeah this was what the integral would've been about
00:17:23 <elliott> where epsilon is infinitesimal
00:17:25 <oklofok> but that's not so nice for gol at least
00:17:28 <Vorpal> oklofok, right
00:17:29 <oklofok> methinks
00:17:34 <elliott> and then divide by infinity! :p
00:17:36 <Vorpal> oklofok, that's true
00:18:01 <Vorpal> elliott, I strongly suspect this is uncomputabe
00:18:11 <Vorpal> uncomputable*
00:18:18 <zzo38> Do you think repo.or.cz should add a few commands into git-shell?
00:18:20 <oklofok> elliott: oh alright, so take no points, do no computation, and then divide 0 by 0?
00:18:33 <oklofok> well that's not really what you said
00:18:36 <elliott> oklofok: why no computation
00:18:43 <elliott> oklofok: there's an infinite number of points that can be expressed like that
00:18:51 <elliott> aleph one of them
00:19:14 <oklofok> really?
00:19:30 <oklofok> i thought no matter what you multiply an infitesimal with, it's less than a real
00:20:02 <oklofok> in which case you'll just have your one particle at (x, y)
00:20:26 <oklofok> in any case, you're just being silly, and this is a serious topic
00:20:48 <elliott> oklofok: well i'm assuming that the universe is indexed by two hyperreals
00:21:03 <oklofok> so we DO assume the configurations are over the hyperreal plane
00:21:09 <elliott> yes
00:21:21 <elliott> and then there's aleph one particles expressable as (x+n\epsilon,y+n\epsilon)
00:21:22 <oklofok> so umm
00:21:23 <elliott> take the alive ones
00:21:24 <elliott> and uh
00:21:27 <elliott> divide by infinity again :D
00:21:41 <elliott> assuming you can have more than a finite number of alive particles
00:21:44 <oklofok> then don't we just get the usual kinds of configurations over Z^2, but just an uncountable number of disjoint orbits
00:21:44 <elliott> which seems, you know
00:21:45 <elliott> reasonable
00:21:55 <oklofok> well
00:22:05 <elliott> oklofok: yeah you're probably right... we need the neighbourhoods to overlap don't we
00:22:13 <oklofok> well more like
00:22:16 <elliott> since they do in GoL
00:22:28 <elliott> maybe that distance-scaling thing Vorpal proposed is right, even though Vorpal said it
00:22:30 <oklofok> if we just look an infitesimal away, there can be no communication between two reals
00:22:30 <elliott> although you said it first
00:22:38 <elliott> oklofok: yeah, indeed
00:22:43 <elliott> oklofok: but then consider
00:22:45 <Vorpal> elliott, well inverse square might not be right. That was just a joke
00:22:57 <elliott> oklofok: we're looking at (42+5\epsilon, 34+6\epsilon)
00:23:05 <oklofok> they do overlap now, since by going one epsilons away, you'll have an overlapping neighborhood just like with Z^2
00:23:15 <elliott> oklofok: *its* orbit is (42+(5+n)\epsilon, 34+(6+n)\epsilon)
00:23:16 <elliott> right
00:23:22 <elliott> oklofok: so the solution is obvious
00:23:30 <elliott> oklofok: make there be only one real particle!!!
00:23:39 <oklofok> of course, also say (x, y) + epsilon/2 will have a disjoint orbit
00:23:39 <elliott> ...xD
00:23:46 <Vorpal> Maybe (Night →)
00:23:48 <elliott> oklofok: then every cell has every other cell in its neighbourhood :D
00:23:54 <elliott> Vorpal: ?
00:24:18 <elliott> oerjan: can you make #haskell answer my qs
00:24:49 <zzo38> I don't know if submodule does what I wanted. What I wanted is add users into repo.or.cz project settings for a subdirectory of the project so that you have only permission for some files.
00:25:04 <elliott> zzo38: you can't do that
00:25:15 <elliott> well you can
00:25:21 <elliott> zzo38: if you set up a separate repository for those subdirectories
00:25:23 <oklofok> btw, i'm going too ->
00:25:25 <elliott> and have them as submodules inside the main repository
00:25:30 <elliott> and only give people push access to the relevant repositories.
00:27:57 <zzo38> elliott: I could do like that. I still do not completely understand how to work submodules.
00:29:04 -!- acetoline has joined.
00:32:26 <zzo38> What subprojects do you think I will need?
00:33:42 <elliott> zzo38: One for each directory with differing permissions.
00:34:42 <zzo38> But do you think I need a separate one for documentation and for testing, or can they be the same one with the same list of users?
00:34:55 <elliott> I'd personally just do it all as one repository.
00:36:21 <zzo38> Yes, they can be separate directories inside the repository for documentation, testing, etc. But maybe not all of them go together, and should have different groups of people.
00:38:13 <elliott> http://en.wikipedia.org/w/index.php?title=Talk:ALGOL_60&action=edit&redlink=1
00:38:13 <elliott> What.
00:38:21 <elliott> This is the first Wikipedia talk page to not exist.
00:38:52 <zzo38> Can you tell me what commands I need to add to the script to make it deal with these kind of things? I am not very experienced with git and I do not know.
00:39:10 <oerjan> elliott: erm i'm not on #haskell and haven't been for years
00:39:12 <j-invariant> which commnads?
00:39:18 <elliott> oerjan: hm why not, too crowded? :D
00:39:29 <zzo38> j-invariant: Do you know git?
00:39:47 <j-invariant> oh not really
00:40:20 <zzo38> Then probably you will not know what commands I need to add.
00:40:53 <j-invariant> sorry
00:41:51 <Vorpal> <elliott> Vorpal: ? <-- None
00:41:56 <elliott> Vorpal: ?
00:42:06 <Vorpal> elliott, it was pseudo-haskell
00:42:12 <elliott> Vorpal: *Nothing
00:42:15 <zzo38> There is git-am command to receive patches from mailbox. But I am curious; can you pipe a message into this program when you are reading it from "mail" program?
00:42:16 <elliott> Also *everything was wrong
00:42:18 <Vorpal> elliott, oh right
00:42:24 <Vorpal> elliott, *pseudo*
00:42:28 <Vorpal> elliott, notice that word?
00:42:29 <elliott> *wrong
00:42:30 <Sgeo> http://www.youtube.com/watch?v=3zoTKXXNQIU&NR=1&feature=fvwp what.
00:42:30 <elliott> :P
00:42:33 <Vorpal> (okay so that is retcon)
00:42:42 -!- oerjan has quit (Quit: Good night).
00:42:46 <elliott> Sgeo: That's how babies are made.
00:44:03 <Vorpal> <Sgeo> http://www.youtube.com/watch?v=3zoTKXXNQIU&NR=1&feature=fvwp what. <-- cool
00:46:08 <Sgeo> I don't know if I should bother reading about Standard ML
00:52:28 <j-invariant> don't then
00:58:11 <elliott> "The article was apparently written with a close conflict of interest and does little more than assert the expertise and importance of the subject who, near as I can tell, is in the business of selling Vitamin C as a cancer cure."
00:58:18 <elliott> ooh, Alluded-To is a MAN!
00:58:40 <elliott> "Dr. Riordan has recently launched Stem-Kine, a nutritional supplement that has been clinically demonstrated to increase circulating stem cells."
00:58:42 <elliott> xDDDD
01:00:00 <Vorpal> elliott, isn't false marketing illegal?
01:00:29 <elliott> yeah that's why there are no homeopaths
01:01:11 <j-invariant> Sgeo: why don't you learn Coq
01:01:24 <Vorpal> elliott, well some false marketing is forbidden I know. Probably they can get around it by putting a tiny label on the back saying "effects not confirmed" or such
01:02:36 <Sgeo> These statements have not been evaluated by the FDA.
01:02:58 <Sgeo> This product is not intended to diagnose, treat, cure or prevent any disease.
01:07:36 <Vorpal> Sgeo, that's US
01:07:41 <Vorpal> Sgeo, I meant in the rest of the world
01:08:20 -!- zzo38 has left (?).
01:10:04 -!- Mathnerd314 has joined.
01:29:27 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
01:30:40 * pikhq can only conclude one thing...
01:30:49 <pikhq> I need to take over Square Enix.
01:36:04 <coppro> +1
01:36:32 <pikhq> Then and only then will they be forced to make the most profitable decision ever.
01:36:41 <pikhq> "Final Fantasy VII for the Playstation 3".
01:37:58 <coppro> sadly that's probably true
01:38:07 <coppro> no wait actually
01:38:11 <coppro> make it a PSP2 launch title
01:38:20 <coppro> that would be more profitable
01:38:53 <pikhq> Remember that this would sell systems.
01:39:21 <pikhq> More so than the usual Final Fantasy release.
01:40:09 <coppro> hence PSP2 launch title
01:40:17 <coppro> you lose money on systems
01:40:24 <coppro> you only want them to sell o get penetration
01:40:28 <pikhq> Square Enix doesn't give a flying fuck.
01:40:33 <pikhq> They're not part of Sony.
01:40:45 <coppro> oh right
01:40:53 <coppro> then what you do it
01:40:54 <coppro> *is
01:40:58 <coppro> sign a contract
01:41:02 <coppro> in which Sony pays tons of money
01:41:07 <coppro> and then you make it a lunch title
01:41:27 <pikhq> Regardless of what they release it *for*, a remake of Final Fantasy VII would be a license to print money.
01:41:42 <coppro> pretty much
01:42:12 <Gregor> Yeah, making it a launch title isn't as good.
01:42:50 <pikhq> They'd probably not want to make it an exclusive.
01:42:54 <pikhq> Moar money printing.
01:43:11 <pikhq> And then the 360 owners can have some extra authenticness: 3 disks!
01:44:21 <pikhq> It really does get me how many remakes of Final Fantasy I they end up making, though...
01:44:34 <pikhq> Do that many people want to really play that?
01:45:30 <pikhq> (FTR, it has been released for: the NES, the MSX2, the WonderSwan Color, the Playstation, the Game Boy Advance, Japanese cell phones, the PSP, the Wii, the PS3, *and* the iPhone.)
01:46:34 <Gregor> That's hilarious
01:46:37 <Gregor> That game sucked :P
01:46:51 <pikhq> It... Was decent for the time, I guess.
01:46:59 <Gregor> For the Wii, it's just on Virtual Console, right? (So, no real porting effort)
01:47:06 <pikhq> Yeah, just on Virtual Console.
01:47:27 <pikhq> Still a freaking joke to have it on all but one current-gen console.
01:47:34 <Gregor> Yesh :P
01:47:44 <pikhq> And have it playable a couple times over on the PS3 or PSP.
01:48:26 <pikhq> (they both play PS1 games, straight... Though for the PSP you need a PS3 to act as the disk drive. What a silly feature to have.)
01:48:38 <elliott> That is the silliest.
01:48:41 <Gregor> ... I thought that the PS3 couldn't.
01:48:47 <elliott> "And now, you can use an even SMALLER screen!"
01:48:56 <pikhq> Gregor: Newer PS3s can't play PS2 games.
01:49:04 <pikhq> They all do PS1 games with software emulation, though.
01:49:06 <Gregor> pikhq: I thought that /no/ PS3 could play PS1 games.
01:49:07 <Gregor> Ohhhh
01:49:12 <Gregor> Emulation, that explains it :P
01:49:19 <elliott> What the fuck is this shit
01:49:32 <pikhq> And Sony sells old PS1 games on PSN for both systems.
01:49:45 <Gregor> pikhq: Probably not this one though.
01:49:52 <elliott> HOW DO YOU FUCKING DO DIFFERENT CHARSETS IN HASKELL
01:50:03 <pikhq> I'd imagine it's a port rather than just being the PS1 port.
01:50:31 <j-invariant> elliott: haskell only supports UNICODE
01:50:42 <pikhq> Oh, sorry, it's not actually offered for the PS3.
01:50:54 <pikhq> Though it would take very little effort to make it happen...
01:51:07 <pikhq> The PS3 also has a PSP emulator, which is only used for "Playstation Minis".
01:52:19 <pikhq> So. If I just hacked my PS3 a little bit, I could play every single game for every single system labelled "Playstation". That's... A bit nuts.
01:54:44 <Gregor> Pandoraaaaaaaaaaa
01:54:49 <Gregor> (Unrelated statement)
01:54:51 <coppro> Is it possible to hack the virtual console emulator on Wii to play other games from the same system?
01:54:58 <coppro> or is there encryption or something that keeps this from happening
01:56:27 <Sgeo> I suck at Go
01:58:09 <pikhq> coppro: It's done often.
01:58:15 <pikhq> coppro: The problem is, the emulator sucks ass.
02:06:50 <j-invariant> Sgeo: meu too :(
02:07:01 <j-invariant> board games in general
02:09:13 <elliott> maybe he means the language
02:09:36 <coppro> pikhq: oh
02:09:44 <coppro> one of those 'make it good enough to work' jobs?
02:10:29 <pikhq> coppro: They've got a config file for turning on and off various hacks in the emulator to make it work.
02:10:52 <pikhq> coppro: The Virtual Console selection is, in large part, limited by what they can get to work.
02:11:17 <coppro> hah
02:11:26 <pikhq> Especially for the SNES, which is probably the hardest of the old console to emulate.
02:11:37 <elliott> Ireland doesn't have post codes. what
02:12:33 <coppro> why?
02:12:39 <pikhq> Also, it's somewhat likely that they're grabbing ROMs off the Internet; all the NES Virtual Console games have an iNES ROM...
02:12:46 <coppro> ...
02:12:56 <coppro> that would be so awesome
02:13:15 <Sgeo> Going to watch The Maquis 2 parter soonn
02:14:37 <pikhq> Well. I suppose it's *possible* they got an NES copier that hands out iNES ROMs. But even that is pretty funny considering Nintendo's stance on *actual, honest-to-God backups*.
02:15:17 <coppro> yeah
02:16:31 <pikhq> Wow. There's only 375 Virtual Console games available in the US...
02:17:06 <pikhq> That's probably not even all the games that people have heard of and care about on the various consoles they support.
02:17:16 <coppro> it certainly isn't
02:17:37 <pikhq> Oh, right, includes NES, SNES, and N64. *Definitely* isn't.
02:18:47 <Sgeo> Please tell me that DS9 maquis are more interesting than VOY maquis
02:19:02 <pikhq> Sgeo: That goes without saying.
02:19:12 <pikhq> DS9 * is more interesting than VOY *.
02:19:28 <elliott> VOY Maquis are just Starfleet cocksuckers.
02:21:30 <Sgeo> You know, I have all these issues.. but when I meet someone who has actual issues, and a good reason for them, I just feel... weird
02:21:51 <Sgeo> Met a very short girl some time ago. She has some sort of.. digestive issues, I guess
02:22:00 <Sgeo> Things like that
02:22:07 <elliott> Digestive biscuit issues
02:22:25 <Sgeo> I know what she told me, I don't want to say it for some weird reason
02:22:33 <Sgeo> Despite not really knowing what it is, just the name
02:22:44 <Sgeo> [And no, I'm not talking about Alluded-To here]
02:23:20 <elliott> Tallorexia
02:23:28 <elliott> *Tall-orexia
02:23:36 <Sgeo> Chron's
02:23:58 <elliott> That is not as good a name as tall-orexia.
02:24:02 <elliott> Also, *Crohn's
02:25:47 <Sgeo> I don't drive because.. because. A girl I know doesn't drive because she's mostly blind
02:26:18 <elliott> *I don't drive because my dad
02:26:57 <pikhq> *I don't do anything because my dad
02:27:45 <elliott> Apart from go to a terrible college
02:40:05 -!- azaq23 has joined.
02:41:08 -!- azaq231 has quit (Ping timeout: 240 seconds).
02:51:49 <Sgeo> Verbal security authorizations suck
02:51:58 <Sgeo> Gul Dukat: ADL-40
02:51:59 <coppro> yes yes they do
02:53:26 <Sgeo> are you indicating that it becomes a plot point?
03:31:43 <elliott> http://www.youtube.com/watch?v=1yn1P72I7CY Python Bee. Contestants must think of, and then orally dictate their code, character by character. It must work first time.
03:31:49 <elliott> They are not allowed to see it.
03:33:57 <elliott> Oooh, should have used elif.
03:34:09 <elliott> This ain't gonna handle ")(" properly.
03:34:16 <elliott> Oh, wait, no, it will.
03:35:09 <elliott> HE DID IT \O/
03:35:09 <acetoline> elliott, it would suck to make whitespace mistakes
03:35:11 <elliott> *\o/
03:35:11 <myndzi> |
03:35:11 <myndzi> /<
03:35:14 <elliott> acetoline: yeah :D
03:35:23 <elliott> i coulda done that fast... prolly not
03:35:38 <elliott> bonus points if you can rap it
03:36:27 <j-invariant> "In the spirit of ‘the new programming’, the engineering of coincidence is replaced by the propagation of consequence." McBride & McKinna
03:36:54 <elliott> :D
03:36:57 <elliott> j-invariant: watch this python bee
03:37:00 <elliott> it's amazing
03:38:16 <j-invariant> why do they have to spell they should just say the words
03:38:24 <elliott> j-invariant: because it's another cognitive load
03:38:31 <elliott> this is hardcore :D
03:38:40 <j-invariant> this is DUMB LOL
03:39:43 <j-invariant> ah he is writing a paren matcher
03:40:30 <elliott> j-invariant: um they said that before
03:40:40 <elliott> that's the challenge
03:40:41 <elliott> another dude does it after
03:40:43 <j-invariant> I don't know if I am impressed or not
03:40:48 <elliott> but i think he is going to do it wrong
03:40:50 <j-invariant> I can't tell if this is easy or difficult
03:41:10 <elliott> j-invariant: difficult, I just did it myself with a mental image, and I managed it, but I made a mistake at a vital point, and it was basically a direct copy of the first guy's program
03:41:17 <elliott> if I'd just been given the challenge I'd be hyperventilating
03:41:41 <elliott> bet it's easier with a brace language :D
03:41:50 <elliott> j-invariant: hardcore version: bf interpreter
03:41:56 <j-invariant> hehe
03:41:58 <j-invariant> that would be fun
03:42:28 <j-invariant> "paranthesi"?
03:42:34 <elliott> yeah that'd be good, we should do that at the First Official Esoteric Meetup (which will never happen)
03:42:40 <elliott> j-invariant: "parentheses"
03:42:51 <j-invariant> the second guy says it weird
03:42:57 <elliott> yeah he gets mixed up
03:43:08 <elliott> his rhythm is good though when he's going
03:43:27 <elliott> this would be fun in haskell
03:43:43 <j-invariant> hardcore mode: has to be pointfree
03:43:49 <elliott> that would be amazing
03:43:54 <elliott> pointfree bf interp in haskell
03:43:59 <j-invariant> olol
03:43:59 <elliott> thing with python is
03:44:04 <elliott> you can basically have useless variables lying around
03:44:06 <j-invariant> Then writing a haskell compiler in the BF
03:44:06 <elliott> and they don't hurt you
03:44:07 <elliott> in haskell
03:44:10 <elliott> it has to be right first fucking time
03:44:16 <j-invariant> which is capable of running the program :P
03:44:22 <elliott> lol
03:45:38 <elliott> what is he doing
03:45:41 <elliott> he's just counting the ( and )s
03:45:44 <elliott> that won't work bitch
03:45:50 <elliott> "Tab...tab... ohh shit"
03:46:24 <j-invariant> the first guy did x-y, the second guy did (x,y).. but he did forget to check x-y == 0 aka x==y
03:46:37 <j-invariant> that was goo
03:46:38 <j-invariant> that was good
03:46:55 <elliott> this would be a good thing to do, like as a regular challenge thing
03:46:57 <elliott> this problem is pretty simple
03:47:02 <elliott> I bet you could do a lot more, with practice
03:47:03 <coppro> what are you rambling about
03:47:11 <elliott> like once you write a function, forgetting the text, and just remembering what it does
03:47:23 <j-invariant> you could try a natural language programming language
03:47:41 <elliott> j-invariant: haskell would be more fun
03:47:41 <elliott> J would be easy :P
03:47:50 <elliott> since every program is short enough to write entirely in your head lol
03:48:01 <coppro> will this make any more sense if I look at the logs?
03:48:14 <elliott> i want to do this now
03:49:15 <quintopia> elliott! you are insane!
03:49:18 <elliott> howso
03:49:51 <elliott> quintopia: ?
03:51:02 <quintopia> nothing in particular, you have a good heart I GUESS.
03:51:13 <quintopia> but you think crazy thoughts
03:51:22 <elliott> like what
03:52:34 <elliott> j-invariant: what is this shit explain it to me http://hackage.haskell.org/packages/archive/base/4.3.1.0/doc/html/GHC-IO-Encoding-Types.html
03:54:26 <Sgeo> Scheme Bee!
03:54:43 <quintopia> i will point it out to you next time you say so,ething crazy
03:54:47 <elliott> Close parenthesis close parenthesis close ... parenthesis, close parenthesis, close parenthesis. "That's one too many." FUCK!
03:55:00 <j-invariant> elliott: I didn't do it
03:55:00 <coppro> Sgeo: I'm ready
03:55:02 <quintopia> damn m key
03:55:04 <j-invariant> D:
03:55:09 <elliott> j-invariant: do what
03:55:17 <coppro> also there is too much elliott in this conversation
03:59:18 -!- zzo38 has joined.
04:00:00 <zzo38> I played Pokemon card today. We played with large decks (each player had half of the entire collection of cards, selected at random), rock-paper-scissors, nine side-cards each, and no coins. I lost by one card (if my opponent failed to get an energy card we probably would have tied).
04:05:24 <j-invariant> :D
04:05:30 <j-invariant> I used to play that but I can't remember the rules
04:05:50 <elliott> j-invariant: I've gotta write that live programming war bot sometime
04:05:58 <elliott> would be HARDCORE
04:06:01 <j-invariant> war bot??
04:06:11 <elliott> j-invariant: basically you have this bot
04:06:15 <elliott> j-invariant: you know games like corewars?
04:06:17 <elliott> and fukyorbrane?
04:06:25 <elliott> two programs try and make the other crash?
04:06:25 <j-invariant> hmm
04:06:28 <elliott> well
04:06:29 <elliott> basically
04:06:33 <elliott> you'd write the programs live
04:06:36 <elliott> they run at a fixed, slow speed
04:06:42 <elliott> like say 2 instructions per second
04:06:46 <elliott> and the irc bot prints regular status updates
04:06:51 <elliott> meanwhile, everything you write is appended to your program
04:06:55 <elliott> in channel
04:07:02 <elliott> so you have to constantly improve your bots
04:07:09 <elliott> it would be AMAZING
04:07:27 <zzo38> You do not know the rules? We did not use all the normal rules anyways. One, we did not use any coin, we used rock-paper-scissors (Janken) instead. Second, whoever has lower level active card plays first. Third, ties stand, there is no sudden deathmatch.
04:07:53 <zzo38> And I prefer these modified rules.
04:08:26 <Sgeo> elliott, do you think I'm mistaken in thinking that Factor's module system sucks?
04:08:39 <elliott> Sgeo: I don't really care, but its module system seems fine to me.
04:09:45 * j-invariant reads Conors new paper (Ornaments)
04:10:05 -!- azaq23 has quit (Read error: Operation timed out).
04:10:16 <elliott> some vcses are so weird
04:17:46 <Sgeo> elliott, what about Monticello
04:17:53 <elliott> double weird.
04:20:14 <elliott> Vorpal: GNU tla system requirements list "The null Device Your system must have /dev/null. Information directed to /dev/null should simply disappear from the universe. As a special "Green Software" measure, we have made provisions that will enable your computers to convert that discarded information into heat, which you may use to supplement conventional heating systems."
04:20:17 <elliott> This is the worst tutorial ever.
04:26:53 <j-invariant> An imaginary Robert Harper reminds me to remark that the use of functions to account
04:26:56 <j-invariant> for type dependency in the σ constructor does not constitute ‘higher-order abstract syntax’
04:26:59 <j-invariant> hahaa
04:27:20 <j-invariant> http://math.andrej.com/2011/01/03/the-dialectica-interpertation-in-coq/comment-page-1/#comment-14608
04:27:23 <j-invariant> he does that
04:27:43 -!- Mathnerd314 has joined.
04:31:02 <elliott> where's that post about comparing those functions on Cantor
04:31:03 <elliott> oh wait
04:31:05 <elliott> is it on that blog?
04:31:18 -!- azaq23 has joined.
04:31:26 <j-invariant> NO!
04:31:29 <elliott> ?
04:32:20 <elliott> j-invariant: ?
04:32:21 <j-invariant> http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/
04:32:38 <elliott> j-invariant: so the real answer is "yes" not "no"? :P
04:32:48 <j-invariant> I am not authorized to answer that
04:33:10 <elliott> no this is not the post
04:33:17 <elliott> the post had a bunch of successively optimised implementations
04:33:25 <elliott> http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/
04:33:25 <elliott> ah
04:33:54 <elliott> i miss it when ghci printed ascii art on startup :(
04:35:03 <j-invariant> Data = Mu . interpret -- IT all makes sense now!
04:36:12 <elliott> j-invariant: there is also this really cool thing: http://lukepalmer.wordpress.com/2010/11/17/searchable-data-types/
04:36:37 <elliott> j-invariant: exploiting the fact that haskell's nats are actually conats to do a search on functions
04:36:42 <elliott> from Nat -> Bool
04:36:43 <elliott> really cool
04:39:42 <j-invariant> elliott: GRR
04:39:45 <j-invariant> that was no fun
04:39:47 <elliott> j-invariant: ?
04:39:57 <j-invariant> the moment I figured out how it worked I was like "fuck. that's lame"
04:40:06 <elliott> j-invariant: it's lame, but it's fun :)
04:40:09 <j-invariant> it's based on lazy arithmetic
04:40:14 <elliott> yes
04:40:22 <elliott> but it is cool, whatever you say :D
04:42:13 <j-invariant> it's really the x*x == 15 function that matters, rather than the other one
04:42:33 <j-invariant> for other problems it might not terminate even though nothing satisfies the property
04:42:51 <j-invariant> hard to build an example
04:43:20 <j-invariant> x > x+1
04:44:02 <j-invariant> it should return Nothing but instead it gives Just (fix Succ)
04:44:28 <j-invariant> "return"? yuck
04:44:35 <j-invariant> what should I say instead of return
04:45:11 <elliott> j-invariant: return is fine
04:45:17 <elliott> j-invariant: "reduce to" if you want to be anal
04:45:36 <elliott> j-invariant: it doesn't return Just (fix Succ) does it?
04:45:43 <elliott> well
04:45:47 <j-invariant> elliott: well I think it does, haven't tried
04:45:50 <elliott> j-invariant: actually it returns _|_
04:45:52 <elliott> because it checks the result
04:45:54 <elliott> i.e. it does
04:45:55 <elliott> inf > inf+1
04:45:59 <elliott> which turns into
04:46:00 <j-invariant> oh really, that's good actually
04:46:06 <elliott> Succ (Succ (Succ ...)) > Succ (Succ (Succ ...))
04:46:10 <elliott> and so it just hangs
04:46:27 <elliott> so actually, if it ever returns (Just foo), the result is correct
04:46:34 <elliott> if it ever returns Nothing, there is no result
04:46:40 <elliott> if it hangs, there is no result (<- ?)
04:47:51 <elliott> j-invariant: so actually this is more interesting than it first appears
04:48:15 <elliott> j-invariant: of course, if your property is False for all natural numbers, but somehow _true_ on (fix Succ), then you will get back Just (fix Succ)
04:48:25 <elliott> but are there any such properties that you can do with a total function?
04:48:31 <elliott> I doubt it
04:48:41 <j-invariant> eyah that's a good question
04:48:50 <elliott> j-invariant: so I'd say this program is almost as impossible-seeming as the other!
04:49:07 <j-invariant> I think it must be impossible, because you can encoding halting problem as checking if a number is finite or not
04:49:12 <elliott> yeah
04:49:19 <elliott> so actually this works perfectly
04:49:37 <elliott> j-invariant: crazy idea: integrate this into quickcheck :D
04:49:43 <elliott> just cap the number of recursions it does to stop it inf-looping
04:50:03 <elliott> j-invariant: "It looks like the key point is that the predicate must terminate on infinity, which means that it can only inspect a bounded amount of Succs before terminating. Fascinating!" --apfelmus
04:50:21 <elliott> j-invariant: but as luke said, it's explicitly only for total functions
04:51:15 <elliott> j-invariant: this kind of stuff is awesome
04:51:20 <elliott> although i'm not sure how to define "this kind of stuff"
04:51:34 <quintopia> elliott: have you figured out how drunk i am yet?
04:51:41 <elliott> quintopia: from your first line, my friend.
04:51:43 <elliott> from your first line.
04:51:49 <quintopia> it is now tomorrow for me
04:53:12 <j-invariant> the ornaments paper is about GADTs sort of
04:53:58 <elliott> i'm going to sleep
04:54:02 <elliott> maybe i will do something interesting tomorrow
04:54:08 <j-invariant> like what
04:54:12 <elliott> or get that log interface fixed!
04:54:14 <elliott> j-invariant: i have no idea.
04:54:33 <elliott> maybe i'll figure out how to define interesting and then figure out an efficient procedure to search for interesting things
04:54:37 <elliott> which would, in itself, be interesting
04:54:42 <elliott> and thus defeat the point.
04:54:44 <elliott> um
04:54:47 <elliott> this is a sign i'm tired isn't it
04:54:53 <elliott> it's 5 fucking am j-invariant aren't you in the uk
04:54:54 <elliott> why aren't you in bed
04:54:56 <elliott> sleep god dammit
04:55:00 <j-invariant> LOL
04:55:01 <elliott> like i'm doing
04:55:01 <elliott> watch me
04:55:06 <elliott> look at this
04:55:07 <elliott> sleeping
04:55:07 <elliott> totally
04:55:09 <j-invariant> sleeping is impossible
04:55:10 -!- elliott has quit (Quit: do this).
04:55:16 <j-invariant> it's too much work
04:58:43 <zzo38> Do you want to join TeXnicard?
04:59:19 <j-invariant> No thanks, I wouldn't have anything to add
04:59:25 <j-invariant> if you meant me
05:00:25 <zzo38> j-invariant: I did not mean anyone in particular.
05:05:14 -!- zzo38 has quit (Quit: Lack of blue antiprotons.).
05:17:04 -!- copumpkin has joined.
05:22:04 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
05:57:03 -!- j-invariant has quit (Quit: leaving).
06:03:57 <Sgeo> http://mashable.com/2011/01/22/the-internet-is-running-out-of-space-kind-of/ it's hit [not-quite] mainstream media
06:04:40 <pikhq> Gah. Still no IANA depletion.
06:05:33 <pikhq> Just finish it already, IANA. Hell, force APNIC to take some addresses for all I care.
06:05:59 <Sgeo> pikhq, just because you're impatient?
06:06:53 <pikhq> Sgeo: At this point it's just pointless drawing it out.
06:07:22 <pikhq> Not to mention somewhat unusual; APNIC usually tries to allocate once they get below 2 /8s, IIRC...
06:15:53 -!- variable has quit (Read error: Connection timed out).
06:17:33 -!- variable has joined.
06:21:17 -!- variable has quit (Max SendQ exceeded).
06:22:40 -!- zzo38 has joined.
06:23:10 <zzo38> I set up TeXnicard_Extra repository by now.
06:23:33 <Sgeo> Factor's standard library seems to include every concurrency primitive under the sun
06:23:46 <Sgeo> I don't know whether that's a good or bad thing, but I suspect bad
06:23:57 <zzo38> Sgeo: How many are there?
06:24:15 <Sgeo> It supports both synchronous channels (CSP) and actors
06:24:52 <Sgeo> As well as more typical locks
06:25:27 <Sgeo> And promises/futures, although I suppose those aren't an independent concurrency paradigm
06:25:29 <Sgeo> (sp?)
06:27:25 <Sgeo> http://docs.factorcode.org/content/vocab-concurrency.html and http://docs.factorcode.org/content/vocab-channels.html
06:27:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
06:28:13 <zzo38> What do the icons mean?
06:29:11 <Sgeo> I'm not entirely sure, actually
06:30:00 <zzo38> I have seen the Factor documentations before, too, I do not know what the icons are for.
06:33:06 <zzo38> Do you have any ideas about what they might be for?
06:34:24 <zzo38> Now I looked at the filenames for the icons.
06:38:37 <zzo38> But I do not even understand what all of these things means anyways, since I did not write a program in Factor.
06:39:11 <Sgeo> A normal word is just a word
06:39:29 <Sgeo> A generic word is a word that dispatches based on the ... type of one or more of its arguments
06:40:02 <Sgeo> A symbol word is a word that just puts itself on the stack. I think they're used to represent classes
06:41:36 <Sgeo> (I think that's what a symbol is, anyway. Let me check)
06:41:57 <Sgeo> "A symbol pushes itself on the stack when executed. "
06:50:27 <zzo38> Are parsing words meaning execute immediately while parsing so that you can make your own parsing?
07:06:48 <Sgeo> Hmm?
07:07:12 <Sgeo> Um, I think they're executed during execution, not entirely sure though
07:07:24 <Sgeo> No
07:07:30 <Sgeo> Actually, I have no idea
07:07:41 <Sgeo> I do have some idea how to test it though
07:08:16 <Sgeo> : and ; are both parsing words..
07:10:03 <Sgeo> ( scratchpad ) [ : mytest ( -- val ) 5 ; ]
07:10:03 <Sgeo> --- Data stack:
07:10:03 <Sgeo> [ ]
07:10:03 <Sgeo> ( scratchpad ) mytest
07:10:03 <Sgeo> --- Data stack:
07:10:04 <Sgeo> [ ]
07:10:06 <Sgeo> 5
07:10:43 -!- TLUL has joined.
07:11:18 <Sgeo> zzo38, but yes, you can make your own parsing
07:12:30 <Sgeo> http://docs.factorcode.org/content/article-parsing-words.html
07:13:23 <coppro> I can make my own parsing?
07:24:26 <zzo38> Please read this http://repo.or.cz/w/TeXnicard_Extra.git
07:25:16 <zzo38> Notify me if you can help the project by sending files there.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:23 -!- azaq23 has quit (Quit: Leaving.).
08:30:11 -!- Wamanuz has joined.
08:46:11 -!- zzo38 has quit (Remote host closed the connection).
08:46:40 -!- kwertii has joined.
09:05:25 -!- nddrylliog has quit (Ping timeout: 265 seconds).
09:30:24 -!- copumpkin has joined.
09:32:38 -!- FireFly has quit (Quit: swatted to death).
09:45:21 <oklofok> haha, that was the best dream ever
09:45:28 <oklofok> i was waiting for the death penalty
09:45:34 <oklofok> :D
09:46:29 <oklofok> for what felt like hours
09:47:19 <oklofok> also in another dream i could give myself a blowjob, that was almost as fun
09:50:13 <oklofok> we just sat on the couch with murderers, i tried to remember what i had done and cried like a little girl and asked them if i could be tried in finland instead (for some reason i lived in u.s.)
09:51:12 -!- Wamanuz has quit (Remote host closed the connection).
09:51:24 <oklofok> well i didn't cry all the time, feelings shifted rather randomly
09:53:39 <oklofok> at some point i even tried to find some sort of proof that there's something after this life, or otherwise make myself accept the fact that i'm going to stop living to "calm me down until they kill me"
09:53:53 <oklofok> because i didn't want to go like a shaking little loser
09:55:16 <oklofok> anyhow finally i went completely insane from the insanity of the situation and woke up, maybe this was a wake-up call for me to stop taking days off doing my master's thesis
09:55:56 <oklofok> *off from
09:56:24 -!- Phantom_Hoover has joined.
09:56:25 -!- BeholdMyGlory has quit (Ping timeout: 246 seconds).
09:56:55 <oklofok> hi Phantom_Hoover, i dreamt i could give myself a blowjob
09:57:50 <Phantom_Hoover> I cannot think of an appropriate response to that.
09:58:03 <oklofok> well it was more for the other ppl on the channel
09:58:56 <oklofok> anyway, i think i'll make this day count, see you
09:59:01 -!- oklofok has quit.
10:01:57 -!- kwertii has quit (Quit: bye).
10:04:59 <Phantom_Hoover> Dear god, Stargate was created by Roland Emmerich.
10:05:09 <Phantom_Hoover> Sgeo, you should be ashamed.
10:08:19 <Phantom_Hoover> Oh god, pikhq was right.
10:08:34 <Phantom_Hoover> He has been contracted to direct a Foundation film.
10:11:33 <acetoline> Am I the only one who doesn't like Foundation?
10:12:04 <acetoline> I think a Foundation movie would seriously suck
10:18:55 <Phantom_Hoover> It wouldn't if done well, but it won't be done well by Emmerich.
11:26:40 <Phantom_Hoover> Gregor, HAVE YOU COMPOSED SUPERTURING'S THEME TUNE YET
11:31:50 -!- hiato has changed nick to moot.
11:31:57 -!- moot has changed nick to hiato.
11:42:18 -!- acetoline has quit (Ping timeout: 276 seconds).
12:01:55 -!- variable has joined.
12:06:39 -!- oerjan has joined.
12:11:50 <oerjan> 00:00:43 <fungot> */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output!
12:11:51 <fungot> oerjan: action is better than scheme"
12:12:40 <oerjan> sheesh pasting changed the formatting to the exact opposite
12:12:48 <oerjan> 00:00:43
12:12:56 <oerjan> <fungot> */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output!
12:12:56 <fungot> oerjan: i just want ( as first thing to learn.
12:13:34 <oerjan> elliott: i think you might want &nbsp; after the date too
12:14:12 <oerjan> also it's still proportional front here
12:14:16 <oerjan> *font
12:25:47 <Vorpal> oerjan, interesting paste
12:25:53 <Vorpal> oerjan, what was it?
12:26:06 <Vorpal> oerjan, he hates fixed font iirc?
12:26:07 <oerjan> from elliott's log
12:26:26 <oerjan> um no the logs were definitely _supposed_ to be monospace
12:26:33 <oerjan> discussed yesterday
12:27:22 <oerjan> (the paste itself is just the output of the underload fibonacci program)
13:02:33 -!- oerjan has quit (Quit: leaving).
13:06:51 -!- MigoMipo has joined.
13:29:36 -!- cheater00 has quit (Ping timeout: 240 seconds).
13:30:19 -!- cheater00 has joined.
13:31:31 <Phantom_Hoover> Why does the Onion even have articles.
13:31:43 <Phantom_Hoover> The headlines are the funniest parts
13:39:43 -!- Wamanuz has joined.
13:39:54 <Ilari> Hah: "New Study Shows that Lying About Your Hamburger Intake Prevents Disease and Death When You Eat a Low-Carb Diet High in Carbohydrates".
13:43:16 -!- BeholdMyGlory has joined.
13:45:23 -!- Wamanuz has quit (Read error: Connection reset by peer).
13:45:31 -!- Wamanuz has joined.
14:01:49 -!- ais523 has joined.
14:05:47 <ais523> hmm: http://esolangs.org/w/index.php?title=Talk:Works_in_progress/&oldid=20846
14:06:03 <ais523> spambot title, and spambot-reminiscent text, except it all makes perfect sense and there's no actual spam
14:06:39 <ais523> it's clearly bot-generated, but I was wondering if I should leave it as a testament to the day when spambots got so good at trying to look legitimate that they forgot to spam
14:07:18 -!- FireFly has joined.
14:14:25 <ais523> hmm, still seven /8s unallocated
14:15:30 * ais523 deletes the spambot text
14:19:50 <Phantom_Hoover> Chrome is really starting to annoy me.
14:20:13 <Phantom_Hoover> It seems to have no mechanism for easy RSS subscription, and it has no facility for temporary file downloads.
14:20:39 <ais523> most browsers implement temporary file downloads as just downloading the file to /tmp (or another directory with similar semantics)
14:20:59 <Phantom_Hoover> ais523, yes, but Chrome has no such mechanism.
14:21:02 <ais523> also, people use browsers for RSS? I'm sure Google would want you to use Google Reader; I use Akregator myself
14:21:12 <ais523> Phantom_Hoover: I'm wondering if you could just set /tmp as the default location to download to
14:21:19 <Phantom_Hoover> *Everything* goes into ~/Downloads, which overflows.
14:21:27 <ais523> ouch
14:21:29 <Vorpal> * ais523 deletes the spambot text <-- I didn't read it in time. What was it about?
14:21:46 <Phantom_Hoover> Vorpal, it was probably a theoretical copyright violation or something.
14:21:48 <ais523> oh, it's just the typical "I'm new here, hello everyone at esolangs.org" but with worse grammar
14:21:54 -!- j-invariant has joined.
14:21:55 <Vorpal> ais523, heh
14:22:05 <ais523> completely useless, but it's trying to fit in to the extent that it isn't actually spam
14:22:17 <Vorpal> ais523, :D
14:22:44 <Ilari> Probably a probe... Or an URL spamming attempt.
14:22:45 <ais523> == hello! == I'm new here @ esolangs.org and wanna say hi to all the guys/gals of this board!
14:23:03 <ais523> Ilari: yep, it probably tried to fill in the URL field with spam, didn't find one, and sent the spam anyway
14:23:21 <Vorpal> ais523, url field?
14:23:22 <ais523> esolangs.org only has a CAPTCHA on anons if they try to introduce new external links
14:23:37 <ais523> Vorpal: on blogs, etc, there's often a field to enter your homepage on comments, and your comment links to it
14:23:50 <Vorpal> ais523, well mediawiki never had that
14:23:55 <ais523> indeed
14:24:01 <Vorpal> ais523, and mediawiki is large enough to handle specially
14:24:02 <ais523> but the spambot probably doesn't realise it's actually on mediawiki
14:24:07 <Vorpal> I mean, wikipedia and so on
14:24:14 <ais523> (actually, that one might, it uses == hello! == heading syntax)
14:24:28 <ais523> wikipedia's anti-spam measures are somewhat different from esolang's
14:24:41 <Vorpal> ais523, well yes
14:24:53 <ais523> (I should know, possibly better than anyone else...)
14:25:42 <Ilari> If it accepts user comments, try to spam it... :-)
14:27:04 -!- alibaba_ has joined.
14:27:07 <ais523> my favourite bit of spam on Esolang was the one that was almost impossible to delete, because any attempt to delete it tripped the spam filter
14:27:28 <ais523> because apparently, the title of the page was on a list of banned referrers, of all things
14:27:44 <ais523> eventually we (collectively) realised that you could spoof your referrer and delete it that way
14:28:07 <ais523> and my Firefox has been configured to send no referrer to Esolang ever since
14:28:18 -!- alibaba_ has quit (Quit: Ex-Chat).
14:29:55 <Vorpal> ais523, haha
14:30:15 <Vorpal> ais523, how do you configure that
14:30:56 <ais523> extension
14:30:59 <ais523> RefControl, to be precise
14:30:59 <Vorpal> ah
14:31:26 <ais523> you can configure it per-site to give a real referrer, no referrer, or to lie about the referrer in a variety of ways
14:39:42 <ais523> hmm, useful discovery: I don't need to log out and in again in order to get sound working when it goes wrong, "killall pulseaudio" works around 2 times in 3
15:01:59 <Sgeo> Chrome is starting to get on my nerves again
15:02:08 <Sgeo> Does Firefox really suck as badly as I remember?
15:08:42 <fizzie> "pacmd exit" is the official way of terminating the "current" pulseaudio session.
15:08:52 <fizzie> Though killall does in practice do just fine.
15:33:37 <j-invariant> Haskell comes with a library of functions called the 'standard prelude'. Unfortunately, whoever designed it knew just enough mathematics to be dangerous and made a complete hash of it. Instead of using a well known hierarchy of algebraic structures such as group->ring->field they defined all kinds of bizarre structures starting with something like a ring with a norm or valuation. And while the library supports complex numbers it's not flexible
15:41:19 -!- pikhq has quit (Ping timeout: 250 seconds).
15:41:30 -!- FireFly has quit (Quit: swatted to death).
15:48:36 <Gregor> Phantom_Hoover: OK, I'm writing it.
15:48:56 <Phantom_Hoover> :D
15:49:31 <Phantom_Hoover> j-invariant, you said that with absolutely no context.
15:49:55 -!- impomatic has joined.
15:49:58 <impomatic> Hi :-)
15:51:03 <ais523> hi
15:52:08 -!- pikhq has joined.
15:52:19 <ais523> Phantom_Hoover: there was a bunch of context in the message
15:52:30 <ais523> it's clearly about Haskell, for instance
15:52:43 <Phantom_Hoover> ais523, yes, but we weren't talking about Haskell.
15:53:40 -!- FireFly has joined.
15:54:06 <ais523> I mean, it's a non sequitur, but it has enough context to understand
15:55:46 -!- Slereah has quit.
16:03:57 <ais523> hmm, I came up against this regex: ((R1|R1R2G2D2|R2R1G2D2|R2G2R1D2)((R2G1|G1R2)D1(R1G2|G2R1)D2)*G1D1|(R2|R2R1G1D1|R1R2G1D1|R1G1R2D1)((R1G2|G2R1)D2(R2G1|G1R2)D1)*G2D2)*
16:04:02 <ais523> what I'm wondering is, can it be simplified?
16:04:28 <ais523> (perhaps specifying the semantics of programming languages and circuits via regex isn't the best option)
16:05:44 <Sgeo> Perhaps regex is never the best option
16:05:57 <ais523> it sometimes is
16:06:04 * Sgeo goes off to hide some sox, of the p sort, into a closet
16:06:08 <ais523> it works really well in most cases
16:06:20 <ais523> for programming language semantics, I mean
16:06:31 <ais523> that one's messy because it's designed for synchronizing threads
16:08:30 -!- Guest34714 has joined.
16:09:30 <Phantom_Hoover> Gregor, how goes the composing?
16:10:24 <Gregor> Phantom_Hoover: You're going to hate it with hatred :P
16:10:34 <Phantom_Hoover> Nooooooooo
16:19:55 -!- oerjan has joined.
16:20:23 <Phantom_Hoover> Clearly SuperTuring's sidekick should be a Turing machine called Timmy.
16:21:26 <oerjan> a hyperintelligent machine which is so geeky that it _still_ keeps managing to fail the turing test, and so cannot get full human rights.
16:21:42 <j-invariant> haha
16:21:59 <Phantom_Hoover> oerjan, YES
16:22:16 <Phantom_Hoover> You are now in charge of character wossname.
16:22:17 <oerjan> it's great dream in life is of course to pass
16:22:22 <oerjan> *its
16:22:40 <oerjan> timmy is fine
16:22:54 <Gregor> Phantom_Hoover: Nah, you'll love it.
16:22:56 <Gregor> Phantom_Hoover: With hatred.
16:23:41 <Phantom_Hoover> Gregor, is it performed with a WUSSY instrument?
16:23:51 <Gregor> What instruments are wussy?
16:25:00 <Phantom_Hoover> All the ones with at least one dimension greater than a metre.
16:26:18 <oerjan> it has considered cheating by simulating a whole normal human being, but considers that too unethical toward the simulated human
16:28:37 <Gregor> Phantom_Hoover: Sorry, it has a trumpet.
16:31:37 <oerjan> <ais523> (actually, that one might, it uses == hello! == heading syntax)
16:31:55 <oerjan> it _might_ just be filling in the new section field for the + button
16:32:45 <oerjan> (on Talk pages)
16:34:25 <Phantom_Hoover> Gregor, do you actually play the trumpet?
16:34:55 <oerjan> ais523: ^
16:35:23 <Phantom_Hoover> oerjan, now invent a villain.
16:35:31 -!- variable has quit (Ping timeout: 240 seconds).
16:35:46 <Gregor> Phantom_Hoover: I have a friend that plays the trumpet, but this is going to be a computer-played piece :P
16:36:29 <fizzie> Gregor: You mean with some sort of robot arms and a fan-driven contraption?
16:36:35 <Gregor> fizzie: Yes
16:37:19 * oerjan decides fizzie and Gregor are clearly describing the villain
16:39:15 <oerjan> his name is Cyberius Emmanuel Victor Imperator II
16:40:52 <oerjan> ironically, while being more than 2/3 mechanical, he is fanatically against mechanical _brains_
16:41:19 <oerjan> and thus wants to eradicate timmy and by extension superturing.
16:41:36 <oerjan> in between conquering the world, of course
16:42:36 <oerjan> of course it doesn't help that they keep thwarting 90% of his plans, including all the really major ones </obvious>
16:43:50 <oerjan> (btw. C.E.V.I. I met an unfortunate demise after trying to deny no. II staying up late to watch tv)
16:44:20 -!- j-invariant has quit (Quit: leaving).
16:44:57 <oerjan> oh wait the acronym needs some rearrangement
16:45:11 <Phantom_Hoover> oerjan, I demand that ESR be a minor henchman.
16:45:13 <oerjan> clearly his name must be Victor Imperator Cyberius Emmanuel
16:45:32 <oerjan> (II)
16:47:08 <oerjan> Phantom_Hoover: quite possible, he could be responsible for V.I.C.E.'s american operations
16:47:25 * oerjan realizes he cannot possibly have seen a picture of esr before
16:47:54 <Phantom_Hoover> http://www.pollsb.com/photos/o/6692-lt_a_href_http_en_wikipedia_org_wiki_eric_s__raymond_gt_eric_s_raymond_lt_a_gt.jpg
16:48:01 <Phantom_Hoover> He always looks that ugly, BtW.
16:48:23 <oerjan> Phantom_Hoover: um i said that of course because i _was_ for the first time looking at a picture of him
16:48:36 <Phantom_Hoover> oerjan, oh.
16:48:44 <oerjan> and it's clearly a face i would have remembered
16:49:10 <Gregor> Hahah this is AWESOME. I am the GREETIST.
16:50:02 <oerjan> hm that picture you linked reminds me of a certain swedish actor which i cannot remember the name of
16:53:38 <Gregor> I'm tempted to make an .ogg of what I've got, but I want to finish it so you can hear it in its FULL SPLENDOR.
16:56:58 <oerjan> american splendor
16:57:23 <Gregor> Oh, you will be floored.
16:57:50 <oerjan> well up to rounding error, yes
17:07:39 -!- ais523 has quit (Remote host closed the connection).
17:10:40 -!- j-invariant has joined.
17:13:13 <Phantom_Hoover> http://i.imgur.com/hK8FV.gif
17:13:24 <Phantom_Hoover> I have never been so glad not to live in the States.
17:20:03 <Phantom_Hoover> Well, until I read the comment thread.
17:30:25 -!- Guest34714 has changed nick to Slereah.
17:34:12 -!- impomatic has quit (Read error: Connection reset by peer).
17:36:14 -!- ais523 has joined.
17:43:12 <Gregor> URGE TO POST PREVIEW RISING
17:43:52 -!- elliott has joined.
17:45:14 <Phantom_Hoover> Gregor, ARE YOU TAKING THIS SERIOUSLY
17:45:25 <Gregor> Phantom_Hoover: Depends on your definition of "seriously"? X-P
17:46:58 <elliott> 04:03:38 <coppro> also there is too much elliott in this conversation
17:47:11 <elliott> I don't give a fuck if you ignore me, but seriously, shut the fuck up.
17:47:13 <elliott> Nobody cares.
17:47:43 <elliott> If you ignore people some conversations don't make sense.
17:47:46 <elliott> Deal with it.
17:49:02 <Phantom_Hoover> elliott, WORK HAS BEGUN ON SUPERTURING
17:49:11 <elliott> O god.
17:49:14 <Phantom_Hoover> oerjan is head of character design.
17:51:56 <j-invariant> superturing?
17:52:01 <elliott> zzo38 seems to think that anyone can push to his repository.
17:52:29 <Phantom_Hoover> j-invariant, is it Gödel? Is it Church? No, it's SuperTuring!
17:52:47 <j-invariant> what does it do ?:)
17:52:47 <Phantom_Hoover> Gregor is doing the theme tune.
17:53:09 <Phantom_Hoover> j-invariant, he goes around doing the standard supermathematician/computer scientist stuff.
17:53:16 <Phantom_Hoover> Well, *flies
17:53:29 <j-invariant> so is it a webcomic
17:53:33 <Gregor> And you will LOVE this theme tune.
17:53:34 <Gregor> LOVE IT TO DEATH
17:53:47 <Phantom_Hoover> j-invariant, no, silly.
17:53:57 <Phantom_Hoover> What kind of webcomic has a theme tune?
17:54:03 <j-invariant> elliott: I've managed to build a cave/mine so confusing that I get lost in it
17:54:47 <elliott> j-invariant: ha :D
17:54:50 <elliott> j-invariant: make a troch system
17:55:10 <Phantom_Hoover> A troch system.
17:55:19 <elliott> *torch
17:55:24 <Phantom_Hoover> TROCH
17:55:25 <elliott> j-invariant: e.g. three torches in a row = to exit
17:55:29 <elliott> also
17:55:30 <elliott> -minecraft
17:55:32 -!- Mathnerd314 has joined.
17:58:20 <Gregor> http://codu.org/tmp/superturing.ogg <-- WORK IN PROGRESS
17:58:24 <elliott> 10:13:31 <Phantom_Hoover> Dear god, Stargate was created by Roland Emmerich.
17:58:28 <elliott> Phantom_Hoover: The Stargate film was shit on toast.
17:59:18 <Gregor> (And listen to the WHOLE THING before commenting :P )
17:59:19 <elliott> Phantom_Hoover: "It's "O'Neill," with two L's. There's another Colonel O'Neil with only one L, and he has no sense of humor at all." (O'Neill had only one L in the film.)
17:59:50 <elliott> Gregor: needs more cowbell right at the start
18:00:05 <Phantom_Hoover> Gregor, this is completely insane. I love it.
18:00:07 <elliott> also it's insufficiently gay, overlay it with livin' la vida loca
18:00:10 <elliott> thx
18:00:20 <elliott> what is this xD
18:00:42 <Gregor> Dude, SuperTuring transcends genres.
18:01:00 <elliott> It's just not gay enough, even though I love it.
18:01:05 <elliott> Gregor: Dude, this needs to be performed live.
18:01:11 <Gregor> X-D
18:01:20 <elliott> It would be amazing.
18:01:36 <elliott> 12:22:10 <oerjan> elliott: i think you might want &nbsp; after the date too
18:01:37 <elliott> 12:22:48 <oerjan> also it's still proportional front here
18:01:37 <elliott> 12:22:52 <oerjan> *font
18:01:45 <elliott> oerjan: I haven't rewritten it yet, need to figure out how to do encodings in Haskell :P
18:01:58 <elliott> oerjan: I'm considering keeping the proportional font, dunno, comments welcome apart from from oklopol or Vorpal
18:02:12 <elliott> 13:40:10 <Phantom_Hoover> Why does the Onion even have articles.
18:02:12 <elliott> 13:40:21 <Phantom_Hoover> The headlines are the funniest parts
18:02:15 <elliott> Phantom_Hoover: They start with the headlines
18:02:18 <elliott> which explains everything.
18:02:25 <elliott> Phantom_Hoover: There's that one section which is just headlines and pictures :P
18:02:47 <elliott> 14:14:27 <ais523> hmm: http://esolangs.org/w/index.php?title=Talk:Works_in_progress/&oldid=20846
18:02:47 <elliott> 14:14:42 <ais523> spambot title, and spambot-reminiscent text, except it all makes perfect sense and there's no actual spam
18:02:47 <elliott> 14:15:19 <ais523> it's clearly bot-generated, but I was wondering if I should leave it as a testament to the day when spambots got so good at trying to look legitimate that they forgot to spam
18:02:49 <elliott> ais523: what was the text?
18:02:59 <ais523> I posted it a little later
18:03:04 <Vorpal> <elliott> oerjan: I'm considering keeping the proportional font, dunno, comments welcome apart from from oklopol or Vorpal <-- hey why not from me and oklopol?
18:03:19 <Phantom_Hoover> Gregor, I have a nagging feeling that we'll need to have a really long opening sequence to get the whole theme in.
18:03:24 <elliott> Vorpal: because you and oklopol are both fixed font nazis
18:03:25 <Gregor> X-D
18:03:32 <elliott> Phantom_Hoover: That is no issue.
18:03:34 <Gregor> Phantom_Hoover: I still have two styles I need to get in :P
18:03:39 <elliott> Just have SuperTuring standing there, looking awkwardly gay.
18:03:40 <elliott> Constantly.
18:03:49 <elliott> Without moving.
18:03:57 <quintopia> gregor: it would be excellent video game music...let me know when you use a non-suck sample pack
18:04:03 <quintopia> sound font
18:04:03 <Gregor> elliott: Except for the fluttering pink cape.
18:04:08 <quintopia> whatever people call them these dayws
18:04:13 <Gregor> quintopia: Let me know when you give me a non-sucky soundfont X-P
18:04:43 <Phantom_Hoover> elliott, ESR is going to be one of the henchmen.
18:04:51 <elliott> No. No he is not.
18:04:53 * oerjan dons a hitler moustache
18:04:55 <quintopia> the stereo effects are awful nice tho
18:05:07 <oerjan> <elliott> Vorpal: because you and oklopol are both fixed font nazis <-- MAKE THAT THREE
18:05:22 <elliott> oerjan: I WILL CONVERT YOU THROUGH MY ACCIDENT
18:05:27 <Phantom_Hoover> elliott, WHY
18:05:32 <Gregor> oerjan: elliott and oklopol are both three?
18:05:34 <elliott> it's just that i have no nice monospaced fonts :(
18:06:06 <oerjan> Gregor: >_>
18:06:28 <oerjan> argh you and your damn font fixation
18:07:00 <elliott> 16:30:10 <oerjan> a hyperintelligent machine which is so geeky that it _still_ keeps managing to fail the turing test, and so cannot get full human rights.
18:07:01 <Phantom_Hoover> elliott, WHO ELSE CAN I MAKE INTO A VILLAIN
18:07:03 <elliott> It should have a halting oracle.
18:07:23 <elliott> This should be invoked regularly to prove or disprove famous mathematical theorems.
18:07:32 <elliott> "Oh no! I can defeat this wicked trap only if Goldbach's conjecture is false!"
18:07:35 <Phantom_Hoover> Halting Oracle.
18:07:40 <elliott> "GOOD - NEWS - SUPER - TURING... IT IS!"
18:07:43 <elliott> "Excellent!"
18:07:47 <Gregor> Phantom_Hoover: YES
18:07:48 <Gregor> Phantom_Hoover: YES YES YES
18:08:02 <Phantom_Hoover> She has a stammer.
18:08:11 <quintopia> you mean
18:08:15 <quintopia> she says
18:08:31 <quintopia> "I want some banananananananananana pancakes"
18:08:47 <quintopia> and SuperTuring says "Does the hardware store accept returns on fenceposts?"
18:08:56 <Gregor> "Will this machine halt?" "This machine definitely w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-w-"
18:09:07 <elliott> Why would she be a villain
18:09:25 <elliott> So what's SuperTuring's overly phallic weapon of choice?
18:09:43 <Phantom_Hoover> elliott, a whip made of TM tape.
18:09:58 <elliott> X-D
18:10:00 <elliott> Is it infinitely long?
18:10:05 <Phantom_Hoover> Yes.
18:10:06 <elliott> Does he keep it rolled up?
18:10:16 <elliott> In his pockets, naturally.
18:10:36 <Phantom_Hoover> I FEEL THAT SOME IMMATURE JOKE IS APPROACHING RAPIDLY
18:11:07 <Vorpal> <Phantom_Hoover> Gregor, I have a nagging feeling that we'll need to have a really long opening sequence to get the whole theme in. <-- what theme?
18:11:10 <elliott> WE STARTED OFF WITH "OVERLY PHALLIC" I DON'T THINK WE CAN GET LESS MATURE
18:11:12 <elliott> HERE GOES
18:11:22 <elliott> Is that an infinitely long tape in your pants, or are you just happy to see me?
18:11:24 <Gregor> Vorpal: <Gregor> http://codu.org/tmp/superturing.ogg <-- WORK IN PROGRESS
18:11:30 <elliott> Gregor: WHY, IT'S PERFECT
18:11:49 <Vorpal> Gregor, "Resolving codu.org... "
18:11:50 <Vorpal> what
18:11:54 <Vorpal> ah there it goes
18:12:00 <Vorpal> dns fucked up
18:12:05 <elliott> <Vorpal> Gregor: I HATE it! It's NOT MY STYLE
18:12:13 <Phantom_Hoover> Wait, maybe the tapewhip should be Timmy's weapon.
18:12:22 <elliott> Phantom_Hoover: Is Timmy the TM?
18:12:26 <Phantom_Hoover> Yes.
18:12:29 <elliott> I don't think we should have a TM, that's not super-Turing
18:12:31 <elliott> That's just Turing
18:12:32 <elliott> Phantom_Hoover: OMG
18:12:37 <Vorpal> Gregor, wow awesome music
18:12:42 <elliott> ...X-D
18:12:42 <Phantom_Hoover> Yeah, that's where Halting Oracle comes in.
18:12:52 <Vorpal> elliott, you fail at predicting me :P
18:12:52 <elliott> Phantom_Hoover: When he got turned Super, his prototype Turing machine got turned Super too.
18:13:03 <elliott> So obviously Timmy has a halting oracle.
18:13:06 <elliott> THUS INVALIDATING YOUR PLOT
18:13:23 <Phantom_Hoover> Naw, oerjan already made up a villain.
18:13:24 <quintopia> i do agree with the complaints that it is not a gay enough theme
18:13:26 <Vorpal> Gregor, a bit cheesy though maybe?
18:13:35 <Gregor> Vorpal: That's the point :P
18:13:37 <Phantom_Hoover> Vorpal misses the point entirely.
18:13:51 <oerjan> ok ok timmy can have a halting oracle
18:13:57 <quintopia> i think the villain should be MEGALONZO
18:14:01 <Vorpal> Gregor, ah
18:14:13 <elliott> oerjan: the stutter thing is a good idea though
18:14:17 <quintopia> a natural foil for superturing
18:14:29 <Phantom_Hoover> quintopia, OMGYES
18:14:41 <oerjan> wth is megalonzo
18:14:44 <elliott> "TIMMY, IS THE GOLDBACH CONJECTURE TRUE OR NOT?!" "THE PROGRAM IN QUESTION D-D-D-D-D-D-" "HURRY UP!" "DOES HALT!"
18:14:48 <oerjan> oh right
18:14:57 <Phantom_Hoover> WAITWAITWAIT
18:15:00 <elliott> hmm, so SuperTuring is devoutly religious then
18:15:06 <elliott> because MegaLonzo is obviously for the separation of Church and State
18:15:07 <elliott> :D
18:15:11 <quintopia> hahah
18:15:21 <Phantom_Hoover> HE SHOULD BE ALONZO CHURCH III, THE SECRET LOVE CHILD OF ALONZO CHURCH II AND HASKELL CURRY'S DAUGHTER
18:15:29 <Vorpal> who is Timmy?
18:15:39 <oerjan> timmy TM
18:15:43 <Phantom_Hoover> Vorpal, SuperTuring's sidekick.
18:15:48 <Vorpal> oerjan, ... such a bad joke
18:15:57 <elliott> Oh yeah, this is the centre of GOOD JOKE DEVELOPMENTS.
18:15:57 <Phantom_Hoover> Vorpal, MY JOKE
18:16:02 <ais523> elliott: assuming you're still logreading, did you come across my regex yet?
18:16:04 <Vorpal> Phantom_Hoover, okay. Still bad
18:16:05 <ais523> (well, regular expression)
18:16:08 <elliott> ais523: yes, I'm scared
18:16:11 <quintopia> i think elliott wins the computing pun award already.
18:16:14 <Vorpal> ais523, what regex?
18:16:18 <elliott> quintopia: For what :P
18:16:24 <elliott> I didn't make up that Church and State thing, that's a Haskeller joke
18:16:28 <quintopia> oh
18:16:33 <quintopia> well damn
18:16:35 <elliott> BUT I ACCEPT THE PRIZE
18:16:36 <quintopia> i'd never heard it
18:16:36 <j-invariant> it's from liyang
18:16:42 <ais523> elliott: typical computer scientist thinking: regular expressions can be represented by FSMs, thus FSMs can be represented by regular expressions
18:16:51 <j-invariant> @go church of the lambda calculus
18:16:51 <lambdabot> Maybe you meant: google googleit do
18:16:56 <j-invariant> @go church of the least fixed point
18:16:57 <lambdabot> Maybe you meant: google googleit do
18:17:04 <Vorpal> ais523, well that is true
18:17:06 <j-invariant> @goggle church of the least fixed point
18:17:07 <lambdabot> http://www.springerlink.com/index/N4T2V573M58G2755.pdf
18:17:07 <lambdabot> Title: SpringerLink - International Journal of Parallel Programming, Volume 15, Number ...
18:17:09 <Phantom_Hoover> ISTR Sam Hughes did something along those lines.
18:17:10 <Vorpal> ais523, given the right sort of regex
18:17:23 <elliott> HOW DO YOU DO CHARSETS WITH HASKELL ASKJXGCYKLDFJHCNVKFJGNKGDXLF;SJ,NMBGHJDSUIDAOK;LCMVNBSJKGHRIJE89MU84OEITJRDGKLFMCVGDTRIO54896UFGJKNJKGTUIIGJKFN
18:17:25 <ais523> Vorpal: simple regular expressions work
18:17:32 <ais523> well, not "simple" in my case
18:17:41 <Vorpal> ais523, yes but perl regexp would nopt
18:17:42 <Vorpal> not*
18:17:59 <Vorpal> they are more advanced than fsm
18:18:04 <elliott> "Summary: Hoogle Embed lets you include a small interactive Hoogle search box on your web page." <-- so USEFUL
18:18:15 <ais523> Vorpal: I'm talking about the mathematical concept
18:18:16 <elliott> Oh: "Configuration options allow you to automatically add a prefix or suffix to the users search, for example adding +hoogle to search only the Hoogle API." :P
18:18:26 <Vorpal> ais523, right
18:18:27 <elliott> Vorpal: stop acting like AnMaste
18:18:27 <elliott> r
18:18:28 <elliott> oh wait
18:18:29 <j-invariant> elliott: I have like 64x20 cobbleston, and athe same of dirt... I worry about conservation of mass
18:18:34 <Vorpal> elliott, .................
18:19:07 <ais523> in fact, I had to translate that one into Perl so the notation was more familiar
18:19:19 <Vorpal> ais523, so what is this monster regexp that was in logs then
18:19:23 <Vorpal> or what it was about
18:19:25 <ais523> the original uses + for alternation and superscript * for repetition
18:19:27 <ais523> let me find it
18:20:28 <ais523> ((R1|R1R2G2D2|R2R1G2D2|R2G2R1D2)((R2G1|G1R2)D1(R1G2|G2R1)D2)*G1D1|(R2|R2R1G1D1|R1R2G1D1|R1G1R2D1)((R1G2|G2R1)D2(R2G1|G1R2)D1)*G2D2)*
18:20:36 <ais523> I have a hunch that it can be simplified, though
18:20:55 <Vorpal> ais523, actually, don't you need an fsm with an accepting state to be able to encode it as a regexp. Consider a fsm for a door controller for example. It will have no accepting state since it will run forever
18:21:02 <ais523> (it represents the concept of a critical section)
18:21:16 <ais523> Vorpal: the regex matches all possible histories for the FSM
18:21:21 <ais523> well, after you prefix-close it
18:21:24 <elliott> ugh, this makes no damn sense
18:21:24 <Vorpal> ais523, aha
18:21:31 <Vorpal> elliott, what doesn't
18:21:35 <ais523> *regular expression
18:21:40 <elliott> Vorpal: charsets in haskell
18:21:45 <quintopia> multiple channel convergence ahoy...sam hughes appeared here and the "troll science: pi" thing appeared as a topic of discussion elsewhere...
18:21:49 <Vorpal> elliott, ah...
18:22:17 <Vorpal> quintopia, what "troll science: pi"?
18:22:21 <elliott> quintopia: sam hughes is already on topic here
18:22:24 <elliott> *always
18:22:36 <oerjan> ais523: there are some parts that can be distributed further
18:22:36 <quintopia> yes, but not always mentioned
18:22:43 <quintopia> Vorpal: http://qntm.org/trollpi
18:22:56 <ais523> oerjan: I think there are, yes; but I was wondering if the two halves could be combined somehow
18:23:05 <elliott> http://twitter.com/qntm I DID NOT KNOW THIS EXISTED
18:23:28 <ais523> that regex is "psychic" in a way, in that it can go arbitrarily deep into the string before having to backtrack and using the second half of the main alternation
18:23:33 <elliott> "Did you know? If you run ASCII text through an ASCII->EBCDIC converter 484,330 times, it'll come back as ASCII again."
18:23:42 <Vorpal> <quintopia> Vorpal: http://qntm.org/trollpi <-- heh.
18:23:49 <ais523> elliott: only if the converter is reversible
18:24:01 <elliott> ais523: ASCII->EBCDIC is reversible
18:24:29 <ais523> elliott: some of the weirder punctuation marks in ASCII don't have standard locations in EBCDIC
18:24:41 <elliott> ais523: stop being AnMaster
18:25:05 <ais523> why is this being AnMaster/Vorpal? it matters because INTERCAL
18:25:24 <Vorpal> ais523, what about baudot?
18:26:11 <ais523> Vorpal: that one definitely doesn't round-trip to ASCII or EBCDIC
18:26:20 <ais523> it has no tab character
18:26:32 <ais523> (convickt replaces tab with space when doing that conversion, so as not to break existing programs)
18:26:43 <ais523> one space, that is; all whitespace is equivalent in INTERCAL
18:26:55 <elliott> ais523: all whitespace in intercal is the same as no whitespace, isn't it?
18:27:27 <ais523> elliott: it's debatable; sorear made a plausible claim that whitespace is allowed even inside constants (and the vim syntax highlighter for INTERCAL's based on that principle), but no known impl allows it
18:27:37 <ais523> *inside keywords
18:27:57 <ais523> and certainly, J-INTERCAL used to get confused by DOREADOUT, parsing it as DO REA DO UT
18:28:00 <ais523> which is again arguably correct
18:28:20 <ais523> so we'll just say that whitespace is possibly significant, and leave it at that
18:28:23 <elliott> ais523: hmm, can I fix C-INTERCAL to allow whitespace in contents?
18:28:28 <elliott> *constants
18:28:33 <ais523> *keywords
18:28:46 <ais523> elliott: if you can think of a plausible way to do it and it doesn't break anything else, why not?
18:29:03 <ais523> (note that E000 preserves whitespace, so just stripping all the whitespace in advance doesn't work)
18:29:14 <elliott> ais523: I'll just tweak the grammar
18:29:17 <elliott> ais523: will you apply the patch if I write it?
18:29:20 <elliott> (and it works)
18:29:25 <ais523> depends on how well-written it is
18:29:38 <ais523> I've been known to rewrite patches altogether but steal the algorithms
18:29:45 <elliott> ais523: So it can be either really well-written or utterly horrid? :)
18:29:54 <elliott> Got a link to the repository?
18:29:56 <ais523> it's probably just worth mentioning that C-INTERCAL's parser is rather fragile
18:30:09 <Vorpal> ais523, that is an understatement
18:30:14 <ais523> checking browser history now
18:30:20 <ais523> Vorpal: no it isn't, it's not /that/ fragile
18:30:31 <ais523> elliott: http://git.gitorious.org/intercal/intercal.git
18:30:40 <elliott> "The Social Network is the most accurate computer movie since Swordfish." --Sam Hughes
18:30:46 <j-invariant> LOL
18:30:48 <elliott> ais523: down
18:31:00 <Vorpal> ais523, no longer darcs?
18:31:01 <ais523> elliott: gitorious for me is slow but up
18:31:02 <Vorpal> ais523, aww
18:31:06 <elliott> Vorpal: due to esr
18:31:12 <Vorpal> gah
18:31:13 <ais523> Vorpal: that's the big combined everything repo made by esr
18:31:16 <elliott> ais523: have you got a local repository you could send to me? it just isn't loading for me
18:31:18 <Vorpal> ais523, "The requested URL /intercal/intercal.git was not found on this server."
18:31:28 <elliott> ais523: darcs is fine, even preferable, if you still use that locally :P
18:31:37 <ais523> what about git://gitorious.org/intercal/intercal.git
18:31:45 <ais523> and no, I'm using the combined repo atm
18:31:51 <elliott> "My latest hypothesis: every James Cameron movie is set in the same fictional universe." --Sam Hughes
18:32:05 <elliott> ais523: grr, "intercal"
18:32:11 <elliott> ais523: why not "c-intercal"? esr ego?
18:32:18 <ais523> probably
18:32:24 <ais523> although it's been called "intercal" in Debian, etc
18:32:32 <ais523> so that might be another reason, consistency with package managers
18:33:00 <elliott> What, Darren Aronofsky is directing Wolverine 2.
18:33:03 <elliott> What is this I don't even
18:33:06 <Vorpal> ais523, I used ick and c-intercal iirc for package names
18:33:35 <ais523> I used C-INTERCAL as the main index entry in info, and ick for the subentry that specifically dealt with ick(1) the executable
18:34:20 <ais523> (note to self: consider ick(6) and ick(8) as possible alternative locations)
18:34:48 <elliott> and now, I delve into the C-INTERCAL lexer, knowing not what I am doing
18:34:56 <ais523> elliott: don't worry, it doesn't either
18:34:56 <elliott> ais523: ick(8)? it goes in sbin? :P
18:35:07 <ais523> elliott: that would be a fun place for it, yes
18:35:18 <elliott> I'm going to assume that I can do this in lexer.l and avoid the parser entirely
18:35:19 <ais523> in case, umm, you need to recompile a kernel module written in INTERCAL
18:35:33 <elliott> does my name go in the copyright line or no? I'll stick to your /* AIS: ... */ format I think
18:35:38 <elliott> *not?
18:35:48 <Vorpal> ais523, but gcc goes into bin not sbin...
18:35:53 <ais523> I gave up the /* AIS: */ thing when I used version control, as that was an alternative way to log things
18:35:54 <elliott> gcc goes into /usr/bin
18:36:04 <elliott> ais523: I'm going to do it anyway, as I like the look of it
18:36:04 <Vorpal> elliott, indeed
18:36:06 <elliott> Feels like 70s Unix.
18:36:13 <elliott> ais523: hmm, but I don't have a middle name, what do I do?
18:36:28 <Vorpal> ais523, what does the i stand for btw
18:36:33 <ais523> you could use x, that's what the university here does
18:36:39 <ais523> in order to give everyone three-letter initials
18:36:47 <elliott> ais523: /* EXH: ... */? that's ugly
18:36:52 <elliott> maybe I'll invent a middle initial
18:36:52 <ais523> (as for /why/ they give everyone three-letter initials, beats me)
18:36:58 <ais523> elliott: EH?
18:37:04 <elliott> that's INCONSISTENT!
18:37:12 <elliott> hmm, I wish I was named Elliott Fsomething
18:37:13 <elliott> so I could choose O
18:37:19 <elliott> /* EOF: ... */
18:37:22 <ais523> elliott: who cares about consistency?
18:37:25 <Vorpal> ais523, what does your I stand for
18:37:26 <Vorpal> what name
18:37:36 <ais523> Vorpal: that's quite a personal question...
18:37:37 <elliott> Vorpal: Ia, as in Ia ftaghn.
18:37:44 <elliott> *fhtagn
18:37:44 <Vorpal> ais523, oh okay. Sorry then
18:37:52 <elliott> It's actually "Isabelle".
18:37:57 <Vorpal> elliott, XD
18:37:57 <elliott> Or was it Ishmael?
18:37:59 <elliott> \
18:38:04 <elliott> s/^\\$//
18:38:15 <elliott> ais523: wow, where on earth are constants parsed here :-D
18:38:33 <elliott> ais523: hmm, I think I should do this in the parser, or does the lexer already muck it up?
18:38:44 <ais523> the two are designed to work together
18:38:47 <elliott> I'm assuming the lexer just makes it "SOMETHING DIGIT DIGIT SPACE DIGIT"
18:38:53 <ais523> although I think that's only necessary in the spark-ears matching
18:38:54 <elliott> in which case the solution is easier to do in the parser
18:39:03 <elliott> right?
18:39:05 <ais523> the lexer does group adjacent digits, though, look at the {D} rule
18:39:07 <elliott> ah
18:39:09 <ais523> but I meant keywords
18:39:22 <ais523> (is there support in the spec for spaces inside numbers?)
18:39:23 <elliott> ais523: I don't understand
18:39:30 <elliott> hmm, why the {}s around D?
18:39:36 <elliott> to reference that definition?
18:39:37 <elliott> oh
18:39:38 <elliott> for "many"
18:39:44 <ais523> no, because otherwise it would be a literal D
18:39:45 <elliott> D [0-9][\ \t\n0-9]*
18:39:48 <elliott> {D} {yylval.numval = myatoi(yytext); return(NUMBER);}
18:39:53 <ais523> it's defined as D, but used as {D}
18:39:55 <elliott> ais523: that looks to me like it should already support that
18:40:02 <ais523> yes, that looks like it contains whitespace
18:40:03 <elliott> depending on how myatoi works
18:40:07 <ais523> hmm, what does myatoi do anyway?
18:40:13 <elliott> I bet it skips spaces
18:40:13 <ais523> it seems a little weird to use a custom atoi
18:40:18 <elliott> yep
18:40:22 <elliott> for(buf[i = 0] = '\0';*text && i < MAXTEXT;text++) {
18:40:23 <elliott> if(isdigit(*text)) {
18:40:23 <elliott> buf[i++] = *text;
18:40:23 <elliott> }
18:40:23 <elliott> }
18:40:28 <elliott> you've edited it, even
18:40:32 <elliott> "thinbuf code added by an AIS" wut
18:40:36 <elliott> an AIS? :P
18:40:44 <Vorpal> :D
18:40:46 <ais523> well, there might be more than one person with my initials
18:40:50 <elliott> CONFICE{W}\({W}{D}\) {yylval.numval = myatoi(yytext); return(CREATE);}
18:40:56 <elliott> COME{W}FROM{W}\({W}{D}\) {/* AIS */ yylval.numval = myatoi(yytext);
18:40:56 <elliott> return(COME_FROM);}
18:41:03 <elliott> ais523: as far as I can tell, spaces are already supported in numbers
18:41:04 <ais523> and thinbuf was just a bugfix for Unicode support
18:41:12 <oerjan> <elliott> ais523: hmm, but I don't have a middle name, what do I do? <-- eh, i don't know
18:41:15 <elliott> \%{W}{D} {yylval.numval = myatoi(yytext);
18:41:15 <elliott> if (yylval.numval && yylval.numval < 100)
18:41:15 <elliott> return(OHOHSEVEN);
18:41:15 <elliott> else
18:41:15 <elliott> ick_lose(IE017, iyylineno, (char *)NULL);}
18:41:18 <elliott> oerjan: :D
18:41:24 <elliott> ais523: what's the prefix of constants?
18:41:31 <ais523> #
18:41:36 <ais523> wait, what does CONFICE even mean?
18:41:39 <ais523> now I'm confused
18:41:39 <Vorpal> oerjan :D
18:41:43 <elliott> who the fuck knows :D
18:41:46 <ais523> oh, must be CREATE in Latin
18:41:49 <elliott> :D
18:41:58 <elliott> \# {return(MESH);}
18:42:05 <Vorpal> ais523, hah
18:42:08 <elliott> ok, so a constant is done with "MESH(value), NUMBER"?
18:42:13 <elliott> {D} {yylval.numval = myatoi(yytext); return(NUMBER);}
18:42:14 <elliott> erm
18:42:16 <elliott> *MESH, NUMBER(value)
18:42:21 <ais523> elliott: yep, in C-INTERCAL at least
18:42:29 <ais523> I think CLC-INTERCAL can dynamically determine whether something's a constant or not
18:42:32 <elliott> ais523: then since the {D} rule supports spaces, spaces in constants already worked, try it
18:42:35 <elliott> *work
18:42:39 <ais523> elliott: constants was a typo...
18:42:43 <elliott> o
18:42:47 <elliott> ais523: what did you mean :D
18:42:50 <ais523> keywords
18:42:58 <elliott> ais523: oh, dear.
18:43:12 <elliott> ais523: so I'd have to change it to C{W}O{W}N{W}F{W}I{W}C{W}E?
18:43:42 <elliott> ais523: hmm... perhaps I could write a program to automatically transform lexer.l so that every literal stream of characters gets separated by {W}
18:43:46 <ais523> I think so, and so forth with all keywords
18:43:50 <ais523> I'm just not certain that actually works
18:43:55 <elliott> worth a try
18:44:04 <elliott> ais523: why can't I just strip whitespace again? error reporting?
18:44:05 <Vorpal> elliott, there will be ambiguities
18:44:10 <ais523> elliott: indeed
18:44:19 <ais523> and the fact that it possibly changes the semantics of something
18:44:22 <oerjan> `translatefromto la en confice
18:44:23 <elliott> ais523: can't I just make the impl look at the source in a different place when error-reporting?
18:44:40 <elliott> ais523: is it OK if the build depends on perl, so long as the pregenerated file is included?
18:44:41 <HackEgo> No output.
18:44:41 <ais523> C-INTERCAL screws up the line numbers atm when you start a statement halfway through a line and end it halfway through a different line
18:44:47 <ais523> it's a nonstanding bug that nobody cares about
18:44:54 <oerjan> `translatefromto la en sic transit gloria mundi
18:44:55 <HackEgo> No output.
18:44:57 <elliott> *longstanding
18:44:57 <elliott> presumably
18:44:59 <ais523> elliott: hmm, does it not depend on perl already?
18:45:04 <ais523> elliott: err, yes
18:45:05 <elliott> possibly
18:45:07 <elliott> /*
18:45:08 <ais523> although the typo si fun
18:45:08 <elliott> * The spectacular ugliness of INTERCAL syntax requires that the lexical
18:45:08 <elliott> * analyzer have two levels. One, embedded in the getc() function, handles
18:45:08 <elliott> * logical-line continuation and the ! abbrev, and stashes each logical
18:45:08 <elliott> * line away in a buffer accessible to the code generator (this is necessary
18:45:08 <elliott> * for the * construct to be interpreted correctly). The upper level is
18:45:10 <elliott> * generated by lex(1) and does normal tokenizing.
18:45:12 <elliott> */
18:45:14 <elliott> ais523: what if getc skipped whitespace?
18:45:18 <elliott> ais523: It's si fun!
18:45:23 <oerjan> `translatefromto no en Hva er nå dette?
18:45:24 <ais523> oh right, I forgot that the crazy function that did most of the parsing was called getc
18:45:24 <HackEgo> What is this?
18:45:29 <ais523> that was almost cetainly a bad idea
18:45:48 <oerjan> `translatefromto en la Is this right?
18:45:49 <HackEgo> No output.
18:45:56 <oerjan> hmph
18:45:57 <ais523> and lead to fun when the function it actually called to do the reading was implemented in terms of getc
18:46:07 <elliott> ais523: but could I make getc skip whitespace or would that mess up error reporting too?
18:46:11 <ais523> I think I replaced it with a call to read in the end, to reduce the chances of it going via getc to near zero
18:46:12 <ais523> elliott: I'm not sure
18:46:18 <ais523> really, would you expect me to be?
18:46:22 <elliott> ais523: I'll try it :-)
18:46:48 <ais523> try doing it at the same stage as expanding ! to .', though, as it has a similar issue
18:46:59 <ais523> umm, to '.
18:47:02 <ais523> .' is meaningless
18:48:02 <elliott> c_char=0; /* AIS */
18:48:02 <elliott> do dummy = fread(&c_char,1,1,fp);
18:48:02 <elliott> while (isspace(c_char)); /* EH: ignore whitespace */
18:48:02 <elliott> c = c_char;
18:48:09 <elliott> I just did it at getc, let's see if it works
18:48:16 <oerjan> @list google
18:48:16 <lambdabot> search provides: google gsite gwiki
18:48:20 <elliott> ais523: is there an automated test suite of any kind?
18:48:22 <ais523> elliott: that's a really evil do-while
18:48:28 <ais523> elliott: indeed, two of them
18:48:31 <elliott> ais523: evil, but fun!
18:48:37 <elliott> OK, how do I run them? and can I run them without make installing?
18:48:42 <oerjan> `translatefromto en lat Is this right?
18:48:43 <HackEgo> No output.
18:48:56 <ais523> there's ESR's compile-all-known-programs testsuite (I integrated it into the build system, run "make check"), and my separate fuzztester (which I think is "make fuzz")
18:49:06 <elliott> ais523: I'll do make check, then
18:49:12 <elliott> make fuzz sounds irrelevant to this
18:49:31 <ais523> well, it's fuzztesting with vaguely valid INTERCAL to test the optimiser
18:49:32 <elliott> configure.ac:10: required file `buildaux/install-sh' not found
18:49:32 <elliott> configure.ac:10: `automake --add-missing' can install `install-sh'
18:49:32 <elliott> configure.ac:10: required file `buildaux/missing' not found
18:49:32 <elliott> configure.ac:10: `automake --add-missing' can install `missing'
18:49:32 <elliott> buildaux/Makefile.am: required file `buildaux/depcomp' not found
18:49:33 <elliott> buildaux/Makefile.am: `automake --add-missing' can install `depcomp'
18:49:35 <elliott> ugh
18:49:39 <elliott> how tf am i meant to create "configure"
18:49:41 <elliott> autoreconf fails like that
18:49:45 <ais523> elliott: there's a script to do it in buildaux
18:49:50 <ais523> the repo versions don't contain any generated files at all
18:50:04 <elliott> ais523: there's a standard name for that script but I forget what it is
18:50:13 <elliott> Vorpal probably knows
18:50:19 <ais523> buildaux/regenerate-build-system.sh
18:50:21 <elliott> elliott@elliott-MacBookAir:~/Code/c-intercal$ buildaux/regenerate-build-system.sh
18:50:21 <elliott> Please run this script from its own directory.
18:50:23 <elliott> ok, that's just hateful
18:50:23 <ais523> and it isn't autogen.sh as that does something else
18:50:30 <elliott> why can't it cd?
18:50:32 <j-invariant> elliott: 18:58 < kuffaar> Stop saying evil all the time, you lot start sounding like Christian fundies on the telly!
18:50:34 <Vorpal> elliott, what script?
18:50:38 <elliott> j-invariant: xD
18:50:39 <j-invariant> people talkgin baout dgoto
18:50:44 <ais523> because I wrote it in a hurry, and it's maintainer-only really
18:50:44 <elliott> Vorpal: autoen
18:50:45 <elliott> *autogen
18:50:51 <elliott> ais523: I'm going to fix that too :P
18:50:58 <Vorpal> elliott, autoreconf?
18:51:51 <elliott> ais523: fixed, and it even works with directories with spaces in the names and shells without $()!
18:52:03 <elliott> if that comes in as one patch, I blame git being incompetent at cherrypicking ..
18:52:04 <elliott> *...
18:52:52 <elliott> ais523: I'm going to try generating the parser with byacc, just because I'm perverse
18:53:06 <elliott> ais523: also, "make clean" starts configuring if you run it before configuring...
18:53:14 <ais523> elliott: last I tried, the parser worked on SunOS yacc with a few changes
18:53:20 <ais523> elliott: of course, how else would it know what to clean?
18:53:25 <elliott> are parallel builds supported?
18:53:28 <ais523> yep
18:54:05 <ais523> as far as I know, they even work
18:54:09 <ais523> which is not quite the same thing
18:54:19 <elliott> /home/elliott/Code/c-intercal/buildaux/missing: line 52: makeinfo: command not found
18:54:19 <elliott> WARNING: `makeinfo' is missing on your system. You should only need it if
18:54:19 <elliott> you modified a `.texi' or `.texinfo' file, or any other file
18:54:19 <elliott> indirectly affecting the aspect of the manual. The spurious
18:54:19 <elliott> call might also be the consequence of using a buggy `make' (AIX,
18:54:20 <elliott> DU, IRIX). You might want to install the `Texinfo' package or
18:54:24 <elliott> the `GNU make' package. Grab either from any GNU archive site.
18:54:26 <elliott> make[1]: *** [doc/ick.info] Error 1
18:54:28 <elliott> I did not edit any manual page.
18:54:52 <elliott> ais523: is that because the generated pages aren't included?
18:55:03 <ais523> elliott: yes, the repo version and tarball version are quite different
18:55:15 <elliott> parser.c:96: error: macro "yylex" passed 1 arguments, but takes just 0
18:55:17 <ais523> the repo version contains no generated files at all because git can't handle that
18:55:21 <elliott> ais523: your parser does not work with byacc, I am disgusted
18:55:32 <coppro> sure it can
18:55:33 <ais523> elliott: at what stage did you set byacc as the parser?
18:55:36 <coppro> it can either store or ignore them
18:55:40 <ais523> coppro: not without producing diffs
18:55:42 <elliott> ais523: by installing byacc without having bison installed
18:55:44 <ais523> and those drive ESR mad
18:55:50 <elliott> ais523: first it complained i had no parser, then i installed byacc, then configure worked
18:55:57 <elliott> so I'm going out on a limb here and guessing it decided byacc was good enough
18:56:00 <coppro> ah roffl
18:56:07 <ais523> elliott: hmm, autoconf is meant to detect properties of yacc impls
18:56:15 <ais523> but perhaps you hit upon a difference I didn't know about
18:56:20 <elliott> ais523: I suspect you're doing something "manually"
18:56:22 <ais523> still, a change in the signature of yylex is bizarre
18:56:35 <ais523> elliott: I wrote the yacc detection manually
18:56:40 <ais523> but that was about yyrestart, I think
18:56:45 <elliott> /* Parameters sent to lex. */
18:56:45 <elliott> #ifdef YYLEX_PARAM
18:56:45 <elliott> # define YYLEX_DECL() yylex(void *YYLEX_PARAM)
18:56:45 <elliott> # define YYLEX yylex(YYLEX_PARAM)
18:56:45 <elliott> #else
18:56:46 <elliott> # define YYLEX_DECL() yylex(void)
18:56:46 <ais523> which is a) undocumented, and b) required to get things to work
18:56:47 <elliott> # define YYLEX yylex()
18:56:49 <elliott> #endif
18:56:53 <elliott> extern int YYPARSE_DECL();
18:56:56 <elliott> ais523: the last line is the failing one
18:57:08 <ais523> looks like YYLEX_PARAM is misset
18:57:11 <Gregor> Bleh, ending music is hard.
18:57:14 <elliott> ais523: I get the same even with bison.
18:57:19 <elliott> I conclude that your parser is totally broke.
18:57:38 <coppro> 1/win 12
18:57:48 <elliott> ais523: i suspect esr broke it
18:58:04 <elliott> oh, wait
18:58:09 <elliott> ais523: do I need "distclean" to remove generated files?
18:58:12 <elliott> probably
18:58:16 <elliott> yep
18:58:21 <ais523> elliott: there's an even cleaner than that, IIRC
18:58:25 <elliott> test -z "parser.c parser.h lexer.c oil-oil.c host.mak bconfig.h config.status.build" || rm -f parser.c parser.h lexer.c oil-oil.c host.mak bconfig.h config.status.build
18:58:25 <elliott> err, what
18:58:36 <elliott> automake is so ridiculous...
18:58:40 <ais523> elliott: to avoid an error if it calls rm with no params, of course
18:58:51 <ais523> or worse, deletes -f by mistake becaues the rm is particularly stupid
18:58:53 <elliott> yay, it compiled
18:58:55 <ais523> you might have needed that file!
18:58:58 <elliott> :D
18:59:07 <elliott> ais523: running make check now
18:59:10 <elliott> how long will this take? :p
18:59:18 <ais523> not too long, it only takes me a few minutes
18:59:21 <elliott> it's currently bottling beer... or hung
18:59:21 <ais523> some tests take longer than others
18:59:28 <ais523> beer takes a while
18:59:28 <elliott> make[2]: Entering directory `/home/elliott/Code/c-intercal'
18:59:28 <elliott> ./ick -b -F ./pit/beer.i
18:59:28 <elliott> [hang]
18:59:33 <elliott> does it ignore the output?
18:59:40 <ais523> oh, it's the -F test
18:59:45 <ais523> -F is a rather slow optimisation option
18:59:51 <ais523> and no, it compares the output
19:00:03 <elliott> ais523: I mean, doesn't send it to the screen
19:00:15 <ais523> no, it doesn't send it to the screen
19:00:23 <ais523> just runs diff and sends its output to the screen, which is normally blank
19:00:40 <elliott> right
19:01:08 <elliott> ais523: incidentally, if my getc patch works, all the {W}s can be removed
19:01:13 <elliott> because all whitespace is simply dropped entirely
19:01:20 <elliott> ais523: OTOH, this _might_ break error reporting ...
19:01:24 <elliott> ais523: but I don't know where it gets the source from
19:01:25 <elliott> to report erroers
19:01:26 <elliott> *errors
19:01:33 <ais523> textlines[], IIRC
19:01:34 <elliott> does it really use the output of the lexer's getc()?
19:01:37 <ais523> or a variable that's called something like that
19:01:40 <elliott> that seems unlikely to me
19:01:41 <elliott> or does it?
19:01:44 <elliott> ah, wait
19:01:48 <elliott> does getc maintain textlines?
19:01:50 <ais523> I think getc might be responsible for populating it
19:01:54 <elliott> if so, I could put all whitespace in textlines
19:01:58 <elliott> but keep getc'ing
19:02:02 <elliott> rather than returning it
19:03:19 <ais523> bear in mind that ick's getc != C's getc
19:03:23 <ais523> for insane reasons
19:07:10 <elliott> ais523: indeed
19:07:38 <ais523> elliott: is there something wrong with the byacc detection / code using it, btw?
19:07:46 <ais523> as in, does the configure need a fix to work with byacc?
19:08:05 <elliott> ais523: I have no idea -- I suspect that that ifdef I quoted was the wrong way around
19:08:08 <elliott> i.e., YYLEX_PARAM is being set wrongly
19:08:52 <Gregor> FIN
19:08:57 <Gregor> (Maybe, need a quick check)
19:19:47 <elliott> ais523: beer.i still hasn't finished, I'm worried
19:21:05 <elliott> ais523: Think it's hung?
19:21:11 <oerjan> <elliott> ais523: beer.i still hasn't finished, I'm worried <-- you know in a different context that _could_ be worrisome.
19:21:18 <elliott> :D
19:21:26 <Gregor> http://codu.org/tmp/superturing.ogg MY MASTERPIECE
19:21:28 <ais523> elliott: quite possibly, it should be faster than that
19:23:20 <elliott> ais523: can I run the test suite without beer.i somehow?
19:23:28 <elliott> ais523: or make ick print debug output?
19:23:53 <ais523> elliott: ick has a whole bunch of debug options, and there's some way to get the testsuite to use them but I can't remember what they are offhand
19:24:01 <elliott> heh
19:24:04 <ais523> try compiling beer.i by hand
19:24:18 <elliott> ah
19:24:19 <elliott> by setting ICK
19:24:24 <elliott> what's a good debug flag to use for parsing?
19:24:40 <ais523> -d
19:25:06 <elliott> hmm, Makefile ignores ICK and passes its own to pit/Makefile
19:25:17 <ais523> yep, you have to use pit/Makefile directly
19:25:17 * elliott does it manually
19:25:24 <elliott> ais523: I have a feeling pit/Makefile is eating up the debug output
19:25:26 <ais523> (because ICK has the wrong value in Makefile)
19:25:26 <elliott> because I see none
19:25:29 <ais523> elliott: probably
19:25:32 <ais523> manually's likely best
19:26:38 <elliott> j-invariant: "We can’t expect to construct a reasonable Search Integer. We could encode in the bits of an Integer the execution trace of a Turing machine, as in the proof of the undecidability of the Post correspondence problem. We could write a total function validTrace :: Integer -> Bool that returns True if and only if the given integer represents a valid trace that ends in a halting state. And we could also write a function initialState ::
19:26:38 <elliott> Integer -> MachineState that extracts the first state of the machine. Then the function \machine -> searchInteger (\x -> initialState x == machine && validTrace x) would solve the halting problem."
19:27:10 <elliott> ais523: I have a feeling -d prints things too late
19:27:32 <ais523> elliott: I think what's happening is that you go into an infinite loop before it prints anything
19:27:43 <elliott> that's what i said
19:29:20 <oerjan> as long as it's not what she said
19:29:27 <Gregor> NOBODY'S COMMENTING ON HOW AWESOME MY MASTERPIECE IS
19:29:47 -!- acetoline has joined.
19:29:53 <quintopia> Gregor: you finished it?
19:30:11 <Gregor> quintopia: Yes ... in that I had no intention of spending any real time on it, so I now decree it "done" :P
19:30:27 <quintopia> hence "masterpiece"
19:30:28 <quintopia> i see
19:30:47 <quintopia> it definitely has every element one would expect from a video game theme
19:30:57 <quintopia> crossed with a tristan perich piece
19:32:04 <Gregor> I think the perspective that it sounds video-game-ish is just because it's made from soundfonts *shrugs*
19:32:27 <oerjan> iwc appears to have gone into "dmm is gone so now i can break all the time mode" :(
19:32:34 <quintopia> no i don't think that's it
19:32:41 <quintopia> it would still sound videogamey if played live
19:32:53 <quintopia> it's in moment form obviously
19:33:00 <quintopia> but each moment could be a theme unto itself
19:35:19 <elliott> oerjan: dmm is gone?
19:35:25 <elliott> oh you mean on a break.
19:40:31 -!- sshc has joined.
19:42:49 <oerjan> yes
19:43:42 -!- ais523 has quit (Read error: Connection reset by peer).
19:43:54 <elliott> hey oerjan how do I do CHARSETS, in HASKELL
19:44:55 <Gregor> Hmm
19:45:13 <Gregor> Shouldn't SuperTuring be able to solve the halting problem anyway?
19:45:16 <Gregor> I mean, he is /Super/-Turing
19:45:23 <oerjan> elliott: i've never even tried to, but i recall that ghc changed the entire way text IO does charsets relatively recently
19:45:33 <j-invariant> WHAT IS SUPERTURING
19:45:55 <elliott> oerjan: yeah but in this case I'm reading in as a bytestring and then need to detect the charset and convert it -- best thing is that iconv seems to use a different list of charsets to the charset detector package
19:45:59 <elliott> so I'm not sure htat will work :D
19:46:01 <Gregor> j-invariant: Most awesome superhero evars. elliott can explain better :P
19:46:21 <elliott> j-invariant: When Turing bit that apple, the cyanide didn't kill him... it transformed him... into SUPERTURING!!!!!
19:46:47 -!- sshc has quit (Read error: Connection reset by peer).
19:46:53 -!- sshc has joined.
19:48:03 <oerjan> elliott: well if you just try to detect utf-8 and fallback to latin-1 like i think irssi does?
19:48:04 <Gregor> elliott: Here's why SuperTuring should be able to solve the halting problem: "SpiderMan may have spider powers, SuperMan may have super strength, but only SuperTuring can solve the halting problem!"
19:48:14 <elliott> oerjan: That's cheating :P
19:48:27 <elliott> oerjan: iconv /might/ accept the alternate names, I'm not sure.
19:48:37 <elliott> Gregor: X-D
19:49:20 * quintopia gets to work drawing a cyanide-laced apple for websplat.
19:49:30 <Gregor> *thumbs-up*
19:49:33 <quintopia> it shall transform gregor into super-turing!
19:49:53 <oerjan> elliott: well ask in #haskell
19:50:03 <elliott> i did, it's too high-traffic for me to be noticed :P
19:50:13 <oerjan> ouch
19:50:32 <elliott> oerjan: was monochrome always _really_ grumpy?
19:50:44 <elliott> he's always been grumpy but i think he's increased grumpiness levels since #haskell exploded in popularity
19:50:48 <oerjan> ...i've forgotten
19:50:51 <elliott> *monochrom
19:51:15 <oerjan> @help
19:51:15 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
19:51:18 <oerjan> @list
19:51:19 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
19:51:23 <oerjan> erm right
19:51:26 -!- zzo38 has joined.
19:51:36 <oerjan> @where
19:51:36 <lambdabot> @where <key>, return element associated with key
19:51:49 <elliott> oerjan: wat
19:52:02 <oerjan> what's the command to get lambdabot to tell its channels again
19:52:07 <elliott> @channels
19:52:08 <lambdabot> Unknown command, try @list
19:52:09 <elliott> @poop
19:52:09 <lambdabot> Unknown command, try @list
19:52:13 <elliott> oerjan: check the list :P
19:52:30 <oerjan> assuming that's even up to date
19:52:41 <oerjan> oh wait
19:52:45 <oerjan> @seen lambdabot
19:52:46 <lambdabot> Unknown command, try @list
19:52:49 <oerjan> damn
19:53:08 -!- sshc has quit (Read error: Connection reset by peer).
19:53:14 -!- sshc has joined.
19:53:26 <elliott> oerjan: I _think_ it's auto-generated
19:53:27 <oerjan> @help seen
19:53:28 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
19:53:39 <oerjan> @help @seen
19:53:39 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
19:53:55 <oerjan> @list seen
19:53:55 <lambdabot> No module "seen" loaded
19:54:12 <oerjan> except for the fact that seen is clearly listed
19:54:18 <elliott> :D
19:54:23 <elliott> lambdabot: seen poop
19:54:47 <oerjan> it's not loaded
19:55:14 <oerjan> @users
19:55:14 <lambdabot> Unknown command, try @list
19:55:17 <zzo38> The command list won't load......
19:55:31 <oerjan> zzo38: it was slow for me but loaded
19:57:24 <oerjan> @list quote
19:57:25 <lambdabot> quote provides: quote remember forget ghc fortune yow arr yarr keal b52s brain palomer girl19 v yhjulwwiefzojcbxybbruweejw protontorpedo nixon farber
19:57:45 <oerjan> aha it's _not_ the same list
19:57:48 <elliott> :D
19:57:51 <elliott> why not
19:57:56 <zzo38> Finally it loaded.
19:57:56 <oerjan> (forget is missing in the web list)
19:58:04 <elliott> @forget
19:58:04 <lambdabot> Incorrect arguments to quote
19:58:06 <elliott> @forget me not
19:58:06 <lambdabot> No match.
19:58:51 <oerjan> also nixon and farber
19:58:55 <oerjan> @nixon
19:58:55 <lambdabot> Don't try to take on a new personality; it doesn't work.
19:59:44 <zzo38> Is it possible to make up poll with this program?
19:59:56 <oerjan> which program?
19:59:57 -!- sshc has quit (Read error: Connection reset by peer).
20:00:03 -!- sshc has joined.
20:00:24 <zzo38> oerjan: I mean with lambdabot program.
20:00:33 <j-invariant> @po;ll
20:00:34 <lambdabot> Unknown command, try @list
20:00:35 <j-invariant> @poll
20:00:35 <lambdabot> Maybe you meant: poll-add poll-close poll-list poll-remove poll-result poll-show pl spell tell
20:00:41 <j-invariant> @poll-show
20:00:42 <lambdabot> Missing argument. Check @help <vote-cmd> for info.
20:00:43 <elliott> @poll-list
20:00:44 <lambdabot> ["\"blah\"","food","logoVotingMethod","naming","remove@src","threeway"]
20:00:44 <j-invariant> @poll-list
20:00:45 <lambdabot> ["\"blah\"","food","logoVotingMethod","naming","remove@src","threeway"]
20:00:48 <oerjan> @help poll-add
20:00:48 <lambdabot> poll-add <name> Adds a new poll, with no candidates
20:00:50 <elliott> @poll-show remove@src
20:00:50 <lambdabot> ["no","yes"]
20:00:56 <elliott> @poll-result remove@src
20:00:56 <lambdabot> Poll results for remove@src (Closed): no=1, yes=1
20:01:01 <j-invariant> @vote
20:01:02 <elliott> @poll-result logoVotingMEthod
20:01:02 <lambdabot> No such poll: "logoVotingMEthod"
20:01:02 <lambdabot> Missing argument. Check @help <vote-cmd> for info.
20:01:04 <elliott> @poll-result logoVotingMethod
20:01:05 <lambdabot> Poll results for logoVotingMethod (Open): Schulze=1
20:01:09 <elliott> @poll-result threeway
20:01:09 <lambdabot> Poll results for threeway (Closed): method3=3, method2=0, method1=1
20:01:10 <j-invariant> @help vote
20:01:10 <lambdabot> vote <poll> <choice> Vote for <choice> in <poll>
20:01:11 <elliott> @poll-result "blah"
20:01:11 <lambdabot> Poll results for "blah" (Open): no=0, yes=0
20:01:13 <elliott> @poll-result food
20:01:13 <lambdabot> Poll results for food (Open): quesadilla=1, meatball-sub=0
20:01:16 <j-invariant> @vote remove@src yes
20:01:16 <quintopia> @help vote
20:01:17 <lambdabot> vote <poll> <choice> Vote for <choice> in <poll>
20:01:17 <lambdabot> The "remove@src" poll is closed, sorry !
20:01:24 <elliott> :t map
20:01:25 <lambdabot> forall a b. (a -> b) -> [a] -> [b]
20:01:28 <elliott> :t (.)
20:01:28 <j-invariant> @vote threeway yes
20:01:28 <lambdabot> The "threeway" poll is closed, sorry !
20:01:29 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
20:01:29 <quintopia> @vote remove@src no
20:01:31 <elliott> @src (.)
20:01:38 <elliott> @src map
20:01:39 <lambdabot> map _ [] = []
20:01:39 <lambdabot> map f (x:xs) = f x : map f xs
20:01:41 <elliott> @src (.)
20:01:41 <lambdabot> (f . g) x = f (g x)
20:01:41 <lambdabot> NB: In lambdabot, (.) = fmap
20:01:43 <elliott> :D
20:01:46 <elliott> extra note!
20:01:52 <elliott> *In Caleskell,
20:02:29 <j-invariant> it's a sad day when changing a LIBRARAY FUNCTION continues a "new programming language"
20:02:38 <olsner> asking cale about caleskell is hilarious, he doesn't like the name apparently
20:02:42 <elliott> j-invariant: it's a joke...
20:02:52 <elliott> olsner: aw, i must have offended him then
20:02:55 <elliott> :D
20:03:28 <elliott> olsner: imo map needs to become fmap
20:03:40 <j-invariant> hurry-coward
20:03:41 <olsner> @type map
20:03:42 <elliott> j-invariant: anyway Caleskell also includes industry-grade symbolic capabilities:
20:03:43 <lambdabot> forall a b. (a -> b) -> [a] -> [b]
20:03:49 <elliott> > foldr f (cycle x)
20:03:50 <olsner> hmm, weird
20:03:50 <lambdabot> Couldn't match expected type `[a]'
20:03:50 <lambdabot> against inferred type `SimpleRef...
20:03:52 <elliott> > foldr f (cycle [x])
20:03:53 <lambdabot> No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr])
20:03:53 <lambdabot> arising fr...
20:03:55 <elliott> > foldr f (repeat x)
20:03:56 <lambdabot> No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr])
20:03:56 <lambdabot> arising fr...
20:04:00 <elliott> as i said, industry-grade
20:04:01 <oerjan> j-invariant: (.) is a very basic function, almost on the border of syntax...
20:04:03 <elliott> > foldr f (fix (x:))
20:04:04 <lambdabot> No instance for (SimpleReflect.FromExpr [SimpleReflect.Expr])
20:04:04 <lambdabot> arising fr...
20:04:06 <elliott> what
20:04:07 <elliott> :D
20:04:11 <elliott> OH
20:04:18 <elliott> > foldr f z (repeat x)
20:04:19 <lambdabot> f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (...
20:04:24 <elliott> j-invariant: industry-grade symbolic capabilities
20:05:24 <zzo38> Please read this: http://repo.or.cz/w/TeXnicard.git/blob_plain/HEAD:/doc/extra_repository.txt
20:06:15 -!- sshc has quit (Read error: Connection reset by peer).
20:06:22 -!- sshc has joined.
20:06:51 <copumpkin> > fix (f x)
20:06:52 <lambdabot> Ambiguous type variable `a' in the constraints:
20:06:52 <lambdabot> `GHC.Show.Show a'
20:06:52 <lambdabot> a...
20:06:55 <copumpkin> > fix (f x) :: Expr
20:06:56 <lambdabot> f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (...
20:07:32 <elliott> > fix f
20:07:32 <lambdabot> Ambiguous type variable `a' in the constraints:
20:07:33 <lambdabot> `GHC.Show.Show a'
20:07:33 <lambdabot> a...
20:07:35 <elliott> > fix f :: Expr
20:07:36 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
20:07:39 <elliott> j-invariant: Industry grade.
20:07:42 <elliott> > iterate f x
20:07:43 <lambdabot> [x,f x,f (f x),f (f (f x)),f (f (f (f x))),f (f (f (f (f x)))),f (f (f (f (...
20:08:00 <copumpkin> > scanl f z (repeat x) :: Expr
20:08:00 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
20:08:01 <lambdabot> against inferred ...
20:08:06 <copumpkin> omg fail
20:08:30 <zzo38> Can you read the message?
20:08:35 <copumpkin> zzo38: no
20:08:42 <olsner> practice in priv, feign mastery in channel :)
20:08:57 <elliott> we are the flaws, not Caleskell's industry grade symbolics capabilities
20:09:03 <copumpkin> it's not Caleskell
20:09:05 <copumpkin> it's just simple-reflect
20:09:11 <copumpkin> olsner: that's the story of my life
20:09:17 <elliott> copumpkin: which is an official part of the Caleskell Report.
20:09:18 <zzo38> copumpkin: Why? Is broken? Can you read *this* message?
20:09:30 <copumpkin> zzo38: can't read that one either
20:09:39 <elliott> zzo38: what are you saying i can read nothing
20:10:21 <zzo38> copumpkin: Then how can you reply?
20:10:28 <elliott> he can't
20:10:29 <elliott> and neither can i
20:10:49 <zzo38> elliott: For the first message, I was refering to the extra_repository.txt file, not the message "Can you read the message?" The second question was refering to itself.
20:10:58 <elliott> I cannot read your message.
20:11:01 <oerjan> > scanl f z (repeat (x :: Expr)) :: Expr
20:11:02 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
20:11:02 <lambdabot> against inferred ...
20:11:06 <copumpkin> zzo38: we're just fucking with you
20:11:10 <copumpkin> oerjan: [Expr]
20:11:16 <copumpkin> but I was too lazy to fix it
20:11:21 <oerjan> > scanl f z (repeat (x :: Expr)) :: [Expr]
20:11:21 <lambdabot> [z,f z x,f (f z x) x,f (f (f z x) x) x,f (f (f (f z x) x) x) x,f (f (f (f (...
20:12:37 <copumpkin> > scanl (const . f) x (repeat x) :: [Expr]
20:12:39 <lambdabot> [x,f x,f (f x),f (f (f x)),f (f (f (f x))),f (f (f (f (f x)))),f (f (f (f (...
20:12:42 <copumpkin> there we go
20:12:48 <elliott> j-invariant: industry-grade
20:12:55 <copumpkin> elliott: you mean like parsec?
20:12:58 <elliott> yes
20:12:59 * copumpkin fumes
20:13:11 <elliott> > iterate f g
20:13:12 <lambdabot> Ambiguous type variable `a' in the constraints:
20:13:12 <lambdabot> `SimpleReflect.FromExpr ...
20:13:14 <elliott> > iterate f g :: [EXpr]
20:13:15 <lambdabot> Not in scope: type constructor or class `EXpr'
20:13:16 <elliott> > iterate f g :: [Expr]
20:13:17 <lambdabot> [g,f g,f (f g),f (f (f g)),f (f (f (f g))),f (f (f (f (f g)))),f (f (f (f (...
20:13:21 <elliott> > iterate f (g x) :: [Expr]
20:13:22 <lambdabot> [g x,f (g x),f (f (g x)),f (f (f (g x))),f (f (f (f (g x)))),f (f (f (f (f ...
20:13:30 -!- sshc has quit (Read error: Connection reset by peer).
20:13:36 -!- sshc has joined.
20:14:39 <elliott> > iterate iterate x :: [Expr]
20:14:39 <lambdabot> Couldn't match expected type `SimpleReflect.Expr'
20:14:40 <lambdabot> against inferred ...
20:14:43 <elliott> LAME
20:14:53 <elliott> Caleskell 2012 should mandate that all functions can be used symbolically.
20:15:38 <j-invariant> elliott: shut up!!
20:15:43 <j-invariant> im trying to dig
20:15:45 <elliott> j-invariant: lol
20:18:38 <Vorpal> <elliott> Caleskell 2012 should mandate that all functions can be used symbolically. <-- Caleskell?
20:18:43 <elliott> Yes.
20:18:48 <elliott> As implemented by lambdabot.
20:18:51 <oerjan> :t iterate iterate
20:18:52 <lambdabot> Occurs check: cannot construct the infinite type: a = [a]
20:18:52 <lambdabot> Expected type: a
20:18:52 <lambdabot> Inferred type: [a]
20:19:10 <oerjan> NO CAN DO
20:19:28 <Phantom_Hoover> :t iterate
20:19:29 <lambdabot> forall a. (a -> a) -> a -> [a]
20:19:58 -!- sshc has quit (Read error: Connection reset by peer).
20:20:05 -!- sshc has joined.
20:21:10 <oerjan> :t iterate (iterate . concat)
20:21:11 <lambdabot> Couldn't match expected type `a -> [a]'
20:21:11 <lambdabot> against inferred type `[[a1]]'
20:21:11 <lambdabot> In the second argument of `(.)', namely `concat'
20:21:26 <oerjan> :t iterate (iterate . (concat .))
20:21:27 <lambdabot> forall a. ([a] -> [[a]]) -> [[a] -> [[a]]]
20:21:31 -!- GreaseMonkey has joined.
20:23:00 <oerjan> > map ($ "hm") $ iterate (iterate . (concat .)) (return .)
20:23:01 <lambdabot> [["h","m"],["hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm","hm...
20:23:54 <oerjan> > map (take 4) . map ($ "hm") $ iterate (iterate . (concat .)) (return .)
20:23:56 <lambdabot> [["h","m"],["hm","hm","hm","hm"],["hm","hmhmhmhmhmhmhmhmhmhmhmhmhmhmhmhmhmh...
20:24:21 <oerjan> > map (take 4 . map (take 10)) . map ($ "hm") $ iterate (iterate . (concat .)) (return .)
20:24:23 <lambdabot> [["h","m"],["hm","hm","hm","hm"],["hm","hmhmhmhmhm","hmhmhmhmhm","hmhmhmhmh...
20:24:57 <oerjan> an immensely useful function.
20:25:05 -!- sshc has quit (Ping timeout: 240 seconds).
20:26:27 <elliott> very
20:26:39 <elliott> oerjan: i wish you could override the type of (<)
20:26:40 <elliott> and (==)
20:26:41 <elliott> ok maybe not
20:26:42 <elliott> but it would be useful
20:26:43 <elliott> kind
20:26:44 <elliott> a
20:26:44 -!- sshc has joined.
20:27:11 <oerjan> they're already class methods...
20:27:25 <elliott> oerjan: but you can't override their return type :D
20:27:36 <oerjan> hm.
20:27:50 <elliott> oerjan: consider you have some symbolic x
20:27:56 <elliott> it would be nice if (x<50) could be symbolic, too
20:28:15 <elliott> oerjan: in fact this is what stops you doing _too_ complicated symbolic number stuff in haskell
20:28:25 <elliott> but it'd be a pain to make work properly...
20:28:27 <elliott> *make it
20:28:44 <oerjan> well there's always import Prelude ()
20:29:28 <elliott> cabal: cannot configure charsetdetect-1.0. It requires base >=4.2.0.2 && <5
20:29:28 <elliott> For the dependency on base >=4.2.0.2 && <5 there are these packages:
20:29:28 <elliott> base-4.2.0.2 and base-4.3.0.0. However none of them are available.
20:29:28 <elliott> base-4.2.0.2 was excluded because of the top level dependency base -any
20:29:28 <elliott> base-4.3.0.0 was excluded because of the top level dependency base -any
20:29:29 <elliott> oh dear...
20:30:57 <oerjan> how eerily relevent to recent r/haskell discussion
20:31:01 <oerjan> *relevant
20:31:05 <elliott> but I only have one base installed!
20:31:22 <elliott> 4.2.0.0
20:31:25 <elliott> hmm, I wonder what the .2 is
20:31:46 -!- azaq23 has joined.
20:33:05 -!- sshc has quit (Read error: Connection reset by peer).
20:33:10 -!- sshc has joined.
20:33:53 -!- zzo38 has quit (Quit: zzo38).
20:35:21 <oerjan> i would snark something about not battling with my computer except the iwc forum _still_ keeps not loading.
20:36:04 <oerjan> although technically that may not be _my_ computer i'm battling with.
20:36:23 <oerjan> ok it actually loaded
20:37:22 <elliott> oerjan: at this point, windows seems like a great option :)
20:37:40 <elliott> oerjan: Kitten would handle this. sigh.
20:37:49 <elliott> ok i'm downloading and compiling my own fucking haskell platform
20:40:02 -!- sshc has quit (Read error: Connection reset by peer).
20:41:40 <elliott> oerjan: i'm actually tempted to make a windows partition now and try living the simple life :D
20:41:46 <elliott> darn norwegians
20:42:34 <oerjan> i don't see what's so norwegian about it...
20:43:49 <elliott> oerjan: you all live simple lives in fjörds
20:44:22 <oerjan> if yöu säy sö
20:44:36 <quintopia> what do the following people have in common: BeholdMyGlory, nooga, me, rodgort, Vorpal, Wamanuz, yiyus?
20:44:53 <oerjan> at least the fjord part is fairly accurate for me
20:45:04 <oerjan> actually the simple part too
20:45:17 <oerjan> quintopia: no f idea
20:45:39 <elliott> oerjan: can i come visit, and steal your powers
20:45:43 <elliott> sorry, i mean, visit
20:45:46 <elliott> and steal your po NO
20:46:04 <oerjan> i don't think i have any powers you'd want
20:46:17 <oerjan> and that would be stealable
20:46:25 <quintopia> oerjan: we're the only people you can reliably address in here with two keystrokes. hell, there are 7 nicks starting with m!
20:46:41 <oerjan> O KAY
20:46:49 -!- FIQ has joined.
20:46:51 <Phantom_Hoover> quintopia, what about Phantom_Hoover?
20:47:02 <Phantom_Hoover> Oh, including the tab.
20:47:02 <quintopia> what about 'im?
20:47:05 <oerjan> INDEED WHAT ABOUT Phantom_Hoover
20:47:14 <Phantom_Hoover> I HATE THE BASTARD
20:47:23 <oerjan> oh reliably
20:47:38 * oerjan just test p<tab> and saw it give the correct nick
20:47:43 <oerjan> *tested
20:48:01 <quintopia> anyone here know any irssi experts?
20:48:23 <oerjan> nope
20:48:36 <quintopia> oh okay
20:48:54 <oerjan> i do use irssi though
20:58:57 <Vorpal> oerjan, my client does in reverse order of speaking when tab complete
20:59:10 <Vorpal> so if pikhq spoke after Phantom_Hoover then it would tab complete to pikhq first
20:59:13 <oerjan> so does mine afaik
21:01:14 <olsner> how clever of it... I think mine just completes alphabetically
21:02:30 <quintopia> in irssi you have to add an extra script to get that functionality
21:04:53 <oerjan> ...i use irssi and it worked that way from the start, but it's a shared machine so may have some setup.
21:16:10 -!- Sgeo has quit (Ping timeout: 240 seconds).
21:17:12 -!- impomatic has joined.
21:17:27 -!- Sgeo has joined.
21:18:18 <tswett> Oh, the Finnish word for "on top of" is the same as that for "turned on"? How CUTE!
21:18:42 <quintopia> i lolled
21:19:12 <oerjan> the finns always skip a few steps
21:20:01 <tswett> Huh. Wiktionary says that "kaapin päällä" can mean "on top of the cupboard". "päällä" is also a noun, though, meaning "at the head/end/tip", and "kaapin" just means "of the cupboard".
21:20:12 <elliott> hey oerjan
21:20:20 <elliott> i need you to say something in a freaky windows charset
21:20:23 <elliott> and upload the file somewhere
21:20:23 <elliott> KTHX
21:20:37 <tswett> So "kaapin päällä" can be also thought of as "of the cupboard on the tip", aye?
21:20:40 <oerjan> ...wtf?
21:20:52 <elliott> oerjan: thanks
21:21:13 <oerjan> um which freaky windows charset?
21:22:01 <oerjan> REQUEST DENIED DUE TO INSUFFICIENT SPECIFICATION
21:22:01 <elliott> oerjan: any
21:22:04 <elliott> just non-utf8
21:22:10 <elliott> like, windows-1251 or that ISO one
21:22:10 <elliott> or whatever
21:22:14 <oerjan> grmbl
21:22:15 <elliott> the one that oklopol uses
21:22:17 <elliott> THX
21:22:31 <elliott> oerjan: it's for the benefit of the log formatter :>
21:22:59 <oerjan> i'm pretty sure those are just 8-bit ASCII extensions?
21:23:19 <elliott> oerjan: i think so, yes.
21:23:55 * impomatic prods Gregor :-)
21:23:58 <quintopia> tswett: link the wiktionary page?
21:24:03 <elliott> impomatic: ?
21:24:04 <Gregor> impomatic: ???
21:24:25 <impomatic> Gregor: can you remember when you invented FYB? Was it July 2005?
21:24:34 <tswett> quintopia: well, it's that of päällä.
21:24:46 <elliott> doc/ 28-Jul-2005 09:26 -
21:24:46 <elliott> impl/ 28-Jul-2005 09:26 -
21:24:46 <elliott> src/ 28-Jul-2005 09:26 -
21:24:46 <elliott> util/ 28-Jul-2005 09:26 -
21:24:50 <elliott> impomatic: from the esoteric archive
21:24:52 <elliott> so that seems likely
21:24:53 <elliott> or maybe june
21:24:58 <elliott> if it took a month to get in the archive :P
21:25:00 <Gregor> impomatic: May
21:25:04 * oerjan tries saving notepad as "ANSI".
21:25:12 <impomatic> Gregor: thanks :-)
21:25:29 <elliott> oerjan: you _might_ want to try and DCC it here
21:25:34 <elliott> to avoid web servers messing with the encoding header
21:25:54 <oerjan> elliott: er that would require getting it onto NVG first
21:26:08 <oerjan> which might mess up things in itself
21:26:18 <elliott> oerjan: scp shouldn't mess anything up but i guess you might not have that
21:26:25 <elliott> ftp would probably be dodgy too
21:26:28 <elliott> hm :P
21:26:31 <elliott> oerjan: oh, I know!
21:26:34 <elliott> oerjan: can you use uuencode?
21:26:37 <elliott> do you have it there
21:26:41 <oerjan> putty does have an ftp thing
21:26:49 <oerjan> i've used it before
21:26:49 <elliott> yeah but ftp has a binary mode and a text mode
21:26:54 <elliott> so it might fuck with things
21:27:02 <elliott> i guess if you do BIN first it should be ok
21:27:17 <elliott> oerjan: http://www.bastet.com/uue.zip
21:27:20 <elliott> that's uuencode for windows
21:27:22 <elliott> FWIW
21:27:29 <elliott> which you could just put the output of on a pastebin I guess...
21:28:13 <Gregor> quintopia: http://codu.org/music/silly/superturing.ogg THERE I used different brass.
21:28:30 <elliott> I hope you've saved all the revisions of this :P
21:29:00 <quintopia> Gregor: it is much nicer
21:29:15 <quintopia> if only it had realistic ADSR now :P
21:29:40 * elliott punches quintopia
21:29:50 <elliott> Gregor: Now turn it into a chiptune.
21:29:52 <Gregor> quintopia: MEH MEH MEH MEH
21:29:58 <Gregor> elliott: Turn your MOM into a chiptune.
21:30:02 <elliott> Okay.
21:30:10 <elliott> I think there are terrible midi->chiptune converters.
21:30:12 <elliott> YOU COULD USE THOSE.
21:30:39 <oerjan> dammit my PsFTP icon is set to use the nvg machine that disappeared and i cannot find where it's set
21:30:52 <elliott> oerjan: use cmd.exe's ftp
21:30:54 <elliott> like a boss
21:30:58 <elliott> > ftp
21:30:58 <lambdabot> Not in scope: `ftp'
21:31:02 <elliott> open servername port
21:31:07 <elliott> cd my/relevant/directory
21:31:08 <elliott> bin
21:31:11 <elliott> put C:\local\filename
21:31:12 <elliott> IIRC
21:31:48 <oerjan> elliott: um this is not supposed to be "real" ftp. iirc nvg has stopped supporting non-ssl solutions
21:32:03 <oerjan> it's putty's variant that is encrypted
21:32:17 <elliott> oerjan: ah.
21:32:21 <elliott> oerjan: *ssh, probably.
21:32:24 <elliott> not ssl
21:34:14 <Vorpal> elliott, yeah it is likely sftp
21:34:26 <oerjan> oh of course it's just a batch file
21:35:47 <oerjan> elliott: http://oerjan.nvg.org/test.txt
21:36:22 <elliott> test.txt: ISO-8859 text, with CRLF line terminators
21:36:23 <elliott> yay
21:36:27 <elliott> now to get this haskell package working
21:36:30 <elliott> oerjan: thank you
21:37:09 <elliott> Loading package charsetdetect-1.0 ... linking ... <interactive>: /home/elliott/.cabal/lib/charsetdetect-1.0/ghc-6.12.3/HScharsetdetect-1.0.o: unknown symbol `__dso_handle'
21:37:10 <elliott> What ...
21:37:10 <oerjan> you're welcome
21:39:29 <Vorpal> <Gregor> quintopia: http://codu.org/music/silly/superturing.ogg THERE I used different brass. <-- nice
21:41:44 <Vorpal> Gregor, oh wait you added organ?
21:41:44 <elliott> oerjan: see on WIndows ... :D
21:42:04 <Gregor> Vorpal: ... there always was an organ :P
21:42:13 <Vorpal> Gregor, oh I somehow missed it before
21:42:13 <elliott> Gregor: Note that, as a child, organs regularly disembowelled Vorpal.
21:42:17 <elliott> This is why he has a fiery hatred of them.
21:42:18 <Vorpal> Gregor, I hate organs :P
21:42:23 <Vorpal> elliott, ideed!
21:42:26 <Vorpal> indeed*
21:42:32 <elliott> oerjan: there's a hackage for that: "clogparse library: Parse IRC logs such as the #haskell logs on tunes.org"
21:42:32 <Gregor> Well, you'll just have to tolerate it :P
21:42:37 <Vorpal> Gregor, yeah
21:42:49 <elliott> oerjan: *There's a Hackage for that.(TM)
21:42:49 <Vorpal> Gregor, what instruments are in there
21:42:50 <oerjan> elliott: heh
21:42:51 <Vorpal> the full list
21:43:31 <Vorpal> <elliott> oerjan: there's a hackage for that: "clogparse library: Parse IRC logs such as the #haskell logs on tunes.org" <-- it logs that channel too?
21:43:38 <Vorpal> oh, so it does
21:43:41 <elliott> um yes
21:43:42 <elliott> and #concatenative
21:43:47 <Vorpal> ah
21:43:47 <elliott> (Factor's channel)
21:43:48 <elliott> and a few others
21:43:54 <elliott> #forth
21:43:56 <elliott> #lisp
21:43:56 <elliott> #ocaml
21:43:58 <elliott> #osdev
21:43:59 <Gregor> Vorpal: (In nonsense order) Piano, overdriven guitar, trumpet, trombone, harp, timpani, orchestral hit, organ
21:44:02 <elliott> #retro (retroforth?)
21:44:03 <elliott> #scheme
21:44:09 <elliott> #slate #squeak #croquet #ai
21:44:15 <elliott> and #tunes
21:44:25 <Vorpal> elliott, #croquet ?
21:44:32 <elliott> Vorpal: Presumably the Croquet Project thing.
21:44:35 <olsner> I'm going to read the hitchhiker's guide in english now!
21:44:42 <Vorpal> elliott, I haven't heard of that, what is it?
21:44:53 <elliott> Which, being Smalltalk + 3D virtual reality, is probably what Sgeo murmurs the name of while asleep.
21:45:08 <olsner> (read it in swedish before I realized how sucky translations into swedish are)
21:45:11 <elliott> http://upload.wikimedia.org/wikipedia/en/4/4f/Edit_Source_Code.jpeg ROTATED CODE THE FUTURE IS NOW
21:45:34 <j-invariant> lool
21:45:49 <elliott> Parse a log file.
21:45:49 <elliott> The file name (after any directory) is significant. It is used to set the date for timestamps. It should have the form YY.MM.DD, as do the files on tunes.org.
21:45:50 <elliott> :D
21:45:55 <olsner> since it's 3d you can just move your head to the right to get a better view, right?
21:45:56 <elliott> ugh
21:45:57 <elliott> IRC has no single standard character encoding. This module decodes messages as UTF-8 following common practice on Freenode.
21:46:00 <elliott> INSUFFICIENT
21:46:03 <Vorpal> elliott, the way I see it... The reason we are still using 2D interfaces is that a 3D interface projected on a 2D surface sucks.
21:46:05 <elliott> we have invalid utf-8 in here
21:46:08 <elliott> so that won't even work
21:46:13 <elliott> unless it replaces invalid chars
21:46:15 <Vorpal> and we can't do true 3D interfaces in a reasonable way
21:46:31 <elliott> hm it looks like it does some kind of time zone stuff though
21:46:48 <elliott> Vorpal: 3D interfaces require another axis of movement
21:46:54 <elliott> a 1D interface would be ideal but it is bad for conveying data
21:46:56 <Vorpal> elliott, exactly
21:46:59 <elliott> so 2D is the sweet spot
21:47:05 <elliott> since the point is basically
21:47:07 <Vorpal> oh now what I thought then
21:47:08 <elliott> with a spatial interface
21:47:13 <elliott> you have to move to a button
21:47:17 <elliott> even though this is purely "overhead"
21:47:17 <Vorpal> elliott, 3D interfaces would be useful with some things
21:47:21 <elliott> and not relevant to what you actually want to do
21:47:22 <elliott> now
21:47:22 <elliott> with 2D
21:47:25 <elliott> you have to align two axes
21:47:28 <elliott> with 3D, it's three
21:47:35 <Vorpal> elliott, such as a 3D editor. A true 3D interface for that would be useful
21:47:35 <elliott> and not only is the visual aspect a problem like you said
21:47:51 <elliott> but it makes manoeuvring even more of a pain
21:48:19 <elliott> oerjan: heh this is almost my structure http://hackage.haskell.org/packages/archive/clogparse/0.2/doc/html/Data-IRC-Event.html
21:48:22 <Vorpal> elliott, yeah. Still for some applications a true 3D hologram thingy would be useful
21:48:25 <elliott> except mine has hostname and server name
21:48:26 <Sgeo> Ohh, right, Croquet
21:48:29 <elliott> but that's arguably unnecessary
21:48:33 <Sgeo> How's Cobolt coming along?
21:48:40 <elliott> since clog doesn't know it...except it kinda does sometimes
21:48:54 <Sgeo> *Cobalt
21:49:01 <Vorpal> COBOL*
21:49:03 <Vorpal> (sorry)
21:49:05 <elliott> Steven Cobolt
21:49:20 <elliott> <vorpal> who's that
21:49:23 <Vorpal> elliott, Cobbleot*
21:49:29 <elliott> Stephen Cobblestone.
21:49:43 <Vorpal> elliott, no no, Cobbleot like Camelot
21:50:53 <elliott> hmm /me wants to upload acme-evil to Hackage
21:51:01 <Vorpal> elliott, is the thing in http://upload.wikimedia.org/wikipedia/en/4/4f/Edit_Source_Code.jpeg squeak btw?
21:51:04 <elliott> including this wonderful, horrible package: http://hackage.haskell.org/package/isevaluated
21:51:09 <Vorpal> elliott, acme-evil?
21:51:10 <elliott> Vorpal: yes
21:51:15 <elliott> Vorpal: with EVIL things
21:51:20 <Vorpal> elliott, such as?
21:51:26 <elliott> Vorpal: such as that isEvaluated :P
21:51:46 <Vorpal> hah
21:52:24 <elliott> j-invariant: it would be fun to formalise that (conat -> bool) thing in coq
21:52:57 <elliott> forall (P : conat -> Prop), decidable P -> decidable (exists x, P x)
21:53:00 <elliott> or something
21:53:02 <j-invariant> um no it wouldnt'
21:53:35 <elliott> j-invariant: why not
21:53:40 <j-invariant> too difficult
21:53:46 <j-invariant> not sure if you can even prove ti at all
21:54:03 <Gregor> Vorpal: So you don't like accordions OR organs?
21:54:51 <elliott> j-invariant: surely you can
21:55:00 <j-invariant> oh
21:55:06 <elliott> oh?
21:55:14 <j-invariant> I thought it couldn't be proved
21:55:34 <elliott> j-invariant: I don't see why it couldn't be, the only tricky thing is handling the not case (infinity)
21:55:52 <j-invariant> you should do it
21:56:00 <elliott> j-invariant: yeah ok later :P
21:56:03 <j-invariant> I wwant to read it
21:56:05 <elliott> j-invariant: it'd be extra fun with this though:
21:56:06 <augur> obble dobble
21:56:36 <augur> elliott: chu talkin bout foo'
21:56:52 <elliott> j-invariant: forall (P : nat -> Prop), someCondition P -> decidable P -> exists (Q : conat -> Prop), (forall x, P x -> Q (nat2conat x)) /\ decidable Q
21:57:00 <elliott> j-invariant: no fucking clue what someCondition would be
21:57:15 <j-invariant> why is it, when I touch the speaker end it buzzes? I'm not electric
21:57:54 <elliott> j-invariant: OH YESY OU ARE
21:57:56 <elliott> *YES YOU
21:58:27 <j-invariant> so is my cat
21:58:32 <elliott> yes.
21:58:36 <elliott> you and your cat are made of electric.
22:00:32 <oerjan> it's the body electric
22:00:50 <Vorpal> <Gregor> Vorpal: So you don't like accordions OR organs? <-- uh, accordions are okay
22:00:59 <Vorpal> Gregor, I'm neutral about them
22:01:02 <Gregor> Oh, I thought it was you who complained about zee3 because of the accordion :P
22:01:08 <Vorpal> Gregor, nope
22:01:21 <Vorpal> Gregor, or maybe saying it didn't seem to fit into the style of the rest of the music
22:01:34 <Vorpal> but I'm neutral towards accordions in general
22:01:39 <Gregor> Well zee3 doesn't fit with the other zees, but the accordion fits zee3's style :P
22:01:45 <Vorpal> Gregor, well duh :P
22:02:21 <elliott> lazy evaluation is so great
22:02:43 <Gregor> elliott: NOBODY ASKED YOU
22:02:49 <Gregor> elliott: (So you shouldn't have evaluated that fact)
22:03:16 <elliott> HAR HAR HAR
22:06:00 * Gregor is listening to superturing.ogg on loop X-P
22:06:02 <Phantom_Hoover> Gregor, did you update the SuperTuring theme?
22:06:09 <Phantom_Hoover> What a stupid question. You obviously did.
22:06:11 <Gregor> Phantom_Hoover: http://codu.org/music/silly/superturing.ogg
22:06:36 <Gregor> The ending is friggin' amazing X-P
22:08:13 <elliott> oerjan: spot the error that made this program do nothing:
22:08:17 <elliott> main = print <$> detectEncodingName <$> B.readFile "test.txt"
22:08:26 <Gregor> Also, the transition at 1:20 is pretty much the greatest moment in musical history.
22:08:34 <elliott> Just "windows-1252"
22:08:34 <elliott> yay
22:08:37 <elliott> Gregor: Is that when it goes all piano?
22:08:43 <Gregor> elliott: Yup :P
22:08:54 <Gregor> elliott: Straight from thrashing overdriven guitar to ragtime :P
22:09:09 <elliott> Gregor: There's GUITAR? X-D
22:09:15 <elliott> Your soundfonts REALLY suck :P
22:09:16 <quintopia> i thought that was violin
22:09:28 <elliott> Seriously, this needs a live performance.
22:09:29 <Gregor> It's an overdriven guitar, it's supposed to sound like a wtf mess.
22:09:32 <elliott> Done by people looking VERY serious.
22:09:41 <elliott> Gregor: I OBJECT TO THAT STATEMENT
22:09:59 <quintopia> i agree with this idea of performing it live
22:10:11 <Sgeo> I OBJECT TO ALL USAGE OF THE CONCEPT OF OBJECTIONS
22:10:12 <Gregor> Fine, you guys arrange it :P
22:10:23 <elliott> I suggest a lot of people with a lot of instruments.
22:10:27 <elliott> Any objections?
22:10:31 <quintopia> I OBJECT
22:10:36 <elliott> WHY
22:10:46 <quintopia> i think a lot of people with one instrument is a better idea
22:11:00 * Sgeo hits elliott and quintopia with an object
22:11:00 <Phantom_Hoover> The SAME instrument.
22:11:16 <quintopia> A SINGLE INSTRUMENT THAT REQUIRES 100 PEOPLE TO PLAY IT
22:11:23 * Sgeo hits everyone else with a subject
22:11:35 * quintopia subjects Sgeo to torture
22:12:15 * Phantom_Hoover subjects Sgeo to cmake.
22:12:29 <Sgeo> I've been tortured enough!
22:12:33 <elliott> oerjan: wow it works
22:12:45 <elliott> oerjan: YOU ARE WINNER!
22:12:56 <elliott> ok now how can i do this without a painful conversion process :D
22:12:59 <Sgeo> *YOU'RE
22:29:48 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:30:44 <oerjan> <elliott> oerjan: spot the error that made this program do nothing: <-- the print <$> ... action doesn't _perform_ a print statement but _returns_ one
22:30:51 <elliott> oerjan: yep
22:30:57 <elliott> this makes me think that main should really be clamped to IO () :)
22:31:47 <Sgeo> Or just write main :: IO () in all your programs
22:34:07 <oerjan> > (0$0<$>)
22:34:08 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
22:34:08 <lambdabot> The operator `Data.Functor.<$>' [infixl 4] of a section
22:34:08 <lambdabot> must have lowe...
22:34:13 <oerjan> hm right
22:34:48 <oerjan> so actually strictly speaking it's left associative, and the first <$> isn't even with the right Functor, so it's just the same as ., although it comes out to the same in the end.
22:35:34 <oerjan> because one of the Functor rules is that f <$> (g <$> x) = (f . g) <$> x = (f <$> g) <$> x
22:35:40 <elliott> yeah
22:36:13 <Vorpal> night
22:39:49 * elliott wows at "Silly comments on Apollo 13"
22:42:14 <elliott> http://hackage.haskell.org/package/text-icu
22:42:14 <elliott> AHA
22:42:16 <elliott> A-HA!
22:42:24 <elliott> THIS is what I need!
22:43:36 <copumpkin> if you just have utf-8, you don't
22:44:45 <elliott> copumpkin: I have utf-8 PLUS like 3 messages with stupid Windows shit
22:44:45 <oerjan> copumpkin: you haven't been paying attention
22:45:00 <elliott> copumpkin: I have decided that the only thing I can do is therefore support any encoding possible :)
22:45:03 <copumpkin> oerjan: true
22:45:05 <elliott> and automatically detect and convert them all to Unicode
22:45:07 <elliott> and send out the result as utf-8
22:45:28 <elliott> copumpkin: so this is great because I can convert just about any string into a Text
22:45:32 <copumpkin> aha
22:45:44 <elliott> rather than going from bytestring to bytestring to (utf8 decoder) to text
22:45:47 <elliott> which is just WASTEFUL :D
22:46:21 <elliott> http://clpastebin.appspot.com/ lol @ man in the middle
22:48:04 <elliott> perhaps I'll normalise the unicode
22:48:06 <elliott> JUST BECAUSE I CAN
22:48:29 <elliott> oerjan: "Character set converter type. Note: this structure is not thread safe. It is not safe to use value of this type simultaneously from multiple threads."
22:48:44 <elliott> oerjan: Surely I should never be reading anything like that in Haskell library documentation...
22:48:46 <elliott> Talk about a leaky abstraction.
22:50:08 <oerjan> ouch
22:50:31 <elliott> oerjan: worse is, even though you can only create one in IO, you have
22:50:32 <elliott> fromUnicode :: Converter -> Text -> ByteStringSource
22:50:32 <elliott> Convert the Unicode string into a codepage string using the given converter.
22:50:32 <elliott> toUnicode :: Converter -> ByteString -> TextSource
22:50:32 <elliott> Convert the codepage string into a Unicode string using the given converter.
22:50:34 <elliott> which are pure
22:50:40 <elliott> if it was in IO, it'd be problematic but not language-breaking...
23:01:12 -!- impomatic has quit (Read error: Connection reset by peer).
23:11:31 -!- TLUL_ has joined.
23:14:06 -!- FireFly has quit (Quit: swatted to death).
23:14:11 -!- TLUL has quit (Ping timeout: 240 seconds).
23:14:15 -!- TLUL_ has changed nick to TLUL.
23:30:31 <elliott> oerjan: I think I just wrote a Haskell program that depends on the endianness of the system ...
23:30:36 <elliott> How did I manage that?
23:30:59 <j-invariant> using the ffi
23:31:02 <quintopia> it does bit-twiddling?
23:31:03 <oerjan> SHEER BRILLIANCE
23:31:07 <elliott> Well, because someone else used the ffi :)
23:31:16 <elliott> main :: IO ()
23:31:17 <elliott> main = do
23:31:17 <elliott> text <- B.getContents
23:31:17 <elliott> case detectEncodingName text of
23:31:17 <elliott> Nothing -> error "unknown encoding!"
23:31:17 <elliott> Just encoding -> do
23:31:19 <elliott> let bstr = IConv.convertFuzzy Transliterate encoding "UTF32LE" text
23:31:21 <elliott> I.putStr (E.decodeUtf8 bstr)
23:31:22 <elliott> erm
23:31:25 <elliott> wait
23:31:27 <elliott> main :: IO ()
23:31:29 <elliott> main = do
23:31:31 <elliott> text <- B.getContents
23:31:33 <elliott> case detectEncodingName text of
23:31:35 <elliott> Nothing -> error "unknown encoding!"
23:31:37 <elliott> Just encoding -> do
23:31:39 <elliott> let bstr = IConv.convertFuzzy Transliterate encoding "UTF32LE" text
23:31:41 <elliott> putStr (B.unpack bstr)
23:31:44 <elliott> yeah
23:31:47 <elliott> I think that won't work on a big-endian system
23:32:47 <oerjan> @hoogle Bytestring -> IO ()
23:32:48 <lambdabot> Did you mean: ByteString -> IO () /count=20
23:32:48 <lambdabot> Control.Concurrent.MVar putMVar :: MVar a -> a -> IO ()
23:32:48 <lambdabot> Data.IORef writeIORef :: IORef a -> a -> IO ()
23:32:58 <oerjan> @hoogle ByteString -> IO ()
23:32:58 <lambdabot> Data.ByteString putStr :: ByteString -> IO ()
23:32:58 <lambdabot> Data.ByteString putStrLn :: ByteString -> IO ()
23:32:59 <lambdabot> Data.ByteString.Char8 putStr :: ByteString -> IO ()
23:32:59 <elliott> oerjan: won't work, i'm using this with blaze-html
23:33:11 <elliott> oerjan: so my choices are a String or Text
23:33:23 <elliott> oerjan: Text wants strict bytestrings, not lazy ones, and bleh
23:33:27 <elliott> oerjan: Strings are... this
23:33:40 <oerjan> um i'm merely pointing out that there is a putstr directly on ByteStrings
23:34:00 <elliott> oerjan: right, the point is that it'll actually be
23:34:02 <elliott> string (B.unpack bstr)
23:34:14 <elliott> oerjan: because the end program won't actually be printing to stdout.
23:34:16 <oerjan> ok
23:35:49 <elliott> <poincare101> also, what's the benefit of writing code in a purely functional language aside from theorem proving?
23:36:35 <j-invariant> elliott: where does this myth come from?
23:36:41 <elliott> j-invariant: poincare101 :P
23:36:42 <j-invariant> OH WAIT, #haskell
23:36:51 <elliott> copumpkin: i think it's time to ban j-invariant :D
23:36:58 <copumpkin> how come?
23:37:05 <elliott> he can't stay away!
23:37:08 <copumpkin> lol
23:42:51 <Sgeo> SYMANTEC. MUST. DIE.
23:46:53 <quintopia> try tnt
23:53:31 <elliott> <monochrom> haskell is based on Dana Scott's mathematics but not Erdös's mathematics
23:53:32 <elliott> :what:
23:54:41 <elliott> http://fsl.cs.uiuc.edu/index.php/A_Formal_Semantics_of_C_with_Applications
23:54:46 <elliott> Abstract. This paper describes an executable formal semantics of C expressed using a formalism based on term rewriting. Being executable, the semantics has been thoroughly tested against the GCC torture test suite and successfully passes over 96% of 715 test programs. It is the most complete and thoroughly tested formal definition of C to date.
23:54:46 <elliott> The semantics yields an interpreter, debugger, and state space search tool "for free". The semantics is shown capable of automatically finding program errors, both statically and at runtime. It is also used to enumerate nondeterministic behavior. These techniques together allow the tool to identify undefined programs.
23:54:52 <elliott> Gregor: You should PUT THIS IN JSMIPS
23:55:11 <elliott> Even though that would do nothing :P
23:55:30 <j-invariant> successfully passes over 96% of 715 test programs.???
23:55:37 <elliott> j-invariant: ?
23:55:39 <j-invariant> that doesn't instill much confidence
23:55:47 <elliott> j-invariant: well gcc's test suite is very comprehensive
23:55:53 <elliott> j-invariant: it's not surprising that a lot of them test pathological behaviour
23:56:00 <oerjan> everything has Erdős's mathematics in it somewhere
23:56:12 <oerjan> HE WAS EVERYWHERE
23:56:16 <elliott> j-invariant: less than 28.6 failing programs in a test suite as comprehensive and evil as gcc's is very impressive!
23:56:51 <j-invariant> if yyou say so
23:59:10 <elliott> j-invariant: do you _realise_ how awful C's semantics are?
23:59:17 <elliott> and how evil gcc's test suite will be?
23:59:24 <elliott> oerjan: btw i had an idea to circumvent the (x<5) can't be symbolic thing
23:59:55 <elliott> oerjan: use "error" to throw an exception with x and 5 serialised, catch it higher up, and then construct a symbolic value from that :D
←2011-01-22 2011-01-23 2011-01-24→ ↑2011 ↑all