←2013-01-29 2013-01-30 2013-01-31→ ↑2013 ↑all
00:00:51 <RodgerTheGreat> I had a haskellion tell me vehemently that I shouldn't implement a type system in a language by referring to things as having a "kind", because "kinds" are an utterly distinct thing from a "type" in haskell
00:01:28 <oerjan> i don't think it's just haskell, but type theory in general
00:01:29 <Bike> well that's type theory generally
00:01:47 <RodgerTheGreat> they're fucking words
00:01:48 <Bike> though yeah those words are kind of. vague
00:02:09 <RodgerTheGreat> and it doesn't matter what the words mean in haskell when you are writing a language which is not haskell
00:02:13 <Bike> it's just that if you say "kind" to mean what people would think of as a "type" then you'll probably confuse people, so just stick with the shitty language we've got and hope things work out
00:02:30 <elliott> RodgerTheGreat: "kind"'s meaning is well agreed upon in PLT in general, not just Haskell.
00:02:45 <elliott> (Well, relatively well-agreed; ambiguity arises when you get to types-of-kinds.)
00:03:02 <RodgerTheGreat> an ieee-754 double does not have enough granular precision to express how little I care
00:03:10 <Bike> type three: revenge of the meta
00:03:14 <elliott> okay well maybe you should just shut up
00:03:27 <elliott> since you clearly know nothing about either category theory or type systems
00:04:22 <Bike> no, no, throw in a nerdy insult
00:04:29 <Bike> make this as horrible as possible for everybody
00:05:03 -!- epicmonkey has quit (Ping timeout: 272 seconds).
00:05:42 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:05:56 <elliott> no I think I will just make it simple by telling the person who has joined and then done nothing other than shout loudly about how proud they are about how little they know to shut up and see how it goes from there
00:06:10 <elliott> that everything is horrible should be self-evident
00:06:28 <Bike> he was talking about creatures with sgeo yesterday!
00:06:32 -!- Phantom_Hoover has joined.
00:06:39 <Bike> they were comparing strategies for making small fictional animals miserable
00:06:58 <RodgerTheGreat> disagree with the importance of terminology -> knows nothing, obviously
00:08:02 <Sgeo> Clearly the people who made Haskell should have used a term other than "monad", to avoid stepping on APL's toes
00:08:37 <Bike> the ghost of leibniz will venge them all
00:08:44 <elliott> RodgerTheGreat: I think it's fairly clear that if you think category theory is dedicated to making up a bunch of words to confuse people you're probably just scared of them because you don't know what any of them mean.
00:08:50 <kmc> `addquote <RodgerTheGreat> an ieee-754 double does not have enough granular precision to express how little I care
00:08:59 <HackEgo> 941) <RodgerTheGreat> an ieee-754 double does not have enough granular precision to express how little I care
00:09:05 <Sgeo> There seems to be no such thing as a word that has a consistent meaning across every programming language. I do not know whether this is a terrible thing or not.
00:09:12 <RodgerTheGreat> kmc: awesome
00:09:32 <kmc> it's great when two communities have two different, completely incomprehensible terms for the same idea
00:09:40 <kmc> like "flyweight pattern" and "hash consing"
00:09:56 <kmc> it's hard to think of a worse name for this idea, let alone two
00:10:14 * Sgeo has mostly noticed the other way, two completely different ideas for the same word
00:10:31 <Sgeo> wtf is flyweight pattern
00:10:36 <Bike> bla bla descriptivism bla logic bla bla nihilism bla
00:10:59 <kmc> say what you will about the tenets of Java, at least it's an ethos!
00:11:01 <elliott> Sgeo: hash consing!!
00:11:05 <Bike> "In computer programming, flyweight is a software design pattern. A flyweight is an object that minimizes memory use by sharing as much data as possible with other similar objects; it is a way to use objects in large numbers when a simple repeated representation would use an unacceptable amount of memory"
00:11:11 <Bike> Wait, are you serious.
00:11:41 <Sgeo> Clojurists call that "persistent data structures", I think
00:11:52 <kmc> i think it's a bit different
00:12:07 <kmc> it's like if you have a word processor and an object for every character
00:12:23 <kmc> you probably don't want a different object in memory for every instance of a normal-weight 12pt times new roman 'e'
00:12:28 <Bike> Sgeo: doesn't persistence usually mean it persists across invocations of the runtime and shit
00:12:34 <kmc> 'interning' is another term for this
00:12:39 <elliott> Sgeo: does the clojure meaning differ from the usual http://en.wikipedia.org/wiki/Persistent_data_structure ?
00:12:40 <kmc> Bike: different definition of persistent
00:12:45 <elliott> not quite the same thing as hash consing, if so
00:12:47 <RodgerTheGreat> kmc: smalltalk "smallInteger" comes to mind
00:12:48 <Bike> right. right, of course
00:12:59 <Bike> SILLY ME
00:13:11 <RodgerTheGreat> although in that case they're baked very deeply into the vm implementation
00:13:24 <Sgeo> elliott, that seems to be the same as the Clojure meaning, except I think the Clojure meaning also implies some efficiency in the process, not sure
00:13:24 <kmc> this idea of interning is somewhat different from the persistent data structures idea, which is like "if we insert into a binary tree to get a new tree, we can point back into most of the nodes of the old tree"
00:13:54 <Bike> oh, i thought flyweight was more of the latter
00:13:56 <kmc> a lot of langugaes have interning for small integers
00:14:03 <kmc> python:
00:14:03 <kmc> >>> 256 is 255+1
00:14:04 <kmc> True
00:14:04 <kmc> >>> 257 is 256+1
00:14:05 <kmc> False
00:14:06 <RodgerTheGreat> even java does it
00:14:22 <Bike> that's more because of machine convenience isn't it
00:14:28 <kmc> well in Java you also have primitive ints, it wouldn't make sense to intern those
00:14:33 <Bike> kmc: er, they use bignums past 256, or what?
00:14:35 <kmc> but maybe it interns Integer objects for all I know
00:14:36 <RodgerTheGreat> kmc: I meant the boxed types
00:14:48 <kmc> Bike: don't think so
00:14:58 <RodgerTheGreat> it interns boxed integer types from like -127 to 128
00:15:05 <kmc> but they statically allocate the heap object for small integers
00:15:13 <Bike> oh, huh
00:15:15 <kmc> even if they may contain a machine integer
00:15:17 <elliott> Bike: python stores integers on the heap and stuff
00:15:22 <elliott> but it caches teeny ones
00:15:36 <Bike> "cool"
00:15:39 <kmc> ints are objects, they have attrs and shit
00:16:05 <kmc> In [4]: (99).bit_length()
00:16:06 <kmc> Out[4]: 7
00:16:09 <oerjan> ghc interns small Chars, i recall
00:16:12 <kmc> although stupidly you can't write 99.bit_length
00:16:19 <Bike> why not
00:16:23 <kmc> syntactic stupidity
00:16:28 <Bike> yay!
00:16:38 <Bike> Oh, because it could interpret it as a number with a radix point.
00:16:43 <kmc> Ruby and Rails take this to the extreme, of course, and monkeypatch all kinds of nonsense methods onto the number class
00:17:09 <kmc> because writing "3.sexy_goats" reads so much better than "sexy_goats(3)"
00:17:18 <RodgerTheGreat> kmc: the "smoke 'em if you've got 'em" principle of language and API design
00:17:44 <Sgeo> kmc, Smalltalk too, to some extent
00:17:56 <kmc> who cares if you gratuitously modify the core language, as long as your client code looks superficially nice in huge font on a meticulously styled webpage
00:18:10 <kmc> that sentence has too many adverbs
00:18:14 <Bike> are you mad
00:18:24 <Sgeo> I don't see anything inherently wrong with modifying the core language as long as it doesn't disrupt other parts
00:18:31 <RodgerTheGreat> kmc: it's not code, it's ~poetry~
00:18:34 <elliott> oerjan: if only unicode was small enough to cache them all
00:18:45 <kmc> "I don't see how that could go wrong, unless the monkeys started hurting people. Which they almost certainly would."
00:18:48 <Sgeo> If that sexy_goats had some sort of namespace, so other things could add their own sexy_goats method to Object or whatever to do something different, I would have no complaint
00:19:07 <kmc> RodgerTheGreat: right yeah
00:19:42 <kmc> i would never understand, i'm just a software engineer, not a rockstar code-poet painter hacker
00:19:53 <Sgeo> Although I guess in that case if the equiv. of doesNotUnderstand ... hm
00:19:55 <RodgerTheGreat> ninja hustler
00:19:59 <kmc> how terrible to have the self image of a well-paid highly skilled engineer
00:20:06 <kmc> no kid wants to be that when they're growing up right
00:20:26 <Bike> it's just so boring and middle class!
00:20:28 <kmc> what's a doesNotUnderstand
00:20:30 <Bike> unlike having a job typing
00:20:45 <fizzie> RodgerTheGreat: According to the API docs, Integer.valueOf will "always cache values in the range -128 to 127, inclusive, and may cache other values outside of this range". (new Integer(0) will of course always make a new Integer.)
00:20:47 <Sgeo> kmc, the Smalltalk equivalent of method_missing
00:20:49 <kmc> ok
00:21:00 <Sgeo> although it's doesNotUnderstand: not doesNotUnderstand
00:21:18 <kmc> Ruby and Python support basically the same kinds of fancy dynamic shit, but the communities have vastly different norms for when it's appropriate to use them
00:21:30 <RodgerTheGreat> fizzie: right, got the ranges backwards
00:21:32 <kmc> community norms >>> hard language rules
00:21:42 <kmc> even Haskell's supposed purity is a community norm
00:22:04 <Bike> kmc you sound like an anthropologist what's wrong ;_;
00:22:05 <pikhq> Combined with some minor awkwardness in impure syntax.
00:22:05 <elliott> to be fair Python makes monkeypatching a hell of a lot more painful than Ruby in general
00:22:12 <elliott> language structure dictates community norms
00:22:18 <elliott> to some degree
00:22:26 <pikhq> (imperative programming in Haskell is quite doable, but it's also syntactically awkward, y'know?)
00:22:32 <fizzie> It's a kind of an arbitrary range anyway, since there doesn't seem to be a very strict reason for it to be a particular amount of bits, except perhaps for a slightly more micro-optimized range test.
00:22:40 <kmc> pikhq: aww, I like imperative programming in Haskell!
00:22:45 <kmc> it's such a good imperative language
00:22:54 <oerjan> `addquote <Sgeo> If that sexy_goats had some sort of namespace, so other things could add their own sexy_goats method to Object or whatever to do something different, I would have no complaint
00:22:56 <kmc> highly expressive, precise control over who can touch what state, good threads, fast
00:22:58 <pikhq> kmc: Not saying it's bad or anything, just that the syntax for it ain't the cleanest thing. :)
00:22:59 <HackEgo> 942) <Sgeo> If that sexy_goats had some sort of namespace, so other things could add their own sexy_goats method to Object or whatever to do something different, I would have no complaint
00:23:00 <kmc> STM
00:23:02 <kmc> yeah it's not the best
00:23:13 <fizzie> I like imperative programming in Prolog. (It's so easy?)
00:23:16 <pikhq> Whiiich is why you tend do imperative when necessary and functional otherwise. :)
00:23:18 <kmc> "no"
00:23:20 <RodgerTheGreat> fizzie: I think it was something like "we need a reasonably small number of these to not be ridiculous. How 'bout the range of a byte? Cool, let's break for lunch."
00:25:41 <kmc> bonghits for everyone
00:26:23 <elliott> today on great images of wikipedia http://upload.wikimedia.org/wikipedia/commons/e/ed/BRDF_Diagram.svg
00:26:39 <RodgerTheGreat> I don't even
00:26:43 * Sgeo misses Encarta
00:27:11 <kmc> i miss Microsoft's special purpose mini encyclopedias
00:27:14 <kmc> like if you like dogs
00:27:18 <kmc> there was a CD you could buy
00:27:21 <kmc> that had some stuff about dogs on it
00:27:24 <kmc> not a lot, just one CD worth
00:28:01 <Bike> elliott: what the hell?
00:28:13 <elliott> Bike: submit to BRDF diagram. BRDF diagram now owns your existence
00:28:22 <Bike> ._.
00:28:27 <Sgeo> Not a part of Encarta I think, but there was this one CD that had a thing that let you fly around the Earth
00:28:32 <kmc> was it
00:28:34 <kmc> flight simulator
00:28:41 <elliott> earth simulator
00:29:11 <kmc> Microsoft Crash Into The Willis Tower Immediately Simulator
00:29:28 <kmc> Microsoft Holy Damn This 747 Has A Lot Of Switches Simulator
00:29:32 <fizzie> I have here in my bookshelf a "Microsoft Encarta 1994 Edition", "For Distribution Only With a New PC".
00:29:42 <elliott> kmc: does that just simulate the lone emotion of the 747 having a lot of switches
00:29:46 <kmc> yes
00:29:48 <elliott> and not any other aspects of the 747 flight experiecne
00:29:49 <elliott> good
00:29:51 <elliott> I would play that
00:29:55 <ion> Microsoft Surgery Simulator 2013
00:29:58 <fizzie> If I recall correctly, it had something like six or a dozen articles with video (!) in them.
00:30:06 <kmc> microsoft sugary simulator
00:30:18 <elliott> microsoft actually being bill gates simulator
00:30:25 <kmc> it's a jewel case with a CD-shaped wafer of aspartame inside
00:30:31 <ion> Microsoft Actually Being Steve Ballmer Simulator
00:30:36 <elliott> x = microsoft working at microsoft on the x simulator simulator
00:30:39 <fizzie> The video clips were in some 288x216 15fps format. But they were still terribly exciting.
00:30:41 <ion> Now with a hotkey for DEVELOPERS
00:30:53 <kmc> > cycle "DEVELOPERS "
00:30:54 <lambdabot> "DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPE...
00:32:00 <fizzie> Next to Encarta there is "Microsoft Cinemania 1994 Edition", which I don't remember what it was like, and "Microsoft Dinosaurs", which presumably has dinosaurs in it.
00:32:13 <fizzie> These are all "For Distribution Only With a New PC".
00:32:56 <kmc> Microsoft Sit On Your Balls Simulator
00:33:45 <RodgerTheGreat> I have encarta '95 in my CD wallet
00:33:56 <fizzie> "Welcome to Microsoft® Dinosaurs! You'll be exploring a world unlike any you've experienced before, discovering amazing facts and long-buried secrets at every mouse click! Now, let's get on with the expedition!"
00:33:58 <kmc> elliott: here is a game about how many switches the A-10 Warthog has: https://www.youtube.com/watch?v=huVi6rdPE4I
00:34:03 <kmc> spoiler alert: a lot of switches
00:34:37 <kmc> i also had some magic eye CD-ROM
00:34:44 <elliott> that looks like too many switches for me
00:35:14 <kmc> where you could MS Paint any drawing you want (read: penis) and then make a magic eye out of it
00:35:18 <Sgeo> verb trains are so easy
00:35:27 <kmc> oh god
00:35:29 <kmc> it's spreading
00:35:45 <ais523> kmc: you needed a separate program for that?
00:35:50 <Bike> no, it's just sgeo
00:35:57 <Bike> milhouse is not a meme, sgeo
00:35:59 <ais523> I used to impress people by quickly implementing a stereogram generator in Excel
00:36:13 <ais523> you can do it in about 10 lines of VBA, it doesn't take long
00:36:28 <kmc> that's cool
00:37:10 <Sgeo> Someone in #clojure just called me a markov train bot
00:37:28 <elliott> markov train
00:37:35 <Bike> everybody get on the markov train!
00:37:44 <Sgeo> They called me a markov chain bot, not a markov train bot
00:38:00 <fizzie> Does the program come with the kind of patterns they put in those books?
00:39:53 <fizzie> fungot: Did you know that in the Markov train, what's in the front coach only depends on the contents of a finite number of the following coaches.
00:39:54 <fungot> fizzie: however, sudh as storing machine language ( in the program g0es to the next screen line set the same shape.
00:40:10 <Sgeo> <Sgeo> juxt is like a J verb train with the concat operator between every given function
00:40:15 <Sgeo> <TimMc> Sgeo: Well, that concludes it -- you're definitely a Markov chain bot of some sort. :-P
00:40:24 <elliott> wow are you really telling #clojure about J
00:41:10 <kmc> did you know: hidden Markov models are named after Hidden Markov, the Soviet Union's equivalent of Where's Waldo
00:41:27 <kmc> HMMs were used in early computer visual search research in the USSR and the analogy stuck
00:41:47 <Bike> haha, gonna have to pass that on
00:41:49 <kmc> tell your friends
00:41:55 <Bike> i know a guy who's a big fan of markov's son (yes really)
00:42:16 <fizzie> Did you know: Conditional Random Fields... aren't that easy to make a pun about.
00:42:31 <Sgeo> They may or may not be random?
00:42:58 <Bike> Is that really a pun so much as a rephrasing
00:43:40 <fizzie> (CRFs are spiffy.)
00:47:13 <oerjan> does markov's son have any sons, or will he break the chain
00:52:21 -!- augur has joined.
00:52:24 <kmc> boo hiss
00:52:58 -!- augur has quit (Read error: Connection reset by peer).
00:53:08 -!- augur has joined.
01:01:20 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:04:32 -!- carado has quit (Ping timeout: 246 seconds).
01:05:26 <shachaf> Sgeo: How's Ada going?
01:05:28 <Sgeo> http://scienceblogs.com/goodmath/2006/11/02/the-c-is-efficient-language-fa/
01:05:39 <Sgeo> shachaf, haven't looked in a bit, will later
01:18:03 <kmc> Ada is the new Sgeolang?
01:18:07 <kmc> does that mean Agda is next?
01:18:59 <Bike> jAgda
01:24:09 <elliott> ajda
01:27:45 <shachaf> @quote shachaf Agda
01:27:45 <lambdabot> shachaf says: Everyone forgets about Agda Lovelace, the first constructivist.
01:41:34 <kmc> hehe
01:45:16 <Sgeo> http://www.reddit.com/r/haskell/comments/17idma/how_to_write_unmaintainable_haskell_code/
01:45:40 <kmc> i'm clicking your link against my better judgement
01:46:35 <Bike> "the Succ (Succ Zeroth) Obfuscated Haskell Code Contest" is peano a Haskell Thing now
01:47:57 <elliott> how to write unmaintainable haskell code: just write any haskell code "trolololo" am i right kmc
01:48:07 <elliott> truly people will think "i mad" upon reading these words
01:48:19 <Bike> Link the trolololo video first.
01:48:44 <elliott> Bike: and what if i don't
01:48:48 <elliott> Bike: will you have a...... problem
01:48:58 <Bike> yes i'll have a not being trolled problem!!!
01:49:19 <elliott> have u considered Bike.... that that is the truest troll of all
01:49:19 <elliott> : )
01:49:45 <elliott> "Haskell's expressiveness allows coding in a very concise style. For example it renders comments redundant and makes you able to call all your types T and typeclasses C and them import them qualified."
01:49:53 <elliott> this is pretty lame but i like the henning thielemann joke
01:51:10 <Bike> "renders comments redundant", i'll have to remember that one
02:08:38 -!- monqy has joined.
03:20:02 -!- jconn has joined.
03:22:09 <Sgeo> `list
03:22:10 <HackEgo> Taneb atriq Ngevd Fiora nortti Sgeo alot
03:22:13 <Sgeo> ) 1 + 2 3 4
03:22:13 <jconn> Sgeo: 3 4 5
03:26:57 <monqy> what strings did you pull to get that thing in here
03:27:24 <Bike> "hey have your bot join #esoteric" "fuck off sure"
03:27:59 <Sgeo> Not that hostiley
03:28:02 <oerjan> whee ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]] [42] [H]
03:29:14 <shachaf> Sgeo: imo use ada
03:29:35 <oerjan> no use fueue, look how simple it is to print a number in decimal!
03:30:15 * oerjan feels obligated to cackle evilly, but somehow doesn't put much feeling into it
03:31:28 <shachaf> I wish Ruby's functions were first-class. :-(
03:31:53 <Bike> ruby has functions?
03:33:17 <shachaf> Good point.
03:35:13 -!- augur has quit (Read error: Connection reset by peer).
03:35:38 <monqy> well there's that thing where you wrap a function in an object!!! ha ha ha ha ha ha ha ha ha ha
03:35:39 -!- augur has joined.
03:35:49 <Bike> i thought it had methods
03:38:17 <shachaf> does ruby have monoids
03:39:01 <Bike> It has + and *!!!
03:40:23 <Sgeo> Do J's verbs count as first-class?
03:40:26 <Sgeo> What is first-class?
03:40:36 <Sgeo> J verbs can only be taken as arguments by adverbs and conjunctions
03:40:49 <Sgeo> (which can also take nouns as arguments)
03:40:52 <Bike> First-class is a thing to make fun of Pascal programmers with.
03:41:03 <Sgeo> ?
03:42:39 -!- Arc_Koen has left.
03:44:31 <kmc> what is love?
03:45:41 <Sgeo> Are there any terms that are completely unambiguous, only one meaning across languages and that there's no room to argue about?
03:46:25 <Bike> hahaha
03:46:39 <kmc> pick one and i'll argue with you about it
03:46:55 <Sgeo> identity comparison
03:46:57 <Bike> sgeo, do you know what "prescriptivism" and "descriptivism" are?
03:47:42 <Sgeo> Um, descriptivism = words have the meaning that they have from common usage, prescrip = words have fixed meanings
03:47:57 <Sgeo> (Sorry, playing Mafia in another channel)
03:48:44 <Sgeo> ) 5 1 $ 'Hello'
03:48:45 <jconn> Sgeo: H
03:48:45 <jconn> Sgeo: e
03:48:45 <jconn> Sgeo: l
03:48:45 <jconn> Sgeo: l
03:48:45 <jconn> Sgeo: o
03:48:46 <Bike> So if you accept descriptivism, your question is ill-posed. If you accept prescriptivism, you're dumb, and also need a dictionary nobody will argue with.
03:50:44 <Sgeo> ) < 'test'
03:50:44 <jconn> Sgeo: +----+
03:50:45 <jconn> Sgeo: |test|
03:50:45 <jconn> Sgeo: +----+
03:51:03 <Sgeo> ) 'hi' CR 'bye
03:51:03 <jconn> Sgeo: |open quote
03:51:03 <jconn> Sgeo: | 'hi' CR 'bye
03:51:03 <jconn> Sgeo: | ^
03:51:06 <Sgeo> ) 'hi' CR 'bye'
03:51:06 <jconn> Sgeo: |value error: CR
03:51:06 <jconn> Sgeo: | 'hi' CR'bye'
03:51:10 <Sgeo> ) 'hi' LF 'bye'
03:51:10 <jconn> Sgeo: |value error: LF
03:51:10 <jconn> Sgeo: | 'hi' LF'bye'
03:51:15 <Sgeo> ) 'hi',LF,'bye'
03:51:16 <jconn> Sgeo: |value error: LF
03:51:16 <jconn> Sgeo: | 'hi', LF,'bye'
03:51:20 <Sgeo> ) 'hi',CR,'bye'
03:51:20 <jconn> Sgeo: |value error: CR
03:51:21 <jconn> Sgeo: | 'hi', CR,'bye'
03:51:21 <Sgeo> bah
03:51:34 <Bike> "thanks"
03:52:20 <Sgeo> I don't get how it's ill-formed in descriptivism
03:53:06 <Bike> hm maybe i don't agree with your summary of descriptivism
03:53:32 <Bike> i think it's more like "words have meaning in the context of whoever you're communicating with", that is, you're describing how people view words
03:53:42 <Bike> not just saying "it's common (whatever that means) for X to mean Y so X means Y"
03:53:51 <Bike> maybe i'm just too radical for the dictionaries
03:54:10 <Sgeo> I like your description better
03:54:33 <Sgeo> But still don't see how it's ill formed. if everyone who bothers to use the term uses it for the same thing or not, is still a valid question
03:54:51 <Bike> well i suppose you'd need everyone to think the same about that term then
03:54:57 <Bike> so maybe not ill-posed, i dunno
03:56:56 <kmc> the feeling of watching a YouTube video and then realizing you already saw it while super drunk
03:56:59 <Sgeo> `list
03:57:01 <HackEgo> Taneb atriq Ngevd Fiora nortti Sgeo alot
03:57:10 <Sgeo> oh hey yay
03:59:12 <Bike> https://www.youtube.com/watch?v=3PCOcyt7BPI so, i now know true fear
04:04:54 <kmc> o_O
04:05:09 -!- monqy has quit (Quit: hello).
04:05:35 <kmc> it's really a testament to how safe air travel is
04:05:44 <kmc> that they could do this hundreds of times a day (at that one airport) and only occasionally crash
04:06:25 <Bike> i didn't even know you could do that with 747s
04:09:03 <kmc> i want to go to hong kong
04:09:34 <Bike> you won't be using that airport, of course
04:09:37 <kmc> right
04:09:43 <kmc> they built an island and put a new airport on it
04:09:48 <kmc> extended an island, anyway
04:09:50 <Bike> apparently the new one is on a - yeah, and a twenty minute drive
04:09:51 <Bike> kinda sucks
04:09:58 <kmc> i assume there is public transit
04:10:06 <Bike> twenty minute busing
04:10:15 <kmc> 20 min from airport to city center is pretty good
04:10:41 <Bike> is it? huh, i must not be cosmopolitan enough
04:11:07 <kmc> it varies a lot but 20 min is on the low end for cities i've been to
04:12:08 <Bike> i suppose it is a very common destination
04:12:11 <kmc> JFK to manhattan is like a 30 min drive with no traffic
04:12:29 <kmc> and like an hour on the subway :(
04:13:24 <kmc> ditto EWR
04:14:16 <kmc> ORD to downtown Chicago is like 45 minutes on the train
04:21:40 <Sgeo> Do they use Ada on planes?
04:22:59 <shachaf> Sgeo: Yep.
04:23:53 <kmc> ada on aeroplanes
04:26:20 <shachaf> Sgeo: you'll be hard-pressed to find a "language as cool as ada"
04:40:40 -!- oerjan has quit (Quit: leaving).
04:44:57 <kmc> http://vooza.com/videos/culture/
04:49:43 <Sgeo> There's a yandere theme and a yandere02 theme
04:50:04 <kmc> in ada?
04:50:21 <Sgeo> Wrong channel
04:50:46 <Bike> should be in ada
04:52:56 -!- WeThePeople has joined.
04:55:24 <kmc> "Spotify meets Grindr, but for rental cars, but run as if it were for a hotel"
05:17:28 <shachaf> Something should be Done about people who listen to music so loud in their headphones that you can hear it from across the room.
05:17:45 <kmc> better headphones
05:20:27 <shachaf> "earphones" in this case, I suppose.
05:21:31 <shachaf> It's annoying how with cryptography things, you don't get any useful debugging information when something goes wrong.
05:21:34 <ais523> you'd expect earphones to be less leaky than headphones, but they tend to be leakier
05:21:49 <ais523> best headphones in terms of low leak I ever got were in-flight on Air Canada
05:22:05 <ais523> it makes a lot of sense that those wouldn't leak, if they were designed for use on aeroplanes with people sitting right next to you
05:24:19 <kmc> airplanes are loud
05:24:27 <kmc> it's hard to hear leak
05:24:40 <ais523> only sometimes
05:24:52 <ais523> and depending on where you're sitting
05:24:57 <ais523> but it didn't leak even when not on the aeroplane
05:25:30 <shachaf> The noise of drums beating etc. breaks my concentration.
05:25:36 <shachaf> I don't mind the hum of airplanes so much.
05:26:10 <kmc> i find that even the quiet bits of airplanes have a lot more leak-masking noise than, say, an office
05:26:21 <kmc> unless you are the secretary of state and your office is an airplane
05:26:24 <kmc> then it's probably about the same
05:27:43 -!- DH____ has joined.
05:27:53 -!- DHeadshot has quit (Read error: Connection reset by peer).
05:29:48 <ais523> air force 1 is smaller than a typical commercial airliner, isn't it?
05:29:59 <ais523> also probably more manoeuvrable
05:35:14 <kmc> air force 1 is a 747
05:35:28 <kmc> well technically it's whatever airplane happens to be carrying the president at the moment
05:35:41 <kmc> but it's /usually/ a 747
05:36:44 <Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:37:03 -!- azaq23 has quit (Quit: Leaving.).
05:37:22 <Bike> hm let's see if i can do this
05:37:26 <Bike> `addquote < Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:37:30 <HackEgo> 943) < Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:37:34 <Bike> wait, no
05:37:37 <Bike> `delquote 943
05:37:38 <HackEgo> ​/hackenv/bin/delquote: 3: Syntax error: "fi" unexpected (expecting ")")
05:37:49 <kmc> fucked
05:37:50 <Bike> why must everything i touch die...........
05:38:00 <Bike> `cat bin/delquote
05:38:01 <HackEgo> ​#!/bin/sh \ id=$1 \ if ! expr "$id" ">=" 0 "&" "$id" "<" $(wc -l <quotes) >/dev/null; then id=$(expr $RANDOM % $(wc -l <quotes); fi \ head -n $((id-1)) quotes >quotes.new \ tail -n +$((id+1)) quotes >>quotes.new \ diff quotes quotes.new >/dev/null && exit 1 \ printf "*poof*%s" "$(quote $id | cut -d')' -f2-)" \ mv quotes.new quotes
05:38:12 <Bike> hmmmmm nope gonna go with fuck it
05:38:40 <Sgeo> It is, it just lists all permutations of the input list
05:38:49 <Sgeo> Should really be some simpler way imo, not sure if there is
05:39:27 <Bike> have you read your taocp today?
05:39:41 <Sgeo> Well, besides other variations and besides the explicit 3 : '(!#y)A.y'
05:39:50 <Sgeo> Erm, that's wrong
05:40:03 <Sgeo> 3 : '(i.!#y)A.y'
05:40:15 <shachaf> Sgeo: That syntax is confusing.
05:40:22 <shachaf> Can you show it in Ada instead?
05:40:48 <Bike> ^
05:41:08 <Sgeo> Does it help to know in that 3 : thing that y means the argument on the right?
05:41:51 <Sgeo> # is number of items in a list. ! is factorial. i. is list from 0 to argument - 1
05:42:04 <shachaf> Sgeo: Nope, doesn't help.
05:42:09 <shachaf> I'd rather see the Ada.
05:42:19 <Bike> yeah i'm gonna need to see ada. or ideally, a j->ada compiler.
05:42:21 <Sgeo> I assume that Ada would involve an explicit loop
05:42:31 <shachaf> Maybe...
05:42:37 <Bike> I guess an Ada->J compiler would also work!
05:42:39 <kmc> Bike: what, you're not up to debugging a hairy shell script inside many-worlds linux over IRC
05:42:59 <Bike> mostly i just don't understand the qdbformat
05:43:08 <Bike> even though < name> actually does bug me aesthetically
05:43:15 <shachaf> Bike: did you mess with `delquote...................................................
05:43:23 <Bike> no, it's just fucked.
05:43:25 <kmc> you can also fix it with sed but i too don't know what i'm doing plus i'm drunk
05:43:27 <coppro> oh my god
05:43:30 <coppro> thank you randall
05:43:33 <Bike> see: 21:37 < kmc> fucked
05:43:34 <shachaf> `run sed 's///' quotes | tail -n 1
05:43:35 <HackEgo> sed: -e expression #1, char 0: no previous regular expression
05:43:40 <shachaf> `run sed 's/a/a/' quotes | tail -n 1
05:43:42 <HackEgo> ​< Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:43:45 <kmc> s/exy/tim/e
05:43:55 <shachaf> `run sed 's/< Sgeo>/<Sgeo>/' quotes | tail -n 1
05:43:56 <HackEgo> ​<Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:44:01 <shachaf> `run sed -i 's/< Sgeo>/<Sgeo>/' quotes
05:44:05 <HackEgo> No output.
05:44:13 <shachaf> "lets hope there were no "casualties""
05:44:39 <Bike> shachaf you're my hero except I don't know what you did exactly? could you write what you did in some other language, like one for airplanes maybe, airplanes are nice.
05:44:57 <shachaf> Bike: imo Sgeo is the expert
05:45:11 <Bike> sgeo: help?
05:45:15 <shachaf> Sgeo: ada plz
05:45:18 <Bike> `quote 943
05:45:20 <HackEgo> 943) <Sgeo> I feel like (A.~[:i.[:!#) is verbose
05:45:47 <shachaf> `run sed s/se/ten/ quotes | tail -n1
05:45:48 <HackEgo> ​<Sgeo> I feel like (A.~[:i.[:!#) is verboten
05:45:50 <Bike> it's.... beautiful...........
05:46:02 <Bike> shachaf: good fix imo
05:47:46 <kmc> music for airports
05:47:53 <kmc> Bike: they should have sent a poet
05:47:54 <Bike> good album
05:48:40 <Bike> coppro: randall?
05:48:53 <kmc> coppro: redbull?
05:49:02 <ais523> `pastequotes Sgeo
05:49:07 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3314
05:50:06 <Sgeo> shachaf, are you still a Forth?
05:50:14 <Bike> <Sgeo> HOT TENXY TENX BITS
05:50:31 <shachaf> Sgeo: Forth?
05:50:51 <Bike> `quote 869
05:50:53 <HackEgo> 869) <sgeo> GreyKnight, shachaf is like a high-level Forth
05:50:55 <Sgeo> Bike, the xkcd person
05:51:06 <coppro> ^
05:51:14 <Bike> are you threatening coppro? is that how you know?
05:51:24 <Bike> don't make coppro conform to your sick whims.
05:52:37 <ais523> `quote N-Gage
05:52:39 <HackEgo> 86) <ais523> (still, whatever possessed anyone to invent the N-Gage?) \ 832) <HackEgo> 88) <ais523> (still, whatever possessed anyone to invent the N-Gage?) [...] <Sgeo_> Is there supposed to be a joke in 88? <Sgeo_> Unless "N-Gage" is some pseudoscientific spiritual mumbo-jumbo, I don't get it. <Sgeo_> Oh, it's a cell phone gaming thing apparent
05:52:51 <ais523> huh, that quote's still there
05:53:04 <kmc> the joke is that it's bad hth
05:53:36 <ais523> `pastequotes monqy
05:53:41 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32023
05:53:45 <ais523> kmc: it wasn't intended for the purpose of getting quoted
05:53:46 <Bike> oh for a second i thought that quote 88 was a quote about quote 88
05:54:01 <ais523> `pastlog `addquote <ais523> (still,
05:54:04 <HackEgo> grep: missing )
05:54:06 <ais523> probably needs a backslash
05:54:10 <ais523> `pastlog `addquote <ais523> \(still,
05:54:12 <kmc> 88 is a common neo-nazi codeword and also a lucky number in chinese
05:54:15 <kmc> is that part of it
05:54:22 <Bike> whoa
05:54:39 <Bike> isn't it just 8 though? you can't just like, make more eights for more luck
05:54:41 <HackEgo> No output.
05:56:00 <ais523> 390 is glorious, btw
05:56:01 <ais523> `quote 390
05:56:03 <HackEgo> 390) * Sgeo mutters about broken toilets <Sgeo> #toilet is useless <monqy> is #toilet even a thing <Sgeo> I'm looking for help with toilets
05:56:15 <kmc> hahahaha
05:56:26 <kmc> Bike: more 8s is more lucky duh
05:56:38 <kmc> a lot of chinese grocery stores have names like "Super 88"
05:57:05 <Bike> where does the madness end!
05:57:50 <Sgeo> help i'm addicted to mafia
05:58:49 <ais523> Sgeo: IRC mafia or forum mafia?
05:58:54 <Sgeo> IRC
05:58:55 <ais523> `pastequotes oerjan
05:59:01 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28766
05:59:03 -!- Bike_ has joined.
05:59:06 <ais523> the forum version's better, and moves slowly enough that it's less addictive
05:59:36 <Sgeo> I doubt I have the attention span for forum version
06:00:03 -!- Bike has quit (Disconnected by services).
06:00:05 -!- Bike_ has changed nick to Bike.
06:00:10 <Bike> don't underrate your ability to play games sgeo
06:00:46 <kmc> the forum version of #toilet
06:03:07 <ais523> `pastequotes elliott
06:03:12 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5421
06:03:26 <ais523> btw, this is a degrees of separation thing
06:03:28 <ais523> read someone's quotes
06:03:38 <ais523> based on them, choose someone it would be interesting to read the quotes of
06:03:45 <ais523> see how many steps it takes to reach elliott
06:03:47 <Bike> Wait, why do you make fun of Sgeo for living in Farmington with that Gregor quote.
06:05:21 <Bike> "245) <elliott> 320 quotes and still not a funny one yet!" gosh this channel is picky
06:07:57 <ais523> `pastequotes zzo38
06:08:03 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19991
06:10:05 <ais523> bleh, we need a `quotecontext, but it'll be a pain to implement
06:10:56 <coppro> note to self: actually do work this summer
06:11:09 <coppro> there's a prize at the end if I succeed
06:11:20 <coppro> well, two prizes which I value completely wrongly
06:11:52 -!- WeThePeople has quit (Quit: Leaving).
06:12:03 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat).
06:12:04 <Bike> 311) <elliott> AV is better than first-past-the-post, like every voting system apart from the Random Elephant Stomping method <-- i think sortition is probably better than fptp in many situations!!
06:12:30 <ais523> Bike: I was planning to ask elliott what the Random Elephant Stomping method was
06:12:42 <ais523> I sort-of have an idea, but can think of at least two possibilities
06:12:50 <ais523> depending on whether the elephants are aimed at the politicians or the voters
06:12:53 <Bike> it's either sortition or - yeah
06:13:03 <Bike> i see you're well versed in psephology
06:14:13 * ais523 concludes that zzo38 is actually the only sane person on the internet
06:14:25 <Bike> i think we all knew that.
06:15:45 <oklopol> RodgerTheGreat was here? :D
06:16:03 <Sgeo> He left? :(
06:16:23 <Sgeo> `quote 340
06:16:25 <HackEgo> 340) <zzo38> Learn to be Chinese and kill yourself
06:16:33 <Sgeo> I flat out cannot imagine zzo38 saying that.
06:16:41 <ais523> `quote 842
06:16:43 <HackEgo> 842) <zzo38> The reason it isn't more popular is because I wrote it today.
06:16:52 <ais523> that's probably the most typical zzo38 ever
06:17:51 <ais523> `pastequotes fizzie
06:17:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10858
06:18:09 <ais523> btw, reading the zzo38 quotes page made me laugh enough irl I was actually having difficulty breathing
06:18:16 <ais523> let's hope the fizzie quotes page is less potentially fatal
06:19:53 <ais523> OK, 489 is excellent
06:19:55 <ais523> `quote 489
06:19:57 <HackEgo> 489) <fizzie> That's the stupidest thing I've heard all morning. (Though I did wake up five minutes ago, so I haven't had a chance to hear very much.) <fizzie> The "Why are you still asleep? I told the cat to wake you up." comment does come pretty close, though.
06:20:57 <ais523> this was a bad decision I think
06:21:06 <ais523> reading `pastequotes at 30:20am
06:21:09 <coppro> `quote 285
06:21:10 <HackEgo> 285) <zzo38> I think I managed to make Stack Overflow work on gopher, now.
06:21:53 <oklopol> funny how elliott referred to him as the guy who just joined when i think of him as a legendary esolanger of ye olde.
06:24:25 <Sgeo> `pastequotes Bike
06:24:30 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4035
06:24:41 <Sgeo> ??
06:24:43 <coppro> ok, winner
06:24:46 <coppro> `quote 894
06:24:47 <HackEgo> 894) <fizzie> fungot: Are you the previous version of zzo38? <fungot> fizzie: i run some interactive tex programs
06:24:54 <Bike> Sgeo: i'm too cool for ascii school
06:25:01 <ais523> that one's good but I prefer the quote about the cat
06:25:02 <Sgeo> Why did my browser download it instead of showing it
06:25:20 <coppro> ais523: thank you, you've made my evening^Wmorning
06:25:25 <Bike> because an encoding thing makes pastebot present it as octets instead of text/fuckeverything, I think
06:44:38 <kmc> hm it sends Content-Type: text/plain; charset="ascii"
06:45:05 <kmc> "HTTP/1.1 200 Script output follows"
06:45:12 <kmc> that's a... nontraditional response message
06:45:20 <Bike> lol.
06:45:54 <Bike> also both the weird characters i used actually are ascii so hm
06:49:56 <kmc> which characters are those
06:50:33 <kmc> that server will definitely send charset="ascii" on files containing high-bit bytes :(
06:50:39 <Bike> ^B and ^O
06:50:42 <kmc> heh
06:51:06 <Bike> whippersnapper bitches don't know bout my control characters
06:51:38 <kmc> ahem I think that's called STX and SI
06:52:05 <kmc> Start of Text, Shift In
06:52:18 <kmc> i should start a webdev trend of using ASCII control characters for their original meanings
06:52:22 <kmc> it's like REST but more old school
06:52:51 <Bike> haha oh god yes
06:58:39 <kmc> STAND BY FOR TRANSMISSION
06:59:04 <shachaf> kmc: Do it!
06:59:14 -!- copumpkin has quit (Ping timeout: 272 seconds).
06:59:45 -!- copumpkin has joined.
08:01:26 -!- ais523 has quit.
08:02:22 -!- epicmonkey has joined.
08:11:53 -!- DH____ has quit (Read error: Connection reset by peer).
08:11:59 -!- DHeadshot has joined.
08:18:27 <Sgeo> http://www.python.org/doc/humor/#python-block-delimited-notation-parsing-explained
08:19:41 -!- DHeadshot has quit (Read error: Connection reset by peer).
08:20:18 -!- DHeadshot has joined.
08:26:00 -!- epicmonkey has quit (Ping timeout: 272 seconds).
08:32:10 -!- FreeFull has quit.
09:23:00 -!- Bike has quit (Quit: leaving).
09:33:34 -!- epicmonkey has joined.
09:39:29 -!- Taneb has joined.
09:41:43 <Sgeo> Esolang idea: Normal looking language that makes things like malicious code hidden in plain sight too easy
09:41:57 <Taneb> You mean PHP?
09:43:15 <Jafet> PHP is itself malicious, so it isn't really the same thing.
09:44:00 <shachaf> Sgeo: Hmm, does Ada have that property?
09:45:01 <Sgeo> I doubt it but I don't know Ada and am guessing based on what is effectively Ada marketing.
09:45:59 <shachaf> Sgeo: Well, you should learn Ada.
09:46:02 <shachaf> That way you'd know.
10:00:24 * Sgeo was not expecting Ada to be hard to google
10:00:24 <Sgeo> :/
10:00:35 <Sgeo> Although J is definitely worse
10:00:40 <Sgeo> Google keeps thinking I want Java
10:01:20 <Sgeo> "Pentagon. Hackers are nearly unanimous in observing that, technically, it is precisely what one might expect given that kind of endorsement by fiat; bloated, crockish, difficult to use, and overall a disastrous, multi-billion-dollar boondoggle (one common description was "The PL/I of the 1980s")."
10:01:39 <Sgeo> "It's quite apparent that the evolution of the C family of languages (C, C++, Java, C#) is converging on a language very like Ada, except unfortunately as a kludgepile rather than a clean design.
10:01:39 <Sgeo> "
10:03:34 <Sgeo> "The code name itself was an inside joke: Ada Augusta, Countess of Lovelace, was a famous armchair programmer/system architect who never in her entire life had gotten a single program to compile, link, or run."
10:03:45 <Sgeo> http://bit.csc.lsu.edu/~gb/csc4101/Reading/gigo-1997-04.html (note: humor)
10:06:01 <Sgeo> o.O
10:06:03 <Sgeo> 'Ada initially planted a subconscious Y2K time-bomb: "YEAR: INTEGER range 0..2000;" [Ada79, p.3-12], but then got Third Reich ambitions: "YEAR: INTEGER range 0..4000;" [Ada83, p.3-34], before settling on a Y2.1K time-bomb: "subtype YEAR_NUMBER is INTEGER range 1901..2099;"'
10:06:23 <Sgeo> Does... um... Ada actually come with a YEAR_NUMBER type like that?
10:07:23 <shachaf> http://www.ada-auth.org/standards/12rm/html/RM-9-6.html
10:07:27 <shachaf> subtype Year_Number is Integer range 1901 .. 2399;
10:08:54 <shachaf> Sgeo: You're the Ada expert, though; you should've told me!
10:13:22 <Sgeo> There is an /r/ada
10:13:35 <Sgeo> The motto seems to be "When the software HAS to work"
10:14:11 <shachaf> Sgeo: It might do you good to write software that works.
10:14:34 <Sgeo> I have written software!
10:14:45 <Sgeo> That mostly but not entirely works
10:18:07 <shachaf> That's why you need Ada.
10:18:50 <Sgeo> Yes because a million compile-time checks will totally help when I make a wrong assumption about incoming data
10:19:08 <Sgeo> And when I can't figure out an optimal algorithm for a problem
10:19:26 <Taneb> Hmm
10:19:33 <Taneb> I could like Basshunter
10:19:48 <Sgeo> That's not a could, that's a must. It's mandatory.
10:20:47 <shachaf> Sgeo: Look, first learn Ada, then talk.
10:21:10 <Sgeo> I'm reading one of the wikibooks
10:22:07 <Sgeo> "This book is intended for professional readers."
10:22:14 * Sgeo is totally paid to just sit around and read
10:23:58 <Sgeo> shachaf, is it ok if I read a tutorial written for Ada 2005?
10:24:22 <shachaf> Ada 2012 is better.
10:24:28 <shachaf> But whatever helps you learn the language.
10:26:32 * Sgeo can guess at a few features Ada wouldn't have
10:26:56 <Sgeo> macros, changing stuff around at run-time
10:27:34 <Sgeo> I don't know if it has any functional programming stuff, but wouldn't be surprised either way (as in, doubt it would be there from way back when, but could have been added in later for all I know)
10:30:13 <Sgeo> Oh hey Ada for is a foreach
10:30:21 <Sgeo> Or, wait, no
10:30:36 <Sgeo> for variable in range loop
10:30:46 <Sgeo> Guess I don't know what constitutes a range yet
10:32:27 * Sgeo is shocked that shachaf is not in #ada
10:32:41 <shachaf> I didn't know there was a channel!
10:33:02 <Taneb> It's in aid a' Ada
10:33:18 <shachaf> Hmm, some familiar names.
10:35:14 <Sgeo> http://www.ada2012.org/
10:35:25 <Sgeo> There's a video about Ada 2012
10:38:24 <Sgeo> They're still making comparisons to C++
10:38:25 <Sgeo> :(
10:38:58 <Sgeo> Could they at least _look_ at other languages? Looking at languages that existed decades ago stops you from seeing new ideas, some, if not all, of which may be useful
10:41:48 <shachaf> There aren't many languages that seriously try to compete with C++ in its niche.
10:41:54 <shachaf> (Quite a big niche.)
10:43:15 <Jafet> @quote multi.?paradigm
10:43:15 <lambdabot> No quotes match. BOB says: You seem to have forgotten your passwd, enter another!
10:43:48 <Sgeo> "Conditional expressions provide a compact notation for a common idiom."
10:44:25 <Sgeo> That... a) That seems late to get that, but b) Leaving it out completely makes some sense
10:44:36 <Sgeo> So, adding it in 2012 just... doesn't make sense to me
10:46:24 <Jafet> http://rule34.paheal.net/post/list/LHC-tan/1
10:47:10 <Sgeo> ^ NSFW. And screw the ads on that site. And what character is that?
10:47:27 <Jafet> http://rule34-data-003.paheal.net/_images/d6855b9194279e9cae3087959ee995fd/780128%20-%20LHC-tan%20Ru-Chans%20large_hadron_collider.jpg
10:47:27 <Sgeo> ...large hadron collider?
10:48:30 <Jafet> Yes, it should be noted that the website named "rule34.paheal.net" may contain pornographic images
10:50:41 <shachaf> Sgeo: Axmax6 knows Haskell.
10:54:40 <Sgeo> What's SPARK?
10:56:32 <Sgeo> wtf is jvm-windows
11:01:17 <Sgeo> Ada has goto.
11:02:15 <Sgeo> Oh, SPARK is a restiction of Ada I think
11:02:17 <Sgeo> Restriction
11:15:00 <fizzie> Hmf. This computer is not mounting my phone as a USB mass storage device for some reason. (It did mount a stick a while ago.)
11:20:10 -!- Phantom_Hoover has joined.
11:21:12 <fizzie> Oh, I suppose it's the phone's fault, it says "device storage in use". Curious.
11:36:39 -!- DHeadshot has quit (Read error: Connection reset by peer).
11:37:16 * Sgeo decides that in J, the next number after negative 1 is infinity
11:38:51 <shachaf> Sgeo: What about Ada?
11:39:38 <Sgeo> Would be nice to find an actual tutorial on recent Ada
11:39:46 <Sgeo> Wikibooks does not count as a tutorial as far as I'm concerned
11:40:26 <shachaf> Maybe you should ask in #ada instead of repeating platitudes.
11:45:17 -!- epicmonkey has quit (Remote host closed the connection).
11:45:36 -!- epicmonkey has joined.
11:55:52 <Sgeo> "That said, it really isn't used nearly enough. For instance, it is naturally almost immune to buffer overflow exploits, so it really ought to be the preferred language for OS development."
11:56:04 <Sgeo> Because Ada is the only language immune to buffer overflow exploits
11:59:06 <Taneb> How can I tell emacs that this file with a weird extension is XML and should be syntax-highlighted as such?
11:59:47 <Sgeo> http://www.adapower.com/index.php?Command=Class&ClassID=FAQ&CID=359
11:59:54 <Sgeo> Ada vs. Eiffel flamewars?
12:00:49 <shachaf> Ada > Eiffel, obviously.
12:00:58 <shachaf> Sgeo: You could also learn Sather, though.
12:01:10 <shachaf> sather: better than eiffel????????
12:01:33 -!- oerjan has joined.
12:05:49 <FireFly> Sgeo: J's number literals are sorta weird
12:05:58 <FireFly> Especially negative infinity... "__"
12:06:58 <Sgeo> If a rank _2 verb operates on pieces of 2 ranks lower than its argument, and a rank _1 verb operates on pieces of 1 rank lower than its argument, what rank verb operates on pieces of rank 0 lower than its argument?
12:08:43 * FireFly didn't know about negative ranks
12:09:25 <FireFly> Hmm, didn't elliott dabble with J ages ago?
12:09:47 <Sgeo> Well, nouns can't be negative rank
12:10:09 <Sgeo> ) <"_1 (1 2 3)
12:10:09 <jconn> Sgeo: +-+-+-+
12:10:10 <jconn> Sgeo: |1|2|3|
12:10:10 <jconn> Sgeo: +-+-+-+
12:10:19 <shachaf> ) sqrt 2
12:10:19 <jconn> shachaf: |value error: sqrt
12:10:20 <jconn> shachaf: | sqrt 2
12:10:24 <shachaf> ) sqrt 3
12:10:25 <jconn> shachaf: |value error: sqrt
12:10:25 <jconn> shachaf: | sqrt 3
12:10:26 <Sgeo> ) %: 2
12:10:26 <jconn> Sgeo: 1.41421
12:10:29 <shachaf> ) sqrt 4
12:10:29 <jconn> shachaf: |value error: sqrt
12:10:29 <jconn> shachaf: | sqrt 4
12:10:32 <shachaf> Hmm.
12:10:35 <shachaf> It's broken.
12:10:36 <shachaf> ) sqrt 5
12:10:37 <jconn> shachaf: |value error: sqrt
12:10:37 <jconn> shachaf: | sqrt 5
12:10:40 <FireFly> You're broken
12:10:48 <shachaf> HireFly
12:10:49 <Sgeo> ) sqrt =: %:
12:10:49 <jconn> Sgeo: |ok
12:10:53 <FireFly> Hachaf
12:11:13 <Sgeo> ) sqrt 5
12:11:13 <jconn> Sgeo: 2.23607
12:11:43 <Sgeo> ) sqrt^:(_1) 5
12:11:43 <jconn> Sgeo: 25
12:11:55 <shachaf> > (sqrt 5 + 1) / 2
12:11:57 <lambdabot> 1.618033988749895
12:11:58 <shachaf> ) (sqrt 5 + 1) / 2
12:11:59 <jconn> shachaf: |value error: sqrt
12:11:59 <jconn> shachaf: | ( sqrt 5+1)/2
12:12:01 <shachaf> Hmm.
12:12:03 <shachaf> Still broken.
12:12:19 <Sgeo> ) sqrt
12:12:20 <jconn> Sgeo: %:
12:12:29 <shachaf> ) 1 + 1
12:12:29 <jconn> shachaf: 2
12:12:39 -!- Sgeo|web has joined.
12:12:42 <Sgeo|web> ) sqrt
12:12:43 <jconn> Sgeo|web: |value error: sqrt
12:12:48 <FireFly> / isn't division
12:12:56 <Sgeo> % is divisio
12:13:00 <Sgeo> division
12:13:02 <FireFly> / is (basically) a fold
12:13:06 <Sgeo> And I guess we all have separate sandboxes?
12:13:09 -!- Sgeo|web has quit (Client Quit).
12:13:13 <shachaf> ) 4 / 2
12:13:13 <jconn> shachaf: |domain error
12:13:13 <jconn> shachaf: | 4/2
12:13:16 <FireFly> ) +/ i.10 NB. sum of the first 10 integers
12:13:16 <jconn> FireFly: 45
12:13:19 <shachaf> That should be 2
12:13:24 <Sgeo> ) 4 % 2
12:13:24 <jconn> Sgeo: 2
12:13:26 <shachaf> This language is broken.
12:13:30 <shachaf> Sorry.
12:13:33 <FireFly> No, you can't fold the operator 4 over the list [2]
12:13:44 <shachaf> FireFly: Um, / means division.
12:13:47 <shachaf> Can't you read?!
12:14:06 <FireFly> > 4 ÷ 2
12:14:06 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
12:14:07 <Sgeo> ) / =: % NB. probably won't work
12:14:07 <jconn> Sgeo: |syntax error
12:14:07 <jconn> Sgeo: | /=:%
12:14:10 <FireFly> lambdabot: you're broken
12:14:13 <FireFly> You can't divide :(
12:15:00 <FireFly> Pretty sure / is a solidus btw, not a division operator ^_^
12:15:05 <Jafet> FireFly, your argument is invalid.
12:15:20 <FireFly> :(
12:16:42 <fizzie> > 2 ⟌ 4
12:16:42 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
12:16:51 <fizzie> (U+27CC LONG DIVISION.)
12:17:38 <Sgeo> > let () = (/) in 4 2
12:17:39 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
12:17:41 <Sgeo> aw
12:17:49 <Sgeo> Doubt it could be made to work
12:17:50 <shachaf> fizzie: It should be called AMERICAN LONG DIVISION
12:17:55 <shachaf> We learned it the other way.
12:18:01 <Sgeo> > let = (/) in 4 2
12:18:02 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
12:18:10 <Sgeo> > ""
12:18:11 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
12:18:14 <Sgeo> :(
12:18:20 <fizzie> Unicode character names are always so... Unicodey. U+27C1 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE.
12:18:54 <shachaf> fizzie: That looks like a small white circle to me. :-(
12:21:10 <FireFly> ) (0.5&* @: (] + 2&%))^:(_) 4
12:21:10 <jconn> FireFly: 1.41421
12:21:21 <FireFly> Hm
12:21:26 <Deewiant> > sqrt 2
12:21:28 <lambdabot> 1.4142135623730951
12:21:34 <fizzie> !haskell main = putStrLn $ let bläh = 42 in bläh
12:21:37 <EgoBot> runghc: <stdin>: hGetContents: invalid argument (invalid byte sequence)
12:21:41 <fizzie> EgoBot: You're equally silly. :/
12:22:34 * Sgeo understands a little of what FireFly did
12:22:48 <Sgeo> It uses some sqrt approximation algorithm I guess
12:22:58 <Sgeo> That ^:(_) means repeat until fixed point
12:23:04 <FireFly> It's http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method
12:23:25 <FireFly> (] + 2&%) is essentially \x -> x + 2/x
12:23:32 <Sgeo> It repeatedly does this: Adds argument to.... I knew that
12:24:12 <Sgeo> Although, couldn't you have used a ... not a fork, the other one
12:24:17 <Sgeo> ) (0.5&* @: ( + 2&%))^:(_) 4
12:24:18 <jconn> Sgeo: 1.41421
12:24:20 <FireFly> hook?
12:24:21 <Sgeo> :p
12:24:24 <Sgeo> yes
12:24:24 <FireFly> Probably, but I forgot how they worked
12:24:34 <FireFly> So I added a ] to be sure
12:25:04 <FireFly> Hm, (f g) y = y f (g y) I guess
12:25:06 <FireFly> So yeah, that'd work
12:25:14 <Sgeo> ) -: 2
12:25:14 <jconn> Sgeo: 1
12:25:20 <Sgeo> ) (-: @: ( + 2&%))^:(_) 4
12:25:20 <jconn> Sgeo: 1.41421
12:25:31 <oerjan> `pastelogs patch
12:25:35 <Sgeo> ) (-: @: ( + +:))^:(_) 4
12:25:36 <jconn> Sgeo: _
12:25:38 <Sgeo> !
12:25:45 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4986
12:25:58 <Sgeo> What's doubling again, bluh
12:26:01 <FireFly> Um, that's 2/, not 2*
12:26:11 <Sgeo> Oh, derp
12:26:12 <FireFly> or rather, 2%, not 2* :P
12:26:16 <fizzie> `run echo 'main = putStrLn $ show (let (÷) = (/) in 4 ÷ 2)' > /tmp/l.hs && runghc /tmp/l # save us from Unicode problems HackEgo?
12:26:19 <oerjan> `pastelogs hg.*patch
12:26:20 <HackEgo> 2.0
12:26:24 <Sgeo> ) (-: @: ( + +:))^:(_) 4 5 6
12:26:25 <jconn> Sgeo: _ _ _
12:26:26 <fizzie> HackEgo: Thank you!
12:26:29 <Sgeo> ) (-: @ ( + +:))^:(_) 4 5 6
12:26:32 <jconn> Sgeo: _ _ _
12:26:32 <Sgeo> :(
12:26:42 <Sgeo> ) (-: @ ( + +:))^:(_)"0 4 5 6
12:26:42 <jconn> Sgeo: |length error
12:26:42 <jconn> Sgeo: | (-:@(++:))^:(_)"0 4 5 6
12:26:46 <Sgeo> ) (-: @ ( + +:))^:(_)"(0) 4 5 6
12:26:46 <jconn> Sgeo: _ _ _
12:26:54 <Sgeo> Oh, I'm still using the broken one
12:26:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9543
12:26:58 <fizzie> (Maybe there was already a `haskell or something.)
12:26:58 <oerjan> goddammit HackEgo don't quit now, i'm trying to repair you
12:27:12 <Sgeo> ) (-: @: ( + 2&%))^:(_) 4 5 6
12:27:12 <jconn> Sgeo: 1.41421 1.41421 1.41421
12:27:23 <Sgeo> Hmm, I don't think I entirely understand @: vs @
12:27:25 <FireFly> the parameter is the initial guess btw
12:27:32 <Sgeo> oh
12:27:45 <FireFly> the hard-coded 2 is the thing you're sqrt-ing
12:27:52 <Sgeo> I still greatly simplified it
12:27:55 <FireFly> Yep
12:28:25 <Sgeo> Replace composition with a cap ...
12:28:39 <Sgeo> ) ([: -: ( + 2&%))^:(_) 4
12:28:40 <jconn> Sgeo: 1.41421
12:28:59 <Sgeo> ) ([:-:+2&%)^:(_) 4
12:29:00 <jconn> Sgeo: |domain error
12:29:00 <jconn> Sgeo: | ([:-:+2&%)^:(_)4
12:29:07 <Sgeo> buh
12:30:43 <Deewiant> > let sqrt' y = fst . fromJust . find (uncurry (==)) . (zip`ap`tail) $ iterate f y where f x = (x + y/x) / 2 in sqrt' 2
12:30:45 <lambdabot> 1.414213562373095
12:31:08 <oerjan> `run hg diff -r1891:1871 | patch -p1
12:31:10 <Deewiant> Almost as short and equally readable
12:31:14 <HackEgo> patching file 'bin/?' \ patching file 'bin/?e' \ patching file bin/delquote \ patching file bin/delquotee
12:31:36 <FireFly> It's not *that* bad to read J after you get used to it, IMO
12:31:38 <oerjan> `addquote Testing this bitch
12:31:42 <HackEgo> 944) Testing this bitch
12:31:46 <oerjan> `delquote 944
12:31:48 <FireFly> But then again, maybe it's not worth getting used to it..
12:31:51 <HackEgo> ​*poof* Testing this bitch
12:32:21 <oerjan> `quote 943
12:32:22 <HackEgo> 943) <Sgeo> I feel like (A.~[:i.[:!#) is verbose
12:32:38 <oerjan> whee!
12:33:01 <Sgeo> How did delquote break anyway?
12:33:01 <oerjan> (Jafet messed things up just before HackEgo crashed for days)
12:33:21 <Sgeo> That was a very fast answer
12:33:33 <oerjan> yw :P
12:33:38 -!- sebbu has quit (Ping timeout: 272 seconds).
12:37:36 <Sgeo> 1) Tony Hoare severely criticized Ada in his Turing Award lecture,
12:37:37 <Sgeo> saying (literally) that the future of mankind was at stake if we were
12:37:37 <Sgeo> to use Ada, and that Ada was "doomed to succeed." Who's gonna argue
12:37:37 <Sgeo> with Hoare? If he said it, it must be true, right?
12:38:08 <Phantom_Hoover> do people actually use ada
12:38:41 <shachaf> Hoare said so!
12:38:46 <shachaf> Who's gonna argue with Hoare?
12:39:16 <Phantom_Hoover> if hoare said you should jump off a cliff would you do it
12:40:01 <Sgeo> http://www.adapower.com/index.php?Command=Class&ClassID=Advocacy&CID=39
12:40:18 -!- sebbu has joined.
12:40:18 -!- sebbu has quit (Changing host).
12:40:18 -!- sebbu has joined.
12:52:04 <Sgeo> subtypes remind me a little of newtype except without explicit dealing with the constructor (still not sure about that though)
12:52:14 <Sgeo> Explicit casts are needed for them
12:53:02 <fizzie> Blerg, the air is full of wet snow.
12:53:41 <Phantom_Hoover> Sleet, fizzie.
12:53:56 <Phantom_Hoover> We call that sleet.
12:54:22 <Sgeo> more werewolves time
12:54:29 <oerjan> sludd og snøbyger
12:54:57 <fizzie> Phantom_Hoover: That's a silly word.
12:55:24 <Phantom_Hoover> That's what everyone else thinks of finnish words!
12:55:41 <fizzie> https://dl.dropbox.com/u/113389132/Misc/20130130-so_much_snow.jpg though it doesn't really register on-camera.
12:55:47 <Sgeo> Game starting in #wolfgame
12:56:24 <fizzie> `run words --finnish 20 # not silly at all
12:56:28 <HackEgo> korvallesiinsä kiinneperia himoitukemmältä hentäville astaan tihaisemmiltako ahduintämää tiensa ahkeampaamallisemme lipusketilasi kustaville ahdentäviertämmä houkuttumaksenemmäs toisimpiamme hallaan kullanne hankaimmille hyyttävinenikoittelevillä levanne lasi
12:56:41 <Sgeo> Phantom_Hoover, aww :(
12:56:44 <Phantom_Hoover> kustaville!
12:56:59 <Phantom_Hoover> Sgeo, i'm not getting involved in your creepy wolf games!
12:57:35 <Deewiant> 3 meaningful words in that set AFAICT
12:57:53 <shachaf> `run words --portuguese 20
12:57:55 <HackEgo> correal estionis nites vidasterirei esmemos dolarasourizaria vertem abombarbolsa reendalandá apitas autelemos desafá flastes reencatombie frinhado embeijareis infrinhas esqua formelhava engalhar
12:58:03 <shachaf> `run words --hebrew 20
12:58:04 * oerjan wishes vim had a command to go to the matching bracket to the one you just deleted; or alternatively a way to delete two matching brackets _without deleting what's between them
12:58:05 <HackEgo> ​סות ואברכי ממבול פרס העוש לנטות ממקוד גחלת נילוף חצמוד להטתברכה דמליה ומרי היתי בשבישרא בתפלג נקין וחט וציאל ומוכר
12:58:24 <oerjan> *has, i don't really _know_ it doesn't
12:58:34 <oerjan> *_without_
12:58:44 <shachaf> ===oerjan
12:58:46 <shachaf> s/.//
12:58:47 <Deewiant> oerjan: surround.vim
12:58:53 <Phantom_Hoover> `words
12:58:57 <HackEgo> dysfore
12:59:00 <fizzie> Deewiant: Kustaville, hallaan, lasi?
12:59:04 <Deewiant> fizzie: Yep
12:59:19 <Deewiant> oerjan: I.e. AFAIK plain vim doesn't but with that plugin you can do it
12:59:23 <oerjan> shachaf: what?
12:59:35 <shachaf> oerjan: I agree.
13:00:21 <Phantom_Hoover> `words --canadian-english-insane 20
13:00:23 <HackEgo> emsellumit proup machizzlin felladien dochia flambernelo gainvive klat nonucle tumboid priorae ecgoniacean preaniki pastern misdefahda maedialiancialization ster neum previlfuria unrepa
13:00:35 <fizzie> Deewiant: You could argue for "kullanne" to be a dialectal/colloquial form of "kultanne" (in the 'sweetheart' sense), I think.
13:01:01 <Phantom_Hoover> `words --irish 20
13:01:02 <Deewiant> fizzie: I don't think you could, but maybe.
13:01:03 <HackEgo> ninde-sín staí jainn raiméin lánchuladh loineorpair bpolaí heirméaróirín leathghéiseac d'amachta tríoga táit scraigh vótáilte scaothúlaíomaith aithirsteipt héachaiscríoga straíche hiosánta staonadar
13:01:20 <Phantom_Hoover> yeah that pretty much looks like irish
13:02:25 <fizzie> Deewiant: Oh, an also for being a part of the negative present potential tense of "kullata"; hän ei kullanne sitä kirjaa.
13:03:14 <Deewiant> fizzie: Ah, true, no argument there. That's a 20% hit rate for the generator then.
13:07:14 <fizzie> And if you allow for given names of people (e.g. by choosing some some quasi-official source of "valid" "Finnish" names), there's also "astaan". (There are 6074 Finnish women named Asta in the national registry, so it's not a particularly rare one; plus it has an entry in the name day calendars.)
13:08:09 <fizzie> Admittedly it does have the wrong case then.
13:35:59 <Taneb> Is it possible to license a license?
13:37:06 <fizzie> Maybe, if you have a license for it?
13:38:34 <Taneb> Imagine something like GPL where you had to share under the same license, but the license itself was proprietary
13:39:30 <Taneb> Oh dear god I'm in 10 IRC channels on 2 servers
13:39:34 <Taneb> This is unexpected
13:41:03 <oerjan> Taneb is approaching irc singularity
13:41:50 <Taneb> Okay, now I'm only in 9
13:41:53 <Taneb> That's a bit nicer
13:47:18 <fizzie> Speaking of which, does anyone happen to know the freenode channel limit offhand?
13:47:34 <fizzie> ISTR that IRCnet had something like 30.
13:47:58 <fizzie> CHANLIMIT=#:120 hokay.
13:48:05 <fizzie> That's a big number.
13:52:32 <Deewiant> EFnet CHANLIMIT=&#:20, IRCnet CHANLIMIT=#&!+:21.
13:53:26 <Taneb> "the fly species inhabiting North America, Hawaii, Australia, and Papua New Guinea are separated by vast oceanic expanses and dont have Facebook."
13:54:08 <fizzie> Oh, twenty-one.
14:00:47 -!- noam__ has quit (Read error: Connection reset by peer).
14:01:13 -!- noam__ has joined.
14:02:17 <oerjan> > ord '>'
14:02:19 <lambdabot> 62
14:03:21 -!- Phantom_Hoover has quit (Quit: Leaving).
14:03:27 -!- Phantom_Hoover has joined.
14:06:38 <fizzie> ^ord >
14:06:38 <fungot> 62
14:06:41 <fizzie> JUST CHECKING
14:06:54 <oerjan> OKAY
14:07:51 <shachaf> > ord 'ø'
14:07:52 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
14:07:56 <shachaf> ørdjan
14:09:18 <fizzie> ^ord ø
14:09:18 <fungot> 195 184
14:09:26 <fizzie> Oh well.
14:09:39 <shachaf> That don't look right.
14:09:46 <shachaf> ^ord ab
14:09:46 <fungot> 97 98
14:12:35 <fizzie> `ord ø
14:12:36 <HackEgo> 248
14:12:41 <oerjan> <shachaf> "lets hope there were no "casualties"" <-- there wasn't, but still dammit...
14:12:56 <fizzie> ^ord is very byte-oriented.
14:12:56 <fungot> 105 115 32 118 101 114 121 32 98 121 116 101 45 111 114 105 101 110 116 101 100 46
14:13:15 <fizzie> fungot: Yes, thank you, very helpful.
14:13:15 <fungot> fizzie: if for some practical program- ming applications. tod consists of tiny dots called pixels.
14:13:18 <shachaf> oerjan: What?
14:13:27 <shachaf> Should I have not done it?
14:13:29 <oerjan> fizzie: you've noticed my hints that we need a utf-8 version, right?
14:13:36 <shachaf> I guesss I could've just let you do it.
14:13:48 <shachaf> What's the "right way to fix" it?
14:13:48 <oerjan> shachaf: well you could have checked if anything _did_ break.
14:13:52 <fizzie> oerjan: You can just use `ord for your newfangled UTF-8s.
14:14:03 <oerjan> shachaf: to prepend the line number (which is also the quote number)
14:14:13 <oerjan> wa`t
14:14:20 <oerjan> `run which ord
14:14:22 <HackEgo> ​/hackenv/bin/ord
14:14:26 <oerjan> `cat bin/ord
14:14:27 <HackEgo> ​#!/bin/sh \ echo "$@" | perl -C7 -pe 'chomp; $_ = join(" ", map { ord } split //, $_);'
14:14:45 <oerjan> `ord øho
14:14:46 <shachaf> oerjan: But I don't know sed.......................................
14:14:46 <HackEgo> 248 104 111
14:14:48 <fizzie> `ord ☃ ♥ ø
14:14:50 <HackEgo> 9731 32 9829 32 248
14:15:07 <oerjan> shachaf: sad trombone
14:15:13 <shachaf> I bet it's something simple like "prepend the line number".
14:15:16 <oerjan> fizzie: yay!
14:15:23 <shachaf> Just like it is in vim/ex/ed?????????????????????????
14:15:41 <oerjan> shachaf: yep. you may note the name similarity with the last one.
14:16:33 <shachaf> oerjan: For years I thought sed stood for "super ed"
14:17:17 <oerjan> fizzie: wait you rascal you made that just before i asked...
14:17:22 <fizzie> oerjan: Yes, I did.
14:17:34 -!- boily has joined.
14:17:38 <Jafet> `run locale
14:17:39 <HackEgo> LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ
14:17:50 <fizzie> There's probably some reason why it's en_NZ?
14:18:38 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
14:19:07 <oerjan> fizzie: i think Gregor got slightly annoyed with our nagging it should have a properly set locale
14:19:16 <fizzie> `run env LC_MESSAGES=fi_FI.UTF-8 rm /dev/null # they sound so hilariously silly
14:19:17 <HackEgo> rm: tiedostoa ”/dev/null” ei voi poistaa: Kirjoitussuojattu tiedostojärjestelmä
14:19:54 -!- Phantom_Hoover has joined.
14:20:18 <boily> fizzie: is that "rm: impossible de supprimer « /dev/null »: Permission non accordée"?
14:20:33 <fizzie> `run env LC_MESSAGES=nb_NO.UTF-8 rm /dev/null
14:20:34 <HackEgo> rm: cannot remove «/dev/null»: Filsystem med kun lesetilgang
14:20:40 <fizzie> That's a nice hybrid.
14:21:05 <fizzie> Or maybe "cannot remove" is Norwegian, who knows.
14:22:19 <Gregor> "cannot remove" is Norwegian, but "cannot" has a meaning close to English's "remove", and "remove" inverts the meaning of the preceding verb, like "cannot".
14:23:17 <fizzie> The Finnish version says "write-protected filesystem", instead of "read-only".
14:27:58 <shachaf> `run env LC_MESSAGES=he_IL.UTF-8 rm /dev/null
14:27:59 <HackEgo> rm: cannot remove `/dev/null': Read-only file system
14:28:04 <shachaf> Hmph.
14:33:57 -!- ogrom has joined.
14:34:46 <oerjan> fizzie: no it isn't.
14:37:19 <fizzie> `run env LC_MESSAGES=ja_JP.UTF-8 rm /dev/null
14:37:20 <HackEgo> rm: cannot remove `/dev/null': 読み込み専用ファイルシステムです
14:37:28 <fizzie> Seems that it's also Japanese.
14:37:47 <fizzie> A rather curious linguistic phenomenon.
14:37:53 <fizzie> `run env LC_MESSAGES=zh_CN.UTF-8 rm /dev/null
14:37:54 <boily> I got `/dev/null' を削除できません: 許可がありません
14:37:54 <HackEgo> rm: 无法删除"/dev/null": 只读文件系统
14:40:25 <Taneb> Phantom_Hoover, is your DF mod with the coal online at all?
14:40:40 <Phantom_Hoover> Er... I don't think so.
14:40:50 <Phantom_Hoover> Having a bad time with mineral distributions?
14:41:10 <Taneb> Having a bad time being bored, want to go on Dwarf Fortress
14:41:21 <Taneb> So, yes
14:41:38 <Phantom_Hoover> I guess I can paste most of the relevant files.
14:42:37 <Phantom_Hoover> http://sprunge.us/DZBh is inorganic_stone_mineral.txt
14:43:03 <Phantom_Hoover> http://sprunge.us/MjgN is reaction_smelter.txt
14:43:18 <Phantom_Hoover> http://sprunge.us/KDLH is entity_default.txt
14:43:28 <Phantom_Hoover> That should do it.
14:44:52 <Taneb> Thanks
14:46:15 -!- augur has quit (Remote host closed the connection).
14:46:41 -!- augur has joined.
14:48:18 -!- augur_ has joined.
14:48:23 -!- augur has quit (Read error: Connection reset by peer).
14:52:41 -!- augur_ has quit (Ping timeout: 240 seconds).
14:59:32 <Sgeo> I hate absolutely everyone in #wolfgame
14:59:38 <Sgeo> They can all suck a burning match
14:59:50 <shachaf> How's Ada going?
15:00:05 <shachaf> Stop h8in', start learnin'.
15:00:07 <Sgeo> Ada is on the back-burner due to my mafia addiction
15:00:39 <Phantom_Hoover> why are you learning ada Sgeo
15:00:58 <shachaf> Phantom_Hoover: because it's "the cool language to" learn??
15:02:04 <Sgeo> Phantom_Hoover, because shachaf told me to
15:02:43 <boily> Sgeo: if you're into ada, may I suggest you VHDL?
15:02:55 <Phantom_Hoover> why on earth would you listen to anything shachaf tells you
15:03:06 <Phantom_Hoover> he's untrustworthy!
15:03:26 <Sgeo> The ... marketing around Ada is interesting at least.
15:03:34 <shachaf> Phantom_Hoover: I thought Sgeo could use some guidance.
15:03:56 <Phantom_Hoover> shachaf don't do that... it's unethical...
15:04:33 <shachaf> Which part?
15:04:47 <Phantom_Hoover> making sgeo do stupid things because he doesn't know any better
15:05:10 <shachaf> If Ada is so stupid, then why do people in #ada say it's good?
15:05:33 <Phantom_Hoover> they're like sgeo!
15:05:51 <Sgeo> There ARE language channels where the people in them don't claim their language is good.
15:05:53 <shachaf> Aimless and in need of guidance?
15:05:55 <Sgeo> ##php
15:06:23 <Phantom_Hoover> shachaf, aimless and in need of guidance by someone who isn't you!
15:06:43 <shachaf> Phantom_Hoover: I was hoping they could all guide each other for a bit.
15:06:51 <shachaf> And maybe Sgeo could go be guided there.
15:07:44 <Phantom_Hoover> But you know what they say, the blind can't lead an elephant into a glass house..
15:10:10 <shachaf> Sgeo: Did you install GNAT yet?
15:10:16 <Sgeo> Not yet
15:10:53 <shachaf> It's in APT, you know.
15:11:25 <shachaf> Phantom_Hoover: After Ada I'm thinking I'll have him learn some MMIX assembly.
15:11:31 <shachaf> That's actually useful!
15:14:54 -!- Lumpio- has quit (Ping timeout: 256 seconds).
15:15:26 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
15:16:35 -!- Phantom_Hoover has joined.
15:17:14 -!- Arc_Koen has joined.
15:20:51 -!- Taneb has quit (Ping timeout: 272 seconds).
15:22:38 <Phantom_Hoover> incidentally, fuck the cross product
15:23:03 <shachaf> What's the matter with cross products?
15:24:06 <Phantom_Hoover> they're too damn chiral
15:24:08 -!- FreeFull has joined.
15:24:14 -!- oerjan has quit (Quit: reilraE).
15:26:09 <shachaf> Phantom_Hoover: do you love monoids
15:26:38 <Phantom_Hoover> i have no strong opinions on them
15:27:03 <shachaf> i love monoids
15:27:05 <shachaf> they are so easy
15:27:28 -!- augur has joined.
15:29:05 -!- impomatic has joined.
15:37:30 <Sgeo> Ok, I apparently can get very mean sometimes
15:37:42 <Sgeo> I don't show it here, but I just said, in someone's channel
15:37:47 <Sgeo> <Sgeo> So, if this channel isn't supposed to have fools, why are you here?
15:39:12 <shachaf> You would never say that in here.
15:39:17 <shachaf> Everyone in #esoteric is a fool.
15:40:52 <boily> I ain't no fool!
15:41:09 <boily> (at least, not your regular, plebeian kind of fool.)
15:42:02 <shachaf> @wn fool
15:42:02 <lambdabot> *** "fool" wn "WordNet (r) 3.0 (2006)"
15:42:03 <lambdabot> fool
15:42:03 <lambdabot> n 1: a person who lacks good judgment [syn: {fool}, {sap},
15:42:03 <lambdabot> {saphead}, {muggins}, {tomfool}]
15:42:03 <lambdabot> 2: a person who is gullible and easy to take advantage of [syn:
15:42:04 <lambdabot> [15 @more lines]
15:42:11 <shachaf> @more
15:42:12 <lambdabot> {chump}, {fool}, {gull}, {mark}, {patsy}, {fall guy},
15:42:12 <lambdabot> {sucker}, {soft touch}, {mug}]
15:42:12 <lambdabot> 3: a professional clown employed to entertain a king or nobleman
15:42:14 <lambdabot> in the Middle Ages [syn: {jester}, {fool}, {motley fool}]
15:42:17 <lambdabot> v 1: make a fool or dupe of [syn: {fool}, {gull}, {befool}]
15:42:18 <lambdabot> [10 @more lines]
15:42:22 <shachaf> boily: You think you have good judgment?
15:42:25 <shachaf> @more
15:42:25 <lambdabot> 2: spend frivolously and unwisely; "Fritter away one's
15:42:25 <lambdabot> inheritance" [syn: {fritter}, {frivol away}, {dissipate},
15:42:25 <lambdabot> {shoot}, {fritter away}, {fool}, {fool away}]
15:42:26 <lambdabot> 3: fool or hoax; "The immigrant was duped because he trusted
15:42:28 <lambdabot> everyone"; "You can't fool me!" [syn: {gull}, {dupe},
15:42:30 <lambdabot> [5 @more lines]
15:42:34 <elliott> is this necessary
15:42:41 <shachaf> hi elliott
15:43:27 <boily> see, I need paragraphs of explanations to make me realise my foolness!
15:44:47 <Jafet> Foolsub and wisdom.
15:45:23 <shachaf> @more
15:45:23 <lambdabot> {slang}, {befool}, {cod}, {fool}, {put on}, {take in}, {put
15:45:23 <lambdabot> one over}, {put one across}]
15:45:23 <lambdabot> 4: indulge in horseplay; "Enough horsing around--let's get back
15:45:23 <lambdabot> to work!"; "The bored children were fooling about" [syn:
15:45:23 <lambdabot> {horse around}, {arse around}, {fool around}, {fool}]
15:48:07 -!- Taneb has joined.
15:56:17 <Gregor> <fizzie> There's probably some reason why it's en_NZ? // Are you not satisfied, you antikiwi?
15:56:31 <shachaf> hi Gregor
15:56:40 <shachaf> `wehlcohme Gregor
15:56:42 <HackEgo> Grehgohr: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.)
15:57:17 -!- Gregor has changed nick to TwilightSpockle.
16:02:58 <elliott> `run ls bin/*h*h*
16:02:59 <HackEgo> bin/?hh \ bin/wehlcohme
16:03:02 <elliott> `run ls bin/*h*
16:03:03 <HackEgo> bin/h \ bin/?h \ bin/h! \ bin/hatesgeo \ bin/?hh \ bin/quachaf \ bin/searchlog \ bin/show \ bin/unh \ bin/wehlcohme
16:06:48 <boily> TwilightSpockle: spockle?
16:07:14 <TwilightSpockle> It is a traditional Vulcopony name.
16:07:35 -!- Nisstyre-laptop has joined.
16:10:12 -!- sebbu has quit (Ping timeout: 248 seconds).
16:14:23 -!- Lumpio- has joined.
16:16:12 <Jafet> `hatesgeo
16:16:43 <HackEgo> No output.
16:18:03 <Phantom_Hoover> `hate
16:18:04 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hate: not found
16:18:08 <oklopol> don't hate
16:18:18 <Phantom_Hoover> `paste bin/hatesgeo
16:18:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/hatesgeo
16:18:41 <Phantom_Hoover> help
16:25:58 -!- sebbu has joined.
16:31:22 <oklopol> don't help
16:33:53 -!- RodgerTheGreat has joined.
16:57:48 -!- Nisstyre-laptop has quit (Ping timeout: 264 seconds).
16:59:39 -!- epicmonkey has quit (Ping timeout: 272 seconds).
17:04:30 <Sgeo> Phantom_Hoover, what's so terrible about Ada?
17:04:55 <elliott> 1.6. Release notes for version 7.6.2
17:04:55 <elliott> The 7.6.2 release is a bugfix release. The changes relative to 7.6.1 are listed below.
17:04:58 <elliott> 1.6.1. GHC
17:05:00 <elliott> A long-standing typechecker bug which allowed unsafeCoerce to be written has been fixed.
17:05:03 <elliott> thank's
17:06:31 <shachaf> elliott: DeriveFoo isn't fixed. :-(
17:06:49 <shachaf> "have fun with ur handwritten instances!!"
17:08:37 <Sgeo> elliott, help I can't tell if shachaf is trying to torture me when he tells me to learn Ada
17:08:54 <shachaf> Sgeo: I think it would be better for everyone involved if you learned it.
17:09:16 <Sgeo> I keep reading that it's "large". Are you saying that because it would take a while?
17:09:32 <Sgeo> Although that's not going to stop me from talking about it, so how does it help?
17:09:37 <shachaf> Eh, is it that large?
17:09:48 <Sgeo> Don't know, just read rumors
17:10:05 <shachaf> You should learn it and find out.
17:31:45 <Sgeo> "I OFTEN GET ANGRY WHEN WRITING CODE IN THIS LANGUAGE"
17:31:49 <Sgeo> Ada much more than C#
17:38:39 <Sgeo> The Ada people say it's highly imperative. Why would I look twice at this language?
17:40:02 <shachaf> Sgeo: You haven't given it a fair chance.
17:40:26 <shachaf> Try reading about the language instead of what about what people say about the language.
17:40:45 <Sgeo> I'm doing both
17:41:12 <shachaf> What's another language that lets you do things like define a type for a range of integers?
17:41:33 <Sgeo> Any dependently typed language?
17:42:30 -!- carado has joined.
17:42:39 <kmc> http://i.imgur.com/N60FT3A.png
17:43:07 <shachaf> Sgeo: What actual real-world-usable languages?
17:47:21 <Sgeo> Hmm. Haskell is about as run-time-inflexible as Ada, and I like Haskell a lot except for that. So why Ada when I have Haskell>
17:47:22 <Sgeo> ?
17:47:44 <Sgeo> Ada is totally lacking in the two things that I regret not having when writing Haskell.
17:48:23 <elliott> what are those
17:48:29 <TwilightSpockle> Congratulations, you are the first person in history to compare Ada to Haskell.
17:48:32 <shachaf> What about things like precise control over memory layout?
17:48:33 <elliott> and also what does "run-time-inflexible" mean
17:48:43 <fizzie> Adskell, the ad-funded "freemium" version of Haskell.
17:49:21 <Sgeo> Easy-to-use macros and easy to change the program as it runs. I am aware of Template Haskell and that it's considered annoying to use, and that there are some libraries for plugin-like stuff
17:50:57 <elliott> macros aren't runtime...
17:51:47 <elliott> "change the program as it runs" is too ambiguous to really respond to, but it seems to be either a trivial property (i.e. exhibiting dynamic behaviour in general) or something related solely to a runtime rather than a language
17:58:50 -!- DHeadshot has joined.
17:59:41 <kmc> oh pick a language already
17:59:55 <Sgeo> I try
18:00:03 <shachaf> imo ada
18:00:13 <kmc> spend your time learning about things other than languages
18:00:28 <Sgeo> kmc, why? Other things are boring
18:00:32 <kmc> you're wrong
18:00:58 <shachaf> Languages are interesting but the thing you're doing probably won't give you much of the benefits of that.
18:01:09 <shachaf> And also other things are more interesting than languages.
18:01:55 <kmc> talking to yourself about whether Ada is better than Factor is not interesting
18:01:58 <kmc> not for the rest of us anyway
18:02:39 <elliott> kmc: um it's clojure
18:03:02 <kmc> Sgeo: out of curiosity, what was the last program you wrote for a reason not motivated by the language you were using
18:03:05 <kmc> and what language did you use
18:03:41 <Sgeo> Do programming competitions count?
18:03:45 <kmc> yeah
18:03:47 <Sgeo> I used Python for one problem Haskell for the other
18:03:52 <kmc> cool
18:03:58 <kmc> were they interesting problems?
18:04:21 <Sgeo> Eh. Somewhat
18:04:35 <Sgeo> I think I actually understand how to parse parentheses now, as in, a good understanding
18:04:45 <Sgeo> ...well, I still need recursion
18:06:27 <Sgeo> There was also a bot I wrote for another channel last year but the reasoning behind my choice of language (Tcl) was because it was the language I was interested in
18:07:52 <oklopol> i'm with Sgeo, languages are more interesting than actual programming. that shit sucks.
18:08:09 <Sgeo> <Okasu> Sgeo: Stop that crap, choose task then choose language appropriate for task and start code.
18:08:49 <oklopol> although i do hate it less now that i do it regularly-ish
18:09:13 <oklopol> perhaps i will relearn to love it eventually?
18:11:30 <kmc> it always seems strange and sad when programmers describe to me their experience primarily in terms of what languages they know
18:11:44 <kmc> it's like a carpenter bragging about all the different tools in their shop, rather than what they've built
18:11:55 <kmc> major mark against in an interview, imo
18:12:32 <Sgeo> :/
18:12:55 * Sgeo is totally screwed wrt. that interview
18:14:32 -!- DHeadshot has quit (Read error: Connection reset by peer).
18:14:39 -!- epicmonkey has joined.
18:14:50 -!- DHeadshot has joined.
18:14:52 -!- DHeadshot has quit (Remote host closed the connection).
18:20:40 -!- azaq23 has joined.
18:20:49 -!- azaq23 has quit (Max SendQ exceeded).
18:21:01 -!- AnotherTest has joined.
18:21:06 <AnotherTest> Hello
18:21:10 -!- azaq23 has joined.
18:21:28 -!- Bike has joined.
18:22:03 <boily> >let map mар maр = mар : map mар maр; mаp mар = map mар mар in mаp "map"
18:22:12 <boily> > let map mар maр = mар : map mар maр; mаp mар = map mар mар in mаp "map"
18:22:12 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
18:22:14 <FireFly> kmc: would it be equally bad to descibe one's experience in terms of what paradigms one has experience with?
18:22:32 <kmc> maybe
18:22:38 <kmc> i'd still rather hear about what you've actually done
18:22:40 <FireFly> Damn ;_;
18:22:52 <kmc> and will ask questions about that
18:22:58 <kmc> though i ask questions about languages as well
18:23:14 -!- AnotherTest has left.
18:23:19 -!- AnotherTest has joined.
18:23:42 <FireFly> I could answer that I have tonnes of incomplete toy projects, but I'm not sure if that'd help me
18:23:59 <kmc> do you have course work or something?
18:24:15 <RodgerTheGreat> almost everyone who has completed interesting projects also has many incomplete or abandoned projects
18:24:28 <kmc> if somebody claims to know a language / paradigm but can't explain anything substantial they've done in that language / paradigm, it casts doubt on the original claim
18:24:39 <FireFly> Well, yes, but those are less interesting than the incomplete toy projects
18:24:57 <kmc> don't get me wrong, it's important to know a variety of tools and understand their strengths and weaknesses
18:25:09 <kmc> it's just, i want to know what you can do with those tools as well
18:25:19 <FireFly> Yeah, fair, that makes sense
18:25:56 -!- Bike has quit (Ping timeout: 244 seconds).
18:26:03 -!- ogrom has quit (Quit: Left).
18:26:06 <kmc> and yeah, it will differ between experienced and inexperienced candidates
18:26:37 <kmc> talking about incomplete toy projects is totally fair game imo
18:26:45 -!- Bike has joined.
18:26:54 <elliott> kmc: i know at least 500 languages, please hire me to work on that silly irc clone thing
18:26:57 <elliott> ty
18:27:09 <kmc> elliott: be honest, how many of them are brainfuck derivatives
18:27:12 <FireFly> I don't think esolangs count
18:27:18 <elliott> kmc: no more than 432
18:27:24 <elliott> ok maybe 433
18:27:33 <elliott> i request a modest salary of $money / month
18:28:06 <shachaf> $monqy/month is better
18:28:25 <kmc> $texas
18:32:29 <oklopol> "<kmc> major mark against in an interview, imo" i do agree that if you want to become a programmer, obviously you should like programming more than languages. and perhaps Sgeo does want that.
18:33:51 <oklopol> rather random thing to quote but why not.
18:33:56 <kmc> there's also the fact that people will, for example, say "I know JavaScript" when what they mean is "I have experience with frontend web development"
18:34:21 <kmc> and they'll talk about advantages / disadvantages of "JavaScript" but they're really talking about their experience with the web as an applications platform
18:35:26 <kmc> likewise if you say you know AVR assembly, then we can probably chat about digital logic and realtime programming under space constraints etc
18:35:30 <kmc> but it's not really about the language
18:36:28 <Bike> i have extensive experience in frontend web development with Caterwaul
18:37:21 <shachaf> i have expensive experience with `dd` and partition tables
18:39:13 <shachaf> I remember the good old days when I thought boot sector = MBR = booty-thingy, whatever, man, and I wanted to switch from the Windows bootloader to GRUB, so I did dd if=/dev/hda4 of/dev/hda bs=512 count=1
18:39:21 <TwilightSpockle> i have extensive experience in the operation and typical maintenance of the human body
18:39:26 <TwilightSpockle> Therefore make me a doctor.
18:39:28 <shachaf> I made a backup in my home directory!
18:39:41 <shachaf> That took a while to get out of.
18:39:47 <kmc> i am a programmer and therefore a genius in every field
18:39:48 <kmc> shachaf: haha
18:39:57 <kmc> i did some things like that too, strangely I believe some of them worked
18:40:20 <kmc> for a while I had a dual boot system where NTLDR was the primary bootloader
18:40:38 <shachaf> Yep, that's what I had.
18:40:42 <shachaf> With Windows 2000, I think.
18:40:44 <kmc> i think this involved dd'ing the first 512 bytes of my Linux partition (containing LILO stage 1) and putting that in C:\
18:40:57 <kmc> yeah me too
18:40:58 <shachaf> Right! I remember that.
18:41:03 <kmc> life got so much simpler when I ditched windows :)
18:41:21 <shachaf> To be fair, the same goes for LILO.
18:41:26 <fizzie> I remember that too.
18:41:32 <kmc> shachaf: what goes?
18:41:42 <shachaf> Life getting simpler when you ditch it.
18:42:07 <FreeFull> Flagged Arch's ghc package as out of date
18:42:11 <kmc> i'm not sure about that
18:42:14 <FreeFull> My work is done
18:42:17 <kmc> LILO was fine :)
18:42:24 <kmc> does the job
18:42:24 <kmc> simple
18:42:27 <FreeFull> kmc: I use syslinux now
18:42:31 <shachaf> Remember having to update the boot sector on every kernel update?
18:42:34 <kmc> you had to remember to run 'lilo'
18:42:45 <kmc> yeah, not a big deal imo
18:43:03 <FreeFull> syslinux is good
18:43:14 <FreeFull> Simple and convienient
18:43:25 <kmc> shachaf: now i have to run update-initramfs after ever kernel update instead ;P
18:43:31 <kmc> (except not usually, because debian does it for me)
18:44:17 <fizzie> Bah, LOADLIN.EXE.
18:44:20 <kmc> yes
18:44:32 <kmc> before NTLDR i had a dual boot setup with Win98 and LOADLIN and an AUTOEXE.BAT "boot" menu
18:44:36 <fizzie> Simplest and convenientest.
18:44:38 <kmc> AUTOEXEC.BAT i mean
18:45:06 <kmc> running Linux on 68k macs was similar
18:45:14 <elliott> @ simplifies things.
18:45:30 <kmc> you would boot into OS 7 and run this "Penguin" app and your screen would go all crazy as it loads the kernel all over the framebuffer and then poof it's linux
18:45:53 <fizzie> I did MkLinux on my PPC Performa, it was really fiddly.
18:45:56 <elliott> It's "System 7", kmc!!
18:46:01 <shachaf> kmc: I never got that working.
18:46:02 <kmc> i bought a bunch of 68k macs from my school for $1 each
18:46:14 <elliott> Except for 7.6 after.
18:46:15 <kmc> most of them had the 68LC040 chip though
18:46:20 <shachaf> I was using a $25 yard sale something.
18:46:23 <elliott> Also I think the early ones were System Software 7?
18:46:26 <kmc> which has an erratum that breaks FPU emulation
18:46:34 <kmc> so it couldn't run most binary linux distros :/
18:47:30 <fizzie> I think I had 7.5.3 on the Performa.
18:47:33 <shachaf> Hmm, I don't remember what this was.
18:47:40 <shachaf> Yes, Performa. That name sounds familiar.
18:48:11 <FreeFull> > let map mар maр = mар : map mар maр; mаp mар = map mар mар in mаp "map"
18:48:11 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
18:48:23 <FreeFull> Damn you lambdabot
18:48:47 <FreeFull> In ghci it's an infinite list of "map"
18:48:51 <fizzie> The low-numbered Performas were 68k things; the four-digit ones were PPC.
18:48:54 <shachaf> > let map map = map in let map map = map in map map map "map"
18:48:55 <lambdabot> "map"
18:50:53 <shachaf> PowerPC was the future.
18:51:25 <Bike> why are there two lets there
18:51:58 <shachaf> > let map map = map map map in let in let map map = map in map map "map"
18:52:00 <lambdabot> Occurs check: cannot construct the infinite type:
18:52:00 <lambdabot> t2 = t1 -> t2 -> t0Occ...
18:52:04 <shachaf> Ah well.
18:52:09 <ion> Bears. http://i.imgur.com/ZJPxIpq.gif
18:52:44 <kmc> ion: that's the best
18:53:14 <shachaf> i want a bears :(
18:53:32 <kmc> regarding bear-proof trash cans: "There is considerable overlap between the intelligence of the smartest bears and the dumbest tourists"
18:55:36 * shachaf is tired
18:56:48 <ion> kmc: hah
18:56:49 <Bike> > let map map = map in map map map "map"
18:56:51 <lambdabot> "map"
18:57:19 <Bike> > let map in = map in map map map "map"
18:57:20 <lambdabot> <hint>:1:9: parse error on input `in'
18:57:29 <Bike> > let map pam = map in map map map "map"
18:57:31 <lambdabot> Occurs check: cannot construct the infinite type: t1 = t0 -> t1
18:57:37 <Bike> weak
18:57:44 <shachaf> @ty let a x = (x,x); b = a . a; c = b . b; d = c . c; e = d . d; f = e . e in f
18:57:58 <shachaf> help
18:57:59 <lambdabot> thread killed
18:58:08 <shachaf> @ty let a x = (x,x); b = a . a; c = b . b; d = c . c; e = d . d in e
18:58:17 <Bike> is this some billion laughs thing
18:58:25 <shachaf> Pretty much.
18:58:27 <lambdabot> thread killed
18:58:29 <shachaf> @ty let a x = (x,x); b = a . a; c = b . b; d = c . c in d
18:58:37 <lambdabot> t -> ((((((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t))))), (((((t, t), (t, t)), ((t, t), (t,
18:58:38 <lambdabot> t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))))), ((((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t,
18:58:38 <lambdabot> t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t))))), (((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t,
18:58:38 <lambdabot> t))), (((t, t), (t, t)), ((t, t), (t, t))))))), (((((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t,
18:58:38 <lambdabot> t))))), (((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))))), ((((((t, t), (t, t)), ((t, t),
18:58:40 <lambdabot> (t, t))), (((t, t), (t, t)), ((t, t), (t, t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t))))), (((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t,
18:58:41 <lambdabot> t)))), ((((t, t), (t, t)), ((t, t), (t, t))), (((t, t), (t, t)), ((t, t), (t, t))))))))
18:58:47 <Bike> I love it.
18:59:13 <elliott> I like how typechecking-as-security is useless because it's too slow. :(
18:59:47 <shachaf> elliott: THE FATAL FLAW IN @
19:00:43 <Bike> @ty let (@) x = (.) x x in let a x = (x,x) in (@) a a a a
19:00:49 <lambdabot> parse error on input `@'
19:00:53 <shachaf> @ is syntax
19:00:56 <Bike> no!
19:01:18 <Bike> @ty let fuck everything = everything . everything in let shit fuck = (fuck,fuck) in fuck fuck fuck shit
19:01:21 <lambdabot> Occurs check: cannot construct the infinite type: a0 = (a0, a0)
19:01:22 <lambdabot> Expected type: a0 -> a0
19:01:22 <lambdabot> Actual type: a0 -> (a0, a0)
19:01:30 <FreeFull> > "map" == "mар"
19:01:30 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
19:02:05 <Bike> k i'm actually not sure what i did wrong there
19:02:47 <shachaf> The types are the problem.
19:03:05 <elliott> Bike: You violated the occurs check!!
19:03:12 <Bike> thx
19:03:40 <shachaf> @ty let f g = g . g in f
19:03:48 <lambdabot> (a -> a) -> a -> a
19:03:50 <shachaf> See?
19:04:18 <FreeFull> > "map" == "mар"
19:04:18 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
19:04:25 * FreeFull smacks lambdabot and mueval
19:04:42 <Bike> @ty let shit fuck = (fuck,fuck) in fuck everything = everything . everything in fuck fuck fuck shit
19:04:45 -!- AnotherTest has quit (Quit: Leaving.).
19:05:03 <lambdabot> thread killed
19:05:10 <Bike> wow, ty really is slow
19:05:13 <Bike> @ty let shit fuck = (fuck,fuck) in fuck everything = everything . everything in fuck fuck shit
19:05:19 -!- AnotherTest has joined.
19:05:24 <kmc> lambdabot is being really slow right now
19:05:30 <lambdabot> thread killed
19:05:31 <elliott> Bike: this is an "infamous" bad case for hindley-milner in general
19:05:34 <elliott> double-exponential, I think
19:05:41 <Bike> oh right i remember that now
19:05:46 <Bike> is there any way around it?
19:05:51 <Bike> other than the classic "why are you doing that"
19:06:02 <kmc> "stop hitting yourself"
19:06:05 <Bike> right
19:06:08 <shachaf> > 1
19:06:13 <lambdabot> mueval-core: Time limit exceeded
19:06:19 <shachaf> "the infamous double exponential case"
19:06:21 -!- AnotherTest has quit (Client Quit).
19:06:23 <Bike> hee
19:06:24 <elliott> well you can set arbitrary limits on type inference
19:06:31 -!- AnotherTest has joined.
19:06:40 <shachaf> @yarrbi trarry
19:06:40 <lambdabot> Ahoy mateys
19:06:42 <elliott> probably there are less expressive algorithms which are just, like, exponential at worst
19:06:47 <elliott> and also a pain to use because they're less expressive
19:07:19 <kmc> they might also be slower in non-pathological cases
19:07:36 <FreeFull> > 1
19:07:40 <lambdabot> mueval-core: Time limit exceeded
19:07:43 <FreeFull> What
19:07:56 <shachaf> I don't know but it's Jafet's fault.
19:08:22 <shachaf> Anyway maybe I'll try to sleep for a bit?
19:08:50 <kmc> good luck
19:09:57 <boily> > 1
19:10:03 <lambdabot> mueval: ExitFailure 1
19:10:03 <lambdabot> mueval: Prelude.undefined
19:10:20 <boily> who borked lambdabot?
19:10:41 <shachaf> ) 1 + 1
19:10:42 <jconn> shachaf: 2
19:11:45 <boily> ) pi
19:11:46 <jconn> boily: |value error: pi
19:12:13 <boily> ) let 2 = 3 in 2 + 2
19:12:13 <jconn> boily: |value error: in
19:12:13 <jconn> boily: | let 2=3 in 2+2
19:12:23 <boily> ) exp 5
19:12:23 <jconn> boily: |value error: exp
19:12:23 <jconn> boily: | exp 5
19:12:25 <shachaf> ) 2 = 3
19:12:25 <jconn> shachaf: 0
19:12:29 <boily> ) exp(5)
19:12:29 <jconn> boily: |value error: exp
19:12:30 <jconn> boily: | exp(5)
19:12:30 <shachaf> ) 2 := 3
19:12:30 <jconn> shachaf: |domain error
19:12:30 <jconn> shachaf: | 2 :=3
19:12:40 <Bike> ) o 1
19:12:41 <jconn> Bike: |value error: o
19:12:41 <jconn> Bike: | o 1
19:12:48 <Bike> ) o. 1
19:12:48 <jconn> Bike: 3.14159
19:12:56 <shachaf> ) i. 10000000000000000000000
19:12:56 <jconn> shachaf: |domain error
19:12:56 <jconn> shachaf: | i.1e22
19:12:59 <boily> no. oh no you didn't.
19:13:10 <boily> there's a J bot here now?
19:13:17 <Bike> welcome to the future, boily
19:13:17 <quintopia> what is jconn supposed to be accomplishing
19:13:23 <shachaf> I can't wait until we get an Ada bot.
19:13:37 <quintopia> shachaf: i'll write an Eiffel bot okay
19:13:40 <boily> I'd fall off my chair in astonishment, but then I'd probably disturb my colleagues.
19:13:41 <elliott> ) (+%#) 1 2 3 4 5 6 7 8 9 10
19:13:42 <jconn> elliott: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
19:13:45 <kmc> can it be a Sgeolang bot
19:13:47 <elliott> ) (+/%#) 1 2 3 4 5 6 7 8 9 10
19:13:48 <jconn> elliott: 5.5
19:13:52 <elliott> ) +/%# 1 2 3 4 5 6 7 8 9 10
19:13:52 <jconn> elliott: 0.1
19:13:59 <elliott> good, I still remember how it all works, roughly
19:13:59 <shachaf> elliott: mind your language......................
19:14:23 <quintopia> shachaf: wait wait, i'll write a algol 68 bot!
19:14:40 <Bike> i'm going to imagine that, unbeknownst to the channel, elliott has spent ten years in the financial industry programming j
19:14:49 <shachaf> quintopia: That was going to be my next language for Sgeo.
19:14:59 <quintopia> :D
19:15:02 <Bike> quintopia: imo algol w
19:15:14 <shachaf> algol ω
19:15:25 <quintopia> algoljack just ate him
19:15:48 -!- monqy has joined.
19:15:57 <elliott> Bike: they use K a lot more in finance, AIUI
19:16:11 <Bike> i don't even know anything about k
19:16:14 <shachaf> Bike: Algol W isn't wirth the trouble.
19:16:19 <elliott> Bike: I admit hiring a 7 year old to program finance in J would make an utterly fantastic story
19:16:19 <Bike> is that the one that's all "what's this OOP business"
19:16:25 <Bike> yes, yes it would
19:17:21 <elliott> Bike: K is like J except different
19:17:30 <elliott> "h t h"
19:17:37 <shachaf> ) "h
19:17:37 <jconn> shachaf: "h
19:17:40 <shachaf> ) "h t h"
19:17:41 <jconn> shachaf: |syntax error
19:17:41 <jconn> shachaf: | "h t h"
19:17:45 <shachaf> ) "h + "h
19:17:45 <jconn> shachaf: |syntax error
19:17:45 <jconn> shachaf: | "h+"h
19:17:48 <shachaf> help
19:20:19 <FreeFull> )
19:20:41 <boily> ) . 4 5 $ 50
19:20:42 <jconn> boily: |syntax error
19:20:42 <jconn> boily: | .4 5$50
19:20:52 <boily> ) ?. 4 5 $ 50
19:20:52 <jconn> boily: 46 5 29 2 4
19:20:52 <jconn> boily: 39 10 7 10 44
19:20:52 <jconn> boily: 46 28 13 18 1
19:20:52 <jconn> boily: 42 28 10 40 12
19:21:01 <Bike> these are probably the least helpful syntax error notices i've ever seen
19:21:05 -!- derdon has joined.
19:21:29 <elliott> ) (#:D.1) 1 2 3
19:21:30 <jconn> elliott: 0 1
19:21:30 <jconn> elliott: 0 0
19:21:30 <jconn> elliott: 0 0
19:21:30 <jconn> elliott:
19:21:30 <jconn> elliott: 0 0
19:21:30 <jconn> elliott: ...
19:21:34 <elliott> ) (#:D.1) 123
19:21:34 <jconn> elliott: 0 0 0 0 0 0 1
19:21:38 <elliott> ) (#:D.1) 1235
19:21:39 <jconn> elliott: 0 0 0 0 0 0 0 0 0 0 1
19:21:42 <elliott> great function
19:22:49 <FreeFull> ) 3 + 3
19:22:50 <jconn> FreeFull: 6
19:22:52 <FreeFull> :O
19:23:07 <Bike> elliott: what the hell is that
19:24:04 <elliott> first derivative of antibase two (http://www.jsoftware.com/help/dictionary/d402.htm)
19:26:26 * Bike stares
19:28:56 <FreeFull> ) #: 2
19:28:57 <jconn> FreeFull: 1 0
19:29:03 <FreeFull> ) #: 139
19:29:04 <jconn> FreeFull: 1 0 0 0 1 0 1 1
19:29:09 <FreeFull> Isn't that just base 2
19:29:45 <Bike> Yeah, but D.1 means first derivative.
19:30:32 <Bike> ) (#:D.1) 124
19:30:32 <jconn> Bike: 0 0 0 0 0 0 1
19:30:37 <Bike> right.
19:31:49 <elliott> not exactly sure what the derivative of #: *is*
19:32:29 <elliott> ) (+,#:) 1 2
19:32:30 <jconn> elliott: 1 2
19:32:30 <jconn> elliott: 0 1
19:32:30 <jconn> elliott: 1 0
19:32:45 <elliott> ) (+,#:) 123
19:32:46 <jconn> elliott: 123 1 1 1 1 0 1 1
19:32:49 <elliott> right
19:32:57 <nortti> can anyone access nortti.dy.fi or even ping it?
19:32:59 <elliott> ) (+;#:) 123
19:32:59 <jconn> elliott: +---+-------------+
19:32:59 <jconn> elliott: |123|1 1 1 1 0 1 1|
19:32:59 <jconn> elliott: +---+-------------+
19:33:07 <elliott> ) (#:;#:D.1) 123
19:33:07 <jconn> elliott: +-------------+-------------+
19:33:08 <jconn> elliott: |1 1 1 1 0 1 1|0 0 0 0 0 0 1|
19:33:08 <jconn> elliott: +-------------+-------------+
19:33:09 <Bike> I guess #: is sort of the identity function, meaning the derivative is 1
19:33:12 <elliott> ) (#:;#:D.1) 12345
19:33:12 <jconn> elliott: +---------------------------+---------------------------+
19:33:12 <jconn> elliott: |1 1 0 0 0 0 0 0 1 1 1 0 0 1|0 0 0 0 0 0 0 0 0 0 0 0 0 1|
19:33:12 <jconn> elliott: +---------------------------+---------------------------+
19:33:27 <elliott> looks like you get 0 0 0 0 0 ... 1 padded out to how many bits the input is
19:33:32 <Bike> yeah
19:33:33 <elliott> makes sense
19:34:22 <Bike> ) (#:D.2) 12345
19:34:22 <jconn> Bike: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19:34:34 <Bike> sensible
19:34:35 <boily> nortti: pings get lost in the great wide black Internet.
19:34:46 <elliott> ) (#:D.3) 12345
19:34:47 <jconn> elliott: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19:34:50 <elliott> astonishing
19:35:04 <elliott> ) (#:D._1) 12345
19:35:04 <jconn> elliott: |nonce error
19:35:04 <jconn> elliott: | ( #:D._1)12345
19:35:08 <elliott> aw c'mon
19:35:13 <nortti> boily: ok. that is what I get too (on the very machine you were trying to ping)
19:35:13 <elliott> what's wrong with the -1st derivative
19:35:14 <Bike> wait are there really antiderivatives
19:35:17 <Bike> tell me there are
19:35:27 <elliott> well apparently J does not acknowledge their existence
19:35:33 <Bike> what!
19:35:48 <Bike> look J, D is a linear operator. that's right a MATRIX. you're good with those right!
19:35:58 <Bike> so tell me the negative pi'th derivative of #:!
19:36:28 <elliott> ) (D. b. _1)
19:36:28 <jconn> elliott: |syntax error
19:36:28 <jconn> elliott: | ( D.b._1)
19:36:31 <elliott> ) D. b. _1
19:36:31 <jconn> elliott: |syntax error
19:36:31 <jconn> elliott: | D.b._1
19:36:37 <Bike> does J actually have infinite matrices
19:36:40 <Bike> i would like that
19:36:40 <oklopol> "<Bike> wait are there really antiderivatives" in J or in general? just checking
19:36:48 <elliott> ) f=: D. ; f b. _1
19:36:48 <jconn> elliott: |syntax error
19:36:48 <jconn> elliott: | f=: D.;f b._1
19:36:56 <elliott> imo go fuck yourself j
19:36:57 <Bike> oklopol: in J. what do you take me for :<
19:37:03 <elliott> ) - b. _1
19:37:03 <jconn> elliott: -
19:37:07 <elliott> ) + b. _1
19:37:07 <oklopol> Bike: a bike.
19:37:07 <jconn> elliott: +
19:37:10 <elliott> oh hmm
19:37:16 <Bike> oh. i guess that makes sense.
19:37:20 <oklopol> yes
19:37:38 <elliott> ) (D.&1) b. _1
19:37:38 <jconn> elliott: |syntax error
19:37:38 <jconn> elliott: | ( D.&1)b._1
19:37:47 <elliott> ) f=: D.&1 ; f b. _1
19:37:47 <jconn> elliott: |value error: f
19:37:48 <jconn> elliott: | f=:D.&1; f b._1
19:37:55 <elliott> :/
19:38:20 <elliott> ) f=:D.&1; (f #:) 123
19:38:21 <jconn> elliott: |value error: f
19:38:21 <jconn> elliott: | f=:D.&1; (f#:)123
19:38:26 <elliott> ) f=.D.&1; (f #:) 123
19:38:26 <jconn> elliott: |value error: f
19:38:26 <jconn> elliott: | f=.D.&1; (f#:)123
19:38:30 <elliott> ) q=.D.&1; (q #:) 123
19:38:30 <jconn> elliott: |value error: q
19:38:30 <jconn> elliott: | q=.D.&1; (q#:)123
19:38:40 <elliott> am i just an idiot
19:38:42 <Bike> i'm pretty close to getting on to #jsoftware to ask why D isn't a matrix
19:38:43 <Bike> help
19:38:54 <elliott> ) ((D.&1) #:) 123
19:38:55 <jconn> elliott: |syntax error
19:38:55 <jconn> elliott: | (( D.&1)#:)123
19:38:58 <elliott> oh hmm
19:39:14 <elliott> I guess I have to whip out the stuff for this
19:39:29 <Bike> ) f:= D.&1 ; f b. _1
19:39:30 <jconn> Bike: |spelling error
19:39:30 <jconn> Bike: | f:= D.&1 ; f b. _1
19:39:30 <jconn> Bike: | ^
19:39:44 <Bike> yeah ok i have no damned clue
19:40:17 <elliott> ) f =: 1 : 'x (u D.1) y'; (f #:) 123
19:40:17 <jconn> elliott: |value error: f
19:40:17 <jconn> elliott: | f=:1 :'x (u D.1) y'; (f#:)123
19:40:23 <elliott> ok i'm getting there
19:41:07 <Bike> J has complexes right
19:41:16 <Bike> i wanna see if D is defined for gaussian integers at least
19:41:28 <elliott> ) f =: 1 : 'x (u D.1) y'; f #: 1 2 3
19:41:28 <jconn> elliott: |value error: f
19:41:28 <jconn> elliott: | f=:1 :'x (u D.1) y'; f#:1 2 3
19:41:29 <elliott> er
19:41:32 <elliott> ) f =: 1 : 'x (u D.1) y'; #: f 1 2 3
19:41:33 <jconn> elliott: |value error: f
19:41:33 <jconn> elliott: | f=:1 :'x (u D.1) y';#: f 1 2 3
19:41:38 <elliott> ughughugh fuck me
19:41:43 <elliott> ) f =: 1 : 'x (u D.1) y'; f #:
19:41:43 <jconn> elliott: |syntax error
19:41:43 <jconn> elliott: | f=: 1 :'x (u D.1) y';f#:
19:41:46 <elliott> dijeijeoijeoijefoi
19:41:57 <Bike> sgeo you're going to break elliott!!
19:42:02 <elliott> ) hello =: 1 : 'x u y'; 1 2 (hello +) 3 4
19:42:02 <jconn> elliott: |value error: hello
19:42:02 <jconn> elliott: | hello=:1 :'x u y';1 2 (hello+)3 4
19:42:06 <elliott> WAHT ????
19:42:19 -!- asiekierka has quit (Quit: ZNC - http://znc.sourceforge.net).
19:42:20 <elliott> oh hmm
19:42:24 <elliott> ) hello =: 1 : 'x u y'
19:42:24 <jconn> elliott: |ok
19:42:25 <elliott> ) hello
19:42:25 <jconn> elliott: 1 : 'x u y'
19:42:28 <elliott> aww friend
19:42:32 <elliott> ) 1 2 (hello +) 3 4
19:42:32 <jconn> elliott: |syntax error
19:42:32 <jconn> elliott: | 1 2( hello+)3 4
19:42:37 <elliott> ) hello +
19:42:37 <jconn> elliott: |syntax error
19:42:38 <jconn> elliott: | hello+
19:42:39 <elliott> ) + hello
19:42:40 <jconn> elliott: + (1 : 'x u y')
19:42:44 <elliott> ) 1 2 (+ hello) 3 4
19:42:44 <jconn> elliott: |domain error
19:42:44 <jconn> elliott: | 1 2 (+hello)3 4
19:42:48 <elliott> ) 1 (+ hello) 3
19:42:48 <jconn> elliott: |domain error
19:42:49 <jconn> elliott: | 1 (+hello)3
19:42:50 <elliott> hm
19:42:51 <oklopol> ) o
19:42:52 <jconn> oklopol: |value error: o
19:42:53 <elliott> ) (+ hello) 1
19:42:53 <jconn> elliott: |value error: x
19:42:53 <jconn> elliott: | x u y
19:42:59 <elliott> interesting
19:42:59 <oklopol> ) 0+2
19:43:00 <jconn> oklopol: 2
19:43:08 <elliott> ) hello =: 1 : 'u y'
19:43:08 <jconn> elliott: |ok
19:43:08 <oklopol> ) 0+.0 0 0 0
19:43:09 <jconn> oklopol: 0 0 0 0
19:43:10 <elliott> ) (+ hello) 1
19:43:10 <jconn> elliott: 1
19:43:15 <oklopol> wow i'm good
19:43:23 <elliott> ) hello =: 1 : '(u D.1) y'
19:43:23 <jconn> elliott: |ok
19:43:26 <elliott> ) (#: hello) 123
19:43:26 <jconn> elliott: 0 0 0 0 0 0 1
19:43:30 <elliott> yesss
19:43:35 <elliott> ) hello b. _1
19:43:35 <jconn> elliott: |syntax error
19:43:35 <jconn> elliott: | hello b._1
19:43:38 <elliott> ugh
19:43:54 <elliott> right I have absolutely no idea how to ask J what it thinks the inverse of (? D. 1) is
19:43:55 <Bike> i'd say "you can do it!" but i don't know what you're doing and find it slightly frightening
19:43:58 <elliott> Sgeo: you're my only hope
19:45:39 <elliott> Bike: have you seen the original J interpreter
19:45:47 <elliott> http://www.jsoftware.com/jwiki/Essays/Incunabulum
19:46:22 <Bike> well they managed to make C look like J
19:46:50 <kmc> my eyes
19:47:36 <Bike> "good job"
19:47:58 <Bike> has this ever been submittedt o IOCCC
19:51:06 <kmc> http://www.jsoftware.com/jwiki/Essays/PianoTuning
19:52:05 <Bike> nice
19:56:31 <monqy> wow thats a lot of essays
19:57:26 <monqy> http://www.jsoftware.com/jwiki/Essays/JforC%20Front%20Cover
19:57:55 <Bike> best cover i've seen since forth for the atari
19:58:36 -!- oerjan has joined.
19:58:36 <monqy> forth on the atari is a good cover
19:59:30 -!- sebbu has quit (Ping timeout: 264 seconds).
20:00:01 -!- augur has quit (Read error: Connection reset by peer).
20:00:15 -!- augur has joined.
20:00:33 <elliott> whoah
20:00:37 <elliott> google image search changed
20:02:23 <monqy> http://www.jsoftware.com/jwiki/Essays/The%20Art%20of%20Shaving
20:03:21 <Bike> Try to remember when and why I've wanted this.
20:03:56 <Bike> Comprehensive Burma Shave billboard collection
20:05:03 <TwilightSpockle> wut
20:05:09 <TwilightSpockle> Oh
20:05:12 <TwilightSpockle> OK, that makes more sense.
20:05:20 <TwilightSpockle> I thought it would actually be something related to "the art of shaving"
20:05:35 <Bike> well the piano tunin one is actually about piano tuning
20:07:28 <TwilightSpockle> So is the J software /Essays/ directory like an everything2 niche or what?
20:08:25 <oerjan> ooh i left a literal n in the fueue program
20:09:21 -!- sebbu has joined.
20:09:35 -!- sebbu has quit (Changing host).
20:09:35 -!- sebbu has joined.
20:10:41 -!- TwilightSpockle has changed nick to Gregor.
20:14:28 -!- sebbu has quit (Ping timeout: 248 seconds).
20:18:29 <oerjan> *MWAHAHAHA*
20:19:29 <Gregor> ?
20:19:59 <boily> œrjan evily laughing is never a good omen.
20:21:01 -!- sebbu has joined.
20:25:24 <Taneb> I beg to differ.
20:25:29 <Taneb> It is ALWAYS a good omen.
20:26:18 -!- Gregor has set topic: char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | http://codu.org/logs/_esoteric/.
20:31:36 -!- asiekierka has joined.
20:32:50 <boily> Gregor: is that program supposed to take a single line of input, drop its first character then print the rest?
20:33:02 <Gregor> Nope.
20:33:10 <Gregor> Although that is one possible behavior.
20:33:47 <oerjan> Taneb: um isn't fueue supposed to allow return as whitespace?
20:33:54 <oerjan> `pastelogs fueue
20:34:25 <HackEgo> No output.
20:34:44 <oerjan> `pastelogs fueue
20:35:15 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7500
20:35:28 <Taneb> What constitutes "whitespace" isn't clear from the spec
20:36:07 <Taneb> However, Unicode specifies both LF and CR are whitespace
20:36:14 <oerjan> the C interpreter only allows literal ' ' :(
20:36:29 <Taneb> Then Arc_Koen is the one to complain to.
20:36:51 <oerjan> mind you it _does_ take the program as a command line argument...
20:37:25 <Taneb> I believe my Haskell interpreter allows \n.
20:38:14 <oerjan> Arc_Koen: your fueue interpreters only allow literal ' ' as whitespace (and i suspect the ocaml one doesn't accept even that inside loops)
20:38:30 * oerjan has only tested the C one
20:38:43 <oerjan> and has no idea where to find the haskell one *COUGH*
20:39:22 <Taneb> oerjan, basically, there's one copy of it and it's on this computer.
20:40:09 <oerjan> @tell Arc_Koen your fueue interpreters only allow literal ' ' as whitespace (and i suspect the ocaml one doesn't accept even that inside loops.) this ruins my pretty indentation and is therefore UNACCEPTABLE hth
20:40:09 <lambdabot> Consider it noted.
20:40:53 <Taneb> http://www.vandoorn.talktalk.net/esoteric/fueue.hs
20:41:04 <Taneb> The step function is about as ugly as Haskell gets
20:41:53 <boily> @tell boily IIRC, lambdabot won't tell stuff to yourself.
20:41:53 <lambdabot> You can tell yourself!
20:42:12 <elliott> Taneb: wow, what the fuck is with that step function
20:42:14 <elliott> why did yo uwrite it like that
20:42:21 <elliott> monqy: look at that
20:42:35 <Taneb> elliott, it used to be a lot uglier
20:42:41 <Bike> amazing
20:43:29 <Taneb> I tried to comment my code, then... didn't
20:43:40 <Bike> also you misspelled "further"
20:43:46 <oerjan> hm i didn't know about Numeric.Natural
20:44:01 <elliott> oerjan: it's in semigroups. guess who by
20:44:13 <Taneb> elliott, it's been moved to its own package now
20:44:20 <elliott> oh right.
20:44:24 <Taneb> "nats"
20:45:28 <oerjan> Taneb: "futher"
20:45:39 <oerjan> and "progam"
20:45:43 <Taneb> oerjan, I have a vague feeling you wrote most of the main function
20:45:51 -!- monqy_ has joined.
20:46:07 <oerjan> quite possible.
20:46:11 <elliott> monqy_: http://www.vandoorn.talktalk.net/esoteric/fueue.hs look at the step function
20:46:17 <monqy_> 12:42:27 <elliott> monqy: look at that
20:46:30 <monqy_> was just about to
20:46:35 <monqy_> i
20:46:37 <elliott> yes but then you got disconnected
20:46:40 <monqy_> whaaaaaat is thissssss
20:46:49 -!- monqy has quit (Disconnected by services).
20:46:55 -!- monqy_ has changed nick to monqy.
20:47:06 <Taneb> Someone put some of my code onto Uncyclopedia once.
20:47:10 <Taneb> That's how much I suck as a programmer
20:47:18 <monqy> -- We store operators which did not have enough operators --
20:47:20 <monqy> *operands?
20:47:29 <Taneb> ...yes
20:47:47 <monqy> this step function hurts
20:47:47 <elliott> fr operators which did not have enough operators
20:47:57 <Taneb> Look, I had enough difficulty getting it to run correctly.
20:48:12 <monqy> thats because it's
20:48:13 <monqy> it
20:48:24 <boily> when people sound like fungot quotes, then something important (and / or confusing) is happening.
20:48:25 <fungot> boily: disable case-switching keys i/ o register you want to set a string) an 65371-67407 ( ff5b-ff7f). only then did the message ?syntax error will occur.
20:50:42 <Taneb> monqy, elliott, anyone else, constructive criticism on how to improve my code would be much appreciated
20:51:06 <Bike> start over, maybe?
20:51:20 <oerjan> Taneb: hm your interpreter does not run my program correctly, whether or not i put it on one line. (Arc_Koen's C interpreter runs it correctly as one line.)
20:51:20 <Taneb> Bike, that's destructive, not constructive.
20:51:35 <oerjan> i shall modify his C interpreter to accept \n
20:51:39 <Taneb> This may be an old stupid broken version
20:51:41 <Taneb> Hang on
20:51:45 <elliott> Taneb: ok what i would do is throw away step
20:51:46 <elliott> and start over
20:51:47 <Bike> at a certain point i think it's better to just begin fresh
20:52:05 -!- Snowyowl has joined.
20:52:09 <monqy> pattern synonyms
20:52:18 <monqy> would help slightly
20:52:24 <monqy> with some of that syntactic noise
20:52:26 <Taneb> I believe I started over at least twice
20:52:32 <monqy> but i think a major restructuring is probably needed
20:52:46 <monqy> like factor out some of the common stuff out
20:54:00 <elliott> monqy: pattern synonyms aka...... prisms
20:54:05 <monqy> like
20:54:06 <monqy> step (viewl -> FPlus :< (viewl -> FNum arg1 :< (viewl -> FNum arg2 :< queue))) = queue |> FNum (arg1 + arg2) <$ put 0
20:54:09 <monqy> step (viewl -> FPlus :< (viewl -> FNum arg1 :< (viewl -> FCache (viewl -> EmptyL) :< (viewl -> FNum arg2 :< queue)))) = queue |> FNum (arg1 + arg2) <$ put 0
20:54:12 <monqy> this sort of pattern is pretty common
20:54:13 <elliott> really tho he has pattern synoynms
20:54:14 <elliott> since he has view patterns
20:54:18 <elliott> he's just not utilising them
20:54:27 <monqy> ye
20:54:42 <elliott> 2 bad view patterns sux
20:54:54 <oerjan> there you go
20:55:41 <monqy> Taneb: for stuff like that snippet i pasted, since you use that sort of thing everywhere where you check the queue and do that stuff you should make a function that does that for you, then just use that function in all of the cases with stuff like that. at the very least you could use that to clean up your binary operators
20:58:16 -!- AnotherTest has quit (Quit: Leaving.).
20:58:16 <monqy> Taneb: and instead of having those crazy nested view patterns you could make a helper-view that views the stuff in the way you want to view them
20:58:49 <monqy> Taneb: once you apply that sort of thinking to step it might be easier to see what further refactorings you can do since it'll be cleaner &c &c
21:01:32 <Taneb> Okay
21:01:39 -!- boily has quit (Quit: Poulet!).
21:02:08 <mroman> I'm still not sure about the complexity of shortest non occuring sequence :(
21:02:25 <monqy> alt. rewrite it using lens. lens is cool right
21:06:49 <oerjan> Taneb: http://esolangs.org/wiki/Deadfish#Fueue
21:07:34 <Taneb> :)
21:07:38 <Taneb> oerjan, well done
21:07:54 <oerjan> thank you
21:09:00 <oerjan> also elliott, i know he likes Deadfish interpreters
21:10:15 <elliott> i do
21:11:43 -!- Snowyowl has quit (Ping timeout: 245 seconds).
21:17:33 -!- Snowyowl has joined.
21:28:06 <Taneb> Well, I've significantly shortened the "step" function
21:28:32 <elliott> i hope you kept the old version
21:28:34 <elliott> for me to preserve 4eva
21:28:50 <Taneb> It's... still online
21:29:08 <Taneb> I'd make a local copy if you want to keep it that badly
21:32:15 <elliott> `done
21:32:16 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: done: not found
21:32:17 <elliott> *done
21:32:34 <elliott> whats the new one look like
21:33:50 <Taneb> Still not great
21:34:26 <Taneb> Refresh the old link
21:35:22 <elliott> thats some interesting function naming
21:35:26 <elliott> step (viewl -> FPlus :< (viewQueue2 -> Just (FNum arg1, FNum arg2, rest))) = rest |> FNum (arg1 + arg2) <$ put 0
21:35:30 <elliott> step (viewl -> FMult :< (viewQueue2 -> Just (FNum arg1, FNum arg2, rest))) = rest |> FNum (arg1 * arg2) <$ put 0
21:35:33 <elliott> step (viewl -> FDiv :< (viewQueue2 -> Just (FNum arg1, FNum arg2, rest))) = rest |> FNum (arg1 `div` arg2) <$ put 0
21:35:36 <elliott> you can abstract this out
21:35:40 <Taneb> Probably
21:45:53 <elliott> Taneb: for a start you can make it
21:46:08 <elliott> step (erm -> (FPlus, x, y, r)) -> r |> FNum (x + y) <$ put 0
21:53:05 <elliott> Taneb: (I assume you can figure out erm there)
21:53:20 <Taneb> Yes
21:53:37 <elliott> also you can drop the _ pattern from viewQueue1 there I think
21:53:39 <elliott> since your patterns are total
21:57:10 <Taneb> It's to appease -Wall
21:58:08 <elliott> -Wall shouldn't complain since they look completely total to me?
21:58:26 <Taneb> -Wall doesn't know about view patterns
21:59:01 <oerjan> is ghc smart enough not to apply viewl once per pattern in the above?
21:59:19 <elliott> oerjan: yes
21:59:24 <oerjan> ok
22:01:41 <oerjan> `olist
22:01:43 <HackEgo> shachaf oerjan
22:02:07 <oerjan> maybe Sgeo should be on that list too
22:02:20 <oerjan> except that's illogical
22:02:23 -!- derdon has quit (Quit: WeeChat 0.3.8).
22:02:45 <Taneb> Is olist for when Homestuck doesn't update?
22:02:54 <oerjan> no, it's for when oots does
22:03:19 <Sgeo> oh hey awesome
22:03:28 <Sgeo> Also my sleep schedule is now messed up beyond repair
22:03:30 <Sgeo> So tired...
22:04:03 <oerjan> `run echo ' Sgeo' >>bin/olist
22:04:06 <HackEgo> No output.
22:04:15 <elliott> oerjan: nice try
22:04:22 <oerjan> wat
22:04:25 <elliott> `olist
22:04:26 <HackEgo> shachaf oerjan \ /hackenv/bin/olist: line 2: Sgeo: command not found
22:04:29 <oerjan> oops
22:04:35 <oerjan> f
22:05:16 <oerjan> `run sed -i '1P; s/\n//' bin/olist
22:05:19 <HackEgo> No output.
22:05:24 <oerjan> `olist
22:05:25 <HackEgo> shachaf oerjan \ shachaf oerjan \ /hackenv/bin/olist: line 3: Sgeo: command not found
22:05:34 <oerjan> wat
22:05:38 <Sgeo> "That made it worse"
22:05:42 <oerjan> `revert
22:05:45 <HackEgo> Done.
22:05:54 <oerjan> `run sed -i '1N; s/\n//' bin/olist
22:05:58 <HackEgo> No output.
22:06:00 <oerjan> `olist
22:06:01 <HackEgo> shachaf oerjan Sgeo
22:06:03 <oerjan> yay
22:06:07 <Sgeo> :)
22:08:24 <olsner> what's the olist?
22:08:52 * oerjan swats olsner with his DRY swatter -----###
22:09:12 <olsner> I'm not repeating anything, swat yourself
22:09:30 <oerjan> why should i, i didn't repeat anything either, although you tried to make me
22:09:42 <olsner> it was a test of determination
22:09:59 <olsner> what's oots then?
22:14:41 <Snowyowl> Order of the Stick, by the way
22:15:15 <Taneb> Wow, the only Fueue Deadfish program doesn't work on any Fueue implementations
22:16:37 <oerjan> technically incorrect. the _other_ Fueue Deadfish program works on the C interpreter at least. it consists simply of removing unnecessary whitespace from the public one.
22:17:29 <oerjan> i haven't tested the ocaml one, since i don't have ocaml handy
22:18:39 <Taneb> The Haskell implementation does the Hello World, Alphabet, and Thue-Morse programs easily
22:18:54 <oerjan> what about the Truth machine?
22:19:05 -!- augur has quit (Remote host closed the connection).
22:19:23 <oerjan> if it doesn't work, there might easily be something wrong with input
22:19:39 -!- augur has joined.
22:19:43 <Taneb> Inexplicable parse error
22:19:50 <oerjan> hah
22:20:52 <Taneb> After working out what that was
22:21:01 <Taneb> (bash doesn't like dollar symbols in strings)
22:21:08 <Taneb> It's got a problem with input
22:22:07 <Taneb> Okay, that fixed it
22:24:02 -!- augur has quit (Ping timeout: 255 seconds).
22:28:09 -!- epicmonkey has quit (Remote host closed the connection).
22:28:27 <Taneb> oerjan, refresh the old link?
22:28:29 -!- epicmonkey has joined.
22:33:23 -!- Snowyowl has quit (Ping timeout: 245 seconds).
22:35:51 <Sgeo> Yay I'm vaguely awake
22:35:51 -!- Taneb has quit (Ping timeout: 245 seconds).
22:35:56 <Sgeo> Is J not doing derivatives?
22:36:05 <Sgeo> erm, antiderivatives
22:36:46 <Sgeo> ) 9!:14 ''
22:36:47 <jconn> Sgeo: j701/2011-01-10/11:25
22:37:27 <Sgeo> ) 9!:24 ''
22:37:27 <jconn> Sgeo: 1
22:40:07 <Sgeo> I don't understand D.
22:40:38 <Bike> ) 9!:D.124 ''
22:40:38 <jconn> Bike: |syntax error
22:40:38 <jconn> Bike: | 9!:D.124''
22:43:12 <Sgeo> Why was elliott using help for J 4
22:43:31 <Bike> ) 9!:D.1 24 ''
22:43:32 <jconn> Bike: |syntax error
22:43:32 <jconn> Bike: | 9!:D.1 24''
22:43:33 <elliott> i googled j vocabulary i think
22:43:37 <Bike> awwwww
22:43:43 <elliott> or what do you mean
22:44:01 <Sgeo> elliott, just as in, why you linked to a 402 dictionary
22:44:10 <elliott> do you mean http://www.jsoftware.com/help/dictionary/d402.htm
22:44:13 <Sgeo> Yes
22:44:15 <elliott> perhaps actually click the link
22:44:34 <elliott> some more J versions: http://www.jsoftware.com/help/dictionary/d212.htm http://www.jsoftware.com/help/dictionary/d112.htm
22:44:46 <Sgeo> oh
22:44:50 <Sgeo> :/
22:45:12 <Sgeo> Anyway, "What's the inverse of version"
22:45:29 <Sgeo> ) 9 (!:^:_1) 24 ''
22:45:29 <jconn> Sgeo: |syntax error
22:45:29 <jconn> Sgeo: | 9( !:^:_1)24''
22:46:01 <Sgeo> )(>:^:_1) 24
22:46:07 <Sgeo> ) (>:^:_1) 24
22:46:08 <jconn> Sgeo: 23
22:46:09 <Sgeo> oh duh
22:46:17 <Sgeo> !: isn't a verb, is it
22:46:24 <Bike> what!
22:46:42 <Sgeo> ) (9!:24)^:_1 ''
22:46:42 <jconn> Sgeo: |domain error
22:46:43 <jconn> Sgeo: | (9!:24)^:_1''
22:47:10 <Sgeo> It's a conjugation
22:47:19 <Sgeo> Because it needs to return a verb
22:47:27 <Bike> a conjugation of what
22:47:31 <Sgeo> So (9!:24) is a verb, !: isn't
22:47:37 <Sgeo> erm, conjunction
22:48:04 <Bike> oooookay
22:48:11 <Bike> ) (9!:24)D.1 ''
22:48:11 <jconn> Bike:
22:48:20 <Bike> glad we got that settled.
22:52:55 <monqy> )
22:53:48 <oerjan> ) 42
22:53:49 <jconn> oerjan: 42
22:54:20 <oerjan> ) :[):]
22:54:20 <jconn> oerjan: |spelling error
22:54:20 <jconn> oerjan: | :[):]
22:54:20 <jconn> oerjan: | ^
22:54:35 <oerjan> shockingly not a superset of fueue
22:55:44 <elliott> hm. i dream of a language based around overlapping brackets
22:55:54 <elliott> [like(this]see)
22:56:22 <Bike> ) #:t.3
22:56:22 <jconn> Bike: |domain error
22:56:22 <jconn> Bike: | #:t.3
22:56:56 <oerjan> ) 9!
22:56:56 <jconn> oerjan: |syntax error
22:56:57 <jconn> oerjan: | 9!
22:57:05 <oerjan> ) !9
22:57:05 <jconn> oerjan: 362880
22:57:06 <Sgeo> elliott, ~ATH ?
22:57:37 <monqy> um i hear that's not a real language. i think taneb told me.
22:57:44 <monqy> or was it you
22:57:49 <Bike> ) (#:D.3) 123
22:57:49 <jconn> Bike: 0 0 0 0 0 0 0
22:57:56 <Bike> ) (#:t.1)
22:57:56 <jconn> Bike: |domain error
22:57:57 <jconn> Bike: | ( #:t.1)
22:58:17 <Bike> this is crap
22:58:35 <elliott> The domain of the adverb t. is the same as the left domain of the derivative D. .
22:58:55 <Bike> so shouldn't it be working
22:59:06 <monqy> ) < < < < < < < < "j isn't crap!!!!"
22:59:06 <jconn> monqy: |open quote
22:59:06 <jconn> monqy: | < < < < < < < < "j isn't crap!!!!"
22:59:06 <jconn> monqy: | ^
22:59:09 <monqy> :(
22:59:16 <monqy> i forgot how to do quotes
22:59:18 <monqy> rip: me
22:59:30 <Bike> ) < < < < < < < < "j isn't crap!!!
22:59:31 <jconn> Bike: |open quote
22:59:31 <Sgeo> ) < < < < < < < < 'j isn''t crap!!!!'
22:59:31 <jconn> Bike: | < < < < < < < < "j isn't crap!!!
22:59:31 <jconn> Bike: | ^
22:59:31 <jconn> Sgeo: +------------------------------+
22:59:31 <jconn> Sgeo: |+----------------------------+|
22:59:31 <jconn> Sgeo: ||+--------------------------+||
22:59:31 <jconn> Sgeo: |||+------------------------+|||
22:59:32 <jconn> Sgeo: ||||+----------------------+||||
22:59:32 <jconn> Sgeo: ...
22:59:40 <Bike> oh come on you can do better than that j
22:59:49 <elliott> good
22:59:59 <Bike> ) < < < 'monqy
22:59:59 <jconn> Bike: |open quote
22:59:59 <jconn> Bike: | < < < 'monqy
22:59:59 <jconn> Bike: | ^
23:00:01 <Bike> ) < < < 'monqy'
23:00:01 <jconn> Bike: +---------+
23:00:02 <jconn> Bike: |+-------+|
23:00:02 <jconn> Bike: ||+-----+||
23:00:02 <jconn> Bike: |||monqy|||
23:00:02 <jconn> Bike: ||+-----+||
23:00:02 <jconn> Bike: ...
23:00:04 <Sgeo> ) i. 10 1
23:00:05 <jconn> Sgeo: 0
23:00:05 <jconn> Sgeo: 1
23:00:05 <jconn> Sgeo: 2
23:00:05 <jconn> Sgeo: 3
23:00:05 <jconn> Sgeo: 4
23:00:05 <jconn> Sgeo: ...
23:00:12 <Bike> monqy why don't you fit in the box?
23:00:17 <Bike> is that what i'm supposed to ask you?
23:00:28 <monqy> no
23:00:35 <monqy> you're not supposed to ask anyone that
23:00:38 <monqy> you're not supposed to ask that
23:00:44 <Bike> ok what am i supposed to ask you then
23:00:47 <monqy> idk
23:00:53 <Bike> dammit
23:00:56 <Bike> ) < < 'asking'
23:00:56 <jconn> Bike: +--------+
23:00:56 <jconn> Bike: |+------+|
23:00:56 <jconn> Bike: ||asking||
23:00:56 <jconn> Bike: |+------+|
23:00:56 <jconn> Bike: +--------+
23:01:15 <Sgeo> ) (<^:100) 'hi'
23:01:15 <jconn> Sgeo: +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
23:01:16 <jconn> Sgeo: |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
23:01:16 <jconn> Sgeo: ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
23:01:16 <jconn> Sgeo: |||+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|||
23:01:21 -!- noam__ has quit (Read error: Connection reset by peer).
23:01:23 <jconn> Sgeo: ||||+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||||
23:01:23 <jconn> Sgeo: ...
23:01:30 <Bike> i concur
23:01:39 <Phantom_Hoover> wtf
23:01:44 -!- noam__ has joined.
23:01:52 <elliott> ) (<^:1000) 'x'
23:01:56 <kmc> i am disappoint at the lack of box drawing characters
23:02:10 <Bike> hm
23:02:18 <Bike> sgeo how do we redefine the box printing
23:02:32 <Sgeo> Um. At least locally there's a thing to switch it
23:02:46 <Sgeo> Any system related stuff is likely in here http://www.jsoftware.com/docs/help701/dictionary/xmain.htm
23:03:01 <monqy> ) 'are you still there'
23:03:12 <monqy> elliott.........
23:03:40 <elliott> good job me
23:03:42 <Bike> ñó í þhíñœ åé ßhóúøð bé åëíþíñg þhé öëíñþéë fúñ©þíóñß éëbß° íñ Ï ðíëé©þøüç §géó
23:03:46 <elliott> i blame sgeo for bringing that bot in here
23:03:51 <Sgeo> ) 9!:12 ''
23:03:57 <Bike> so is it frozen in jsoftware too
23:04:49 <Bike> :t (^:)
23:04:51 <lambdabot> Not in scope: `^:'
23:04:51 <lambdabot> Perhaps you meant one of these:
23:04:51 <lambdabot> `^' (imported from Prelude), `^^' (imported from Prelude),
23:04:59 <Sgeo> It is frozen in jsoftware
23:05:04 <monqy> gj
23:05:10 <kmc> hex edit the binary
23:05:11 <kmc> every day
23:05:14 <Bike> boxes are hard man
23:05:40 <Sgeo> There is a thing for execution time limit
23:05:57 -!- jconn has quit (Ping timeout: 248 seconds).
23:06:11 <monqy> rip
23:06:30 <Bike> good time limit
23:06:45 <elliott> did i do a bad thing
23:06:46 <monqy> my local jconsole uses box drawing chars
23:06:53 <monqy> jealous????????
23:07:11 -!- carado has quit (Ping timeout: 246 seconds).
23:07:43 <Bike> @let (^:) fn 0 = id; (^:) fn n = fn (fn ^: (n-1))
23:07:46 <lambdabot> Defined.
23:07:54 <Bike> what
23:07:57 <kmc> monqy: yes
23:08:01 <elliott> Bike: um...
23:08:03 <elliott> :t (^:)
23:08:05 <lambdabot> (Eq a, Num a) => ((a1 -> a1) -> a1 -> a1) -> a -> a1 -> a1
23:08:10 <elliott> thats not quite right
23:08:14 <Bike> ok good
23:08:16 <elliott> @undefine
23:08:22 <Bike> for a second i thought i did it right and was confused
23:08:29 <elliott> @let _ ^: 0 = id; f ^: n = f . (f ^: (n-1))
23:08:30 <lambdabot> Defined.
23:08:32 <elliott> :t (^:)
23:08:33 <lambdabot> (Eq a, Num a) => (a1 -> a1) -> a -> a1 -> a1
23:08:56 <Sgeo> Can it do infinity?
23:09:06 <monqy> yes
23:09:07 <monqy> :t fix
23:09:09 <lambdabot> (a -> a) -> a
23:09:29 <Bike> > (((+) 1) ^: 1000) 9
23:09:32 <lambdabot> mueval-core: Time limit exceeded
23:09:38 <Bike> hooray!
23:09:46 <elliott> ((+) 1) can also be written (1 +)
23:09:49 <elliott> :t Succ
23:09:50 <monqy> lambdabot knows where it's at
23:09:51 <lambdabot> Not in scope: data constructor `Succ'
23:09:52 <elliott> :t S
23:09:54 <lambdabot> Not in scope: data constructor `S'
23:09:55 <monqy> :t succ
23:09:56 <lambdabot> Enum a => a -> a
23:09:57 <elliott> eh
23:10:01 <Bike> :t Just
23:10:01 <elliott> how can I construct this piece by piece
23:10:03 <lambdabot> a -> Maybe a
23:10:04 <elliott> monqy: i'm trying to get lazy nats
23:10:10 <Bike> > (Just ^: 1000) 9
23:10:12 <monqy> oh, lazy nats
23:10:13 <elliott> :t infinity
23:10:13 <lambdabot> Occurs check: cannot construct the infinite type:
23:10:13 <lambdabot> a10 = Data.Maybe.Maybe...
23:10:15 <lambdabot> Not in scope: `infinity'
23:10:19 <elliott> :t Data.Number.Natural.infinity
23:10:21 <lambdabot> Data.Number.Natural.Natural
23:10:29 <Bike> wait where's the infinite type
23:10:35 <elliott> > (("hi" ++) ^: Data.Number.Natural.infinity) "end"
23:10:37 <lambdabot> Not in scope: `Data.Number.Natural.infinity'
23:10:39 <elliott> nooooo
23:11:08 <elliott> @src
23:11:08 <lambdabot> src <id>. Display the implementation of a standard function
23:11:12 <elliott> uh
23:11:13 <elliott> @litas
23:11:13 <lambdabot> Unknown command, try @list
23:11:14 <elliott> @list
23:11:14 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
23:11:20 <Bike> shouldn't the type be just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just Just
23:11:33 <elliott> http://code.haskell.org/lambdabot/State/L.hs
23:11:41 <elliott> how do we get the conaturals from this
23:11:53 <Sgeo> Just is not a type
23:12:04 <Bike> there's an Int at the end there.
23:12:11 <monqy> elliott: something with Mu and Maybe?
23:12:13 <Sgeo> Just ... Int is not a type
23:12:19 <Sgeo> Maybe you mean Maybe
23:12:22 <Bike> fine, that
23:12:41 <Bike> and then monad laws should fold it to Maybe Int anyway
23:12:47 <elliott> monqy: that has no Num instance tho
23:12:47 <Bike> :t Just Just Just 9
23:12:49 <lambdabot> The function `Just' is applied to three arguments,
23:12:49 <lambdabot> but its type `a0 -> Maybe a0' has only one
23:12:49 <lambdabot> In the expression: Just Just Just 9
23:12:50 <elliott> and (^:) needs Num,Eq
23:12:58 <Sgeo> Maybe (Maybe Int) contains information that Maybe Int doesn't
23:13:08 <Bike> man ugh
23:13:13 <Bike> :t Just (Just (Just 9))
23:13:15 <lambdabot> Num a => Maybe (Maybe (Maybe a))
23:13:23 <monqy> elliott: oh right, ugh
23:13:25 <Bike> :t Just ^: 3
23:13:26 <lambdabot> Occurs check: cannot construct the infinite type: a10 = Maybe a10
23:13:27 <lambdabot> Expected type: a10 -> a10
23:13:27 <lambdabot> Actual type: a10 -> Maybe a10
23:13:38 <monqy> elliott: clearly redefine (^:)
23:13:47 <elliott> monqy: wow thats cheating friend
23:13:48 <Bike> it's a crappy definition anyway
23:13:50 <Sgeo> You can always join it if it's like Maybe (Maybe a), but that doesn't mean it's a good idea
23:13:54 <Bike> also seriously what's even going on here
23:14:21 <elliott> oh i have a silly idea
23:14:24 <Bike> :t Just . Just . Just
23:14:25 <lambdabot> a -> Maybe (Maybe (Maybe a))
23:14:27 <elliott> > (("hi" ++) ^: var "x") "end"
23:14:29 <lambdabot> "hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi...
23:14:33 <elliott> heheheheheheh
23:14:38 <monqy> thats too silly
23:14:41 <Bike> what the fuck is that
23:15:01 <monqy> i prefer my Mu Maybe just because it doesn't use stupid instances
23:15:15 <elliott> monqy: by way of lacking the instance we need
23:15:19 <monqy> yes
23:15:40 <Bike> :t (1 +) ^: 1000
23:15:41 <lambdabot> Num a1 => a1 -> a1
23:15:54 <Bike> :t 1 +
23:15:55 <lambdabot> parse error (possibly incorrect indentation)
23:15:59 <Bike> :t (1 +)
23:16:00 <lambdabot> Num a => a -> a
23:16:14 <Bike> oh, wait, now i get it.
23:16:17 <Bike> :t (^:)
23:16:19 <lambdabot> (Eq a, Num a) => (a1 -> a1) -> a -> a1 -> a1
23:16:25 <Bike> what an oddysey that was
23:16:54 <monqy> :t (****)
23:16:55 <lambdabot> Not in scope: `****'
23:16:55 <lambdabot> Perhaps you meant one of these:
23:16:55 <lambdabot> `***' (imported from Control.Arrow),
23:17:06 <monqy> how old is that L.hs
23:17:08 <Bike> so uh
23:17:15 <Bike> is there any reason this L.hs has Portal jokes in it
23:17:33 <Bike> :t cake
23:17:35 <lambdabot> [[Char]]
23:17:40 <Bike> nooooo
23:17:51 <kmc> > text $ concat cake
23:17:53 <monqy> is that a portal joke?
23:17:54 <lambdabot> One 18.25 ounce package chocolate cake mix.One can prepared coconut pecan f...
23:18:09 <Bike> also
23:18:13 <Bike> :t fromChuch
23:18:14 <lambdabot> Not in scope: `fromChuch'
23:18:21 <Bike> huh
23:18:26 <monqy> 15:17:04 <monqy> how old is that L.hs
23:19:08 <monqy> since (****) is "a lot like" (^:)
23:19:28 <monqy> but :t couldn't find it??
23:19:46 <Bike> :t (!!)
23:19:47 <lambdabot> [a] -> Int -> a
23:20:00 <oerjan> > [1..x]
23:20:02 <lambdabot> *Exception: not a number
23:20:09 <Bike> wow that seems like a really weird way to write it but ok
23:20:12 <oerjan> WEAK
23:22:00 <oerjan> @hoogle (****)
23:22:00 <lambdabot> No results found
23:22:32 <elliott> i dont think its a portal joke?????
23:22:37 <elliott> i never finished portal tho
23:22:40 <kmc> i think it's the cake recipe from portal
23:23:00 <kmc> so a portal reference, but not one of the ones that's been run into the ground
23:23:02 <oerjan> > text $ unlines cake
23:23:05 <lambdabot> One 18.25 ounce package chocolate cake mix.
23:23:05 <lambdabot> One can prepared coconut pecan...
23:23:08 <kmc> though I think portal references are cool again
23:23:09 <kmc> but that's just me
23:23:13 <Bike> NO
23:23:25 <Bike> > cake !! 14
23:23:27 <lambdabot> "Pull and peel licorice."
23:23:37 <Bike> > cake !! 20
23:23:39 <lambdabot> "Fiberglass surface resins."
23:27:32 -!- epicmonkey has quit (Ping timeout: 248 seconds).
23:40:07 -!- impomatic has left.
23:40:08 -!- impomatic has quit (Quit: impomatic).
23:46:26 -!- impomatic has joined.
23:49:04 <Sgeo> I suck at being a wolf
23:49:21 <elliott> ???
23:49:45 <Bike> me too, sgeo. me too
23:50:27 <fizzie> fungot: Be a wolf.
23:50:28 <fungot> fizzie: the details of a line of the first byte of the kernal clall routine is called to update that pointer, changing the character rom at 49152 ( c000).
23:50:55 <fizzie> I didn't know wolves were so interested in programming.
23:51:06 <elliott> kernal clal
23:51:08 <elliott> *clall
23:51:13 <monqy> ^style
23:51:13 <fungot> Available: agora alice c64* ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
23:51:22 <monqy> ah of course
23:51:50 <fizzie> The "clall" bit might be an OCR mishap, I think some of those books were scanned.
23:52:09 <fizzie> Or maybe it's the actual name of the routine.
23:52:59 <fizzie> Indeed, it seems to be.
23:53:15 <fizzie> (It CLoses ALL files.)
23:53:54 <elliott> monqy: the "kernal" gives it away
23:54:31 <Bike> haha
23:54:40 <monqy> im not familiar with c64 style :(
23:54:42 <fizzie> But there are some actual mishaps, like 0's in place of o's, in regular text. (Unless of course it's from a l33t b00k.)
23:55:26 <Bike> monqy: the c64 has a thing called a "kernal", sort of like how http has "referers"
23:55:32 <fizzie> fungot: Tell me a little bit more about the character ROM.
23:55:33 <fungot> fizzie: 50 if a or b is set to 1 and setting the character data table is used as a logical file number here.
23:56:00 <oerjan> fungot: shocking
23:56:00 <fungot> oerjan: 1) call this routine sets up three windows, and
23:56:33 <fizzie> fungot: ...and?
23:56:34 <fungot> fizzie: in the
23:56:50 <fizzie> fungot: ...in the what?
23:56:51 <fungot> fizzie: chrin 804, 61783, 65487 ( decimal)
23:57:11 <fizzie> It's like pulling teeth from a hard-to-pull-teeth-from object.
23:57:48 <monqy> pulling teeth from a rock
23:57:55 <oerjan> i see you are pulling metaphors
23:59:08 <Sgeo> I think I found a channel that may tolerate my constant language blather
23:59:14 <elliott> what is it
23:59:21 <Sgeo> yfl
23:59:33 <elliott> what's a yfl.........
23:59:38 <Bike> Your Fucking Language?
23:59:57 <Sgeo> You Fancy Languages?
←2013-01-29 2013-01-30 2013-01-31→ ↑2013 ↑all