←2011-07-30 2011-07-31 2011-08-01→ ↑2011 ↑all
00:00:36 -!- BeholdMyGlory has joined.
00:02:45 -!- elliott has joined.
00:02:48 <elliott> a
00:03:07 <zzo38> Does programming include art? Someone asked that question when programming NES game
00:03:21 <zzo38> http://i.imgur.com/UBm5K.png
00:05:00 -!- Patashu has joined.
00:07:22 <elliott> oklopol: ping
00:07:48 <oklopol> pong
00:07:56 <angstrom> zzo38: http://benfry.com/distellamap/
00:13:31 <elliott> 15:13:08: <itidus20> the idea is directed towards game development.. but let me explain in the context of say, visual basic
00:13:32 <elliott> i see
00:13:57 <monqy> oh dear what happened
00:14:31 <elliott> iti dispensed some genius
00:14:42 <elliott> 15:31:27: <oklopol> THE MOUSE JUST MOVED TO (620, 39), WOULD YOU LIKE TO ADD AN EVENT FOR THIS
00:14:57 <elliott> oklopol: the mouse just clicked the "edit mouse-click event" button, would you like to add an event for this
00:15:06 <elliott> [edit mouse-click event]
00:15:07 <elliott> [no]
00:21:28 <elliott> 16:19:44: <itidus20> theres always someone who would either... love to be your boss and control your genius.. or who would like to have you serving them at mcdonalds
00:21:28 <elliott> 16:20:48: <itidus20> uh.. which is good cos it balances things
00:21:28 <elliott> buddha irl
00:23:13 <monqy> wisdom
00:23:47 <elliott> `addquote <Taneb> So it's like... Rummy mixed with... breakout?
00:23:50 <HackEgo> 554) <Taneb> So it's like... Rummy mixed with... breakout?
00:24:18 <monqy> im imagining a person seeing another person and thinking 'i would really like this person serving me at mcdonalds'
00:24:37 <monqy> im sure this happens all the time
00:24:48 <monqy> i wonder if anyone has ever thought this about me...
00:49:18 <quintopia> ive never had that thought
00:50:02 <elliott> monqy
00:50:05 <elliott> ur bestmc odonalds
00:50:11 <monqy> ;_;
00:50:19 <elliott> :(
00:51:37 * pikhq has been working on some scripts to scrape the Gatherer database.
00:51:53 <pikhq> This is made worse by it apparently being at least somewhat freeform.
00:53:53 <Sgeo> Hmm
00:54:06 <Sgeo> How did the Magic app I used to have on my phone have all the cards?
00:54:29 <Sgeo> Is there a pre-existing computer-easily-accessible database somewhere maybe?
00:54:49 <Sgeo> That you can get to, I mean
00:55:30 <pikhq> No idea, but WotC seems to make that *hard*.
01:04:14 <Sgeo> Hmm. Magic Workshop's knowledge of the cards has to come from somewhere
01:04:30 <Sgeo> Erm, Magic Workstation
01:05:15 <Sgeo> http://www.slightlymagic.net/software/mws/5-mtg-masterbase ?
01:05:56 <Sgeo> pikhq, poke
01:07:25 <zzo38> I did once write a script to select random records from the Magic: the Gathering cards database, selected as a booster pack and then prints out copies of fifteen random cards.
01:07:43 <zzo38> But it doesn't work now.
01:10:40 <zzo38> But I have the idea eventually I should have TeXnicard include the feature to create such databases.
01:11:56 -!- zzo38 has quit (Remote host closed the connection).
01:31:32 <elliott> http://www.emailintervention.com/ using things other than gmail: an unacceptable situation
01:37:37 -!- CakeProphet has quit (Read error: Connection reset by peer).
01:54:07 <coppro> I AM A SOCIAL ENGINEER
01:54:17 <coppro> pikhq: yawgatog has done this already
01:57:23 <elliott> <coppro> I AM A SOCIAL ENGINEER
01:57:23 <elliott> wat
01:58:38 <coppro> elliott: see blognomic
01:58:45 <coppro> elliott: I'm totally manipulating people
01:58:52 <coppro> (although it's not obvious)
02:06:20 <pikhq> coppro: Insufficiently well.
02:06:33 <pikhq> coppro: I want the entire database.
02:06:53 <pikhq> Flavor text, card images, set legalities, whole 9 yards.
02:07:14 <pikhq> s/set/format/
02:07:40 <coppro> pikhq: Datatog has all but the images
02:07:56 <coppro> oh and written text I think
02:08:03 <elliott> coppro: blognomic is boring
02:08:17 <coppro> oh right you're not in ##nomic
02:08:29 <coppro> I want to make a better ruleset for Gamma because the previous one isn't happening
02:08:37 <elliott> gamma?
02:08:42 <elliott> oh
02:08:53 <elliott> i dislike that name so WHO CARES
02:09:25 <coppro> elliott: we will have demands for adjudications, or DFAs
02:09:30 <coppro> with many computer science puns
02:09:36 <coppro> and players shall OBEY the rules and ADJUDICATE questions
02:09:36 <elliott> crap name
02:10:15 <pikhq> coppro: The end goal is to get a much nicer Magic search engine than Gatherer.
02:10:38 <coppro> pikhq: magiccards.info?
02:11:07 <pikhq> Bah.
02:11:20 <elliott> pikhq: make it a @ database
02:11:27 -!- evincar has joined.
02:11:36 <pikhq> elliott: Make @
02:11:44 <elliott> pikhq: oh, I have to do /all/ the work, do I?
02:11:57 <evincar> elliott: You have to do it now. pikhq told you to.
02:12:03 <elliott> Damn.
02:12:10 <evincar> And he's some kind of authority or something.
02:15:50 <elliott> newtype MyMonad a = MyMonad (StateT MyState (ReaderT Options (ErrorT MyException (WriterT [String] IO))) a)
02:15:50 <elliott> deriving (Functor, Monad, MonadReader Options, MonadState MyState, MonadError MyException, MonadWriter [String])
02:15:54 <elliott> haskell: how not to do it
02:16:15 <Sgeo> Eh?
02:16:23 <evincar> D:
02:16:28 <pikhq> ... StateReaderErrorWriterIO? *What*.
02:18:46 <elliott> i like how all those are completely redundant
02:18:56 <elliott> because
02:19:00 <elliott> IO encompasses all of them
02:19:07 <elliott> newtype MyMonad a = MyMonad (IO a)
02:19:10 <elliott> completely equivalent
02:19:23 <pikhq> eah.
02:20:44 <elliott> eah
02:22:07 * elliott wonders where this package would go would go
02:42:04 <evincar> Sigh. Typesetting is wrong.
02:42:29 <evincar> I want my digital typesetting to behave more like lead.
02:54:19 -!- invariable has quit (Read error: Connection reset by peer).
02:55:03 -!- invariable has joined.
02:55:05 -!- invariable has quit (Changing host).
02:55:05 -!- invariable has joined.
02:59:11 <Vorpal> evincar, TeX?
03:02:57 <evincar> Vorpal: EVEN MORE LIKE LEAD
03:03:25 <evincar> Without, y'know, actually being lead. Getting solder burns is bad enough.
03:03:32 <Vorpal> XD
03:03:35 <Vorpal> why
03:03:57 <evincar> Oh, I'm just frustrated with the poor state of web typography, as usual.
03:04:05 <evincar> It's gotten better lately.
03:04:30 <Vorpal> ah
03:04:37 <Vorpal> elliott, so nothing wrong with TeX then?
03:04:49 <elliott> .
03:05:19 <evincar> And that's all he has to say about that. Fullstop.
03:05:56 <evincar> The only thing that I really miss in (La)TeX is namespaces.
03:08:00 <Vorpal> ah yes
03:12:42 <evincar> You don't run into it all that often, but occasionally you want to use a couple of conflicting packages and you're just plain out of luck.
03:18:59 -!- MDude has changed nick to MSleep.
03:25:13 <evincar> Esolang: antiduck typing. When it sees a bird that walks like a duck and swims like a duck and quacks like a duck, it assumes that the bird is a terrorist.
03:25:46 <GreaseMonkey> isterrorist(x) :- return true
03:26:08 <GreaseMonkey> actually if you want to do it in prolog
03:26:27 <GreaseMonkey> isa(X, terrorist).
03:27:37 <evincar> GreaseMonkey: I guess it would actually assume that all things behave rather like NaN.
03:27:51 <GreaseMonkey> isa(_, _).
03:39:38 <pikhq> Sadly, Knuth is an old man.
03:40:48 <evincar> You don't know he's an old man sadly. He could be an old man happily.
03:41:16 <evincar> I doubt most would, though.
03:41:28 <evincar> I know I don't plan on getting old.
03:41:34 <evincar> More specifically, I plan on not getting old.
03:42:48 <coppro> I retain low confidence about TAOCP being finished
03:44:04 <pikhq> evincar: Ah, so you're planning based on the assumption that immortality will be invented in your lifetime?
03:44:05 <evincar> I'm skeptical but optimistic, I guess.
03:44:23 <evincar> pikhq: That, or necromancy.
03:44:45 <pikhq> coppro: Perhaps if we give Knuth a pointer to fork().
03:45:04 <evincar> I don't suppose undying would be any more unpleasant than being born.
03:46:27 <evincar> Also, the invention of necromancy might bring about a zombie apocalypse, which would be a thoroughly entertaining period of history to live through.
03:47:06 <coppro> He estimates Vol 5 to be published in 2020
03:48:18 <coppro> and has Vol 6 and Vol 7 plans too... right
03:49:56 <evincar> Meh. Plan as though you'll live forever, live as though you'll die today.
03:49:58 <evincar> Or something.
03:52:18 -!- copumpkin has joined.
03:55:29 <coppro> I also wish that he would publish the newer editions of Vols. 1, 2, and 3 before finishing 5
03:55:45 <evincar> Esolang: one without object permanence, so it's consistently surprised when objects that were hidden from view become visible again.
03:56:29 <evincar> Implementing "surprise" naturally being the interesting bit.
04:14:01 <elliott> haha
04:14:20 <elliott> <evincar> The only thing that I really miss in (La)TeX is namespaces.
04:14:25 <elliott> latex makes me sad (a little) :(
04:19:22 <evincar> Is the only reason we can't make strong AI that we can't define intelligence?
04:19:56 <evincar> Because I feel like a working definition would be fine provided the thing could incrementally improve it.
04:20:45 <pikhq> evincar: Actually, it's more probable that the only reason we can't make strong AI is that we're a handful of orders of magnitude off.
04:20:59 <pikhq> No worries though, that's just a handful of years.
04:21:08 <elliott> no, the reason we can't make strong ai is that we're not any good at ai.
04:21:10 <elliott> next question.
04:21:20 <pikhq> elliott: Or I.
04:22:31 <evincar> Well, it is always most difficult to define in precise terms those things which are intuitively obvious.
04:22:52 <elliott> isn't it just difficult to define things in precise terms full stop
04:23:06 <evincar> Perhaps because language isn't precise.
04:23:11 <evincar> Well, except for Lojban.
04:23:18 <elliott> Lojban isn't precise either.
04:23:23 <evincar> I know. :(
04:23:28 <evincar> Wishful thinking.
04:23:52 <Sgeo> I remember reading someone talking about Lojban say that a perfectly precise language would have some cases where sentences blow up
04:23:58 <Sgeo> Anyone know what that's talking about?
04:24:17 <elliott> propositional logic statements are pretty verbose I guess?
04:24:49 <evincar> Sgeo: I would assume it means that meaning is dependent on context, and context is unbounded, so a sentence can grow unbounded.
04:25:23 <evincar> It's like a fractal. It has a finite amount of meaning, but an infinite perimeter of potential precision.
04:30:42 <elliott> "While you do that he’s going to go get his horse. It rained last night, so he suspects he will have to redraw the horse’s angry eyebrows."
04:31:29 -!- derrik has joined.
04:35:18 <evincar> The unforgivable crime of being mudcrabs.
04:36:07 <elliott> Reference humour: thought by experts to be the only kind.
04:37:15 <elliott> (Now I'm wondering whether evincar has brought the total of Prequel readers in here to at least three, or whether he just has a computer with access to Go Ogle dot Com Internet Search.)
04:37:21 <elliott> (One day I will access Go Ogle. One day.)
04:37:24 <elliott> (When I am rich.)
04:37:45 <monqy> rich on fame and donations
04:37:47 <monqy> from making @
04:38:23 <elliott> Fame is the best currency (bitcoins are the second best (wood is the third)).
04:38:42 <evincar> elliott: I went and ogled but I was aware of Something Awful and MS Paint Adventures and read Homestuck, so it wasn't a far shot.
04:39:09 <evincar> Besides, I've played some of the Elder Scrolls series as well.
04:39:14 <monqy> whats something awful
04:39:21 <evincar> So it's relevant to my...well, not my interests, but y'know.
04:39:23 <elliott> monqy: something awful (<-- LOOK HOW HILARIOUS I AM)
04:39:33 <elliott> evincar: OK this channel's number of Homestuck readers is officially statistically unlikely.
04:39:50 <elliott> There's... at least eight.
04:39:50 <evincar> monqy: Blue waffle.
04:40:06 <monqy> evincar: am I supposed to do an image search for that or something
04:40:19 <evincar> monqy: Whatever floats your boat, sicko.
04:40:44 <elliott> I like how the first results are all waffles photoshopped to be blue.
04:40:47 <elliott> SO SHOCKING.
04:41:14 <evincar> elliott: Those are posted on imgur and such for a reason.
04:41:34 <elliott> To protect the innocent minds of children?
04:42:21 <evincar> ...sure.
04:42:37 <monqy> get bored of looking at blue waffles, narrowly avoid looking at blue waffles
04:42:38 <Sgeo> elliott, at least 1 is a Homestuck reader because of other Homestuck readers in this channel
04:43:03 <monqy> cakeprophet?
04:43:18 <elliott> Sgeo: OK fine, six. Oh, wait, CakeProphet too.
04:43:21 <elliott> So either nine or six.
04:43:25 <elliott> Depending on whether you suck or not.
04:48:07 <itidus20> So, I heard you like mudcrabs.
04:48:32 <evincar> Only the profitable intelligent merchant ones.
04:48:45 <evincar> *one
04:48:48 <evincar> :P
04:48:58 * Sgeo still has no idea what Prequel is
04:49:28 <elliott> Sgeo: http://prequeladventure.com/2011/03/prequel-begin/
04:49:31 <pikhq> On the other end of a document from the Postquel, of course.
04:49:46 <itidus20> Prequal/Prefix .. I see.. the Pre- is where the sense of past comes from
04:50:16 <itidus20> now Sequal Suffix both begin with 's'. Time to put on the overcoat and go investigating.
04:51:04 <elliott> Sgeo: Also I order you to read it, since that seems to generally be how reading things gets initiated in Sgeoland.
04:51:17 <itidus20> ^sequel
04:51:40 <Sgeo> I started reading D.M. Brook's The Necessity of Atheism
04:51:43 <Sgeo> Now regretting it
04:51:56 <elliott> Stop reading things I didn't tell you to, then.
04:52:09 <pikhq> Sgeo: Oh?
04:52:16 <evincar> itidus20: Sequel is from sequelus, from sequi (follow). Suffix is from sub + figere (to fix).
04:52:26 <Sgeo> Among the things stated is a bit talking about how in the time of Columbus, people thought the world was flat, or something
04:52:32 <itidus20> Sequel: early 15th century., "train of followers," from Old French sequelle, from Late Latin sequela "that which follows, result, consequence," from sequi "to follow"
04:52:41 <pikhq> *groan*
04:53:00 <evincar> Oh fine. s/sequelus/sequela/.
04:53:05 <itidus20> evincar: our etymological sources may appear to conflict but im sure they don't
04:53:10 <itidus20> i just cut and paste
04:53:17 <Sgeo> "When Christianity sprang into existence Eusebius, St. John Chrysostom, and Cosmos evolved a complete description of the earth. They considered the earth as a parallelogram, flat, and surrounded by four seas, as a kind of house, with heaven as its upper story and the earth as its ground floor. To the north of the earth was a great mountain; at night the sun was pushed into a pit and pulled out again in the morning, with heaven as a loft and h
04:53:17 <Sgeo> ell as a cellar. In the Atlantic Ocean, at some unknown distance from Europe, was one of the openings into hell, into which a ship sailing to this point, would tumble. The terror of this conception was one of the chief obstacles of the great voyage of Columbus."
04:53:31 <elliott> great voyage of columbus lol
04:53:37 <itidus20> but well.. you were twice as fast as me :o i forgot about suffix
04:53:53 <pikhq> Could've sworn that a round Earth was well-estabilished by the Greeks.
04:54:09 <itidus20> evincar: i see that sequel is clearly related to sequence then..
04:54:13 <Sgeo> Was this myth believed in the 1930s? That Columbus's contemporaries thought the Earth was flat?
04:54:17 <evincar> pikhq: It was well-established long before then, independently by various groups, including the Celts during the Bronze Age. :P
04:54:30 <elliott> everything is the fault of religion and all explorers are white men
04:54:31 <evincar> Or actually before.
04:54:33 <elliott> join me next time for more atheism facts
04:54:36 <Sgeo> pikhq, well, part of what this book is saying is that Christianity regressed science
04:54:50 <Sgeo> "The difficulties that beset Columbus are well known. How he was hounded both in Portugal and in Spain by the clergy; and even after his discovery of America, the Papacy still maintained its theory of the flatness of the earth and the nonsense of the antipodes"
04:54:51 -!- pikhq_ has joined.
04:55:00 <Sgeo> pikhq_, read logs
04:55:12 <elliott> why are you reading this book, you should stop because terrible
04:55:18 <Sgeo> elliott, I did stop
04:55:22 <elliott> good
04:55:23 <Sgeo> Exactly because of this
04:55:32 <Sgeo> But it was quite a way in
04:55:35 <pikhq_> 22:53 < pikhq> Could've sworn that a round Earth was well-estabilished by the Greeks.
04:55:37 <pikhq_> 22:53 < pikhq> Before the claimed time of Jesus.
04:55:40 <pikhq_> 22:53 < pikhq> And not exactly *forgotten*.
04:55:47 <Sgeo> pikhq_, oh
04:56:11 <Sgeo> I think this book already permiated my brain excessively
04:56:18 <pikhq_> IIRC, Columbus' whole deal was that he thought the Earth was smaller, and that he could easily get to Asia.
04:56:22 <elliott> do you just believe everything you read
04:56:24 <pikhq_> And he was wrong, but got damned lucky.
04:56:29 <elliott> because i've got a book called the bible for you
04:56:31 <itidus20> Sgeo: then what you need to do is counter-permeate it with more things
04:57:10 <evincar> I'm not even sure what the big deal is with Columbus. He didn't even make it to the mainland, right?
04:57:11 <itidus20> Sgeo: generalizations about history are always wrong.
04:57:16 <itidus20> :)
04:57:26 <itidus20> hehehehe
04:57:52 <pikhq_> evincar: His findings encouraged further exploration by Spain.
04:57:59 <elliott> evincar: No, but he was white, male, and Catholic, so who cares?
04:58:13 <evincar> But of course! :D
04:58:39 <elliott> He'd be a hero if he just paddled around a bit off the shore and killed a few savages.
04:58:40 -!- pikhq has quit (Ping timeout: 264 seconds).
04:59:12 <itidus20> elliott: so i tried gimp.. at this stage i may as well just uninstall artweaver
04:59:23 <itidus20> theres no comparison
04:59:33 <itidus20> (i won't)
04:59:37 <elliott> the gimp's interface can be a bit awkward but it's great
04:59:47 <itidus20> the pen tablet interface is perfect
04:59:56 <itidus20> and i'm on xp
05:00:04 <itidus20> i knew gimp had support for it
05:00:04 <evincar> I love it for batch image processing.
05:00:08 <itidus20> but yeah its really awesome
05:00:27 <evincar> Because Scheme.
05:00:35 <pikhq_> Also, Columbus *did* find the mainland. Right around Panama.
05:00:40 <elliott> the gimp's animated stuff is also a bit awkward, im not sure who decided frame <-> layer was a good idea, but oh well, it works
05:01:08 <elliott> evincar: I bet that's going to get replaced what with the GEGL stuff
05:01:08 <evincar> elliott: Yeah, that's always bothered me a little bit. Also no layer groups. :(
05:01:32 <evincar> Maybe, or just adapted.
05:01:54 <elliott> Well, GEGL has bindings to several languages, but none of them is a Schemeoid.
05:02:03 <elliott> Also, I have an irrational hate of the GIMP's Scheme stuff because I couldn't get the same Scheme library it uses to do my bidding in mcmap.
05:02:19 <elliott> (I think Tiny-Fu is the one used nowadays and it uses TinyScheme, who's API is lacklustre.)
05:02:23 <elliott> [asterisk]whose
05:02:36 <elliott> I'm never going to be able to stop doing this [asterisk] thing
05:02:41 <elliott> Wiccan Sarah in Durban
05:02:41 <elliott> stop suffering now Sarah the witch is here to help +2773 400 6132
05:02:41 <elliott> wwwladysarah.co.za
05:02:45 <elliott> best google ad ever
05:04:46 <Sgeo> pikhq_, was it generally believed, in the 1930s or so, etc. about Columbus?
05:04:55 <Sgeo> In that case, it's almost understandable
05:05:07 <elliott> Understandable does not acceptable make.
05:05:08 <pikhq_> Sgeo: It's been a running myth for centuries.
05:05:29 <elliott> If you're basing an argument on something, and it's patently untrue, it doesn't matter whether it's a common misconception or not.
05:05:35 <elliott> Especially if you're arguing on the basis of being oh-so-rational.
05:06:21 <Sgeo> I did say almost
05:06:49 <pikhq_> Ah. Seems it wasn't that Columbus underestimated the size of the world, he overestimated the size of Eurasia.
05:07:22 <Sgeo> And I meant "generally believed" as in, believed by educated people
05:07:34 <Sgeo> Like an age of the Earth that's a bit too young
05:07:45 <Sgeo> (Which is also in there, but completely understandable, imo)
05:08:18 <pikhq_> *That* would actually be entirely excusable. Science marches on.
05:08:50 <elliott> but never as much
05:08:50 <elliott> as
05:08:52 <elliott> PIEence
05:09:00 <elliott> pie-ence bitchez
05:09:31 <evincar> elliott: Proto-Indo-Europeance?
05:09:56 <Sgeo> pikhq_, but a diligent researcher in the 1920s or so would discover that the Columbus thing is a myth?
05:09:58 <evincar> (Typesetting irk: first hyphen should probably be an en-dash. Probably.)
05:10:14 <pikhq_> Sgeo: Oh, *surely*.
05:10:29 <elliott> evincar: I can't reply because I'm too busy pointing at your next line and yelling hysterically "look at this fucking hipster".
05:11:32 <Sgeo> pikhq_, well, that pretty much throws the rest of the book in question, I think
05:11:35 <elliott> I might even start cackling.
05:12:19 <evincar> elliott: Typography isn't one of those things that's traditionally seen as a hipster thing.
05:12:36 <evincar> That sentence had so many "thing"s that I almost used a "da kine".
05:13:30 <elliott> evincar: Please tell me you're actually offended.
05:13:37 <elliott> I FEED ON PAIN
05:14:10 <evincar> elliott: I don't usually get offended. You'll have to do better than that.
05:14:26 <elliott> evincar: You... are... a... BEDWETTER.
05:14:29 <elliott> WHAT NOW
05:14:39 <evincar> Example of something that offends and sickens me: abstinence from sex on religious grounds.
05:14:56 <elliott> Srsly?
05:15:03 <elliott> That's pretty hypocritical, isn't it?
05:15:26 <evincar> (I will have sex on religious grounds all I please! Churchyard! Graveyard! None shall be spared!)
05:15:36 <Sgeo> http://www.goodreads.com/topic/show/619195-columbus
05:15:39 <evincar> Hypocritical how?
05:15:50 <evincar> I find it disturbing that a human wouldn't mate.
05:15:58 <evincar> Unless they're asexual or something.
05:16:03 <elliott> evincar:
05:16:11 <elliott> evincar: So people aren't allowed to make their own decisions?
05:16:17 <elliott> Sounds pretty fuckin' moralising to me.
05:16:31 <evincar> Oh, sure, they're allowed to make their own decisions, and if it works in their lives, good for them.
05:16:35 <evincar> I'm allowed to find it disturbing.
05:17:02 <elliott> How on earth is it disturbing to choose not to have sex? Big deal, I'm sure plenty of people also choose not to eat fast food, or not to wear socks, or...
05:17:07 <evincar> Largely because it probably isn't their decision.
05:17:16 <evincar> In cases where it is, I find it far less objectionable.
05:17:37 <elliott> Oppose abstinence-only education or whatever, don't oppose people doing things because of their religious beliefs
05:17:46 <evincar> I don't oppose them.
05:17:57 <evincar> I just don't understand or endorse them.
05:18:05 <elliott> You said it offends you.
05:18:38 <evincar> I'm afraid of the idea of being indoctrinated to such a degree that I would make what I believe to be a conscious decision to refrain from a natural process in which I would otherwise have engaged, without being aware that it is actually not my decision.
05:19:11 <elliott> How do you distinguish a situation where you do something, thinking it's your decision, but it isn't actually; and a situation where you do something and it is your actual decision?
05:19:21 <evincar> elliott: You don't.
05:19:29 <elliott> You just tried to.
05:19:37 <evincar> Not at all.
05:19:40 <evincar> I said "probably".
05:19:59 <elliott> <evincar> I'm afraid of the idea of being indoctrinated to such a degree that I would make what I believe to be a conscious decision to refrain from a natural process in which I would otherwise have engaged, without being aware that it is actually not my decision.
05:20:04 <elliott> You didn't there.
05:20:17 <evincar> > Largely because it probably isn't their decision.
05:20:18 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
05:20:18 <Sgeo> I think it's a sad choice, and the belief itself is sad, but still their choice
05:20:27 <pikhq_> elliott: One can be offended by something without thinking it should be stopped.
05:20:34 <evincar> What he said.
05:21:08 <evincar> The converse is that I'm not really offended by some things I think ought to be stopped, such as racism.
05:21:13 <Sgeo> Well, sad reason to make the choice
05:21:21 <elliott> Sgeo: For god's sake, it's not a sad choice to do what you want. And sex is like the least important thing because it affects nobody else and usually isn't even reproductive nowadays.
05:22:05 <pikhq_> I'm only offended by shoving the religious abstinence on others, myself.
05:22:10 <lament> when sex doesn't affect anyone else it's called something else
05:22:14 <Sgeo> Well, if someone desires to have sex, yet forces themself not to, not because they don't want to, but because they think it's "wrong", I think that's sad
05:22:21 <elliott> lament: Har har har
05:22:30 <evincar> Sgeo: That's the specific situation that bothers me most.
05:22:38 <elliott> pikhq_: Sure, of course I object to that, but that's an entirely different thing.
05:22:44 <pikhq_> elliott: Well, yes.
05:24:59 <evincar> Anyway, this isn't a productive topic.
05:25:10 <pikhq_> Let us discuss productivity tools.
05:25:34 <evincar> That will lead us to programming languages, methinks.
05:25:55 <pikhq_> No, no, no, not Enterprise enough.
05:26:25 <elliott> Ugh, not this annoying kind of headache.
05:29:56 <evincar> Looks like it didn't take.
05:30:11 <evincar> To be honest, my favourite productivity tools are whiteboards, tea, long walks, and showers.
05:30:16 <evincar> Oh, and sex.
05:30:26 <pikhq_> My favorites are nothing.
05:30:56 <evincar> Then you should get better favourites, if they're so worthless.
05:32:31 <Sgeo> Maybe Brooks isn't saying Columbus's contemporaries believed in a flat Earth. Ok, I think I'm turining into the equivalent of one of those people who make excuses for the Bible
05:32:48 <Sgeo> "the Papacy still maintained its theory of the flatness of the earth and the nonsense of the antipodes."
05:33:01 <Sgeo> How does one both believe that the Earth is flat and the.. oh n/m
05:33:14 * Sgeo glares angrily at Brooks
05:33:55 <elliott> Sgeo: I thought you stopped reading that.
05:34:03 <Sgeo> I did
05:34:07 <pikhq_> Sgeo: This was never Catholic doctrine.
05:34:24 <pikhq_> They've got enough stupid doctrine without putting words in their mouths.
05:34:45 <Sgeo> I was just thinking to myself "Wait, antipodes and flat earth sound antithetical, and I distinctly remember 'antipodes', so maybe Brooks didn't say flat Earth"
05:34:53 <Sgeo> Then I looked at it again
05:35:40 <elliott> maybe it was just the theory of THE FLATNESS
05:35:42 <elliott> not flat earth
05:35:43 <elliott> just
05:35:44 <elliott> THE FLATNESS
05:36:29 <evincar> If Jesus could see the Catholic church...with a name like that, you'd think it might actually be, you know, catholic. For the people. Not bathed in obscene wealth.
05:36:45 <evincar> He'd be ashamed.
05:36:59 <evincar> I might just start waving Jefferson Bibles around.
05:37:16 -!- TeruFSX2 has joined.
05:37:35 <evincar> It's more Christian to preach than what most Christians do.
05:38:04 <elliott> source for catholic meaning "for the people" kthx
05:38:14 <Sgeo> I thought Catholic meant universal?
05:38:28 -!- TeruFSX has quit (Ping timeout: 276 seconds).
05:38:32 <elliott> it does, or well, "whole", "all-encompassing", etc.
05:38:41 <evincar> I didn't equate them. I was elaborating.
05:38:49 <lament> fun fact: the orthodox church's full name is orthodox catholic church
05:39:00 <elliott> evincar: so in what manner is the Catholic Church not catholic
05:39:44 <elliott> lament: that fact wasn't fun at all :(
05:40:02 <pikhq_> lament: Fun fact: there's not a "the Orthodox church".
05:40:07 <elliott> a the
05:40:20 <elliott> The Orthodox Church, also officially called the Orthodox Catholic Church [note 1] and commonly referred to as the Eastern Orthodox Church
05:40:21 <elliott> --wikipedia
05:40:24 <elliott> "The Orthodox Church,"
05:40:37 <lament> pikhq_: fun fact: you're stupid and wrong
05:40:41 <pikhq_> God damn upstarts claiming primacy.
05:41:46 <evincar> elliott: Catholicism isn't very universalist, that's all.
05:41:53 <evincar> Hardly love-thy-neighbour.
05:42:00 <elliott> all-encompassing doesn't really mean Universalist :-P
05:42:16 <elliott> it could easily just mean that "encompassing all the true beliefs", which I am sure is Catholic doctrine
05:42:47 <pikhq_> evincar: Meh, the whole fire and brimstone thing isn't, either. And that's a basic premise of Christianity.
05:42:55 <evincar> "It was first used to describe the Christian Church in the early 2nd century to emphasize its universal scope." --Wikipedia, "Catholic".
05:43:07 <elliott> right, so it is the church to which everyone should be a member
05:43:09 <elliott> universal scope
05:43:23 <evincar> pikhq_: Well, Old Testament. But Jesus specifically invalidated a lot of that.
05:43:47 <pikhq_> evincar: It's still a basic premise that you either believe in Jesus or suffer eternal torment.
05:43:50 <Sgeo> evincar, Hell is NT. Psychotic earthly punishments are OT
05:43:56 <evincar> elliott: Universal links to "Universalism" though.
05:43:57 <pikhq_> Sgeo++
05:44:12 <elliott> evincar: Citation :-P
05:44:17 <elliott> (Yeah yeah I rebutted pikhq_ with Wikipedia shaddup.)
05:44:49 <itidus20> Sgeo: lets consider 'self
05:44:57 <evincar> Yeah, it feels a little dirty citing Wikipedia as a source...
05:45:02 <itidus20> does punishment imply a self being punished?
05:45:12 <evincar> Maybe I'm just trained to feel that way by writing papers.
05:45:26 <elliott> Wikipedia is a good resource, but one word being linked without any citation hardly means much
05:45:38 <evincar> Anyway, there is no hell so bad that a human wouldn't fetishise it, and no heaven so great that a human wouldn't grow bored of it.
05:45:54 <Sgeo> evincar, are you quoting SMBC?
05:45:56 <itidus20> so then.. the question is.. what is the nature of the self .. how does it visit heavens and hells... and.. is the question simply too much for a man
05:46:04 <evincar> Sgeo: Paraphrasing, if anything.
05:46:15 <pikhq_> evincar: Christianity disagrees.
05:46:22 <elliott> the "heaven has to suck" thing seems kinda stupid
05:46:31 * Sgeo agrees with elliott
05:46:40 <elliott> Obviously the naive view of heaven sucks
05:46:44 <evincar> Unfortunately, Christianity specifically invalidates my argument by saying you're no longer human after death.
05:46:48 <Sgeo> I can imagine a Heaven that I'd love
05:46:51 <elliott> And maybe it's very hard to define a non-sucky heaven
05:46:55 <Sgeo> elliott, there' a naive view of heaven?
05:47:02 <itidus20> evincar: i believe buddha is supposed to have said something like that
05:47:03 <evincar> You change in such a way that you delight in God's presence or suffer in fire and brimstone, fullstop.
05:47:10 <elliott> Sgeo: "Everything is perfect bliss forever"
05:47:16 <Sgeo> elliott, I think PI's world is _almost_ heaven, with some flaws, like being unable to die
05:47:20 <elliott> No.
05:47:21 <elliott> It really isn't.
05:47:31 <pikhq_> evincar: And this psychotic level of mind-alteration is considered "good".
05:47:46 <pikhq_> Sgeo: Uh, did you *read* that book?
05:47:46 <evincar> pikhq_: Naturally.
05:47:47 <elliott> Or, well, feel free to go off into PI's world if you want, but it isn't even close to heavenly.
05:47:48 <itidus20> ok i have to stop--.
05:47:56 <evincar> See, here's the thing.
05:48:12 <evincar> As someone who doesn't believe in an afterlife, I'm much more afraid of losing loved ones than of dying myself.
05:48:27 <elliott> don't love anybody
05:48:29 <elliott> problem solved
05:48:31 <evincar> And yet isn't an afterlife supposed to be a salve for the thought of personal death?
05:48:34 <itidus20> evincar: you've already lost loved ones.. it can't get any worse :>
05:48:42 <elliott> surely death of loved ones too
05:48:49 <pikhq_> Well, yes, that's quite sensible. You were dead for billions of years and didn't suffer the slightest inconvenience.
05:48:52 <elliott> itidus20: how do you know he has
05:49:03 <evincar> itidus20: No one I've loved has yet died.
05:49:15 <pikhq_> You'll be dead once more, and no doubt not be inconvenienced then.
05:49:27 <Sgeo> So far, no one I've loved has died out of the blue
05:49:34 <evincar> pikhq_: Unborn ≠ dead, just like alive ≠ undead.
05:49:47 <Sgeo> As in, alive and well one day, dead the next
05:49:59 <elliott> I don't see why unborn =/= dead, but obviously it's perfectly fine to be scared of death.
05:50:28 <pikhq_> evincar: Don't tell my zombie minions that, they'll never listen to me again if they don't have fear of death.
05:50:31 <pikhq_> :P
05:50:31 <elliott> And god this headache is horrible.
05:50:55 <elliott> Hey does anyone know a decent extension language library.
05:50:55 <pikhq_> elliott: Have you considered drinking away your problems?
05:50:58 <elliott> I don't really like Lua.
05:51:01 <evincar> pikhq_: I don't know enough about necromancy to inform you on the nature of redeath. :P
05:51:28 <evincar> elliott: Drinking away your problems with caffeine would probably help, actually.
05:51:41 <evincar> Alternatively, sleep.
05:51:57 <evincar> Oh, I'm working on a language for that.
05:52:00 <elliott> Hard to sleep with a headache.
05:52:13 <pikhq_> s/with a headache/
05:52:17 <pikhq_> *s/with a headache//
05:52:20 <elliott> <elliott> Hey does anyone know a decent extension language library.
05:52:40 <lament> <elliott> <elliott> Hey does anyone know a decent extension language library.
05:52:41 <evincar> elliott: Not one that exists yet, I guess would be my answer then.
05:52:52 <elliott> <lament> <elliott> <elliott> Hey does anyone know a decent extension language library.
05:52:54 <pikhq_> elliott: *shrug*
05:53:05 <lament> <elliott> <lament> <elliott> <elliott> Hey
05:53:27 <itidus20> evincar: in daily experience we first hear about death secondhand. in conversation or on tv. rather, we learn the word death before we experience it, in general.
05:53:51 <itidus20> sooner or later someone we know dies.. but generally it's someone elses loved one. that much is true.
05:54:07 <elliott> <lament>
05:54:16 <itidus20> and gradually we piece together the logic that all die
05:54:55 <lament> <elliott> <lament>
05:55:02 <itidus20> and that life can end at any time.. that death doesn't "wait" for people to finish their business
05:55:04 <elliott> <lamelliott>
05:55:06 <evincar> I dunno, I still might try to pull a Voldemort.
05:55:13 <lament> <
05:55:34 <itidus20> so.. this anthropomorphic death doesn't wait
05:55:45 <itidus20> but of course an anthropomorphic death doesn't exist
05:56:05 <lament> it doesn't?
05:56:16 <itidus20> but we have this nagging expectation that there should be a force in place to let people finish their business before they die
05:56:27 <lament> we do?
05:56:33 <lament> there should?
05:57:09 <elliott> <itidus20> but of course an anthropomorphic death doesn't exist
05:57:14 <evincar> You're referring to ghosts.
05:57:15 <elliott> of course He does, and He talks in small capitals.
05:57:22 <itidus20> I see....
05:57:32 <itidus20> i don't deny the possibility of ghosts/
05:57:38 <itidus20> i just didnt know what i was referring to
05:58:01 <evincar> I don't deny the possibility of anything. I just point to the probability of it.
05:58:17 <elliott> Death has to be the best personification of Death ever.
05:58:25 <evincar> Agreed.
06:00:26 <evincar> But yeah, I've known plenty of people who've died, mostly relatives and friends' relatives, and didn't bat an eyelash nor shed a tear.
06:00:48 <lament> they won't shed any tears when you die, either
06:01:07 <evincar> But, say, the girl I love. If she were to die, I would probably die soon after.
06:01:22 <elliott> fsvo probably
06:01:32 <evincar> Not because I can't live without her. Just acute-stress cardiomyopathy at work.
06:02:06 <lament> sounds like you're remarkably unfit for life
06:02:29 <evincar> I'm talking about when I'm in my eighties or something.
06:03:00 <evincar> Of course it'd be cool to live past 110 to be able to call myself eleventy, eleventy-one, etc.
06:03:01 <lament> you're planning to be working in your eighties?
06:03:19 <evincar> Who said anything about working?
06:03:22 <evincar> I mean, yes, I am.
06:03:41 <evincar> But it wasn't mentioned.
06:03:58 <lament> i guess it wasn't
06:04:16 <lament> i guess i just imagined it.
06:06:40 <evincar> This girl suggested we get married, not because she wants to be married, but because I'll have a doctorate and could teach CS at a school where she could get her MD for free. :P
06:06:58 -!- TeruFSX has joined.
06:07:10 <evincar> This conversation ended with a high-five.
06:07:54 -!- TeruFSX2 has quit (Ping timeout: 260 seconds).
06:09:53 <Sgeo> I don't think I'd want to get so attached to someone such that if they die, I die. But then, when I was a kid, I had this weird notion that I'd avoid becoming friends with HIV+ kids. Not because I was scared of getting HIV, but because I didn't want to lose a friend
06:10:29 <elliott> " think I'd want to get so attached to someone such that if they die, I die. "
06:10:32 <elliott> you realise he said because of age right
06:10:35 <elliott> lol
06:10:45 <elliott> IM SO ATTACHED TO YOU....THAT THIS HEARTBREAK..........HASLITERALLY......BROKEN MY HEART.............
06:10:46 <elliott> [DIES]
06:10:50 <elliott> [ROLL CREDITS]
06:10:55 <evincar> It happens quite often.
06:11:33 <Sgeo> elliott, you realize that, if all goes according to plan, I will age, right?
06:11:42 <itidus20> so the thing about ghosts suggests that death doesn't actually ignore the events of life as much as my formalized opinion suggests it does
06:11:49 <elliott> Sgeo: how does your first sentence actually makes sense
06:11:55 <elliott> you don't want to become attached to someone the same age as you?
06:12:08 <evincar> This girl and I are absurdly mad for one another. It was a real problem when we both had boyfriends.
06:12:33 <Sgeo> The "But then" was me wondering if I really would mind being so attached, and comparing my current thoughts about that level of attachment with past thoughts about hypothetical HiV+ friends
06:13:39 <evincar> Sgeo: Yeah, you can't reasonably say "I won't get attached to this person because I don't want to get hurt later on".
06:13:51 <evincar> You can not want to become attached, sure.
06:13:59 <elliott> "Sorry dude, I can't be friends with you 'cuz yer gonna die."
06:14:02 <evincar> And you can set your situation up so that you have difficulty becoming attached.
06:14:21 <Sgeo> I don't think I would mind being attached, just not potentially fatally
06:14:36 <elliott> FATAL ATTACHMENT
06:14:36 <evincar> But if you're compatible with a person, the main predictors of attachment are going to be proximity and time.
06:14:54 <evincar> It sounds like a Tom Cruise or Nick Cage movie.
06:15:20 <elliott> tom cruise AND nic cage
06:15:24 <elliott> instantly best film
06:15:28 -!- lament has quit (Ping timeout: 264 seconds).
06:15:30 <evincar> I didn't say xor, I guess.
06:15:31 <elliott> they become glued to each other
06:15:31 <elliott> and
06:15:32 <elliott> it's FATAL
06:15:48 <evincar> So, the Human Centipede, but with only two victims.
06:16:03 <Sgeo> I've heard of that movie!
06:16:15 <Sgeo> Don't know anything about it, but I've heard of it
06:16:27 <evincar> Oh, and regardless of what you may have heard about it, A Serbian Film is worth watching once.
06:16:36 <evincar> You may want to have vodka on hand, though.
06:17:21 <evincar> Human Centipede = three people are sewn together, anus-to-mouth times two.
06:17:27 <elliott> oh, librep is still maintained!
06:17:34 <elliott> evincar: wait it's only three people in a centipede?
06:17:35 <elliott> lame
06:18:06 <pikhq_> elliott: And a dude who is implied to be jacking off to it.
06:18:13 <elliott> yeah but only three people
06:18:14 <elliott> laaaame
06:18:21 <pikhq_> That's for the sequel.
06:18:24 <pikhq_> (honest)
06:18:26 <elliott> how many legs do centipedes have????
06:18:28 <evincar> A Serbian Film = former porn star commissioned by crazy studio to make shock porn, wakes up covered in blood with no memory of events, pieces together events from videos.
06:18:30 <elliott> it needs to have that many arms+legs
06:18:44 <evincar> elliott: In the tens.
06:18:55 <elliott> but millipedes have millionsr ight :| dont ruin me
06:19:01 <pikhq_> 20 to 300.
06:19:54 <elliott> while we're talking about films, is the rest of Enter the Void as good as its credit sequence (http://www.youtube.com/watch?v=dL0lNGXoP8E (don't watch if you're epileptic probably)), because if so i'm totally going to watch it
06:20:08 <elliott> i'd buy a dvd with just those credits
06:20:29 <Sgeo> You could make one
06:20:44 <evincar> Does anyone still use long numbers (milliard, increments of 1e6) rather than short (billion, increments of 1e3)?
06:20:58 <coppro> yes
06:21:16 <elliott> evincar: in English?
06:21:20 <evincar> Seems inconvenient. Then again, most number systems are.
06:21:22 <elliott> only people who want to confuse others
06:21:28 <elliott> in other languages? of course
06:21:35 <elliott> Sgeo: make what
06:21:53 <Sgeo> DVD-whatever with those credits
06:22:33 <elliott> i don't think that'd be worth the effort :P
06:22:46 <elliott> although admittedly it's the only credit sequence i've seen with an actual climax, maybe it needs scene selection
06:23:03 <elliott> i wonder if anyone's made a credit sequence that's just the credits for the credit sequence
06:23:18 <elliott> like a book of reviews of itself
06:23:24 <evincar> elliott: Like a quine?
06:24:03 <evincar> Except the shortest possible credit sequence is that made by one (wo)man with no name.
06:24:34 <evincar> Lasting 1/24 s for formality.
06:24:53 <Sgeo> Spending effort > spending money
06:24:54 <itidus20> i like to ponder the fundamental question of what are numbers...
06:24:55 <Sgeo> Usually
06:25:14 <Sgeo> For me
06:25:35 <itidus20> things like -2,-1,0,1,2 doesn't quite explain it
06:25:37 <elliott> Sgeo: uh, context
06:25:41 <elliott> itidus20: lol
06:25:45 <Sgeo> <elliott> i don't think that'd be worth the effort :P
06:25:45 <elliott> itidus20: do you know any set theory
06:25:57 <evincar> itidus20: A number is a function taking an object and yielding a description of a quantity of that object?
06:25:58 <elliott> Sgeo: you realise i wouldnt actually buy a dvd of just those credits
06:26:09 <evincar> It's sort of an irreducible concept.
06:26:09 <elliott> evincar: well that's certainly a vague nonstandard definition
06:26:13 <elliott> no it isn't
06:26:21 <elliott> 0 = {}, Sn = n union {n}, come on
06:26:43 <elliott> well if you want more than the naturals it's more complicated ofc :P
06:26:52 <Sgeo> God of the Math-Gap?
06:27:39 <evincar> elliott: That's not a reduction, that's more of an implementation or restatement.
06:27:49 <evincar> The question is what numbers are.
06:27:50 <elliott> how is a definition not a reduction
06:28:02 <elliott> number means nothing, natural, integer, rational, ... do
06:28:02 -!- NihilistDandy has joined.
06:28:08 <Sgeo> evincar, wouldn't it make more sense at this point to ask what a set is?
06:28:13 <elliott> and those are all perfectly reducible to the axioms of ZF set theory
06:28:19 <elliott> or Martin-Löf type theory or whatever
06:28:20 <Sgeo> Numbers are just a special sort of set
06:28:22 <elliott> whatever floats your boat
06:28:42 <itidus20> hmm
06:29:09 <evincar> In the practical sense, say a linguistic sense, what function does a number serve?
06:29:23 <elliott> what
06:29:29 <NihilistDandy> Ohai
06:29:35 <Sgeo> Depends on the context. In the real world, usually to quantify.
06:29:43 <evincar> That's the meaning I got from the question, and the question I tried to answer. :P
06:30:00 <evincar> Sgeo: But unfortunately then we run up against a definition of quantity. :(
06:30:14 <NihilistDandy> evincar: How much muchness is there?
06:30:20 <itidus20> perhaps numbers are merely an aspect of human interpretation of events
06:30:22 <Sgeo> evincar, this turning into a question about language, not a question about numbers.
06:30:24 <evincar> And numbers aren't even universal. There are languages without numbers.
06:30:37 <NihilistDandy> evincar: Irrelevant
06:30:58 <elliott> <lament> <elliott> <elliott> Hey does anyone know a decent extension language library.
06:31:01 <evincar> Not at all. Numbers aren't the universal human descriptor of quantity.
06:31:18 <NihilistDandy> Just because I don't have a word for 6 doesn't mean there aren't 6 eggs in a half dozen
06:31:21 <evincar> They are *a* descriptor of quantity.
06:31:26 <NihilistDandy> I just can't describe that idea
06:31:47 <Sgeo> evincar, the most precise, perhaps overly precise, descriptor
06:32:39 <itidus20> evincar: it seems that quantity is the key word
06:33:56 <evincar> Yes, but it's still absurdly difficult to come up with a definition for "two" that doesn't use any "two"-ness.
06:34:19 <itidus20> are there limits of definability? :P
06:34:25 <NihilistDandy> One more than one of something
06:34:38 <evincar> Presumably those things which can only be defined in terms of themselves are axiomatic.
06:34:48 <evincar> So yes, the limits of definability are axioms.
06:34:57 <NihilistDandy> Depending on your set of axioms~
06:35:00 <itidus20> a computer program for example has axioms of instruction set.... it can't really be reduced beyond the instruction set
06:35:22 <itidus20> uh i mean, once it does it ceases to be a computer program
06:35:25 <evincar> itidus20: Microcode.
06:35:28 <Sgeo> elliott, what's the liklihood of this conversation melting my brain via means of blah
06:35:43 <evincar> So the response is actually "oh yes it can".
06:35:58 <evincar> And further still.
06:36:05 <NihilistDandy> 01100010 01101100 01100001 01101000 00100000 01100010 01101100 01100001 01101000 00100000 01100010 01101100 01100001 01101000
06:36:19 <evincar> No encoding specified.
06:36:29 <itidus20> guys, if there was a limit on any of this i am quite certain that we would not be discussing it at all. we know its possible.. and deep down we know all useful knowledge comes at the cost of lots of hard work
06:36:30 <elliott> <Sgeo> elliott, what's the liklihood of this conversation melting my brain via means of blah
06:36:30 <elliott> what
06:36:33 <evincar> Assuming default encoding which is EBCDIC for some reason.
06:39:12 <Sgeo> 001100 010010 011110 100001 101101 110011 111111
06:39:51 <Sgeo> Oops, ignore the 111111
06:40:15 <itidus20> my conception of numbers is like: so you start with a finite ruler of some kind. such as a slice of cheese or a cake.. and you say.. this finite ruler is 1 unit. then you divide it up as much as reasonably possible.
06:40:35 <itidus20> and then you say, each division of the unit, itself, is a unit, and could theoretically be divided up
06:40:55 <NihilistDandy> Define finite
06:41:53 <itidus20> an object which can be manipulated in it's entirety by a human
06:42:06 <NihilistDandy> How do you define a set, then?
06:42:13 <NihilistDandy> And what consitutes manipulation?
06:42:15 <Sgeo> Define "object"
06:42:18 <NihilistDandy> And what's a human?
06:42:25 <NihilistDandy> And what's entirety?
06:42:28 <Sgeo> Do mathematical constructs count as objects?
06:42:31 <Patashu> this is dumb
06:42:39 <NihilistDandy> evincar started it :d
06:42:41 <itidus20> a set definition is finite... even though its meaning is infinite
06:42:46 <NihilistDandy> What's finite?
06:42:47 <Sgeo> itidus20, wrong
06:42:50 <evincar> Did not.
06:43:33 <elliott> <Patashu> this is dumb
06:43:34 <elliott> yes
06:43:36 <elliott> <NihilistDandy> evincar started it :d
06:43:38 <elliott> no, iti did
06:43:39 <elliott> :P
06:43:45 <Sgeo> Given a finite vocabulary, there are sets that you can't describe with a finite squence of symbols in that vocabulary
06:43:45 <itidus20> i mean, like, if you write down a set ... that writing is finite.. it is a subset of the piece of paper
06:43:49 <Patashu> I have a more interesting problem:
06:43:52 <Patashu> What is the largest number?
06:43:55 <Sgeo> itidus20, you can't get all sets like that
06:44:04 <elliott> Patashu: One second.
06:44:11 <itidus20> but each actual set definition is a finite thing existing in a finite computer or on a finite piece of paper
06:44:20 <elliott> Patashu: 45,000,000,000.
06:44:21 <NihilistDandy> Patashu: The largest number you can think of + 1
06:44:22 <Sgeo> itidus20, all that we can manipulate, yes
06:44:25 <elliott> I looked this up in a reliable source.
06:44:26 <Sgeo> But there's more sets than that
06:44:59 <itidus20> ok *wipes brow*
06:45:23 <Sgeo> You can't describe all real numbers with a finite sequence of symbols, and it's pretty easy to imagine a set that is dependent on a sepcific number
06:45:57 <itidus20> the word infinity is 8 characters long and thus finite... and yet defines something infinite
06:46:06 <NihilistDandy> It defines nothing
06:46:11 <NihilistDandy> The definition defines it
06:46:18 <NihilistDandy> The word is just a representative
06:46:19 <evincar> The symbol refers to it.
06:46:28 <itidus20> perhaps i should say, symbols are finite
06:46:39 <NihilistDandy> In what sense?
06:46:53 <itidus20> i mean..i know there can be infinite symbols.. but each specific symbol is a finite thing
06:47:00 <NihilistDandy> Is it?
06:47:11 <NihilistDandy> Is a line not a symbol?
06:47:18 <NihilistDandy> Is a point really finite?
06:47:24 <itidus20> does it have to be percieved to be a symbol?
06:47:28 <elliott> oh my god
06:47:47 <NihilistDandy> elliott created a monster
06:47:54 <evincar> This is horrifying.
06:47:55 <Sgeo> elliott, baby steps on the way to thinking
06:48:01 <NihilistDandy> And the monster will forevermore be remembered by his name
06:48:04 <Sgeo> Well, not baby steps
06:48:07 <Sgeo> There is thinking
06:48:13 <itidus20> aren't symbols ultimately the handles on reality
06:48:15 <NihilistDandy> Just baby-like thinking
06:48:22 <evincar> Worse than being in the café at my college.
06:48:23 <NihilistDandy> itidus20: Justify
06:48:44 <NihilistDandy> evincar: Godwin's Corollary :D
06:48:57 <elliott> three seconds away from rage/parting if we don't stop sounding like the other kind of #esoteric
06:49:34 <Sgeo> elliott, nothing wrong with philosomath
06:49:41 <itidus20> written characters are always small enough relative to our anticipated distance from them to be percieved in full
06:49:42 <NihilistDandy> I only came on because I had a question for #haskell, but they're busy gassing on about ByteStrings
06:49:42 <elliott> Sgeo: you're not doing philosomath
06:49:48 <evincar> itidus20: Actually, no, they're not. The Sapir-Whorf Hypothesis and linguistic relativity are largely discredited.
06:49:52 <elliott> NihilistDandy: ask me instead im genius
06:50:18 <NihilistDandy> evincar: Almost completely discredited. You give them too much credit :D
06:50:27 <NihilistDandy> elliott: Okay, hpaste inbound
06:50:42 <NihilistDandy> http://hpaste.org/49703
06:50:54 <NihilistDandy> Tell me if you know what I'm going for, then I'll explain if it's not clear
06:51:12 <itidus20> im more out of my depth than i am aware of :D
06:51:14 <NihilistDandy> I know it's ugly and awful, by the way
06:51:21 <NihilistDandy> I'm trying to fix that
06:52:31 <Sgeo> g :: Integral a => [a] -> [a]
06:52:31 <Sgeo> g = map g'
06:52:35 <Sgeo> Why would that compile?
06:52:41 <NihilistDandy> Why wouldn't it?
06:52:43 <Sgeo> Oh, derp
06:52:45 <NihilistDandy> :P
06:52:47 <coppro> what's g' here?
06:52:50 <elliott> NihilistDandy: What are you trying to do
06:52:59 <elliott> Like, that code looks like it should compile to me
06:53:07 <elliott> I dunno, ask an actual question
06:53:10 <NihilistDandy> It's not a compilation issue, it's a thought process issue
06:53:22 <elliott> Unfortunately I'm not a mind reader
06:53:23 <NihilistDandy> I'm trying to make a fairly simple implentation of permutation groups
06:53:37 <NihilistDandy> This is a short experiment that I scribbled down at work
06:53:49 <itidus20> evincar: thanks. good to know :D
06:53:51 <NihilistDandy> But it's disappointingly specific.
06:53:52 <elliott> it occurs to me that asking someone with this headache might not be your best hope :)
06:54:03 <NihilistDandy> elliott: No worries :D
06:54:26 <NihilistDandy> I'd like to be able to generalize it to arbitrary permutations, but reasoning about the type system has put me in a bit of a spot
06:54:36 <coppro> NihilistDandy: dude, !!
06:55:01 <NihilistDandy> coppro: In what way, exactly, should I use it?
06:58:09 <elliott> I'M AN IDIO- wait, what...
06:58:22 <elliott> OHHH
06:58:44 <coppro> mconcat = map . (!!)
06:58:58 <elliott> um...
06:58:59 <coppro> where a permutation is a list of integers from 0 to n-1
06:59:04 <elliott> :t map . (!!)
06:59:04 <lambdabot> forall b. [b] -> [Int] -> [b]
06:59:06 <elliott> :t mconcat
06:59:07 <lambdabot> forall a. (Monoid a) => [a] -> a
06:59:10 <elliott> how about no
06:59:18 <coppro> hrm wait
06:59:26 <elliott> pro
06:59:33 <coppro> wrong function
06:59:41 <NihilistDandy> Also
06:59:42 <NihilistDandy> http://mathbin.net/64558
06:59:43 <elliott> proest
06:59:46 <elliott> prost
06:59:52 <NihilistDandy> The texified version
06:59:55 <coppro> I MEANT mappend!
07:00:08 <elliott> :t mappend
07:00:08 <coppro> APPEND AND CONCATENATE THERE IS NO DISTINCTION
07:00:08 <lambdabot> forall a. (Monoid a) => a -> a -> a
07:00:12 <elliott> :t map . (!!)
07:00:13 <lambdabot> forall b. [b] -> [Int] -> [b]
07:00:19 <elliott> well ok for b=Int.
07:00:25 <coppro> well yeah
07:00:39 <coppro> I'm talking about with [Int] as the monoid
07:00:45 <coppro> or some newtype thereof
07:01:09 <coppro> (obviously it would actually have to be a newtype)
07:01:28 <coppro> (because haskell sucks)
07:01:33 <NihilistDandy> The TeX version is just in case permutation notation is a more familiar area
07:01:56 <Sgeo> 6 days without a Homestuck update
07:02:11 <NihilistDandy> Sgeo: How will you LIIIIIVE?
07:02:15 <coppro> > let perm = map . (!!) in [0,3,2,1] `perm` [2,3,1,0]
07:02:16 <lambdabot> [2,1,3,0]
07:03:07 <elliott> <coppro> (because haskell sucks)
07:03:14 <elliott> --mr "mappend and mconcat what is the difference"
07:03:36 <coppro> elliott: I was referring to the lack of elegant handling of multiple possible instances of a typeclass for a type
07:03:41 <NihilistDandy> > let perm = map . (!!) in [1,2,3,4,5] `perm` [2,4,5]
07:03:42 <lambdabot> [3,5,*Exception: Prelude.(!!): index too large
07:03:47 <NihilistDandy> And there's the problem
07:04:32 <NihilistDandy> The size of a cycle is not equal to the size of the set, necessarily
07:04:48 <coppro> that's not a permutation group...
07:05:16 <NihilistDandy> Sorry, meant permutations of a finite set
07:05:22 <NihilistDandy> Permutation groups come later
07:05:27 <NihilistDandy> I'm working up
07:05:34 <coppro> you're still missing the point
07:05:38 <coppro> a permutation contains all elements
07:05:51 <coppro> if you want permutations of the elements of the powerset, that's very different
07:05:59 <NihilistDandy> A cycle doesn't contain all elements
07:06:11 <NihilistDandy> And I'd like to be able to work with the permutation decomposed into its sycles
07:06:14 <NihilistDandy> *cycles
07:06:33 <elliott> this headache is unberable
07:06:36 <elliott> unberaable
07:06:36 <NihilistDandy> As illustrated in the TeX example
07:06:38 <elliott> also i can't type
07:06:44 <NihilistDandy> elliott: That looked like Dutch
07:07:15 <coppro> what TeX example?
07:07:21 <NihilistDandy> http://mathbin.net/64558
07:07:43 <NihilistDandy> That one
07:08:04 <evincar> NihilistDandy: unberaabel would look more Dutch.
07:08:11 <NihilistDandy> evincar: Truth
07:09:44 <coppro> NihilistDandy: you need to fill out your lists first then
07:09:48 <coppro> this is not expressible in the type system
07:10:01 <NihilistDandy> Exactly my thoughts.
07:10:11 <NihilistDandy> I was just curious if I might just be wrong
07:12:57 <evincar> Totally unrelated: does anyone know of a programming language that's not totally isolating? That is, say, an agglutinative or synthetic one.
07:13:20 <NihilistDandy> Rewrite C stdlib in Hungarian?
07:13:31 <evincar> It seems like programming languages don't have inflections in any real sense.
07:13:39 -!- TeruFSX has quit (Ping timeout: 260 seconds).
07:14:15 <evincar> Because even those assemblies where inflection is possible, it's not productive. I can't arbitrarily add inflections to root morphemes to make new instructions.
07:14:59 -!- pitufoide has joined.
07:15:52 <coppro> NihilistDandy: You would need to create a representation of the naturals in the type system for it to be useful
07:16:06 <NihilistDandy> They have type-level naturals in HEAD
07:16:50 <evincar> (Actually, programming languages seem to be all purely analytic, not just isolating.)
07:17:59 <elliott> coppro: that's trivial
07:18:06 <elliott> data Z
07:18:09 <elliott> data S n
07:18:11 <elliott> class Nat n
07:18:12 <elliott> instance Nat Z
07:18:14 <coppro> elliott: well yes
07:18:15 <elliott> instance (Nat n) => Nat (S n)
07:18:18 <elliott> blah blah blah infrastructure
07:18:21 <elliott> you can even do it in binary
07:18:27 <evincar> Guess it's time to make an esolang inspired by a Balto-Slavic language with many cases.
07:18:28 <elliott> it is a common technique.
07:18:36 <coppro> elliott: I know how to construct the naturals thank you
07:18:53 <coppro> elliott: I can even define addition!!1!one
07:19:07 <elliott> But can you define addition without type families?
07:19:16 <elliott> With a binary representation?
07:20:17 <coppro> define type families
07:20:29 <elliott> lol.
07:21:40 <coppro> elliott: do you mean the GHC extension?
07:22:27 <elliott> the extension is in very common use, and there is nothing else that type families refers to, so yes.
07:22:49 <coppro> k
07:23:29 <coppro> I believe the answer is yes
07:23:31 <coppro> let me double-check
07:23:37 <elliott> to what
07:24:01 <NihilistDandy> [03:18:49] <elliott> But can you define addition without type families?
07:24:01 <NihilistDandy> [03:18:57] <elliott> With a binary representation?
07:25:43 <Sgeo> I feel unwell
07:25:57 <elliott> i feel like a well
07:26:03 <elliott> weird feelin
07:26:42 <elliott> i wonder if this classes as a migraine
07:26:50 <elliott> probably not
07:28:58 <pikhq_> elliott: If you don't want to end electromagnetic radiation permanently, it's probably not a migraine.
07:29:11 <elliott> Electromagnetic radiation sucks shit, man.
07:29:32 <evincar> Nice chatting, folks. I'm off to eat a loaf of bed.
07:29:34 <pikhq_> Yes, but does it cause agony?
07:29:38 -!- evincar has quit (Quit: leaving).
07:31:37 <coppro> elliott: k i changed my mind
07:32:15 <coppro> I do not know how to implement it at the type level without type families
07:33:25 <elliott> oh, what i have here is actually subtraction
07:33:28 <elliott> but whatever, same thing :)
07:33:34 <elliott> no type families, and binary
07:33:44 <elliott> I can show you if you'd like
07:38:29 <coppro> would be interested
07:39:19 <NihilistDandy> Please do
07:40:42 <elliott> k one second
07:41:49 <elliott> sent in /msg, the world is too innocent to know my genius
07:42:00 <elliott> oh i forgot newtype Tagged t a = Tag { untag :: a }
07:42:20 <elliott> and it needs a whole bunch of ghc extensions but w/e
07:42:45 <elliott> it's a lot simpler if you just do it for unary instead of binary, but unfortunately that was much too slow.
07:44:58 <coppro> oh that explains it
07:45:05 <coppro> I was trying to avoid extensions generally
07:45:11 <elliott> that's impossible
07:45:44 <NihilistDandy> You can hardly do anything fun without extensions
07:47:02 <coppro> elliott: what extensions are those?
07:47:26 <elliott> coppro: I only have a list for the much larger program it's contained within; I suggest just adding them as GHC complains about not having them
07:48:37 <coppro> elliott: to be fair the only one that stands out is the | in classes
07:49:08 <elliott> Not quite: There's also multi-parameter type classes, flexible instances, I think probably undecidable instances...
07:49:10 <elliott> Flexible contexts too
07:49:15 <elliott> The |s are functional dependencies.
08:18:31 <elliott> ?pl \n pairs -> fromMaybe n (lookup n pairs)
08:18:31 <lambdabot> liftM2 (.) fromMaybe lookup
08:18:34 <elliott> ?pl \pairs n -> fromMaybe n (lookup n pairs)
08:18:34 <lambdabot> ap fromMaybe . flip lookup
08:18:47 <elliott> ?pl \ess@(e:es) -> zip ess (es ++ [e])
08:18:47 <lambdabot> (line 1, column 5):
08:18:47 <lambdabot> unexpected "@"
08:18:47 <lambdabot> expecting letter or digit, operator, pattern or "->"
08:18:55 <elliott> ?pl \(e:es) -> zip (e:es) (es ++ [e])
08:18:55 <lambdabot> ap (ap (ap . (zip .) . (:)) (flip (++) . return) . head) tail
08:19:01 <elliott> ?pl \(ess@(e:es)) -> zip ess (es ++ [e])
08:19:01 <lambdabot> (line 1, column 6):
08:19:01 <lambdabot> unexpected "@"
08:19:01 <lambdabot> expecting letter or digit, operator or ")"
08:19:05 <elliott> D'awww
08:19:15 <elliott> ?pl \xs -> zip xs (tail xs ++ [head xs])
08:19:15 <lambdabot> ap zip (liftM2 (++) tail (return . head))
08:26:53 -!- Sgeo has quit (Ping timeout: 250 seconds).
08:39:15 -!- MigoMipo has joined.
08:44:32 -!- Taneb has joined.
08:44:35 <Taneb> Hello
08:46:15 <coppro> Hi
08:47:06 <Taneb> What is happening in the WORLD OF ESOTERIC PROGRAMMING
08:47:20 <Taneb> ?
08:48:41 <elliott> EVERYTHING
08:49:16 <Taneb> Mein. Deu.
08:58:18 <coppro> why does Haskell not have a Semigroup typclass
08:58:20 <coppro> *typeclass
09:00:57 <Taneb> Because that would make everything too easy
09:01:44 <coppro> it should be class Semigroup s where { (<.>) :: s -> s -> s } and then class (Semigroup m) -> Monoid m where { identity :: m }
09:01:47 <elliott> coppro: http://hackage.haskell.org/package/semigroups
09:01:50 <coppro> or iden for short
09:01:51 <elliott> and your syntax is bad
09:02:01 <coppro> err =>
09:02:04 <coppro> YOU KNOW WHAT I MEANT
09:02:36 <Taneb> The world's in a mess
09:02:58 <coppro> also why does Semigroup have to stuff Monoid in a newtype
09:03:01 <itidus20> any postulate which makes everything too easy would be a divergence from reality, since reality is self-evidently not easy
09:03:01 <Taneb> Syria's in protest
09:03:13 <Taneb> US is having a crisis
09:03:16 <elliott> <coppro> also why does Semigroup have to stuff Monoid in a newtype
09:03:19 <itidus20> re: <Taneb> Because that would make everything too easy
09:03:24 <elliott> technical reasons
09:03:32 <elliott> (overlapping instances)
09:03:45 <elliott> and no, there is _not_ a real solution to that, beyond fixing Monoid to have the proper superclass
09:03:54 <elliott> it's not a flaw in Haskell, just a flaw in library structure.
09:04:21 <coppro> @src (<>) :: Option a -> Option a -> Option a
09:04:21 <lambdabot> Source not found. You speak an infinite deal of nothing
09:04:50 <elliott> Option?
09:04:56 <Patashu> Is there a 'fixed' version of Hasell
09:05:03 <elliott> Patashu: define fixed
09:05:12 <elliott> it has fewer flaws than almost every other language :)
09:05:23 <itidus20> as if to postulate: "each family has enough water" .. but all the while knowing "the city doesn't have enough water".. therefore one of the statements is wrong.
09:05:36 <Patashu> the monad/applicative stuff seems to be a flaw
09:05:51 -!- Taneb has quit (Quit: switching computer).
09:05:53 <elliott> Patashu: I didn't say it was without flaws
09:06:12 <elliott> but they should be fixed incrementally by the usual process, not by making some "fixed" version of Haskell. In fact you can "fix" Haskell today by writing your own Prelude.
09:06:26 <elliott> But the problem is that nobody will use it and it won't be compatible with anyone else's code.
09:06:28 <elliott> So that helps nobody.
09:06:43 <coppro> elliott: Option is a version of Semigroup for Maybe. Probably needs to be a newtype to avoid overlapping or some shit like that
09:07:09 <elliott> Well, semigroups isn't in Hoogle.
09:07:18 <coppro> explains it
09:07:20 <elliott> coppro: "a version of Semigroup"?
09:07:22 <elliott> "Option is effectively Maybe with a better instance of Monoid, built off of an underlying Semigroup instead of an underlying Monoid. Ideally, this type would not exist at all and we would just fix the Monoid intance of Maybe"
09:07:35 <coppro> that
09:07:42 -!- NihilistDandy has quit (Read error: Connection reset by peer).
09:07:47 -!- Taneb has joined.
09:07:55 <elliott> And before you whine again, the problem is a flawed Prelude, not Haskell's inability to do the impossible. :p
09:08:31 -!- NihilistDandy has joined.
09:08:36 <coppro> DISAGREE
09:09:12 <coppro> Monoid is not in Prelude
09:09:21 <coppro> but yes, the issue is not with Haskell itself
09:09:27 <elliott> You know what I mean.
09:09:29 <elliott> The base package.
09:09:42 <elliott> Anyway, these issues come up a lot in discussion, but are really very minor in practice.
09:09:51 <coppro> this all came up because Applicative ((,) e) requires a Monoid where it could use a Semigrouop
09:09:55 <coppro> *Semigroup
09:10:21 <coppro> oh wait, pure requires a Monoid
09:10:22 <coppro> NEVERMIND
09:10:26 <elliott> herp derp
09:10:34 <coppro> I R SMRT
09:11:36 <coppro> although really, <*> doesn't require the existence of 'pure' conceptually
09:11:48 <elliott> no function requires the existence of any function
09:11:55 <elliott> but applicatives are constructed the way they are for a reason
09:11:58 <elliott> without pure, you cannot give them laws.
09:12:06 <elliott> and without laws, every abstraction is useless.
09:12:12 -!- oerjan has joined.
09:12:19 <elliott> hi oerjan
09:12:24 <oerjan> hi elliott
09:12:30 <NihilistDandy> hi NihilistDandy
09:12:34 <NihilistDandy> Oh, wait
09:12:50 <oerjan> NihilistDandy: you're a nihilist, not a solipsist, duh
09:13:05 <NihilistDandy> Well, you've got me there
09:14:08 <NihilistDandy> Anyway, I have to sleep
09:14:19 <NihilistDandy> Adios
09:17:41 <coppro> elliott: minor nit: why does the haskell community call them laws and not axioms?
09:18:01 <elliott> coppro: because they're not axioms
09:18:19 <elliott> they are propositions that an instance must satisfy, not things that are just true
09:18:31 <elliott> I mean, you could use axiom equivalently, I suppose
09:18:34 <elliott> And it wouldn't be very confusing
09:18:37 <elliott> But how's it a "nit"
09:18:42 <elliott> I don't see how "law" is wrong in any way
09:19:19 <oerjan> how dare the haskellers use a less mathematically obscure term for once!
09:31:40 <coppro> ^
09:31:50 <coppro> hell, C++ was considering axioms
09:33:06 <Patashu> how would C++ use axioms?
09:33:42 -!- Taneb has quit (Quit: He's a big quitter he is.).
09:33:57 <coppro> Patashu: for basically the same thing
09:34:16 <coppro> they were working on a compile-time polymorphism feature
09:34:24 <coppro> with constrained types
09:34:32 <coppro> and 'axioms' which could be used as optimizer hints
09:34:40 <coppro> as well as in-source documentation of code
09:35:03 <Patashu> :(
09:35:04 <Patashu> I want that
09:35:13 <coppro> also the ((->) r) monad is bitchin'
09:35:28 <coppro> Patashu: if you really want it, help them resolve the issues!
09:35:39 <elliott> it was rejected.
09:35:43 <coppro> No
09:35:57 <coppro> It was removed from C++11 due to the fact that they couldn't finish it
09:36:20 <coppro> and they decided "we've wasted enough time, let's ship something without it and fix it for next time"
09:36:22 -!- NihilistDandy has quit (Read error: Operation timed out).
09:37:12 <coppro> head >>= all . (==)
09:37:45 <coppro> that function is pure epic win
09:38:31 <elliott> :t head >>= all . (==)
09:38:32 <lambdabot> forall a. (Eq a) => [a] -> Bool
09:39:08 <elliott> > (head>>=all.(==)) [0,0,0]
09:39:09 <lambdabot> True
09:39:10 <elliott> > (head>>=all.(==)) [0,0,0,9]
09:39:11 <lambdabot> False
09:39:13 <elliott> > (head>>=all.(==)) [0,9,0]
09:39:14 <lambdabot> False
09:39:19 <elliott> > (null . nub) [0,9,0]
09:39:20 <lambdabot> False
09:39:22 <elliott> coppro: shortened that for you
09:39:23 <elliott> > (null . nub) [0,0,0]
09:39:24 <lambdabot> False
09:39:28 <elliott> guh what
09:39:30 <elliott> > nub [0,0,0]
09:39:31 <lambdabot> [0]
09:39:33 <elliott> oh
09:39:35 <elliott> > nub []
09:39:35 <lambdabot> []
09:39:41 <elliott> ?hoogle safeTail
09:39:42 <lambdabot> Data.ByteString.Unsafe unsafeTail :: ByteString -> ByteString
09:39:44 <elliott> ?hoogle something
09:39:44 <lambdabot> Data.Generics.Schemes something :: GenericQ (Maybe u) -> GenericQ (Maybe u)
09:39:58 <elliott> coppro: (null . tail' . nub), anyway, where tail' [] = []; tail (_:xs) = xs
09:40:56 <coppro> elliott: drop 1
09:41:12 <coppro> elliott: but nub is inefficient
09:41:23 <elliott> Oh right, drop 1.
09:41:24 <elliott> ?src nub
09:41:24 <lambdabot> nub = nubBy (==)
09:41:27 <elliott> ?src nubBy
09:41:27 <lambdabot> nubBy eq [] = []
09:41:27 <lambdabot> nubBy eq (x:xs) = x : nubBy eq (filter (\ y -> not (eq x y)) xs)
09:41:34 <elliott> coppro: I don't see why it'd be inefficient at this.
09:41:46 <elliott> Well, OK.
09:41:50 <elliott> But it's prettier.
09:42:10 <coppro> I'm using a custom comparer
09:42:39 <coppro> so I'd say "head >>= all . comp" is better than "null . drop 1 . nubBy comp"
09:45:07 <oerjan> it's all in the head
09:45:26 <coppro> ?hoogle (c -> c -> c) -> (a -> c) -> (b -> c) -> a -> b -> c
09:45:26 <lambdabot> No results found
09:46:02 <elliott> ?djinn (c -> c -> c) -> (a -> c) -> (b -> c) -> a -> b -> c
09:46:02 <lambdabot> f a b c d e = a (b d) (c e)
09:46:08 <elliott> ?pl \a b c d e -> a (b d) (c e)
09:46:08 <lambdabot> ((flip . ((.) .)) .) . (.)
09:46:09 <oerjan> didn't we discuss something like that the other day
09:46:10 <elliott> coppro: yw
09:46:19 <coppro> elliott: h8 u
09:46:27 <elliott> ?pl \b c d e -> a (b d) (c e)
09:46:27 <lambdabot> flip . (((.) . a) .)
09:46:34 <elliott> ?pl \d e -> a (b d) (c e)
09:46:34 <lambdabot> (. c) . a . b
09:46:36 <oerjan> i think i made a version with arrow style
09:47:19 <elliott> arrows :(
09:47:22 <coppro> :t on
09:47:22 <lambdabot> forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c
09:48:15 <oerjan> uncurry (uncurry a . (b *** c)) or something
09:49:36 <oerjan> :t uncurry (uncurry ?a . (?b *** ?c))
09:49:37 <lambdabot> forall a b b1 c b2 b'. (?a::a -> b -> b1 -> c, ?b::b2 -> a, ?c::b' -> b) => ((b2, b'), b1) -> c
09:49:42 <oerjan> oops
09:49:50 <oerjan> :t curry (uncurry ?a . (?b *** ?c))
09:49:50 <lambdabot> forall a b c a1 b1. (?a::a -> b -> c, ?b::a1 -> a, ?c::b1 -> b) => a1 -> b1 -> c
09:50:23 <oerjan> @pl \a b c -> curry (uncurry a . (b *** c))
09:50:23 <lambdabot> ((curry .) .) . (. (***)) . (.) . (.) . uncurry
09:50:45 <oerjan> (argh)
09:51:12 <oerjan> oh hm
09:51:14 <elliott> btw oerjan
09:51:15 <elliott> newtype MyMonad a = MyMonad (StateT MyState (ReaderT Options (ErrorT MyException (WriterT [String] IO))) a)
09:51:15 <elliott> deriving (Functor, Monad, MonadReader Options, MonadState MyState, MonadError MyException, MonadWriter [String])
09:51:23 <elliott> seen in actual haskell code
09:51:27 <elliott> i weep for humanity
09:51:39 <monqy> who would do that
09:51:50 <oerjan> you'd think they could fit an RSWT in there somewhere
09:52:31 <elliott> monqy: the same guy who thinks that everybody just uses the io monad with exceptions and state
09:52:33 <elliott> remember them??
09:52:39 <elliott> http://www.reddit.com/r/haskell/comments/j2n5w/why_doesnt_haskell_have_something_like_this_how/c294l8g?context=3 btw
09:52:45 <elliott> for me yelling at them for it
09:52:57 <coppro> :t (&&) <$> ((<*>) `on` ((==) .)) height width
09:52:58 <lambdabot> Not in scope: `height'
09:52:58 <lambdabot> Not in scope: `width'
09:53:05 <coppro> ?unpl (&&) <$> ((<*>) `on` ((==) .)) height width
09:53:05 <lambdabot> ((&&) <$> (on (<*>) (\ a d -> (==) (a d)) height width))
09:53:15 <elliott> coppro: now /that's/ unreadable
09:53:19 <elliott> add some where bindings, dude
09:53:45 <coppro> :t (&&) <$> ((<*>) `on` ((==) .)) length first
09:53:46 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
09:53:46 <lambdabot> Expected type: f (a -> b)
09:53:46 <lambdabot> Inferred type: f a
09:53:58 <coppro> :t (&&) <$> ((<*>) `on` ((==) .)) length head
09:53:59 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
09:53:59 <lambdabot> Expected type: f (a -> b)
09:53:59 <lambdabot> Inferred type: f a
09:54:06 <coppro> damn
09:54:24 <oerjan> :t curry (curry . (uncurry ?a .) . uncurry (***))
09:54:24 <lambdabot> forall c b c1 b' c'. (?a::c1 -> c' -> c) => (b -> c1) -> (b' -> c') -> b -> b' -> c
09:54:30 <coppro> :t (<*> `on` ((==) .))
09:54:30 <lambdabot> parse error on input ``'
09:54:44 <coppro> :t ((<*>) `on` ((==) .))
09:54:45 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
09:54:45 <lambdabot> Expected type: f (a -> b)
09:54:45 <lambdabot> Inferred type: f a
09:54:59 <coppro> there's me problem
09:55:13 <oerjan> ?pl \a -> curry (curry . (uncurry a .) . uncurry (***))
09:55:13 <lambdabot> curry . (curry .) . (. uncurry (***)) . (.) . uncurry
09:55:26 <coppro> :t ((==) .)
09:55:27 <lambdabot> forall a (f :: * -> *). (Eq a, Functor f) => f a -> f (a -> Bool)
09:55:35 <elliott> coppro: btw: you were talking about wanting semigroups for an Applicative without pure
09:55:39 <oerjan> :t curry . (curry .) . (. uncurry (***)) . (.) . uncurry
09:55:39 <lambdabot> forall a b c a1 b1. (a1 -> b1 -> c) -> (a -> a1) -> (b -> b1) -> a -> b -> c
09:55:48 <coppro> elliott: I was joking really
09:56:07 <elliott> coppro: see Apply in http://hackage.haskell.org/packages/archive/semigroupoids/1.2.2.1/doc/html/Data-Functor-Apply.html, by the same author as the semigroups paclage
09:56:26 <elliott> package
09:56:44 <coppro> don
09:56:50 <elliott> don
09:56:55 <coppro> thanks
09:57:09 <augur> someone should write an agdabot
09:57:10 <coppro> excuse me while I try to sort this mess out
09:57:18 <elliott> what mess :)
09:57:34 <elliott> coppro: (btw, these packages are basically the split-up sequel to category-extras, which is deprecated, if you've heard of it)
09:57:36 <elliott> by the same guy
09:57:38 <coppro> oh damn that's left-associative no wonder
09:58:08 <elliott> http://www.reddit.com/r/haskell/comments/fvabx/greenfield_haskell/c1j0kju has a link to all the category-extras sequels :P
09:58:12 <coppro> :t (&&) <$> ((==) . length) <$> ((==) . first)
09:58:12 <lambdabot> Couldn't match expected type `Bool'
09:58:12 <lambdabot> against inferred type `a -> Bool'
09:58:12 <lambdabot> In the first argument of `(.)', namely `(==)'
09:58:23 <elliott> http://hackage.haskell.org/package/void this is the most useful one
09:58:23 <elliott> ;D
09:58:36 <elliott> gotta love them instances
09:58:48 <coppro> haha
09:58:58 <oerjan> :t (&&) <$> ((==) . length) <*> ((==) . first)
09:58:58 <lambdabot> Couldn't match expected type `Bool'
09:58:58 <lambdabot> against inferred type `a -> Bool'
09:58:58 <lambdabot> In the first argument of `(.)', namely `(==)'
09:59:15 <oerjan> bah
09:59:28 -!- TeruFSX has joined.
09:59:49 <coppro> elliott: Is that suppose to be an inconstructible type?
10:00:00 <elliott> coppro: s/suppose to be/is/
10:00:13 <elliott> it is actually quite useful
10:00:15 <coppro> example?
10:00:23 <elliott> what do you mean?
10:00:25 <elliott> example of its use?
10:00:28 <coppro> yeah
10:00:43 <coppro> :t length
10:00:43 <lambdabot> forall a. [a] -> Int
10:00:52 <coppro> :t ((==) . length)
10:00:52 <lambdabot> forall a. [a] -> Int -> Bool
10:01:02 <elliott> coppro: well, for instance, if a certain branch is impossible, and you can make the types work out so that the impossible branch gives you a Void...
10:01:05 <elliott> umm, I forget precisely
10:01:09 <elliott> but I know that Epigram uses it, IIRC
10:01:10 <elliott> or was it Agda
10:01:13 <elliott> something McBride worked on, anyway ;-)
10:01:19 <coppro> ah
10:01:25 <coppro> makes more sense with dependent types
10:01:29 <elliott> but yes, mostly useful in compiler output than by hand, I would think
10:01:49 <coppro> oh fuck that's what I'm doing wrong
10:02:05 <elliott> coppro: McBride wanted vacuous added (see http://hackage.haskell.org/packages/archive/void/0.5.4.1/doc/html/src/Data-Void.html)
10:02:09 <elliott> so I presume that ended up useful for something
10:02:13 <elliott> because of its efficient unsafeCoerce implementation
10:02:46 <coppro> yeah I looked at the source
10:04:47 <oerjan> doing the impossible, and efficiently!
10:09:54 <coppro> :t (***) `on` ((==) .)
10:09:54 <lambdabot> forall (a :: * -> * -> *) b a1. (Arrow a, Eq a1, Functor (a b)) => a b a1 -> a b a1 -> a (b, b) (a1 -> Bool, a1 -> Bool)
10:10:07 <coppro> :t (***) `on` ((==) .) first length
10:10:08 <lambdabot> Couldn't match expected type `a b c' against inferred type `Bool'
10:10:08 <lambdabot> In the first argument of `(.)', namely `(==)'
10:10:08 <lambdabot> In the second argument of `on', namely `((==) .) first length'
10:10:14 -!- monqy has quit (Quit: hello).
10:10:19 <coppro> :t (***) `on` ((==) .) $ first length
10:10:19 <lambdabot> Precedence parsing error
10:10:19 <lambdabot> cannot mix `on' [infixl 0] and `$' [infixr 0] in the same infix expression
10:10:23 <coppro> :t (***) `on` ((==) .) $ first # length
10:10:24 <lambdabot> Precedence parsing error
10:10:24 <lambdabot> cannot mix `on' [infixl 0] and `$' [infixr 0] in the same infix expression
10:10:24 <lambdabot> Not in scope: `#'
10:10:30 <coppro> :t (***) `on` ((==) .) $ first $ length
10:10:31 <lambdabot> Precedence parsing error
10:10:31 <lambdabot> cannot mix `on' [infixl 0] and `$' [infixr 0] in the same infix expression
10:10:34 <coppro> damn you
10:10:46 <coppro> :t ((***) `on` ((==) .)) first length
10:10:47 <lambdabot> Couldn't match expected type `a b c' against inferred type `[a1]'
10:10:47 <lambdabot> Expected type: a b c -> a (b, d) (c, d)
10:10:47 <lambdabot> Inferred type: [a1] -> Int
10:11:17 <coppro> :t ((***) `on` ((==) .)) first
10:11:18 <lambdabot> forall (a :: * -> * -> *) b c d. (Eq (a (b, d) (c, d)), Arrow a) => (a b c -> a (b, d) (c, d)) -> (a b c, a b c) -> (a (b, d) (c, d) -> Bool, a (b, d) (c, d) -> Bool)
10:11:25 <coppro> :t first
10:11:25 <lambdabot> forall (a :: * -> * -> *) b c d. (Arrow a) => a b c -> a (b, d) (c, d)
10:11:29 <coppro> oh no wonder
10:11:32 <coppro> :t ((***) `on` ((==) .)) head
10:11:32 <lambdabot> forall a. (Eq a) => ([a] -> a) -> ([a], [a]) -> (a -> Bool, a -> Bool)
10:11:34 <coppro> derpderpderp
10:11:51 <coppro> :t (&&) <$> ((==) . length) <$> ((==) . head)
10:11:52 <lambdabot> Couldn't match expected type `Bool'
10:11:52 <lambdabot> against inferred type `a -> Bool'
10:11:52 <lambdabot> In the first argument of `(.)', namely `(==)'
10:11:57 <coppro> yup didn't expect that to work
10:12:18 <coppro> :t curry $ uncurry (&&) $ ((***) `on` ((==) .)) first length
10:12:19 <lambdabot> Couldn't match expected type `Bool' against inferred type `(b, b)'
10:12:19 <lambdabot> Expected type: (Bool, Bool)
10:12:19 <lambdabot> Inferred type: ((b, b), (a -> Bool, a -> Bool))
10:12:38 <coppro> :t uncurry (&&) . ((***) `on` ((==) .)) first length
10:12:39 <lambdabot> Couldn't match expected type `Bool'
10:12:39 <lambdabot> against inferred type `a -> Bool'
10:12:39 <lambdabot> Expected type: a1 (b, b) (Bool, Bool)
10:13:08 <coppro> :t curry $ uncurry (&&) $ ((***) `on` ((==) .)) head length
10:13:09 <lambdabot> Couldn't match expected type `Bool' against inferred type `(b, b)'
10:13:09 <lambdabot> Expected type: (Bool, Bool)
10:13:09 <lambdabot> Inferred type: ((b, b), (a -> Bool, a -> Bool))
10:13:17 <coppro> :t curry . uncurry (&&) . ((***) `on` ((==) .)) head length
10:13:18 <lambdabot> Couldn't match expected type `(a, b) -> c'
10:13:18 <lambdabot> against inferred type `Bool'
10:13:18 <lambdabot> In the first argument of `(.)', namely `uncurry (&&)'
10:13:35 <coppro> :t ((***) `on` ((==) .)) head length
10:13:35 <lambdabot> ([Int], [Int]) -> (Int -> Bool, Int -> Bool)
10:13:57 <coppro> oh of course I run into the same damn problem again
10:14:04 <coppro> FUCK MULTIPLE ARGUMENTS
10:14:48 <coppro> or just me being up at 3 am
10:14:49 <elliott> coppro: Dude, just write it out explicitly.
10:15:12 <coppro> :t (&&) <$> (== `on` head) <*> (== `on` length)
10:15:13 <lambdabot> parse error on input ``'
10:15:21 <coppro> :t (&&) <$> ((==) `on` head) <*> ((==) `on` length)
10:15:22 <lambdabot> Couldn't match expected type `Bool'
10:15:22 <lambdabot> against inferred type `[a] -> Bool'
10:15:22 <lambdabot> Probable cause: `on' is applied to too few arguments
10:15:24 <elliott> Or not.
10:15:28 <coppro> elliott: no
10:15:32 <coppro> I will not give in
10:15:43 <elliott> coppro: You're making your code less readable.
10:15:48 <coppro> elliott: I know
10:15:55 <coppro> I dun care
10:16:04 <elliott> k
10:16:11 <coppro> FREE ALL THE POINTS
10:16:23 <coppro> it's 3 am
10:16:29 <coppro> I am allowed to free every point I want
10:16:46 <coppro> :t (==) `on` head
10:16:47 <lambdabot> forall a. (Eq a) => [a] -> [a] -> Bool
10:16:50 <elliott> 3 am is nothing.
10:17:07 <coppro> elliott: I was up till at least 6 yesterday
10:17:35 <elliott> coppro: dude, don't talk to me about sleep.
10:17:44 <coppro> ?hoogle (a -> a -> a) -> (b -> b -> a) -> (b -> b -> a) -> b -> b -> a
10:17:44 <lambdabot> No results found
10:17:44 <elliott> coppro: Literally everything you say will be met by scornful laughter.
10:17:49 <coppro> elliott: k
10:17:50 <elliott> I have experienced every schedule.
10:17:52 <elliott> EVERY SCHEDULE.
10:17:56 <coppro> elliott: even uberman
10:18:08 <elliott> Oh, no schedules sane enough to have names.
10:18:10 <coppro> btw I have arrived for work at 4pm before
10:18:12 <coppro> on a regular basis
10:18:26 <elliott> I also haven't technically been awake more than forty hours at a time before, but that just means my works of art are short-form.
10:18:30 <coppro> it's actually to the point where I get made fun of when I show up
10:18:36 <coppro> because either I'm showing up really late
10:18:40 <coppro> or I'm showing up earlier than normal
10:18:53 <coppro> also fuck this sunburn
10:19:14 <elliott> So nobody actually does anything at Google, right? You just arrive there, have your free GOOGLE GORMET LUNCH, play with a bunch of large coloured plastic spheres, have some twenty percent time, and then go home?
10:19:36 <elliott> Theory: Google is actually day care.
10:19:39 <coppro> elliott: dude you think I show up for lunch
10:19:57 <elliott> coppro: Sheesh, just go all ruining my joke by responding too quickly.
10:20:20 <coppro> also we have beach parties
10:21:22 <elliott> :t foldM
10:21:22 <lambdabot> forall a b (m :: * -> *). (Monad m) => (a -> b -> m a) -> a -> [b] -> m a
10:21:53 <elliott> :t \mp fld zr -> mapM mp >>= foldM fld z
10:21:53 <lambdabot> forall t a b. (a -> [b]) -> (Expr -> [b] -> [a] -> Expr) -> t -> [a] -> Expr
10:21:58 <elliott> X-D
10:21:58 <elliott> :t \mp fld zr -> mapM mp >>= foldM fld zr
10:21:59 <lambdabot> forall a b b1. (a -> [b]) -> (b1 -> [b] -> [a] -> b1) -> b1 -> [a] -> b1
10:22:14 <elliott> :t \mp fld zr lst -> mapM mp lst >>= foldM fld zr
10:22:15 <lambdabot> forall a (m :: * -> *) b b1. (Monad m) => (a -> m b) -> (b1 -> b -> m b1) -> b1 -> [a] -> m b1
10:22:17 <elliott> ?pl \mp fld zr lst -> mapM mp lst >>= foldM fld zr
10:22:17 <lambdabot> (. foldM) . (.) . flip . ((>>=) .) . mapM
10:22:23 <elliott> ?pl \fld zr mp lst -> mapM mp lst >>= foldM fld zr
10:22:23 <lambdabot> (flip (flip . ((>>=) .) . mapM) .) . foldM
10:22:25 <elliott> Pah.
10:22:42 <elliott> oerjan: Hey, you write the boilerplate to do the map as part of the fold, thx :P
10:22:54 <oerjan> <elliott> coppro: Dude, just write it out explicitly. <-- if for nothing else, so the rest of us can guess what you're trying to do! :P
10:23:27 <elliott> I'm way too cool to care about that.
10:23:32 <elliott> But
10:23:33 <elliott> <elliott> oerjan: Hey, you write the boilerplate to do the map as part of the fold, thx :P
10:25:32 <elliott> SHEESH
10:25:42 <oerjan> <elliott> X-D <-- you know you're among geeks when they laugh at :t results
10:27:18 <elliott> <elliott> <elliott> oerjan: Hey, you write the boilerplate to do the map as part of the fold, thx :P
10:27:20 <elliott> >:||||||||\\\\\\\
10:28:12 <oerjan> i cannot, the neighbors are making the kind of noise that makes it impossible to concentrate again
10:30:54 <itidus20> oerjan: thats when headphones are good to create your own noise
10:31:31 <itidus20> partially because you get the sense of control over music... unlike neighbors noise which cannot be controlled
10:31:53 <oerjan> but i like actual silence.
10:32:09 <elliott> couldn't you theoretically use a noise cancelling headphone for that
10:32:27 <elliott> map [] = []; map (x:xs) = f x:xs
10:32:35 <elliott> foldr (\x xs -> f x : xs) []
10:32:36 <elliott> ?pl foldr (\x xs -> f x : xs) []
10:32:36 <lambdabot> foldr ((:) . f) []
10:32:40 <oerjan> elliott: FAIL
10:32:44 <elliott> oerjan: wat
10:32:46 <itidus20> in my case it's usually intra-house noise
10:32:48 <elliott> i know i omitted the f
10:32:50 <itidus20> but same idea
10:32:51 <elliott> shaddap
10:33:13 <oerjan> yes, it's intra-house.
10:33:17 <elliott> inter-house.
10:33:20 <coppro> curry . uncurry (&&) <$> (<*> `on` uncurry (on (==))) head length
10:33:20 <elliott> presumably.
10:33:22 <coppro> :t curry . uncurry (&&) <$> (<*> `on` uncurry (on (==))) head length
10:33:23 <lambdabot> parse error on input ``'
10:33:24 <elliott> unless your neighbours live in your house
10:33:27 <elliott> ?pl foldr (\x r -> ff (mf x) r) fz
10:33:27 <lambdabot> foldr (ff . mf) fz
10:33:30 <coppro> :t curry . uncurry (&&) <$> ((<*>) `on` uncurry (on (==))) head length
10:33:30 <lambdabot> Couldn't match expected type `(a, b) -> c'
10:33:30 <lambdabot> against inferred type `Bool'
10:33:31 <lambdabot> In the second argument of `(.)', namely `uncurry (&&)'
10:33:31 <elliott> ?pl foldM (\x r -> ff (mf x) r) fz
10:33:31 <lambdabot> foldM (ff . mf) fz
10:33:35 <elliott> ?. ty pl foldM (\x r -> ff (mf x) r) fz
10:33:35 <lambdabot> Plugin `compose' failed with: Unknown command: "ty"
10:33:39 <elliott> oh come on
10:33:40 <elliott> ?. type pl foldM (\x r -> ff (mf x) r) fz
10:33:41 <lambdabot> Not in scope: `ff'
10:33:41 <lambdabot> Not in scope: `mf'
10:33:41 <lambdabot> Not in scope: `fz'
10:33:41 <coppro> :t curry . (uncurry (&&) <$> ((<*>) `on` uncurry (on (==))) head length)
10:33:42 <lambdabot> Couldn't match expected type `(a, b) -> c'
10:33:42 <lambdabot> against inferred type `Bool'
10:33:43 <lambdabot> In the first argument of `(<$>)', namely `uncurry (&&)'
10:33:46 <oerjan> elliott: ok i should technically call them housemates, then
10:33:51 <oerjan> or something
10:34:01 <coppro> :t ((<*>) `on` uncurry (on (==)))
10:34:02 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
10:34:02 <lambdabot> Expected type: f (a -> b)
10:34:02 <lambdabot> Inferred type: f a
10:34:03 <elliott> oerjan: you're not a hermit? :/
10:34:08 <elliott> i guess hermits generally don't have neighbours
10:34:18 <coppro> :t ((<*>) `on` (uncurry . on (==)))
10:34:19 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
10:34:19 <lambdabot> Expected type: f (a -> b)
10:34:19 <lambdabot> Inferred type: f a
10:34:19 <elliott> ?pl foldM (\x r -> mf x >>= \x' -> ff x' r) fz
10:34:19 <lambdabot> foldM ((. flip ff) . (>>=) . mf) fz
10:34:22 <elliott> ?pl foldM (\x r -> mf x >>= \x' -> ff x' r) fz
10:34:22 <lambdabot> foldM ((. flip ff) . (>>=) . mf) fz
10:34:23 <coppro> dammit
10:34:25 <elliott> ?undo foldM (\x r -> mf x >>= \x' -> ff x' r) fz
10:34:25 <lambdabot> foldM (\ x r -> mf x >>= \ x' -> ff x' r) fz
10:34:26 <oerjan> i try to be a hermit but it's hard with all these housemates.
10:34:29 <coppro> :t on (==)
10:34:30 <lambdabot> forall b a. (Eq b) => (a -> b) -> a -> a -> Bool
10:34:30 <elliott> ?pl foldM (\x r -> mf x >>= \x' -> ff x' r) fz
10:34:30 <lambdabot> foldM ((. flip ff) . (>>=) . mf) fz
10:34:35 <elliott> `addquote <oerjan> i try to be a hermit but it's hard with all these housemates.
10:34:39 <HackEgo> 555) <oerjan> i try to be a hermit but it's hard with all these housemates.
10:34:41 <coppro> :t uncurry (on (==))
10:34:41 <lambdabot> forall b b1. (Eq b) => (b1 -> b, b1) -> b1 -> Bool
10:34:42 <elliott> ?ty foldM ((. flip ff) . (>>=) . mf) fz
10:34:42 <lambdabot> Not in scope: `ff'
10:34:42 <lambdabot> Not in scope: `mf'
10:34:42 <lambdabot> Not in scope: `fz'
10:34:46 <itidus20> oerjan: neighbors is fine enough :). but it is commonly used in the inter-house sense
10:34:46 <coppro> oh eww
10:34:51 <coppro> :t on $ uncurry (==)
10:34:52 <elliott> coppro: FOR FUCK'S SAKE
10:34:52 <lambdabot> Couldn't match expected type `(a, a) -> c'
10:34:52 <lambdabot> against inferred type `Bool'
10:34:52 <lambdabot> In the second argument of `($)', namely `uncurry (==)'
10:34:52 <elliott> WRITE
10:34:53 <elliott> THE
10:34:53 <elliott> FUCKING
10:34:54 <elliott> FUNCTION
10:34:55 <elliott> OUT
10:34:55 <elliott> IN
10:34:56 <elliott> A
10:34:58 <elliott> WHERE
10:35:00 <elliott> CLAUSE
10:35:10 <elliott> SOME OF US ARE TRYING TO DO _REAL_ WORK ;D
10:35:11 <coppro> :t ((<*>) `on` (on $ uncurry (==)))
10:35:12 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
10:35:12 <lambdabot> Expected type: f (a -> b)
10:35:12 <lambdabot> Inferred type: f a
10:35:16 <elliott> hate you
10:35:22 <coppro> elliott: I know
10:35:23 <elliott> coppro: you realise lambdabot works in /query :-P
10:35:28 <coppro> elliott: I know that too
10:35:31 <elliott> ?ty \mf ff -> foldM ((. flip ff) . (>>=) . mf)
10:35:32 <lambdabot> forall (m :: * -> *) a b a1. (Monad m) => (a -> m a1) -> (a1 -> b -> m a) -> a -> [b] -> m a
10:35:41 <elliott> agh what
10:35:44 <elliott> oh
10:35:56 <elliott> that's annoying :/
10:36:48 <coppro> oh god I see what I must do here
10:37:03 <coppro> (note: I also refuse to resort to pling the thing)
10:37:17 <coppro> I will find a point-free form myself first
10:42:30 -!- esowiki has joined.
10:42:31 -!- glogbot has joined.
10:42:45 <elliott> <elliott> that was a quick backup
10:42:46 <elliott> <coppro> head and length are arbitrary
10:42:46 <elliott> <coppro> any [a] -> a will do
10:42:46 <elliott> <elliott> coppro: gimme pointful form of it so i can play with it locally
10:42:46 <elliott> <coppro> or really, any p -> a
10:42:49 <coppro> k so I have a point-free form
10:42:49 <elliott> now Gregor can avoid work
10:42:51 <coppro> I don't like it though
10:42:52 <elliott> coppro: show
10:43:03 <elliott> plz
10:43:07 <coppro> ?pl \a b -> f a == f b && g a == g b
10:43:07 <lambdabot> ap (ap . ((&&) .) . (. f) . (==) . f) ((. g) . (==) . g)
10:43:14 <coppro> eww, that's not what I go
10:43:15 <coppro> *got
10:43:24 <elliott> ?pl \f a b -> f a == f b
10:43:24 <lambdabot> flip =<< (((.) . (==)) .)
10:43:35 <elliott> hmm
10:43:38 <elliott> ?pl \a b -> f a == f b
10:43:38 <lambdabot> (. f) . (==) . f
10:43:39 <coppro> lol
10:43:40 <elliott> right
10:43:42 <elliott> :t (==) `on` f
10:43:42 <coppro> learn to `on`
10:43:43 <lambdabot> Ambiguous type variable `b' in the constraints:
10:43:43 <lambdabot> `Eq b' arising from a use of `==' at <interactive>:1:0-3
10:43:43 <lambdabot> `SimpleReflect.FromExpr b'
10:43:48 <elliott> :t (==) `on` ?f
10:43:49 <elliott> coppro: stfu
10:43:49 <lambdabot> forall b a. (Eq b, ?f::a -> b) => a -> a -> Bool
10:43:52 <elliott> or you mean pl
10:43:57 <coppro> I mean pl
10:44:19 <elliott> :t liftA2 (&&) ((==) `on` ?f) ((==) `on` ?g)
10:44:20 <lambdabot> Couldn't match expected type `Bool'
10:44:21 <lambdabot> against inferred type `a -> Bool'
10:44:21 <lambdabot> Probable cause: `on' is applied to too few arguments
10:44:30 <elliott> :t (,) ((==) `on` ?f) ((==) `on` ?g)
10:44:31 <lambdabot> forall b a b1 a1. (Eq b, ?f::a -> b, Eq b1, ?g::a1 -> b1) => (a -> a -> Bool, a1 -> a1 -> Bool)
10:44:49 <elliott> ?hoogle (b -> b -> c) (a -> a -> b) -> (a -> a -> b) -> ... this is what coppro wanted earlier
10:44:49 <lambdabot> Parse error:
10:44:49 <lambdabot> --count=20 "(b -> b -> c) (a -> a -> b) -> (a -> a -> b) -> ... this is what coppro wanted earlier"
10:44:49 <lambdabot> ^
10:45:10 <elliott> ?pl \a b -> (((==) `on` ?f) a b) && (((==) `on` ?g) a b)
10:45:11 <lambdabot> (line 1, column 21):
10:45:11 <lambdabot> unexpected "?"
10:45:11 <lambdabot> expecting space or simple term
10:45:14 <coppro> yeah I was looking for a combinator to apply to (&&)
10:45:16 <elliott> ?pl \a b -> (((==) `on` f) a b) && (((==) `on` g) a b)
10:45:16 <lambdabot> ap (ap . ((&&) .) . ((==) `on` f)) ((==) `on` g)
10:45:18 <coppro> :t liftA2
10:45:18 <lambdabot> forall a b c (f :: * -> *). (Applicative f) => (a -> b -> c) -> f a -> f b -> f c
10:45:19 <elliott> oh come on
10:45:20 <elliott> :t ap
10:45:21 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
10:45:28 <elliott> (c -> a -> b) -> (c -> a) -> (c -> b)
10:45:29 <elliott> hmm
10:45:36 <elliott> :t ap (&&)
10:45:37 <lambdabot> (Bool -> Bool) -> Bool -> Bool
10:45:43 <elliott> :t ap . (&&)
10:45:43 <lambdabot> Couldn't match expected type `a -> b' against inferred type `Bool'
10:45:44 <lambdabot> Probable cause: `&&' is applied to too many arguments
10:45:44 <lambdabot> In the second argument of `(.)', namely `(&&)'
10:45:45 <coppro> ap == fmap
10:45:50 <elliott> coppro: n...no
10:46:04 <elliott> ap == (<*>)
10:46:08 <elliott> u fail u lose
10:46:09 -!- GreaseMonkey has quit (Quit: The Other Game).
10:46:11 <coppro> elliott: no you see the fm band is useless
10:46:14 <elliott> s/ [dollar sign]//
10:46:15 <coppro> you remove that and ap == ap
10:46:23 <elliott> :t ap (&&)
10:46:23 <lambdabot> (Bool -> Bool) -> Bool -> Bool
10:46:25 <elliott> > ap (&&) f
10:46:26 <lambdabot> No instance for (SimpleReflect.FromExpr GHC.Bool.Bool)
10:46:26 <lambdabot> arising from a us...
10:46:27 <elliott> > ap (&&) f True
10:46:28 <lambdabot> No instance for (SimpleReflect.FromExpr GHC.Bool.Bool)
10:46:28 <lambdabot> arising from a us...
10:46:31 <elliott> ffffff
10:46:38 <elliott> > ap g f True
10:46:39 <lambdabot> Ambiguous type variable `a' in the constraints:
10:46:39 <lambdabot> `GHC.Show.Show a'
10:46:39 <lambdabot> a...
10:46:42 <elliott> > ap g f True :: Expr
10:46:42 <lambdabot> Ambiguous type variable `a' in the constraints:
10:46:43 <lambdabot> `SimpleReflect.FromExpr ...
10:46:45 <elliott> OH CMON
10:46:55 <elliott> > ap (&&) not True
10:46:55 <elliott> oh
10:46:56 <lambdabot> False
10:46:56 <elliott> right
10:47:17 <elliott> coppro: anyway, it sounds like a useful combinator
10:47:24 <oerjan> :t curry (uncurry (&&) . (uncurry (on (==) ?f) &&& uncurry (on (==) ?g)))
10:47:25 <lambdabot> forall b a b1. (Eq b, ?f::a -> b, Eq b1, ?g::a -> b1) => a -> a -> Bool
10:47:33 <elliott> (a -> b -> c) -> (d -> a) -> (e -> b) -> d -> e -> c
10:47:54 <elliott> hmm, can that become functorial somehow
10:47:55 <coppro> thar we go; oerjan got it
10:47:56 * oerjan whistles innocently
10:48:01 <elliott> (a -> b -> c) -> (d -> a) -> f b -> d -> f c
10:48:11 <elliott> is that possible?
10:48:14 <elliott> dunno
10:48:24 <elliott> wait no
10:48:25 <elliott> that makes no sense :)
10:52:31 -!- esowiki has joined.
10:52:44 -!- glogbot has joined.
10:52:45 <elliott> <-- im a bit udm
10:53:03 <FireFly> Oh, hey there oerjan
10:53:11 <oerjan> long time no swat
10:53:26 <FireFly> Indeed
10:54:19 <elliott> IOJOIJ IOJOI
10:55:12 <coppro> :t (liftM2 ap .) . (.) . (.)
10:55:13 <lambdabot> forall (m :: * -> *) a b (m1 :: * -> *) a1. (Monad m, Monad m1, Functor m1, Functor m) => (a1 -> a -> b) -> m1 (m a1) -> m1 (m a) -> m1 (m b)
10:55:28 <oerjan> a household type
10:55:34 <coppro> definitely
10:55:46 <elliott> oh dear, i just invented an esolang
10:55:50 <coppro> ?pl \a b -> f (g a b) (h a b)
10:55:50 <lambdabot> ap (ap . (f .) . g) h
10:55:52 <elliott> coppro: grr at M
10:55:53 <elliott> make that M an A
10:56:01 <elliott> :t (liftA2 ap .) . (.) . (.)
10:56:02 <lambdabot> forall (m :: * -> *) a b (f :: * -> *) a1. (Monad m, Applicative f, Functor m) => (a1 -> a -> b) -> f (m a1) -> f (m a) -> f (m b)
10:56:05 <elliott> :t (.)
10:56:05 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
10:56:09 <elliott> good
10:56:17 <coppro> elliott: I agree with you
10:56:17 <elliott> :t (liftA2 (<*>) .) . (.) . (.)
10:56:18 <lambdabot> forall (f :: * -> *) a b (f1 :: * -> *) a1. (Applicative f, Applicative f1) => (a1 -> a -> b) -> f1 (f a1) -> f1 (f a) -> f1 (f b)
10:56:24 <elliott> literally the most beautiful type
10:56:30 -!- EgoBot has joined.
10:56:31 <elliott> now to replace those (->)s with something nicer...
10:56:35 <elliott> something more abstract, say
10:56:55 <coppro> :t (<*> (?f .)) . ?g <*> ?h
10:56:56 <lambdabot> forall b a b1 (f :: * -> *) (f1 :: * -> *). (?f::a -> b1, Functor f, ?g::f1 (f a -> f b1 -> b), Applicative f1, ?h::f1 (f a)) => f1 b
10:57:17 <Deewiant> ?ty let (.) = flip (>>>) in (liftA2 (<*>) .) . (.) . (.)
10:57:18 <lambdabot> forall a b a1 (cat :: * -> * -> *) b1 a2. (Control.Category.Category cat, Applicative (cat a2)) => cat b1 (a -> b) -> (a1 -> cat a2 b1) -> (a1 -> cat a2 a) -> a1 -> cat a2 b
10:57:35 <elliott> Deewiant: it is... so beautiful...
10:57:41 <coppro> :t (<*> ((&&) .)) . null <*> null
10:57:42 <lambdabot> Couldn't match expected type `f Bool -> f (Bool -> Bool) -> b'
10:57:42 <lambdabot> against inferred type `Bool'
10:57:42 <lambdabot> Probable cause: `null' is applied to too many arguments
10:57:50 <elliott> Deewiant: um looks like a layor of functionalness got stripped out?
10:57:54 <elliott> there's more function arrows now
10:57:59 <elliott> :t (.)
10:58:00 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
10:58:04 <coppro> :t (<$> ((&&) .)) . null <*> null
10:58:04 <elliott> :t flip (>>>)
10:58:04 <lambdabot> Couldn't match expected type `f (Bool -> Bool) -> b'
10:58:04 <lambdabot> against inferred type `Bool'
10:58:04 <lambdabot> Probable cause: `null' is applied to too many arguments
10:58:05 <lambdabot> forall (cat :: * -> * -> *) a b c. (Control.Category.Category cat) => cat b c -> cat a b -> cat a c
10:58:13 <elliott> Deewiant: btw you realise (<<<) exists?
10:58:16 <coppro> :t (<$> ((&&) .)) . null <$> null
10:58:17 <lambdabot> Couldn't match expected type `f (Bool -> Bool) -> b'
10:58:17 <lambdabot> against inferred type `Bool'
10:58:17 <lambdabot> In the second argument of `(.)', namely `null'
10:58:27 <Deewiant> elliott: Nope
10:58:33 <coppro> :t ap . (f .) . g
10:58:34 <lambdabot> forall (m :: * -> *) a b a1 (f :: * -> *). (Monad m, Show a1, Show a, SimpleReflect.FromExpr b, Functor m, SimpleReflect.FromExpr (f (m a1)), Functor f) => f (m a -> m b)
10:58:51 <coppro> :t (<*>) . (f .) . g
10:58:51 <lambdabot> forall (f :: * -> *) a b a1 (f1 :: * -> *). (Applicative f, Show a1, Show a, SimpleReflect.FromExpr b, SimpleReflect.FromExpr (f1 (f a1)), Functor f1) => f1 (f a -> f b)
10:59:04 <coppro> :t (<*> (f .)) . g
10:59:04 <lambdabot> forall b a b1 (f :: * -> *) (f1 :: * -> *). (Show a, SimpleReflect.FromExpr b1, Functor f, SimpleReflect.FromExpr (f1 (f a -> f b1 -> b)), Functor f1) => f1 (f a -> b)
10:59:13 <elliott> Deewiant: now you do
10:59:15 <coppro> :t (<*> (f .) . g)
10:59:15 <elliott> :t (<<<)
10:59:15 <lambdabot> forall (f :: * -> *) b a b1 (f1 :: * -> *). (Show a, SimpleReflect.FromExpr b1, Functor f1, SimpleReflect.FromExpr (f (f1 a)), Applicative f) => f (f1 b1 -> b) -> f b
10:59:16 <lambdabot> forall (cat :: * -> * -> *) b c a. (Control.Category.Category cat) => cat b c -> cat a b -> cat a c
10:59:30 <coppro> wtf
10:59:46 <coppro> oh
11:00:02 <coppro> :t (<$>) . ((&&) .) . null <$> null
11:00:03 <lambdabot> Couldn't match expected type `a -> Bool'
11:00:03 <lambdabot> against inferred type `Bool'
11:00:03 <lambdabot> In the second argument of `(.)', namely `null'
11:00:22 <coppro> :t (<$>) . ((&&) .) . null <*> null
11:00:23 <lambdabot> Couldn't match expected type `a -> Bool'
11:00:23 <lambdabot> against inferred type `Bool'
11:00:23 <lambdabot> Probable cause: `null' is applied to too many arguments
11:00:30 <coppro> :t (<$>) . ((&&) .) . null
11:00:32 <lambdabot> Couldn't match expected type `a -> Bool'
11:00:32 <lambdabot> against inferred type `Bool'
11:00:32 <lambdabot> Probable cause: `null' is applied to too many arguments
11:00:49 <coppro> :t (<*>) . ((&&) .) . null <*> null
11:00:50 <lambdabot> Couldn't match expected type `f Bool' against inferred type `Bool'
11:00:50 <lambdabot> Expected type: [a] -> f Bool
11:00:50 <lambdabot> Inferred type: [a] -> Bool
11:01:20 <coppro> k I'm too tired
11:01:29 <coppro> so I shall do the logical thing
11:01:30 <coppro> and proceed
11:01:35 <coppro> ap (ap . (f .) . g) h
11:01:50 <coppro> :t (<*>) ((<*>) . (f .) . g) h
11:01:51 <lambdabot> forall (f :: * -> *) a b a1 (f1 :: * -> *). (Applicative f, Show a1, Show a, SimpleReflect.FromExpr b, SimpleReflect.FromExpr (f1 (f a1)), Applicative f1, SimpleReflect.FromExpr (f1 (f a))) => f1 (f
11:01:51 <lambdabot> b)
11:02:01 <coppro> :t (<*>) ((<*>) . ((&&) .) . null) null
11:02:01 <lambdabot> Couldn't match expected type `f Bool' against inferred type `Bool'
11:02:01 <lambdabot> Expected type: [a] -> f Bool
11:02:01 <lambdabot> Inferred type: [a] -> Bool
11:02:17 <coppro> :t (<*>) ((<*>) . (f .) . null) null
11:02:17 <lambdabot> Couldn't match expected type `f a' against inferred type `Bool'
11:02:17 <lambdabot> Expected type: [a1] -> f a
11:02:17 <lambdabot> Inferred type: [a1] -> Bool
11:02:36 <coppro> :t ap (ap . (f .) . g) h
11:02:37 <lambdabot> forall (m :: * -> *) a b a1 (m1 :: * -> *). (Monad m, Show a1, Show a, SimpleReflect.FromExpr b, Functor m, SimpleReflect.FromExpr (m1 (m a1)), Functor m1, SimpleReflect.FromExpr (m1 (m a)), Monad
11:02:37 <lambdabot> m1) => m1 (m b)
11:02:37 <elliott> oerjan: is there a nicer representation of bijections than (a->b, b->a), i'm sure there is, and i'm sure i should be asking edward kmett instead
11:02:54 <coppro> well f you too
11:03:17 <coppro> elliott: on a countable set you can just define it as sequence
11:03:37 <coppro> given an ordering
11:04:00 <elliott> coppro: no shit sherlock
11:04:13 <coppro> *ordering with a least element
11:04:36 <coppro> :t (&&) .
11:04:36 <lambdabot> parse error (possibly incorrect indentation)
11:04:41 <coppro> :t ((&&) .)
11:04:41 <lambdabot> forall (f :: * -> *). (Functor f) => f Bool -> f (Bool -> Bool)
11:05:10 <coppro> :t ((&&) .) . null
11:05:10 <lambdabot> Couldn't match expected type `f Bool' against inferred type `Bool'
11:05:10 <lambdabot> Expected type: [a] -> f Bool
11:05:10 <lambdabot> Inferred type: [a] -> Bool
11:05:41 <coppro> :t ((&&) .) . g
11:05:41 <lambdabot> forall (f :: * -> *) (f1 :: * -> *). (Functor f, SimpleReflect.FromExpr (f1 (f Bool)), Functor f1) => f1 (f (Bool -> Bool))
11:05:52 <elliott> lern to ?
11:05:55 <coppro> :t ((&&) .) . ?g
11:05:55 <lambdabot> forall (f :: * -> *) (f1 :: * -> *). (Functor f, ?g::f1 (f Bool), Functor f1) => f1 (f (Bool -> Bool))
11:06:13 <coppro> herp
11:06:19 <coppro> i am le tired
11:06:46 <oerjan> <coppro> *ordering with a least element <-- *omega ordering
11:06:51 <elliott> oerjan: what's the name of Functor where you let the mapping be any category......
11:06:53 <coppro> :t (<*>) ((<*>) . (f .) . ((==) `on` null)) ((==) `on` null)
11:06:54 <lambdabot> forall b a. (SimpleReflect.FromExpr b) => [a] -> [a] -> b
11:07:02 <elliott> class Functor cat f where fmap :: cat a b -> f a -> f b
11:07:04 <coppro> :t (<*>) ((<*>) . ((&&) .) . ((==) `on` null)) ((==) `on` null)
11:07:05 <lambdabot> forall a. [a] -> [a] -> Bool
11:07:09 <coppro> I AM VICTORIUS
11:07:20 <elliott> can't spell "victorious" though
11:07:22 <oerjan> elliott: mathematically, also functor
11:07:25 <elliott> oerjan: indeed :D
11:07:33 <coppro> oerjan: never heard of an omega ordering
11:07:37 <elliott> oerjan: it should be the real Functor, shouldn't it :(
11:07:49 <elliott> or maybe evenc
11:07:51 <elliott> even
11:08:05 <elliott> class Functor cat f a b where fmap :: cat a b -> f a -> f b
11:08:05 <elliott> :P
11:08:12 <elliott> (for things like Set/Map)
11:08:14 <oerjan> coppro: it's an ordering that is isomorphic to the natural numbers. also the natural order of the ordinals < omega.
11:08:41 <oerjan> elliott: the _real_ functor should have a different cat at each end duh
11:08:51 <coppro> k
11:09:05 <elliott> oerjan: um there's only one space for cat... or are you saying haskell can't do it
11:09:06 <coppro> oerjan: is there music?
11:09:16 <coppro> k ima bed now
11:09:24 <coppro> and definitely not include that point-free function
11:09:34 <oerjan> elliott: fmap :: cat1 a b -> cat2 (f a) (f b) ?
11:09:38 <coppro> the head >>= all . (pred) one is totally staying in though
11:09:43 <elliott> oerjan: oh cool
11:10:04 <elliott> oerjan: class Functor bat cat f a b | bat cat f -> a b where fmap :: bat a b -> cat (f a) (f b)
11:10:10 <elliott> oerjan: THE CLEAR CHOICE
11:12:16 <oerjan> that FD looks screwy
11:12:28 <elliott> oerjan: yeah it is >_>
11:12:35 <elliott> but when you get to that many.........
11:12:38 <elliott> params i mean
11:12:38 <oerjan> in fact a and b shouldn't be class parameters at all
11:12:44 <elliott> oerjan: yes, they should (Set and Map)
11:12:47 <coppro> elliott: you need more manbatrat
11:12:57 <oerjan> wut
11:13:01 <elliott> oerjan: http://www.randomhacks.net/articles/2007/03/15/data-set-monad-haskell-macros
11:13:07 <coppro> manbatrat is ancient evil in a bowler hat
11:13:16 <oerjan> elliott: absolutely not, i'd say
11:13:17 <elliott> oerjan: Set, Map, etc. have constraints on their type argument
11:13:26 <elliott> but they're perfectly valid monads given those constraints
11:13:44 <elliott> it's ugly, but if we're extending things...
11:14:01 <oerjan> elliott: but your class definition gives each functor only _one_ pair of objects to map between D:
11:14:11 <elliott> oerjan: um no
11:14:15 <coppro> no, Set is retarded
11:14:19 <elliott> instance Functor (->) (->) Maybe a b where ...
11:14:27 <coppro> you can have singleton sets of things without orderings
11:14:34 <coppro> because HEY THAT'S USEFUL RIGHT
11:14:46 <elliott> coppro: that is like the stupidest fucking reason for calling something retarded ever
11:14:49 <elliott> so someone forgot one constraint
11:14:52 <elliott> probably because of type inference
11:14:53 <elliott> so what
11:15:03 <oerjan> elliott: you cannot even get the _ordinary_ Functor as a special case of this
11:15:10 <elliott> oerjan: um why not
11:15:13 -!- Sgeo has joined.
11:15:15 <elliott> <elliott> instance Functor (->) (->) Maybe a b where ...
11:15:32 <oerjan> because a and b are not free parameters
11:15:52 <oerjan> oh hum
11:16:01 <elliott> it's called FlexibleInstances
11:16:02 <elliott> :P
11:16:02 <oerjan> good grief
11:16:05 <elliott> what :D
11:16:12 <oerjan> ok maybe it does work
11:16:27 <elliott> oerjan: it's undeniably ugly though, for instance Monad has to get split in two
11:16:32 <elliott> but WHILE WE'RE GENERALISING...
11:16:34 <oerjan> elliott: but the FD is still wrong
11:16:38 <elliott> indeed
11:16:39 <coppro> Haskell needs first-class types
11:16:41 <elliott> i'm not sure what the right fd is
11:16:53 <elliott> coppro: you mean dependent types?
11:16:58 <coppro> elliott: yes
11:16:59 <oerjan> f -> bat cat would be reasonable, at least
11:17:02 <coppro> flip Monad ftw
11:17:05 <elliott> coppro: see agda
11:17:10 <elliott> oerjan: bat cat :D
11:17:20 <coppro> elliott: no I will not settl for anythnig less than hasklle with these features
11:17:30 <coppro> laos fuck typing
11:17:40 <coppro> it is no longer worth the efforts
11:18:09 <coppro> and tyes I typed that last sentece without errors but not this one though because aparently I suck expecially when typing blidnfold at 5 am
11:18:37 <coppro> (typing is kinkier that way)
11:19:39 <elliott> you are literally the lightest weight
11:19:51 <elliott> gender role the fuck up
11:21:58 * itidus20 gives coppro a wild boar, a club and animal skin robe complete with rope belt woven by the women of the forest.
11:22:07 <itidus20> ^roasted wild boar
11:23:27 <itidus20> and a pint of guinness
11:25:00 <oerjan> itidus20: FAIL, he should have to kill and roast the boar himself
11:25:23 <itidus20> including making his own fire?
11:25:34 <oerjan> nah the women can do that.
11:25:48 * Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person
11:25:51 <itidus20> you don't wanna spend too much time with those women
11:25:58 <oerjan> O_O
11:26:08 <oerjan> Sgeo: no wonder your mind is confused
11:26:22 <oklopol> praise jesus
11:26:36 <itidus20> C.S.Lewis was friends with Tolkien
11:26:39 <elliott> Sgeo: lmao
11:26:47 <elliott> im laughing irl
11:26:49 <elliott> actually
11:26:51 <elliott> i really am
11:26:59 <oerjan> Sgeo: so, which one was on that famous expedition with clark?
11:27:14 <itidus20> Jerry Lewis
11:27:23 <coppro> itidus20: I want a conch
11:27:24 <itidus20> Jerry-Lee Lewis?
11:27:55 <itidus20> ok ok i don't know
11:29:19 <oerjan> elliott: imagine if alice in wonderland was written like the narnia books
11:29:29 <elliott> oerjan: or vice versa
11:29:55 <elliott> ASLAN: Jesus, or something Lewis thought up on an acid trip? Or both???? EXPERTS ARE DIVIDED
11:30:12 <itidus20> the best film of alice in wonderland is the jan svankmeyer version
11:31:02 <itidus20> i haven't seen tim burton's one but.. nothing can beat the one i mentioned
11:31:32 <oerjan> ... and the inter-house neighbors start mowing lawn ...
11:32:14 <itidus20> you should record it (the lawn mowing)... then play it back with stereo up loud
11:37:34 -!- oerjan has quit (Quit: leaving).
11:39:12 -!- oklopol has quit.
11:45:20 <itidus20> by the end of the 19th century Sir Walter Besant wrote Alice in Wonderland "was a book of that extremely rare kind which will belong to all the generations to come until the language becomes obsolete".
11:48:41 <coppro> I wish scp wasn't so limited
11:56:45 <itidus20> i don't know what the signifigance of him being a freemason is in this regard
11:57:00 <elliott> you're assuming there is one
11:59:06 -!- MigoMipo has quit (Read error: Connection reset by peer).
12:03:07 <itidus20> well alice in wonderland is tied into countless conspiracy theories apparently
12:05:13 <itidus20> but do you wanna know how i feel about conspiracy theories? i think that... ultimately everyone dies... so it's like... the people who undertake all these conspiracies and wars and abuses and every concievable graph of interpersonal profit, ultimately they die and it all comes to naught
12:06:02 <itidus20> i die, they die.. all becomes equalized
12:06:39 <itidus20> worse still is the possibility of not dying... as death is freedom and immortality is a cage
12:07:34 <coppro> Don't worry; we still have the Doom of Man
12:08:08 <itidus20> so with the charisma of the greatest marketing genius they lay out why they are so special, the extent to which some occasion is infinitely tragic, why my emotions should be invoked
12:08:15 <itidus20> but it all comes to nothing
12:08:26 <itidus20> individual mortality supercedes all else
12:09:09 <coppro> btw
12:09:16 <coppro> listening to the entire music to lotr
12:09:18 <coppro> is awesome
12:11:11 <itidus20> yes, they invoke the imagination.. they invoke the emotions.. they invoke the associations.. they invoke all manner of cortices
12:11:31 <itidus20> for it is all that one can really do in the space of interpersonal economics
12:11:54 <itidus20> but what shall they invoke in someone who has passed on
12:14:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
12:19:27 <itidus20> sorry guys im off topic
12:31:45 <coppro> what is the topic
12:31:54 <coppro> oh wait
12:31:58 <coppro> it's apparently about turbo pascal
12:32:02 <coppro> let's change that
12:32:21 -!- coppro has set topic: 07:25:29 * Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person.
12:32:37 <coppro> argh
12:33:07 -!- coppro has set topic: Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:33:14 -!- coppro has set topic: \* Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:33:21 -!- coppro has set topic: :* Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:33:39 -!- coppro has set topic: Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:33:44 -!- coppro has set topic: * Sgeo finally realizes that C.S. Lewis and Lewis Carol are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:33:47 <coppro> there we go
13:07:51 -!- jimtendo has joined.
13:34:34 -!- TeruFSX has quit (Read error: Operation timed out).
13:41:04 -!- TeruFSX has joined.
13:44:19 -!- quintopia has set topic: Sgeo finally realizes that C.S. Lewis and Lewis Carol[sic] are not the same person | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
13:50:03 -!- lament has joined.
13:53:38 <Sgeo> What books on programming should I buy?
13:53:49 <Sgeo> Is Pragmatic Programmer good, or just... job-y stuff/
13:55:50 <quintopia> CLRS
13:56:02 <quintopia> i like it, you should too
13:56:41 <Sgeo> Introduction to Algorithms?
13:56:53 <quintopia> yes
13:57:25 <Sgeo> Oh come on, not available in B&N? :(
13:57:40 <quintopia> has pseudocode for like half the algorithms you sometimes find you need but cant remember how to do
13:58:14 * Sgeo wants ebooks
13:58:31 <quintopia> for instance, i think it has fibonacci heap, which i always forget...
14:08:59 * itidus20 drops into the room with a random topic. Do all imperative languages essentially feel the same? Are all their abstract machines similar?
14:11:36 <itidus20> procedures/methods/functions are not really represented in instruction sets that i can see
14:11:45 <itidus20> i think theres RET instruction
14:12:15 <itidus20> but otherwise... isn't it strange that so many languages follow this pattern
14:13:54 <itidus20> or perhaps a procedure/method/function is simply a string of reusable instructions
14:14:37 <olsner> I don't know what kind of machine you mean exactly, but I'd say most "abstract machines" for imperative languages have function calls as a special operation
14:15:02 <itidus20> olsner: well i see them occasionally mention the C abstract machine in the C room
14:16:21 <itidus20> perhaps it is just that stringing together instructions inevitably results in functions
14:16:23 <olsner> Java is a bit special because the abstract machine is not abstract but concrete - and it does have a few low-level things like jumps in it ... but it still has function calls as a primitive and you can't access the call stack (it's just invisible magic that makes return continue running at the right place)
14:17:31 <olsner> well, the C "abstract machine" doesn't really have anything like instructions, it's just a model of what the code does (that is, it's *abstract*)
14:17:51 <itidus20> ahh.. well i threw together 2 topics in one sentence foolishly
14:18:05 <itidus20> good point though
14:18:25 <itidus20> men on a beach with piles of stones could conform to a C abstract machine :D
14:20:22 <elliott> olsner: invisible magic seems unfair
14:20:29 <olsner> well... using humans and piles of stones you can make anything, including a simulation of an x86 processor
14:20:30 <elliott> i mean, everything has something invisible
14:20:40 <elliott> even real cpus
14:22:07 <itidus20> i once discussed with someone how assembly is an arbitrary system of representing machine code at a higher level. that it could have gone another way
14:23:02 <itidus20> didnt actually think of alternatives.
14:23:53 <elliott> Sgeo: ur on mc
14:24:25 <elliott> `addquote <oklopol> i'm essentially playing mc as a text adventure game
14:24:30 <elliott> `addquote <oklopol> good night <elliott> oh you leaving? <oklopol> no but i will take a shit
14:24:32 <elliott> oh
14:24:34 <elliott> hackego is not here.........
14:24:50 <itidus20> in the same line of thought, structured programming constructs (for, while, do-while, switch, if) are arbitrary constraints upon the organization of asm statements
14:25:35 <itidus20> designed only [as far as i know] for human readability
14:26:07 <olsner> elliott: hmm, dunno, most things a real cpu does has to e.g. end up putting the right values in RAM or produce the right I/O writes - and it's only allowed to fudge with that in specific limited ways...
14:26:31 <itidus20> human comprehension probably comes at the price of computational efficiency in most cases
14:27:02 <elliott> olsner: you can't inspect the electrons :)
14:27:06 <itidus20> that is to say.. spaghetti code isn't "slow"
14:27:29 -!- TeruFSX has quit (Ping timeout: 264 seconds).
14:27:35 <itidus20> it's simply difficult to read and maintain
14:28:04 <itidus20> if its slow it's only slow due to the human being confused by it
14:30:03 <itidus20> I imagine some hypothetical omnipotent programmer who has solved chess by having his brain encoded with a garden of eden solution to chess :P
14:31:11 <olsner> hmm... I guess the CPU can still do any amount of magic outside the things you're allowed to observe (just like other invisible magics), just that you can observe more stuff and on a lower level there
14:31:12 <itidus20> and this hypothetical programmer can arrange instructions with 100% computational efficiency
14:31:40 <itidus20> olsner: hey do you like that one? the solution to chess is a neural garden of eden
14:32:01 <olsner> itidus20: I don't understand
14:32:04 <itidus20> given that the universe does not contain the computational complexity to arrive at it
14:32:27 <itidus20> or maybe i dont know what a garden of eden is
14:34:12 <itidus20> suppose I was to say.. this two-state switch on the table represents whether the game of chess has a first player advantage or whether the game is a draw
14:34:33 <itidus20> now... in order to put that switch into the correct position... wouldn't the state of that switch be a garden of eden?
14:35:19 <itidus20> (according to our current theories about the solvability of chess)
14:35:39 <itidus20> of course a breakthrough could prove it wrong later
14:39:47 <quintopia> chess does not necessarily have more states than quantum states in the universe does it...
14:40:55 <itidus20> quintopia: well i secretly know that chess is solvable.. lets just say it's a hunch
14:41:15 <quintopia> heh
14:41:43 <itidus20> but the idea is not so bad right?
14:42:18 <itidus20> a piece of information which was beyond the (quantum) computational power of the universe would be a kind of real-life garden of eden
14:42:57 <lament> also, the garden of eden
14:44:15 <lament> (and by extension the big bang state)
14:45:14 <itidus20> so chess being unsolvable is kind of tongue in cheek to awe the average johnny hopscotch
14:46:49 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:48:06 <itidus20> clearly theres degrees of unsolvability
14:48:54 <itidus20> like, a chessboard with a board of the size, 1 trillion x 1 trillion, covered in trillions of pieces
14:49:13 <itidus20> is even more unsolvable than an 8x8 chessboard
15:00:58 -!- invariable has quit (Quit: Daemon escaped from pentagram).
15:15:12 <Sgeo> elliott, what about me being on mc?
15:18:02 <tswett> Mutta.
15:18:33 <Sgeo> ?
15:19:08 <fizzie> Että jotta koska kun, jos vaikka kuin.
15:19:29 <tswett> Koska, jos, vaikka.
15:20:09 <tswett> Because/when, but, although.
15:20:41 <fizzie> The above was a part of an (incomplete) list of subordinating conjunctions. There were all kinds of lists like that.
15:20:59 <tswett> I see.
15:21:14 <tswett> Kahtoin mulla toska.
15:21:50 <tswett> Aamupala on minun vaikean ruoka.
15:23:24 <fizzie> Also another often-memorized list (of co-ordinating conjunctions) ends with "sillä, näet, nimittäin"; and there's a lot of related puns. Like: "osta kiikari, sillä näet nimittäin", vaguely translated as "buy a pair of binoculars, for you can see with them", since you can interpret "näet" as both as the conjunction (meaning "you see, you know, indeed" etc.) or as the second-person singular present indicative form of "to see".
15:30:54 <tswett> Loma näyttää kaukana kirjo.
15:31:37 -!- copumpkin has joined.
15:32:16 -!- TeruFSX has joined.
15:33:25 -!- MigoMipo has joined.
15:45:20 -!- MSleep has changed nick to MDude.
15:45:50 -!- itidus21 has joined.
15:47:36 -!- itidus20 has quit (Ping timeout: 250 seconds).
15:47:44 -!- itidus21 has changed nick to itidus20.
15:50:37 -!- pumpkin has joined.
15:53:38 -!- copumpkin has quit (Ping timeout: 252 seconds).
15:55:34 -!- Taneb has joined.
15:55:46 -!- TeruFSX has quit (Ping timeout: 276 seconds).
15:57:07 <Taneb> hello
15:57:14 <Taneb> I'm researching my family tree
15:57:48 <lament> i'm your father
15:58:54 <tswett> I'm lament's son.
15:59:08 <tswett> However, I am only your half brother.
15:59:25 <Taneb> Ever since that nasty incedent with a chainsaw
15:59:54 <quintopia> time to write "black sheep" and trip balls
16:04:34 -!- Nisstyre has quit (Ping timeout: 258 seconds).
16:15:37 -!- mtve has quit (Ping timeout: 252 seconds).
16:20:29 <itidus20> wiki on dijkstra "When lecturing, he would write proofs in chalk on a blackboard rather than using overhead foils, let alone Powerpoint slides."
16:22:43 <pikhq_> Understandable. If you're using Powerpoint right it's only marginally better than a blackboard most of the time.
16:22:56 <pikhq_> (say, unless you happen to need a detailed graphic)
16:24:50 <itidus20> I don't think he was a luddite because he worked in programming.. No... it was something else.. something wonderful I guess
16:26:00 <pikhq_> About the only real fault I can see with using a blackboard instead of Powerpoint is that it depends heavily on handwriting.
16:26:12 <pikhq_> Which is a skill that I, at least, am horribly out of practice with.
16:26:28 <pikhq_> Presumably, Dijkstra wasn't.
16:27:42 <itidus20> hmm
16:27:49 -!- TeruFSX has joined.
16:28:10 <itidus20> he did a lot of handwritten papers too apparently
16:29:18 <lament> he probably didn't even use *windows*
16:29:47 <pikhq_> I'm only going to allow leeway there because, frankly, for quite some time doing math on computers *or* typewriters was an experience in pain, agony, sorrow, etc.
16:30:06 <pikhq_> And the man was born in 1930.
16:30:08 <lament> According to Jim Nelson, who served as a civilian translator with the Russian and American peacekeepers in Bosnia in 1996, one of the Russians said, "If we ever had a war, while you are working on your PowerPoint, we would be killing you."
16:30:45 <pikhq_> (still is somewhat inconvenient, but at least it's not *insane* with TeX)
16:31:32 <itidus20> i have a deep respect for using pens and paper
16:31:49 <itidus20> its one of the motifs in my thought
16:41:28 <itidus20> to drive the point home i created this fancy screenshot with a few nicer drawings in my collection of early game art: http://oi55.tinypic.com/1zgcj2u.jpg
16:43:25 <elliott> so fancy
16:43:33 <itidus20> i don't think such a pic exists anywhere on the internet.. its a particular fascination of mine
16:43:54 <itidus20> i mean.. sure i obtained each individual pic online.. but collected together like that? no
16:44:17 <itidus20> do you recognize the games?
16:44:39 -!- oklopol has joined.
16:45:10 <itidus20> theres more pics but i tried to choose the ones which express what im trying to express
16:56:57 <Taneb> I've traced my ancestory back to the 1730's.
16:57:07 <Taneb> Nobody famous SO FAR
16:58:32 -!- sebbu has quit (Ping timeout: 252 seconds).
17:17:40 -!- sebbu has joined.
17:17:40 -!- sebbu has quit (Changing host).
17:17:40 -!- sebbu has joined.
17:23:40 <sebbu> Rswsw
17:25:34 <elliott> jodas
17:28:42 -!- copumpkin has joined.
17:32:04 -!- derrik has joined.
17:32:10 -!- pumpkin has quit (Ping timeout: 260 seconds).
17:56:30 <Taneb> I think my great-great-great-great-great-great grandfather was christened in Hexham
17:59:28 <Vorpal> Taneb, how comes you even know that
17:59:39 <Taneb> Doing family tree
17:59:42 <Vorpal> ah
17:59:54 <Taneb> Got it back to 1690
17:59:57 <Taneb> Trying to get further
17:59:59 <Vorpal> nice
18:04:23 <Taneb> My cousin's got it back to 1611
18:04:46 <Taneb> But he did my dad's side, I'm doing my mum's side
18:08:54 <Taneb> Huh, that's interesting
18:09:26 <Taneb> One of my ancestors may have emigrated to the US
18:12:46 -!- Behold has joined.
18:15:46 -!- pumpkin has joined.
18:16:49 -!- BeholdMyGlory has quit (Ping timeout: 276 seconds).
18:17:39 -!- copumpkin has quit (Ping timeout: 240 seconds).
18:21:37 -!- mtve has joined.
18:31:09 -!- CakeProphet has joined.
18:32:38 -!- Taneb has quit (Quit: He's a big quitter he is.).
18:37:32 -!- TeruFSX has quit (Ping timeout: 252 seconds).
18:41:44 -!- NihilistDandy has joined.
18:42:20 -!- Nisstyre has joined.
19:04:06 -!- CakeProphet has quit (Ping timeout: 240 seconds).
19:15:14 -!- Taneb has joined.
19:18:48 -!- oerjan has joined.
19:19:18 <Taneb> Hello!
19:19:20 <oerjan> and a happy australian mailman reminder's day to all!
19:20:17 -!- derrik has quit (Quit: ramadan).
19:22:33 <oerjan> 04:37:16 <itidus20> i don't know what the signifigance of him being a freemason is in this regard
19:22:57 <itidus20> hey i dont know anything about freemasons
19:22:58 <oerjan> istr that the norwegian mass murderer was one (or claimed to be), too
19:23:07 <oerjan> 04:49:46 <coppro> listening to the entire music to lotr
19:23:07 <oerjan> 04:49:48 <coppro> is awesome
19:23:21 <itidus20> :-s
19:23:23 <oerjan> istr that the norwegian mass murderer liked to listen to lotr music too
19:23:38 <oerjan> enough conspiracy for you yet?
19:23:49 <fizzie> oerjan: Also ISTR that the Norwegian mass murderer was NORWEGIAN. Guess who else is! It might be you!
19:24:05 <itidus20> well lewis caroll was a suspect of being jack the ripper
19:24:24 <Taneb> Fun story I've got about that guy
19:24:43 <itidus20> his sexual interest in alice liddell has also been analyzed in various lights over the years
19:24:55 <itidus20> the story is back in his favor lately
19:25:06 <Taneb> Queen Victoria read Alice and Wonderland and loved it so much, she ordered a copy of the next publication by the author to be brought to her as soon as it was written
19:25:33 <Taneb> She didn't realise that Lewis Carrol's day job was a maths proffessor called Charles Lutwidge Dodgson
19:25:52 <oerjan> fizzie: to that i shall (mis-(?)) quote the major of oslo speaking in a mosque shortly after the event: "The terrorist was blond, white, called himself a Christian, and lived in my neighborhood. Yet you are not accusing me of being a terrorist; thank you for that."
19:26:11 <Taneb> She got a bit of surprise when a maths paper turned up a couple of months later
19:28:02 <oerjan> *mayor
19:31:43 <oerjan> 06:49:25 * itidus20 drops into the room with a random topic. Do all imperative languages essentially feel the same? Are all their abstract machines similar?
19:32:39 <oerjan> i'm reminded of Icon, which uses the stack a bit differently than most (sometimes it returns to a frame temporarily _without_ unwinding the stack above)
19:33:50 <oerjan> although those which allocate frames on the heap are of course even more flexible. like scheme, although i don't know if you'd call that imperative (it's not _purely_ functional)
19:34:09 <itidus20> oerjan: it was 2 independant questions. which accidently merged
19:34:19 <oerjan> that's essential for having continuations, i think
19:34:45 <oerjan> so maybe you could say that the _basics_ are similar, but things might change when you add extra features.
19:35:05 <itidus20> well... lets face it
19:35:14 <itidus20> when a fellow starts a new imperative language
19:35:34 <oerjan> he's likely to make it similar to what he already knows
19:35:35 <fizzie> oerjan: But, philosophically speaking, can you call it a "stack frame" if it's allocated from a heap?
19:35:37 <itidus20> and this fellow.. adds his own take on all the regular suspects
19:35:59 <itidus20> he adds a variant of: if, while, dowhile, for
19:36:05 <itidus20> etc
19:36:21 <oerjan> fizzie: i'm not sure if scheme calls it a stack frame. they're environments for continuations and closures, i guess.
19:36:24 <itidus20> but... he is doing this very automatically
19:36:48 <itidus20> he is not truely going back to the roots and thinking "how can i do this"
19:36:50 -!- copumpkin has joined.
19:37:17 <itidus20> he is trapped by being surrounded by mountains of conventions
19:37:19 <oerjan> itidus20: yep. it's just a slightly more glorified version of our own wiki's brainfuck derivatives... slap on a different syntax but use essentially the same semantics.
19:37:25 <oerjan> afk
19:37:34 <itidus20> oh don't get me wrong.. i've done it mysefl
19:38:28 <itidus20> and.. yeah the structured programming paradigm is so resistant to attacks
19:39:00 <fizzie> oerjan: Oh, I'm sure R5RS does not mention the word "stack" anywhere, it was just a generic sort of a question. Though I guess you can always use the highbrow term "activation record" instead.
19:39:22 -!- pumpkin has quit (Ping timeout: 255 seconds).
19:41:16 <itidus20> at school some teacher casually told us that these control structures are basically all you need
19:41:31 <itidus20> they didn't however mention that there are potential alternatives
19:42:36 <itidus20> Edsger Dijkstra VS the unstructured Jump...
19:42:55 <itidus20> In this long epic battle, Edsger recovered the three pieces of the triforce.
19:43:03 <olsner> nice, vim's syntax highlighting for sed supports EBCDIC
19:43:10 <itidus20> The sequence, the selection, and the other thing #-o
19:43:15 <itidus20> repetition
19:45:37 <itidus20> i can understand brainfucks popularity though
19:46:28 <itidus20> even the name sounds like what a heavy metal band might name a programming language
19:46:49 <itidus20> (.. just barelu ..)
19:48:22 <itidus20> and this programing language goes out to our fans... Melancholy of the insect infested lemon tree..
19:48:36 -!- monqy has joined.
19:49:40 -!- Taneb has quit (Ping timeout: 260 seconds).
19:49:48 * oerjan waits for elliott to snatch that name
19:50:30 <itidus20> lots of bass
19:50:50 <itidus20> oh.. i know what it is
19:51:02 <itidus20> ive been listening to this band called dillinger escape plan
19:51:03 <oerjan> also some trout, halibut and great white
19:52:09 <oerjan> (for the latter, let's just say that this language has _very_ eager GC)
19:52:34 <itidus20> i once did a toy language
19:52:47 <itidus20> pretty shitty
19:52:56 <itidus20> it was an experiment in implementation skills
19:55:22 <itidus20> but it still means well
19:55:46 <elliott> * oerjan waits for elliott to snatch that name
19:55:47 <elliott> yes
19:57:06 <itidus20> im really an awful coder.. like not a joke..
19:57:39 <elliott> "Haskell already has a grip on a large share of the top-1% programmers who are abstract-math geniuses. Monoids and category theory probably can never be understood by average programmers. I say this using myself as an example. I am a top-1% programmer with some background in simple abstract math and I am having a very lengthy mental absorption process for this stuff."
19:57:51 <fizzie> "Scathing Omniphallic Hammerheart of the Dead", suggests the Metal Song Title Generator. Alternatively, "Paranoid Norsk Sarcomancy of the Juggernaut". I suppose that thing works just as well for languages.
19:57:59 <elliott> I wonder if the idea that e might not be a top-1% programmer has ever crossed this person's mind.
19:58:13 <fizzie> At least 20% of programmers are top-1% programmers.
19:58:20 <elliott> :)
19:58:27 <oerjan> 07:22:44 <itidus20> a piece of information which was beyond the (quantum) computational power of the universe would be a kind of real-life garden of eden
19:58:44 <elliott> i like how they said monoid
19:58:45 <elliott> ?src Monoid
19:58:45 <lambdabot> class Monoid a where
19:58:45 <lambdabot> mempty :: a
19:58:45 <lambdabot> mappend :: a -> a -> a
19:58:45 <lambdabot> mconcat :: [a] -> a
19:58:48 <elliott> INCOMPREHENSIBLE
19:59:39 <oerjan> from the godel's lost letter blog i've come to understand that there is a slight possibility that there might exist a polynomial-size circuit to solve an NP-complete problem of any size, even if there exists no polynomial algorithm which works for all sizes.
19:59:44 <monqy> associative binary operation with identity element? im so confused
20:00:04 <elliott> <itidus20> a piece of information which was beyond the (quantum) computational power of the universe would be a kind of real-life garden of eden
20:00:08 <elliott> this reminds me of fax's bit box.
20:00:25 <lament> fax's big tits?
20:00:27 <lament> oh
20:01:14 <itidus20> my thoughts have simple goals
20:02:57 <elliott> did we ever figure out the answer to that one btw oerjan
20:03:01 <itidus20> 1) how to make games 2) how to bring happiness into daily existence 3) the effortless erotica of women
20:03:04 <oerjan> to what
20:03:38 <itidus20> 4) the correctness of pain and suffering and sacrifice and tragedy
20:03:46 <elliott> oerjan: given a black-box machine which outputs an uncomputable stream of bits (you can choose which stream), can you use it as an energy generator
20:04:03 <elliott> at least that's my recollection.
20:04:04 -!- shachaf has quit (Ping timeout: 252 seconds).
20:04:06 <monqy> make games to effortless erotica of women and bring happiness into daily existence and the correctness of pain and suffering and sacrifice and tragedy
20:04:12 <itidus20> 5) The first duty of every starship officer is to the truth, whether it's scientific truth or historical truth or personal truth! It is the guiding principle on which Starfleet is based.
20:04:17 <monqy> or make games about those things
20:04:23 <monqy> or make games about some of them to bring about others
20:04:31 <monqy> you can do it
20:04:44 <itidus20> well i like to ask "why games?"
20:04:47 <oerjan> elliott: well if it were an oracle for particle positions, you might be able to use it to build maxwell's demon?
20:04:55 <itidus20> why... games.. is it just for the money, or the potential fame?
20:04:59 <elliott> oerjan: that's not a mathematical stream of bits :P
20:05:02 <elliott> well ok it si but.
20:05:04 <elliott> it feels like cheating
20:05:12 <elliott> you're meant to pick Chaitin's constant or something like that :P
20:05:30 <monqy> itidus20: it's for the effortless erotica of women
20:05:43 <oerjan> so, at least entropy reversal. although i'm not sure how it fits with the theory that the entropy increases when maxwell's demon forgets previous particle positions
20:06:17 <elliott> I really can't see a way to do it without "cheating" like that, which is infuriating, because my intuition about entropy blah blah blah says it must be possibl
20:06:17 <elliott> e
20:06:20 <itidus20> to me, gaming is not found in it's entirety in the domain of money and fame... nor in the domain of analysis and game theory and mathematics
20:06:26 <elliott> [asterisk]possible
20:06:34 -!- shachaf has joined.
20:06:46 <oerjan> elliott: well an uncomputable stream of bits would be likely indistinguishable from random
20:06:48 <itidus20> it is not found as a cathartic response to aggression and tension.. it is not entirely a means of developing hunting skills
20:06:53 <elliott> oerjan: well that's the point
20:07:01 <elliott> oerjan: it's true randomness, and the box outputs no heat or anything
20:07:41 <oerjan> itidus20: (6) learning to stop your lists of simple goals while they're still simple :P
20:07:41 <elliott> you just give it enough power to be able to drive the output mechanism (a LED, say, or maybe it just passes on the power if the bit is one), and it outputs the bitstream forever with no heat output
20:07:48 <itidus20> it is not simply a means of developing military skills and strategies
20:08:05 <elliott> oerjan: so...
20:08:11 <itidus20> no, the meaning of gaming is NP hard to locate
20:08:27 <monqy> meaning of gaming can't be fun is it
20:08:29 <monqy> naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah
20:08:39 <monqy> or
20:08:41 <monqy> fun-equivalents
20:09:24 <elliott> oerjan: SO BASICALLY HELP WHY CAN'T I GENERATE POWER IT MUST BE POSSSIBLE
20:09:48 <itidus20> i think the problem these days with gaming is trying to have fun knowing that the world is in such peril
20:10:44 <oerjan> itidus20: some games are PSPACE hard, even worse (e.g. sokoban)
20:10:59 <elliott> and sooebegins ignoring me
20:11:47 <oerjan> elliott is a firm believer in my omniscience, to the point of thinking any non-sign of it must be me ignoring him
20:12:03 <elliott> oerjan: YOU CAN AT LEAST SAY "HM" :D
20:12:08 -!- Taneb has joined.
20:12:26 <itidus20> I started reading tom saywer before
20:13:18 <itidus20> and i thought.. this book... with its down to earth values and warmth.. is what is missing from the world
20:13:30 <oerjan> ^ul ((h)(m)):!S(~:^:S*a~^~*a*~:^):^
20:13:30 <fungot> (h)(m) ...out of stack!
20:13:32 <Taneb> But it's there!
20:13:37 <Taneb> In your hands!
20:13:41 <oerjan> apparently not. oh.
20:13:43 <Taneb> That world hasn't gone!
20:13:46 <oerjan> ^ul ((h)(m)):^!S(~:^:S*a~^~*a*~:^):^
20:13:46 <fungot> hmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmhmmhmhhmmhhmhmmhhmmhmhhmmhhmhmmhmhhmhmmhhmmhmhhmhmmh ...too much output!
20:13:47 <Taneb> It's just moved on!
20:14:09 <lament> itidus20: in other words, it's poverty
20:14:14 <lament> poverty is what's missing from your world
20:14:25 <lament> just move to a really poor country, like Burma
20:14:50 <elliott> oerjan: BUT WH;Y CANT
20:15:08 <oerjan> hey norway is supposedly all warm and fuzzy this week. also, filthy rich.
20:15:20 <Taneb> Oh, Norway
20:15:29 <Taneb> The land of the Norwegians
20:15:38 <itidus20> lament: the way i see it is.. if i am the world.. burma is a toothache... and my legs and arms don't want to work to earn the money to fix the toothache
20:15:50 <lament> itidus20: it's not a toothache
20:15:53 <Taneb> Stupid Italy.
20:15:57 <oerjan> Taneb: the psychologists are saying we're in a "love psychosis"
20:15:59 <lament> itidus20: all the down to earth values and warmth are there, in burma
20:16:07 <oerjan> also, afk
20:16:09 <Taneb> oerjan: What, you and me>
20:16:13 <lament> itidus20: if you make them rich, the values and the warmth will go away
20:16:17 <itidus20> :o
20:16:25 <elliott> `addquote <Taneb> Oh, Norway <Taneb> The land of the Norwegians
20:16:30 <lament> that's how it happened in america and europe
20:16:37 <elliott> god dammit hackego
20:16:48 <lament> people don't need values and warmth when they got money
20:16:50 <itidus20> so you may wonder.. whats my trick to caring
20:17:14 <itidus20> i am living in a simple way.... augmented admittedly by the internet
20:17:21 <itidus20> etc
20:17:27 <elliott> lament: living in poverty in an authoritarian state: the true road to happiness?
20:17:44 <lament> elliott: according to some.
20:18:07 <lament> if you want family values, then yes, certainly
20:18:19 <lament> if you want support from others, then yes
20:18:23 <elliott> according to what you said.
20:18:39 <lament> such things are necessary in poor places because people can't survive without them at all. so they exist
20:18:59 <elliott> lament: so how long have you spent living like that in burma?
20:19:03 <elliott> when are you moving there permanently?
20:19:08 <lament> that's why "cultural conservatism" goes away as countries become rich. people don't need it anymore
20:19:11 <elliott> will you have an irc link?
20:19:21 <itidus20> lament: i literally have no income... my brother supplies internet, and hand me down PC parts... my mom provides electricity, groceries, bedroom.. my relatives and brother occasionally gave me food
20:19:36 <itidus20> it is a nice way to exist
20:19:57 <itidus20> it won't last forever.. etc
20:20:34 <itidus20> anyway heres mark twains pic, gotta love it: http://en.wikipedia.org/wiki/File:Mark_Twain_by_AF_Bradley.jpg
20:20:51 <lament> elliott: you're boring
20:21:21 <elliott> lament: is that another way of saying the answers are exactly what i expected
20:21:27 <lament> no
20:21:41 <lament> it's not related
20:21:44 <lament> you're just boring
20:21:54 <elliott> so you _are_ moving to Burma?
20:22:19 <lament> talking to you is not interesting because you never have anything intelligent to say
20:22:29 <elliott> likewise
20:22:32 <lament> you're probably the main reason why i'm not in this channel often
20:22:41 <elliott> cool
20:22:45 <elliott> would you like to talk about your feelings
20:22:48 <Taneb> Is Bearpark near Stockton?
20:26:18 -!- cheater has joined.
20:27:19 <elliott> Taneb: about twenty-three miles away, it looks like
20:27:32 <Taneb> Not too far
20:27:38 <Taneb> They could be the same person
20:30:38 <oerjan> <Taneb> oerjan: What, you and me> <-- um no, a large fraction of the norwegian population.
20:35:31 -!- Patashu has joined.
20:36:29 -!- TeruFSX has joined.
20:43:16 -!- cheater has quit (Ping timeout: 255 seconds).
20:43:55 -!- Taneb has quit (Ping timeout: 260 seconds).
20:56:54 -!- pumpkin has joined.
20:58:41 -!- copumpkin has quit (Ping timeout: 264 seconds).
21:02:53 <Lymee> @hoogle IO a -> a
21:02:53 <lambdabot> Foreign unsafePerformIO :: IO a -> a
21:02:53 <lambdabot> Data.ByteString.Internal inlinePerformIO :: IO a -> a
21:02:53 <lambdabot> System.IO.Unsafe unsafePerformIO :: IO a -> a
21:03:36 <oerjan> you are treading dangerous paths, grasshopper...
21:03:59 <Lymee> Yep! ^_^
21:04:47 <elliott> Lymee: STOP RIGHT THE;RE
21:15:37 -!- cheater has joined.
21:16:13 -!- pumpkin has quit (Quit: Computer has gone to sleep.).
21:18:04 -!- FireFly has quit (Quit: swatted to death).
21:18:18 -!- OxA5EA has joined.
21:18:26 <elliott> oh no, an ox
21:18:35 <monqy> oh no
21:20:31 <OxA5EA> howdy
21:21:06 <oerjan> > OxA5EA
21:21:07 <lambdabot> Not in scope: data constructor `OxA5EA'
21:21:12 <oerjan> > 0xA5EA
21:21:13 <lambdabot> 42474
21:21:47 <oerjan> now that is _much_ more obvious.
21:21:47 -!- GreaseMonkey has joined.
21:21:52 -!- OxA5EA has left.
21:22:09 <oerjan> his secret revealed, he left
21:23:51 <fizzie> @hoogle a -> b
21:23:51 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
21:23:51 <lambdabot> Prelude ($) :: (a -> b) -> a -> b
21:23:51 <lambdabot> Prelude ($!) :: (a -> b) -> a -> b
21:24:30 <fizzie> That looks safe enough; it even has the word "safe" in it.
21:25:00 <elliott> anyway, my next two languages: Piece of valuable specifics that should encourage yourself to order live chat software and Melancholy of the insect infested lemon tree
21:25:03 <elliott> mark your calenders
21:25:09 <elliott> [asterisk]calendars
21:30:12 <Lymee> > printStrLn $ unsafeCoerce 0
21:30:13 <lambdabot> Not in scope: `printStrLn'Not in scope: `unsafeCoerce'
21:30:20 <Lymee> So.
21:30:22 <Lymee> What would that do?
21:30:47 <elliott> Lymee: Depends what printStrLn is.
21:30:52 <Lymee> put*
21:30:57 <elliott> Depends on the GHC version.
21:31:05 <elliott> And OS, architecture, ...
21:31:12 <Lymee> Yay! ^_^
21:31:31 <oerjan> !haskell putStrLn $ Unsafe.Coerce.unsafeCoerce 0
21:31:41 <Lymee> Why is it that unsafeCoerce seems....
21:31:47 <elliott> oerjan: I imagine it prints out an empty string
21:31:50 <elliott> because of pointer tags and []
21:31:52 <oerjan> hm...
21:31:52 <Lymee> A lot more dangerous than unsafePerformIO?
21:31:55 <elliott> Nothing coerces to [] too
21:31:57 <elliott> oh wait
21:31:59 <elliott> oerjan: egobot isn't here
21:32:02 <oerjan> !haskell print $ Unsafe.Coerce.unsafeCoerce 0
21:32:05 <EgoBot> ​()
21:32:07 <oerjan> oops
21:32:47 <oerjan> !haskell print (Unsafe.Coerce.unsafeCoerce 0 :: String)
21:32:50 <EgoBot> ​""
21:32:56 <Lymee> :t \x -> ((\y -> y y) (\r -> r))
21:32:57 <lambdabot> Occurs check: cannot construct the infinite type: t = t -> t1
21:32:57 <lambdabot> Probable cause: `y' is applied to too many arguments
21:32:57 <lambdabot> In the expression: y y
21:32:59 <Lymee> :(
21:33:14 <elliott> Lymee: needs more newtypes
21:33:16 <elliott> oerjan: oh wait it is here
21:33:17 <elliott> heh
21:33:19 <oerjan> Lymee: unsafeCoerce can easily segfault if you're unlucky
21:33:21 <elliott> just not hackego
21:33:44 <oerjan> now, you can _write_ unsafeCoerce with unsafePerformIO, but it takes a bit of work.
21:33:50 <Lymee> :t \x -> (\f -> f f) (\r -> r r)
21:33:50 <lambdabot> Occurs check: cannot construct the infinite type: t = t -> t1
21:33:50 <lambdabot> Probable cause: `f' is applied to too many arguments
21:33:50 <lambdabot> In the expression: f f
21:33:53 <Lymee> :(
21:34:30 <Lymee> Is it possible to write a function a->b that never returns?
21:34:37 <Lymee> As in, actually have that type inferred
21:35:40 <oerjan> using only lambda, i think not
21:36:06 <elliott> :t \_ -> undefined
21:36:06 <lambdabot> forall t a. t -> a
21:36:09 <elliott> yes.
21:37:18 <oerjan> (by which i excluded undefined etc.)
21:39:20 <Vorpal> what about a recursive function that never returns?
21:39:57 <oerjan> you cannot do general recursion with just lambdas
21:40:21 <oerjan> it'll always hit that infinite type problem
21:40:23 <elliott> well those things are part of real haskell function writing, so i assume Lymee would include them
21:40:30 <elliott> :t fix id :: a -> b
21:40:30 <lambdabot> forall a b. a -> b
21:40:46 <oerjan> elliott: i wouldn't assume that after the :t \x -> (\f -> f f) (\r -> r r) thing
21:41:13 <elliott> oerjan: it's Lymee, nonsensical messing with lambdabot is a given
21:41:15 <elliott> anyway
21:41:18 <elliott> the infinite type problem? not really
21:41:22 <elliott> just newtype it
21:41:28 <elliott> that doesn't involve any functions or anything
21:41:30 <elliott> or explicit recursion
21:41:40 <oerjan> elliott: that's not "just lambdas"
21:41:56 <elliott> oerjan: Lymee _never said_ just lambdas
21:42:01 <elliott> you did
21:42:40 <elliott> newtype X a = X { un :: X a -> a }
21:42:41 <elliott> \x -> un (X (\f -> un f f)) (X (\r -> un r r))
21:42:41 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:42:42 <oerjan> elliott: your comment was in the context of my comment.
21:42:45 <elliott> unfortunately lambdabot can't run that or anything
21:42:47 <elliott> oerjan: well ok
21:42:52 <elliott> i was trying to answer Lymee
21:43:04 <oerjan> EgoBot can.
21:43:15 <fizzie> (unsafeCoerce 42 :: ByteString) tends to segfault quite reliably.
21:43:47 -!- comex_ has changed nick to comex.
21:44:14 <oerjan> presumably ByteString has no nullary constructor
21:46:11 <elliott> Prelude> Unsafe.Coerce.unsafeCoerce (Just ()) :: [()]
21:46:12 <elliott> [(),Segmentation fault
21:46:12 <elliott> also works
21:46:44 <elliott> I love how the memory layout works out perfectly apart from the having one fewer field thing
21:46:55 <fizzie> You can also unportably get bits out of floats with it.
21:46:57 <fizzie> !haskell print (Unsafe.Coerce.unsafeCoerce 1.0 :: Int)
21:47:00 <EgoBot> 4607182418800017408
21:47:01 <fizzie> Wery Useful.
21:47:08 <elliott> fizzie: Just... just stop
21:48:37 <Lymee> !haskell print (Unsafe.Coerce.unsafeCoerce 1.0 :: Bool)
21:48:41 <EgoBot> False
21:48:44 <Lymee> :(
21:49:17 <Lymee> !haskell print (Unsafe.Coerce.unsafeCoerce 42 :: Float)
21:49:20 <EgoBot> 5.9e-44
21:49:21 <elliott> (diff) (hist) . . N Fairly intriguing review of shopping cart software package prepared by renowned soccer player or a person named very same as that soccer player.‎; 21:41 . . (+8,490) . . MarshallNielsen (Talk | contribs) (New page: Let's encounter it; most businesses right now need to possess a presence online. The challenge is, that most small business enterprise entrepreneurs are rather actually
21:49:21 <elliott> scared of the work ...)
21:49:22 <elliott> (diff) (hist) . . N Incredibly fascinating evaluation of shopping cart software package prepared by well-known soccer professional or a person known as exact same as that soccer player.‎; 21:27 . . (+8,400) . . MarshallNielsen (Talk | contribs) (New page: Let's face it; most organizations today will need to have a presence on the web. The situation is, that most modest organization proprietors are qu
21:49:25 <elliott> ite truthfully terrified on the work it w...)
21:49:29 <elliott> oh my god
21:49:31 <elliott> the titles are getting even better
21:49:47 <Lymee> !haskell print (Unsafe.Coerce.unsafeCoerce 0 :: Float)
21:49:50 <EgoBot> 0.0
21:49:53 <Lymee> !haskell print (Unsafe.Coerce.unsafeCoerce 1 :: Float)
21:49:57 <EgoBot> 1.0e-45
21:50:13 <Lymee> !haskell print $ map (Unsafe.Coerce.unsafeCoerce :: Float)) [1..]
21:50:24 <Lymee> !haskell print $ map (Unsafe.Coerce.unsafeCoerce :: Float) [1..]
21:50:54 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce x :: Float) [1..]
21:50:57 <EgoBot> ​[1.0e-45,3.0e-45,4.0e-45,6.0e-45,7.0e-45,8.0e-45,1.0e-44,1.1e-44,1.3e-44,1.4e-44,1.5e-44,1.7e-44,1.8e-44,2.0e-44,2.1e-44,2.2e-44,2.4e-44,2.5e-44,2.7e-44,2.8e-44]
21:51:14 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce x :: Bool) [1..]
21:51:17 <EgoBot> ​[False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False]
21:51:21 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce x :: Bool) [0..]
21:51:24 <EgoBot> ​[False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False]
21:51:27 <Lymee> :<
21:51:37 -!- NihilistDandy has quit (Ping timeout: 246 seconds).
21:51:46 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce x :: Int) [True, False]
21:51:49 <EgoBot> ​[8646911284555690264,1110514680]
21:52:04 <elliott> > unsafeCoerce (99::Integer) :: Int
21:52:05 <lambdabot> Not in scope: `unsafeCoerce'
21:52:08 <elliott> hmm...
21:52:10 <elliott> ugh
21:52:20 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce ((Unsafe.Coerce.unsafeCoerce x :: Int)+1) :: Bool) [True, False]
21:52:23 <EgoBot> ​[False,False]
21:52:27 <Lymee> !haskell print $ take 20 $ map (\x -> Unsafe.Coerce.unsafeCoerce ((Unsafe.Coerce.unsafeCoerce x :: Int)) :: Bool) [True, False]
21:52:30 <EgoBot> ​[True,False]
21:52:33 <Lymee> nyan
21:58:45 -!- NihilistDandy has joined.
22:03:55 -!- NihilistDandy has quit (Ping timeout: 276 seconds).
22:04:58 <elliott> oerjan: I wish there was some kind of higher-order DSL for describing the kind of compositions that turn into nested clusterfucks of (.)
22:04:58 <elliott> I'm not sure what it'd look like, though... maybe it could assign a name to every argument, and... :D
22:08:06 -!- HackEgo has joined.
22:08:36 <elliott> "Funnily because of the ordering of Bool it holds implies == (<=)."
22:08:37 <elliott> oerjan: >:D
22:12:21 <oerjan> elliott: iirc nested clusterfucks of (.) correspond to lambdas where every argument is used exactly once, in order. except that a few exceptions become id instead.
22:12:43 <elliott> oerjan: well, I mean, nested clusterfucks mixed in with other things
22:12:48 <oerjan> @pl \a b c d e -> a (b c d) e
22:12:48 <lambdabot> (.) . (.)
22:13:54 <oerjan> elliott: also, you're familiar with (iirc) conal elliott's result etc. notation?
22:14:19 <elliott> oerjan: indeed
22:14:28 -!- GreaseMonkey has quit (Quit: The Other Game).
22:14:30 <elliott> well, maybe not familiar
22:14:33 <elliott> but I know of it, and read a post once
22:16:40 -!- cheater_ has joined.
22:19:34 -!- cheater has quit (Ping timeout: 255 seconds).
22:24:17 -!- NihilistDandy has joined.
22:39:01 -!- TeruFSX has quit (Ping timeout: 258 seconds).
23:08:12 <elliott> oerjan: Is nesting of loops required for brainfuck to be [[Turing-complete]]? (I'm asking because I'm trying to show reduction with another esolang where nested loops would be difficult.) —[[User:Maharba|Maharba]] 22:24, 31 July 2011 (UTC)
23:08:15 <elliott> it is, right?
23:08:30 <elliott> I know dbfi has seven deep loops, or something
23:08:31 <elliott> or was it five
23:10:13 <Patashu> it's almost certianly required otherwise you can't have very interesting logic
23:10:17 <oerjan> well if you have only one level of loops, then what's inside a loop is only ><+- (ignoring .,)
23:11:17 <elliott> oerjan: orly
23:11:29 <elliott> yeah i know it's not tc without nested loops
23:11:31 <elliott> i just dunno the proof
23:12:06 <oerjan> ah, didn't really notice that it was a quote.
23:12:35 <Patashu> If you have no nested loops you cna never 'regress' in state
23:12:49 <Patashu> is my rough idea of the proof
23:12:59 <oerjan> well it could be proved by solving the halting problem for each loop
23:13:07 <elliott> http://esolangs.org/w/index.php?title=HQ9%2B&curid=1036&diff=24089&oldid=22953
23:13:10 <elliott> wow it's ALL IN UPPERCASE
23:13:12 <elliott> EVEN THE STRINGS IT PRINTS
23:14:34 <oerjan> if a loop is unbalanced, then you can only perform it so many times before going periodic, so halting for that can be determined.
23:15:15 <monqy> fileupyours
23:15:16 <oerjan> (so many times after going off the original tape)
23:16:00 <monqy> hq9+ was kind of okay, but hq9+ derivatives make me sad
23:16:25 <oerjan> if it's balanced, well how does that balanced loop optimization work in general...
23:16:59 <elliott> oerjan: ok post that on the talk page
23:16:59 <elliott> thx
23:17:27 <oerjan> oh hm you are merely adding a given vector to the touched cells each time.
23:17:58 <oerjan> and it's a question of whether the loop test cell will ever hit 0 or not
23:18:57 <Patashu> yup
23:21:13 -!- elliott has quit (Ping timeout: 246 seconds).
23:25:01 -!- NihilistDandy has quit (Ping timeout: 240 seconds).
23:27:15 -!- lament has quit (Ping timeout: 260 seconds).
23:27:38 -!- NihilistDandy has joined.
23:41:12 <cheater_> how do i get a new pet? i tried sacrificing anything i can come up with and all i could get is some demons when i sacrifice priests
23:42:57 -!- copumpkin has joined.
23:46:17 * oerjan calls the PETA
23:59:08 -!- lament has joined.
←2011-07-30 2011-07-31 2011-08-01→ ↑2011 ↑all