←2013-01-09 2013-01-10 2013-01-11→ ↑2013 ↑all
00:08:05 -!- epicmonkey has quit (Ping timeout: 260 seconds).
00:22:13 -!- myndzi\ has quit.
00:33:25 <hagb4rd> <oerjan>elliott: if the commit is never made when canary is removed, why would the modification date change... <-- it seems to be comitted when the content changes
00:33:34 <hagb4rd> dunno if u noticed that
00:33:53 <hagb4rd> but the date is still ..wrong
00:35:17 <hagb4rd> (i'm a canary noob)
00:35:33 <oerjan> of course i noticed
00:36:21 <hagb4rd> is that an old story or sth?
00:36:29 <Arc_Koen> oklofok: you handed out drugs to underage youngsters!?
00:37:02 <oerjan> no, just poison
00:37:06 <oerjan> hth
00:37:16 <Arc_Koen> oh, in that case, ok
00:37:43 <hagb4rd> `pastelog rm.*canary
00:38:14 <HackEgo> No output.
00:39:01 <hagb4rd> `run pastelog rm.*canary
00:39:17 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20862
00:40:01 <hagb4rd> `pastelog > canary
00:40:14 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10517
01:21:13 -!- state has joined.
01:22:15 -!- state has quit (Client Quit).
01:28:13 <kmc> `quote
01:28:15 <HackEgo> 139) <fungot> Vonlebio: well, i'm only back in denmark because my work visa expired. please insert token to continue.
01:28:56 <kmc> "Television Review: ‘Deadliest Space Weather’ on Weather Channel"
01:30:38 <shachaf> Uncategories are, like, crazy, man.
01:30:56 <shachaf> coid :: p x x -> ?
01:31:10 <shachaf> Where ? is either Void or p b a
01:31:21 <shachaf> mpose :: p t s -> Either (p t x) (p x s)
01:31:25 <shachaf> Examples:
01:31:29 <shachaf> Type inequality
01:31:41 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:31:59 <shachaf> Also, "only one of b and a is inhabited"
01:32:02 <kmc> huh, yes
01:32:05 <shachaf> < would be an example.
01:32:23 <shachaf> This is apparently called "cotransitivity" and "irreflexivity", when you talk about relations.
01:32:28 <kmc> if t≠s, then for any x, either t≠x or x≠s
01:32:34 <shachaf> In http://www.fnds.cs.ru.nl/ccorn/documentation/doc008.html
01:33:01 <shachaf> http://ncatlab.org/nlab/show/linear+order calls it "comparison"?
01:33:31 <shachaf> I'm trying to think of other examples.
01:33:41 <shachaf> Ideally ones that you can express in Haskell.
01:33:50 <shachaf> Unfortunately you run into the ol' intuitionism barrier.
01:33:57 <shachaf> I.e. you don't know whether to pick "Left" or "Right".
01:35:41 <kmc> what are the laws for coid and mpose?
01:38:28 <shachaf> Not sure.
01:38:55 <shachaf> The types came up naturally from trying to make Bizarre a Category.
01:39:13 <shachaf> I'm ending up with a lot of weird classes this way.
01:39:15 <kmc> it's pretty cool how that can happen!
01:39:24 <shachaf> Yep.
01:39:26 <shachaf> (_u :: forall p x y a. p (x,y) a -> Either (p x a) (p y a))
01:39:29 <shachaf> (_u :: forall p b x y. p b (Either x y) -> Either (p b x) (p b y))
01:39:35 <shachaf> (_u :: forall p t s x. p t s -> Either (p t x) (p x s))
01:39:42 <shachaf> Oh, that's mpose.
01:39:48 <shachaf> (_u :: forall p b b' a a'. p (b,b') (a,a') -> Either (p b a) (p b' a'))
01:39:57 <shachaf> (_u :: forall p a b x. (a -> b) -> p b x -> p a x) f
01:40:03 <shachaf> I don't know the names for any of these.
01:40:26 <shachaf> (Well, the last one is just the contravariant half of a profunctor, actually.)
01:42:00 <shachaf> On the one hand I never get things like that happening in most other programming languages.
01:42:17 <shachaf> On the other hand I never have a need to talk about this sort of thing in other languages.
01:43:07 <Bike> coid = co-identity, yes?
01:43:19 <shachaf> Yep.
01:43:23 <kmc> well you don't really have a *need* in Haskell either
01:43:23 <shachaf> Identity is () -> p a a
01:43:42 <shachaf> kmc: Well, sure. But this all came up from trying to actually do things.
01:43:43 <kmc> Haskell facilitates thinking of things in a more structered way and with lots of powerful abstractions
01:43:48 <shachaf> ...And then generalizing them over and over.
01:43:55 <kmc> yeah
01:44:10 <kmc> in another language you would just not generalize, or generalize in a terribly ad-hoc way
01:44:31 <kmc> although certainly Haskell has less support for terribly ad-hoc generalization than some languages
01:44:37 <shachaf> Bike: And mpose = co-compose.
01:44:58 <shachaf> kmc: That doesn't stop people from trying. :-)
01:45:42 <kmc> it's strange that in each case we can think of, the momohorphisms or whatever are just proofs, and don't have interesting content
01:45:47 <kmc> whereas for categories they are things like functions
01:46:17 <kmc> you only need a single value of type NotEq s t, and you don't care what it is really
01:46:28 <shachaf> Well, p a a -> Void is a pretty unusual type when you're working with values.
01:46:46 <kmc> unless you are working with continuations ;)
01:47:06 <shachaf> cmccann said it reminded him of his dual-intuitionistic logic experiments.
01:47:18 <shachaf> That's where you have ¬¬a -> a, but you don't have a -> ¬¬a
01:47:39 <kmc> huh
01:48:31 <shachaf> Apparently you get all sorts of interesting behaviors, though I'm not sure what they are.
01:50:25 -!- Nisstyre has quit (Ping timeout: 248 seconds).
01:59:16 <shachaf> So maybe most Bizarro classes just aren't interesting in programs?
02:00:52 <shachaf> In the bizarro world, p a b -> p (Either b a) b turns into p b (Either b a) -> p b a
02:01:34 <shachaf> I guess that's not interesting from the perspective of p=inequality, or proofs, or whatever.
02:01:47 <shachaf> I suppose that only comes about from categories. With profunctors you get sane (but weird) things.
02:02:35 <oerjan> p a a -> Void intuitively means you _never_ have p's between equal types...
02:02:47 <shachaf> Right.
02:02:59 <shachaf> I think it might actually just be p x x -> p b a
02:06:34 <oerjan> p x x -> Either (p x a) (p b x) ... -> Either (Either (p x b) (p b a)) (Either (p b a) (p a x))
02:08:29 <oerjan> wait what
02:09:04 <oerjan> p x x -> Either (p x a) (p a x) ... -> Either (Either (p x b) (p b a)) (Either (p a b) (p b x))
02:15:50 -!- Nisstyre has joined.
02:20:27 <Arc_Koen> what's Either?
02:22:12 <kmc> http://blog.exodusintel.com/2013/01/07/who-was-phone/ nice exploit, taking advantage of an unbounded alloc() to collide the stacks of two threads
02:22:15 <kmc> like half-nelson.c
02:22:16 <oerjan> @src Either
02:22:16 <lambdabot> Source not found. You speak an infinite deal of nothing
02:22:26 * oerjan swats lambdabot -----###
02:22:42 <oerjan> Arc_Koen: data Either a b = Left a | Right b
02:23:09 <shachaf> Oh, newsham posted that link the other day.
02:23:12 * shachaf hasn't read it yet.
02:23:14 <kmc> cool
02:23:42 <Arc_Koen> oerjan: I actually don't know what that means
02:23:51 <Bike> it's a tagged union of a and b.
02:23:55 <Arc_Koen> what does the equal sign represent? the result of a function call?
02:23:59 <Arc_Koen> and the pipe sign?
02:24:01 <FreeFull> Arc_Koen: When using Either as a monad, the Left value would be like Maybe's Nothing but with added context
02:24:06 <kmc> Arc_Koen: you're french you know ocaml right?
02:24:10 <Bike> oh is this an in-joke
02:24:12 <Arc_Koen> indeed
02:24:38 <kmc> so it's like type ('a,'b) either = Left of 'a | Right of 'b
02:24:39 <Arc_Koen> (but I don't know what a monad is, though I've seen this word used quite a lot around here)
02:24:46 <Arc_Koen> oh, ok
02:24:48 <Arc_Koen> thank you
02:25:02 <kmc> :)
02:25:11 <oerjan> ignore FreeFull it's going to be way over your head if you don't understand basic data types yet :P
02:25:28 <FreeFull> kmc: Now explain monads to him in terms of ocaml
02:28:24 <kmc> sig type 'a t; val return : 'a -> 'a t; val bind : 'a t -> ('a -> 'b t) -> 'b t;
02:28:33 <kmc> that's the signature of a monad t
02:28:41 <kmc> i copied that out of some monad tutorial for ocaml
02:28:58 <kmc> but i won't link to it because i don't want to endorse a monad tutorial i haven't read, because most things called "monad tutorial" are terrible
02:29:23 <Arc_Koen> hmmmm ok
02:29:31 <kmc> anyway so it's not a big deal what a monad is, mechanically
02:29:46 <kmc> the trick is seeing why they are useful, and learning how to use various spceific monads
02:30:14 <kmc> and i don't know of a way other than to learn one specific monad, then another, and so on until you kind of get the abstraction
02:31:27 <kmc> since you know ocaml you could probably learn about monads in haskell without too many prerequisites
02:31:37 <Arc_Koen> so for instance something like 'a t = 'a list , with return x -> [x] and bind [x1; ...; xn] f -> f x1 @ ... f xn would be a monad?
02:32:18 <shachaf> Yep.
02:32:22 <kmc> is @ list concat?
02:32:30 <Arc_Koen> yup
02:32:34 <kmc> yeah, looks right then
02:33:13 <kmc> in Haskell, bind is written infix as >>=
02:33:20 <kmc> and there is some syntactic sugar as well
02:33:37 <Arc_Koen> well that doesn't sound particularly uninteresting but why is there someone talking about monads *any and every day* here?
02:34:01 <Bike> as an extension of someone talking about haskell any and every day here?
02:34:11 <Arc_Koen> hmmm that would make sense
02:34:32 <kmc> you can write "do { x <- a; b }" to mean "a >>= (\x -> b)"
02:34:34 <Arc_Koen> but I'm pretty sure I overread ais523 talking about monads in brainfuck or something
02:34:35 <Bike> though i don't think i've actually noticed a ton of monad talk. just jokes about comonads.
02:34:44 <kmc> \ vars -> body is the lambda syntax in haskell
02:34:44 <oonbotti> ERROR:Word not found
02:34:49 <kmc> hi oonbotti
02:34:52 <Arc_Koen> I was assuming it was some kind of algebraic structure
02:34:59 <kmc> well it is that too
02:34:59 <Bike> it is.
02:35:26 <kmc> for that it is more convenient to ditch 'bind' and use 'join' instead
02:35:48 <Bike> it's a monoid for endofunctors. which, assuming i'm not any stupider than usual, would make composition one
02:35:49 <kmc> join : ('a t) t -> 'a t
02:36:00 <kmc> so for lists, join concatenates together a list of lists
02:36:08 <oerjan> oonbotti: you are quiet. too quiet.
02:36:09 <oonbotti> oerjan: Perhaps you would like me to be quiet. too quiet..
02:36:26 <kmc> you can write bind in terms of join, and vice versa, except for one detail
02:36:30 <kmc> but i will let someone else take over now
02:36:40 <Bike> wow, if i google "endofunctor" i get the joke. fuck
02:36:52 <Bike> oonbotti: eliza is so common. couldn't you be parry instead?
02:36:52 <oonbotti> Bike: Why do you ask that?
02:36:58 <oerjan> `? endofunctor
02:36:59 <HackEgo> Endofunctors are just endomorphisms in the category of categories.
02:37:05 <Bike> oonbotti: because it'd be cool.
02:37:06 <oonbotti> Bike: What other reasons come to mind?
02:37:21 <Bike> oonbotti: because i've written up eliza myself, therefore it must be boring.
02:37:22 <oonbotti> Bike: Is that the real reason?
02:42:31 <shachaf> Arc_Koen: Monad doesn't seem that interesting mostly because it isn't that interesting, as an abstraction all on its own.
02:42:47 <Arc_Koen> ok
02:43:17 <shachaf> But individual monads can be interesting, and the value of the abstraction is that there are a lot of operations that work on any monad at all.
02:43:28 <shachaf> And those operations get specific meanings for specific monads.
02:43:34 <Arc_Koen> makes sense
02:44:26 <shachaf> Arc_Koen: In general you can vaguely think of "'a t" as being an "action" that "produces" 'as, along with having some arbitrary effects.
02:44:36 <shachaf> Tht description might not be that helpful without seeing some concrete cases, though.
02:44:45 <Arc_Koen> no I think it is
02:44:49 <shachaf> In the case of lists, the effect is nondeterminism.
02:45:06 <shachaf> So in Haskell you say: do { x <- [1,2,3]; y <- [4,5,6]; ... }
02:45:11 <shachaf> And each combination of
02:45:33 <shachaf> > do { x <- [1,2,3]; y <- [4,5,6]; return (x,y) }
02:45:34 <lambdabot> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
02:45:38 <shachaf> Will be given to the variables in turn.
02:45:43 <Arc_Koen> I'm not sure what "bind" would mean for "actions" though
02:46:12 <shachaf> Well, take "'a t" to mean "something that either gives you an a, or throws an exception".
02:46:31 <Arc_Koen> yes
02:46:43 <shachaf> Then bind gets an ('a t) and an ('a -> 'b t), and gives you 'b t
02:46:53 <Arc_Koen> yes
02:47:00 <shachaf> Can you see what that might do?
02:47:19 <Arc_Koen> some weird composition
02:47:29 <shachaf> Right.
02:47:41 <shachaf> In particular it'll try to run the ('a t), and if that throws an exception, it'll throw that exception.
02:47:49 <Arc_Koen> yes
02:47:53 <shachaf> If that succeeds, it'll pass it to your function.
02:47:57 <Arc_Koen> yes
02:48:00 <shachaf> You can use this to implement your own exception scheme.
02:48:09 <Arc_Koen> hmmmm not sure I understand
02:48:21 <shachaf> Let's say we only care about success or failure.
02:48:27 <Arc_Koen> ok
02:48:32 <shachaf> Does ocaml have Option?
02:48:35 <Arc_Koen> indeed
02:48:39 <shachaf> That's also a monad.
02:48:43 <Arc_Koen> type 'a option = Some of 'a | None
02:48:51 * shachaf doesn't know ocaml syntax at all.
02:48:53 <oerjan> @src Maybe
02:48:54 <lambdabot> data Maybe a = Nothing | Just a
02:48:57 <oerjan> yay!
02:49:04 <shachaf> Option is a simple "exception" monad.
02:49:06 <oerjan> @botsnack
02:49:07 <lambdabot> :)
02:49:10 <Arc_Koen> well that's just a type; I guess you'd need two functions return and bind to make it a monad
02:49:24 <shachaf> Right.
02:49:31 <shachaf> Can you write those?
02:49:32 <oerjan> @src Maybe return
02:49:32 <lambdabot> return = Just
02:49:35 <Arc_Koen> sure
02:49:55 <Arc_Koen> return x = Some x
02:50:15 -!- copumpkin has quit (Ping timeout: 260 seconds).
02:50:46 -!- copumpkin has joined.
02:51:22 <Arc_Koen> bind x f = (if x = Some y then f y else None)
02:51:35 <shachaf> Looks reasonable.
02:51:50 <shachaf> So you can look at a value of type "'a option" as an "action" which will either give you an 'a or fail.
02:51:57 <Arc_Koen> yes
02:52:17 <shachaf> So in Haskell, you might say: do { x <- foo; y <- bar; return (x + y) }
02:52:31 <Arc_Koen> uhhhhhhhhm
02:52:31 <shachaf> Where foo :: int option, bar :: int option
02:52:37 <shachaf> That's the same as, uh...
02:52:41 <Arc_Koen> ok
02:52:54 <Arc_Koen> wait
02:52:57 <shachaf> bind foo (\x -> bind bar (\y -> return (x + y)))
02:53:08 <Arc_Koen> return is supposed to take you one level higher
02:53:30 <Arc_Koen> so return (x + y) would be Some (Some x + Some y) or something
02:53:35 <Arc_Koen> which doesn't make much sense to me
02:53:55 <shachaf> No, x and y are ints.
02:54:05 <shachaf> foo and bar are int options
02:54:18 <Arc_Koen> so <- is some syntactic suger I don't know about then
02:54:33 <shachaf> Right, sorry. I guess it was only glossed over before.
02:55:02 <shachaf> do { x <- foo; ... } means bind foo (fun x -> do { ... })
02:55:38 <shachaf> Does that make sense?
02:56:02 <Arc_Koen> it would probably, at any other time than 4am
02:56:26 <Arc_Koen> yes it kind of makes sense
02:57:11 <Arc_Koen> well thank you for your help
02:59:40 -!- copumpkin has quit (Ping timeout: 256 seconds).
03:00:11 -!- copumpkin has joined.
03:05:03 <FreeFull> So wait
03:05:49 <oerjan> no waiting!
03:05:50 <FreeFull> Is saying "A monad is just a monoid in the category of endofunctors" the same as saying "A monad is a monad"
03:06:03 -!- david_werecat has joined.
03:06:07 <Bike> "the same" in what sense?
03:06:30 <Bike> the first obviously has more information, like "just" denigrating the concept, and then the everything else
03:06:47 <Bike> but maybe the latter is more useful to leibniz WHO KNOWS
03:07:13 <kmc> this is how definitions commonly work in mathematics
03:07:25 <kmc> you might define what monoid, category, and endofunctor are
03:07:45 <kmc> then because it's a hassle to write "monoid in the category of endofunctors" over and over, you give a name to that concept
03:08:10 <Bike> and before you know it, you're up on that mathematical ebonics
03:08:39 <FreeFull> Well, id x = x but you could just as well write id x = fromJust (Just x)
03:08:48 -!- DHeadshot has quit (Read error: Connection reset by peer).
03:08:53 <kmc> what does that have to do with anything?
03:09:07 <Bike> obviously there are multiple possible definitions of what a monad is
03:09:10 <kmc> i think this is some weird kind of trolling
03:09:12 <Bike> useful in different contexts
03:09:19 <oerjan> http://en.wikipedia.org/wiki/Extensionality hth
03:09:20 <FreeFull> The second one requires defining Maybe but the effect is the same
03:09:25 <Bike> if i link tao's blog will everybody be stunned into silence?
03:09:42 <oerjan> the tao that can be linked is not the true tao
03:09:48 <kmc> what oerjan said
03:10:23 * FreeFull has no idea who tao is
03:10:30 <Bike> terence tao, a mathematician.
03:10:34 <kmc> FreeFull: is there a difference between saying "a square is a rectangle with equal-length sides" and saying "a square is a square"?
03:10:36 <oerjan> a damn good one.
03:10:42 <Bike> http://terrytao.wordpress.com/2009/10/19/grothendiecks-definition-of-a-group/ Here, FreeFull.
03:10:54 <Bike> on proof and progress is well worth reading if you haven't
03:11:34 <Bike> (also: a group is just a category with one object and a whole shitton of inverses~)
03:11:53 <shachaf> Bike: How about "a monoid is a category with one object"?
03:12:00 <shachaf> A group is a groupoid with one object.
03:12:11 -!- monqy has joined.
03:12:11 <Bike> works for me
03:12:23 <FreeFull> What is a groupoid?
03:13:10 <Bike> a category with a whole shitton of inverses
03:13:30 <FreeFull> So it's a cocococococococococococococategory?
03:13:39 <Bike> no, but yes
03:13:48 <FreeFull> It's a paradox?
03:13:53 <kmc> it's like a group, but instead of being able to 'multiply' any two elements, you can only multiply elements whose 'types' match, in the manner of a category
03:13:59 <Bike> that would be an antinomy
03:16:00 <oerjan> FreeFull: http://en.wikipedia.org/wiki/Intensional_statement#Examples_of_intensional_statements
03:17:11 <oerjan> in particular the second example is almost the same form
03:18:27 -!- WeThePeople has joined.
03:41:00 <Sgeo_> elliott, monqy Fiora
03:47:57 -!- DHeadshot has joined.
03:58:51 -!- aloril has quit (Ping timeout: 260 seconds).
04:05:58 -!- DHeadshot has quit (Ping timeout: 256 seconds).
04:11:28 -!- DHeadshot has joined.
04:11:58 -!- aloril has joined.
04:12:01 -!- Arc_Koen has quit (Quit: Arc_Koen).
05:01:46 <Sgeo_> The creator of ping died in 2000
05:02:27 <Sgeo_> I'm still not used to thinking of Internet pioneers as people who are alive, so to read what he wrote, think he is still alive... and then he was dead since 2000
05:03:29 <kmc> i remember reading about a project to archive videos of lectures given by CS pioneers before they all die
05:03:53 <kmc> since the entire field was created within living memory
05:04:17 <Sgeo_> I will never cease to be shocked by that
05:04:35 <Sgeo_> (Well, maybe I'll live long enough that it's no longer within living memory)
05:05:29 <shachaf> So linear orders, i.e. <, aren't equivalent to total orders, i.e. ≤, in constructivism.
05:05:59 <shachaf> And the former is "more fundamental"
05:06:45 <kmc> Sgeo_: out of curiosity, how old are you?
05:06:53 <kmc> if you don't mind me asking
05:06:53 <Sgeo_> 23
05:06:56 <kmc> oh
05:06:58 <kmc> ok
05:07:05 <Bike> presumably this is related to that whole uncomputability of equality businezzzzz
05:07:24 <shachaf> Bike: I don't think it really is?
05:07:26 <shachaf> Well, possibly.
05:07:47 <Bike> you don't think it's related?
05:08:06 <shachaf> Normally I think of them as being equivalent because you can just use (not (y ≥ x)) as (x < y), or something.
05:08:33 <shachaf> But, like sailors, constructivists have to be careful with their nots,
05:08:39 <shachaf> s/.$/./
05:08:40 <Bike> and if there's anything intuitionists like, it's negation everywhere
05:08:47 <kmc> *groan*
05:08:48 <Bike> oh, your joke is better.
05:13:14 <Bike> more seriously negation of those operations isn't very computable, is it
05:14:27 -!- aloril has quit (Ping timeout: 260 seconds).
05:22:55 -!- Nisstyre has quit (Ping timeout: 240 seconds).
05:25:29 <oklofok> so near the end of last year i learned to my surprise that groupoids are groups with types; i had somehow mixed them with magmas.
05:26:07 <oklofok> only problem is that like a year ago we published an article with a small thing about groupoids
05:26:11 <oklofok> which is about magmas
05:26:49 <oklofok> LIFE
05:26:50 <oklofok> OVER
05:26:56 -!- aloril has joined.
05:27:06 <Bike> oh so you're the bastard confusing me about what everything means
05:28:38 <oerjan> oklofok: yeah the word "groupoid" is somewhat ambiguous
05:35:33 <kmc> rails exploit is out: https://github.com/rapid7/metasploit-framework/blob/4c1e501ed09e1633fb57c0f2e30a946fa219f835/modules/exploits/multi/http/rails_xml_yaml_code_exec.rb
05:35:44 -!- Nisstyre has joined.
05:49:12 -!- Nisstyre has quit (Ping timeout: 256 seconds).
05:52:50 <oklofok> oerjan: it's used like that sometimes?
05:53:07 <oerjan> i've seen both meanings before, anyway
05:53:15 <oklofok> i can't actually open the officially published version so i don't remember if we had that portion in there
05:53:20 <oklofok> oh
05:53:22 <oklofok> kay
05:53:26 <oklofok> good
05:53:28 <oerjan> although the one we used was the category one
05:54:03 <oklofok> well i didn't even think it was worth checking that it means magma, so it would make sense that i have actually seen someone define groupoid that wa.
05:54:04 <oklofok> y
05:54:58 <oerjan> you will note that http://en.wikipedia.org/wiki/Groupoid contains a disambiguation link
05:55:40 <oerjan> "The term magma for this kind of structure was introduced by Nicolas Bourbaki. The term groupoid is an older, but still commonly used alternative which was introduced by Øystein Ore."
05:56:00 <oerjan> MUST BE GOOD IT'S NORWEGIAN
05:56:42 <oerjan> THE GUY WHO INVENTED THE OTHER DIDN'T EVEN EXIST
05:57:55 <oklofok> my guess would've been that the reason <= is a bad order is that unlike in real math, in constructivism you can't mod out the classes of equals
05:59:21 <oklofok> not that i know anything about anything
05:59:40 <oerjan> @quote farpotshket
05:59:40 <lambdabot> andr00 says: Today's software engineering word is "farpotshket." This is a Yiddish word meaning, "broken, because someone tried to fix it."
05:59:47 <oerjan> useful word
06:00:10 <oerjan> (HWN is out!)
06:00:11 <kmc> oh man, that is a quality word
06:00:28 <oklofok> maybe it should go groupoid, monoid, semigroup, semimonoid
06:00:31 <oklofok> erm
06:00:37 <kmc> hemidemisemimonoid
06:00:40 <oklofok> group, monoid, semigroup, semimonoid
06:00:48 <Bike> iss that like a hemidemisemiquaver
06:00:53 <kmc> yes
06:00:59 <Bike> excellent
06:01:16 <oerjan> sesquimonoid
06:01:16 <kmc> it is a monoid but only 1/64 of the usual laws apply
06:01:27 <oklofok> how do you pronounce yiddish
06:01:32 <kmc> me? poorly
06:01:54 <oklofok> no i mean is farpotshket pronounced as it is in english
06:02:20 <Bike> so how can this be generalized to the reals kmc. how can we have only 1/euler's constant laws apply?
06:03:38 -!- Nisstyre has joined.
06:05:12 <oerjan> @tell elliott how come you get into HWN with borrowed quotes
06:05:12 <lambdabot> Consider it noted.
06:05:28 <oerjan> @tell elliott *@ask
06:05:28 <lambdabot> Consider it noted.
06:05:46 <shachaf> oerjan: Which quote?
06:06:00 <shachaf> I think that might've been my fault.
06:06:01 <oerjan> the half the things one
06:06:06 <shachaf> I don't think he said that.
06:06:26 <oerjan> oh.
06:06:31 <oerjan> i see.
06:06:38 <shachaf> oerjan: See, you shouldn't believe everything you read.
06:06:42 <oerjan> @tell elliott sorry it's all shachaf's fault
06:06:43 <lambdabot> Consider it noted.
06:06:43 <shachaf> elliott didn't say half the things he said.
06:06:53 <shachaf> oerjan: Hey I'm not *sure* it was my fault!!
06:07:47 <oklofok> Content-Type: text/plain; charset=iso-8859-1
06:07:47 <oklofok>
06:07:47 <oklofok> Arvoisa vastaanottaja,
06:07:47 <oklofok> K ytt oikeushakemuksenne roolille "10_L_HR__XX_XX_Yleisrooli (ERP300)" on hyv ksytty.
06:07:47 <oklofok> K ytt oikeus on voimassa 10.01.2013 - xx.xx.xxxx.
06:07:47 <oklofok>
06:07:47 <oklofok> Certia IDM / SAP
06:07:54 <oklofok> waht is this
06:08:20 <oerjan> @quote schneier
06:08:21 <lambdabot> mm_freak says: bruce schneier is an endofunctor that turns all automorphisms into identities
06:08:43 <oklofok> might be easier to answer if you knew what it says
06:08:47 <oerjan> i think that technically means bruce schneier skeletizes people
06:09:31 <oerjan> oklofok: MAYBE
06:10:25 <oklofok> dear recipient, your usage license for the role "10_L_HR__XX_XX_Yleisrooli (ERP300)" has been accepted. the license is valid 10.01.2013 - xx.xx.xxxx.
06:10:57 <oklofok> yleisrooli means general role, in hr, h probably comes from henkilöstö = staff
06:11:15 <kmc> free ERP!
06:11:18 <kmc> good forever!
06:11:34 <shachaf> @wn ERP
06:11:35 <lambdabot> No match for "ERP".
06:11:37 <kmc> i like that you included the content type
06:11:38 <oerjan> shachaf: are you to blame for the tac precipitate one too?
06:11:46 <shachaf> oerjan: ?
06:11:50 <kmc> erp is enterprise resource planning
06:11:53 <oerjan> @quote precipitate
06:11:53 <lambdabot> tac says: If you're not part of the solution, you're part of the precipitate
06:11:57 <oklofok> kmc: it's normal for people to write content type in the message?
06:12:00 <oerjan> also a borrowed quote
06:12:03 <shachaf> oerjan: No.
06:12:14 <shachaf> I don't approve of borrowed quotes in lambdabot.
06:12:24 <shachaf> Unless they're attributed to their original author.
06:12:26 <shachaf> @quote SimonPJ
06:12:26 <lambdabot> No quotes match. Maybe you made a typo?
06:12:30 <shachaf> @quote simonpj
06:12:30 <lambdabot> simonpj says: Maybe if I had an Oleg implant I could express all this in the type system
06:12:32 <oklofok> kmc: that was just the body of the message
06:12:50 <kmc> huh
06:12:55 <kmc> well you know
06:13:00 <kmc> HTTP, SMTP, basically the same
06:13:44 <oerjan> @quote blame
06:13:44 <lambdabot> OlinShivers says: My God, no one could blame me -- no one! -- if I went off the edge and just lost it completely one day.
06:13:47 <oerjan> @quote blame
06:13:47 <lambdabot> quicksilver says: <cads> three new mersenne primes in the past couple of months <quicksilver> I blame the financial crisis [...] out of work bankers have nothing better to do that calculate primes.
06:13:50 <oerjan> @quote blame
06:13:50 <lambdabot> gwern says: believing in conspiracy theories means always being hopeful that at least there's someone to blame
06:13:52 <oerjan> @quote blame
06:13:52 <lambdabot> quicksilver says: <cads> three new mersenne primes in the past couple of months <quicksilver> I blame the financial crisis [...] out of work bankers have nothing better to do that calculate primes.
06:14:00 <kmc> heh
06:14:24 <oerjan> @quote blame
06:14:24 <lambdabot> lennart says: [August 1990] DON'T BLAME HASKELL WHEN THINGS GO WRONG
06:14:43 <shachaf> @quote augustss
06:14:43 <lambdabot> augustss says: Haskell already has enterprise monads; there is a fail method.
06:14:45 <oerjan> @quote doing.blame
06:14:46 <lambdabot> cmccann says: some people blame themselves, some people blame the language, but the people who really know what they're doing blame shachaf.
06:15:33 <Sgeo_> Racket is all about blame
06:15:49 <monqy> mhmmmm
06:15:50 <Bike> the blame paradigm of programming
06:16:50 <oerjan> that gives me a deja vu feeling but there's no such language on esolang
06:18:27 <oerjan> at least there is the blame calculus, although that's probably actually useful
06:19:19 <Bike> "Threesomes, With and Without Blame" nice name for a paper
06:19:24 <oerjan> http://homepages.inf.ed.ac.uk/wadler/topics/blame.html
06:19:46 <oerjan> OKAY
06:20:07 <shachaf> helloerjan
06:20:20 <shachaf> When you're a logreader, everything is a quote.
06:22:15 <oerjan> `addquote <shachaf> When you're a logreader, everything is a quote.
06:22:21 <HackEgo> 905) <shachaf> When you're a logreader, everything is a quote.
06:27:46 <Sgeo_> Is Racket officially called "Racket (formerly PLT Scheme)" now? I don't think I've seen a paper that talks about Racket without noting that it used to be called PLT Scheme
06:28:16 <shachaf> `quoerjan
06:28:19 <HackEgo> 569) <oerjan> i am sorry to disappoint you, but my musical taste is on the side abba, verdi, and celine dion. i know this may not be popular and that you would have preferred me to be a satanist. \ 16) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me
06:28:33 <shachaf> fungot:
06:28:43 <shachaf> fungot..........................
06:28:46 <shachaf> fizzie...........................
06:28:50 <shachaf> Whoops.
06:30:06 <oerjan> the fun got away
06:33:07 <monqy> `quote 904
06:33:08 <HackEgo> 904) <hagb4rd> what is this set? sounds like shakespear <fizzie> Yes, that's what people often say about Chrono Trigger.
06:33:43 <shachaf> hi monqy
06:33:47 <monqy> hi shachaf
06:33:54 <shachaf> Do you know anything about weird reverse categories?
06:34:08 <monqy> what's so weird about them?????
06:34:19 <kmc> where did fungot got to
06:34:27 <fizzie> I think it a split.
06:34:41 <kmc>
06:35:02 <fizzie> Because I just restart-reconnected it, and it seemed to do just fine, but now I can not massage to it.
06:35:14 <fizzie> It is on morgan.freenode.net.
06:35:15 <shachaf> monqy: well they're backwards!!
06:35:22 <monqy> whoa, weird
06:35:24 <shachaf> monqy: Also I don't think they make any sense in Haskell?
06:35:30 <monqy> double weird
06:35:32 <shachaf> because, like, parametricity????
06:36:49 -!- Bike has quit (Ping timeout: 248 seconds).
06:51:12 -!- oerjan has quit (Quit: leaving).
07:06:44 -!- WeThePeople has quit (Quit: Leaving).
07:12:58 -!- FreeFull has quit.
07:22:19 -!- Lumpio- has quit (Ping timeout: 260 seconds).
07:48:24 -!- Lumpio- has joined.
08:00:56 -!- david_werecat has quit (Ping timeout: 246 seconds).
08:05:27 -!- Taneb has joined.
08:06:28 <shachaf> monqy: http://25.media.tumblr.com/tumblr_lpa3ccigYU1qmqpiro1_1280.jpg
08:06:55 <monqy> yes
08:07:43 <quintopia> shel
08:07:49 <monqy> yes
08:07:59 <monqy> i think i have a book with that one in it somewhere(where???)
08:08:13 <monqy> i should find it. i like(remember liking) that book
08:18:13 -!- fungot has joined.
08:18:24 <fizzie> (I just went ahead and changed servers.)
08:18:51 <shachaf> fungot: welcome back
08:18:52 <fungot> shachaf: are comments to code needed at any time. i don't know turt
08:18:57 <shachaf> ^style
08:18:57 <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
08:19:16 <fizzie> ^style isn't persistent, so it's in the default onw.
08:19:17 <fungot> Not found.
08:19:22 <fizzie> fungot: Not surprising.
08:19:22 <fungot> fizzie: that's where we're going, we could be discussing who said what to whom all afternoon)
08:29:22 -!- impomatic has quit (Quit: http://corewar.co.uk).
08:37:51 -!- epicmonkey has joined.
08:55:57 <shachaf> Sgeo_: Why didn't you notify me of the pbfcomics.com update?
08:59:40 -!- GreyKnight has joined.
08:59:50 <GreyKnight> shachaf: pbf update
08:59:51 <lambdabot> GreyKnight: You have 1 new message. '/msg lambdabot @messages' to read it.
09:07:29 <GreyKnight> related to earlier discussion about CRTs: http://www.bbc.co.uk/news/technology-20957218
09:13:28 <fizzie> You could totally optical-TEMPEST those and see what your neighbour is watching on their TV.
09:14:18 <fizzie> (Does UK still do non-digital over-the-air TV?)
09:15:17 <GreyKnight> I think it is all turned off now
09:15:53 <GreyKnight> There are units to decode digital signals into something you can plug into the aerial socket of an analogue TV though, so these B&W models will still be useful.
09:15:54 <fizzie> So you'll need a box for that B&W TV.
09:15:57 <elliott> I don't think the switchover is over yet.
09:16:04 <Sgeo_> "In answers to questions about some of the comics being missing from the website: the web content has been decimated to make the book more special."
09:16:24 <elliott> The digital switchover process involved discontinuing analogue terrestrial TV broadcasts, which in some areas allowed for greater signal strength and/or better coverage of digital multiplexes. The process concluded on 24 October 2012, when digital switchover completed in Northern Ireland (the same day as the Republic of Ireland also completed its digital switchover [13]).
09:16:31 <elliott> Hmm, okay.
09:16:40 <GreyKnight> I haven't really been keeping track, I don't have a TV myself (wouldn't have time to watch one anyway)
09:16:43 <fizzie> GreyKnight: Or you can go and buy a new black-and-white TV with an integrated DVB receiver. (Good luck finding one.)
09:16:57 <GreyKnight> Sgeo_: yeah I saw that too :-(
09:19:19 <GreyKnight> Sgeo_: It occurred to me that Qoppa could be "simplified" by making vau only take 1 parameter. Curried operatives, tasty :-)
09:19:46 <fizzie> Our analogue terrestial TV shutdown was September 1st, 2007, and back then (IIRC) the DVB receivers were having quite a bit of software troubles, especially when it came to DVB "bitmap" style subtitles sent by YLE.
09:22:41 * Sgeo_ needs to thoroughly read the Qoppa post
09:25:31 <GreyKnight> Oh I forgot about (bind)'s destructuring capabilities, I guess it is still possible but a bit more complex
09:25:41 -!- ais523 has joined.
09:26:37 <fizzie> (Also the company providing cable TV in our company is pushing also the DVB-T signals via the cable, as a compatibility thing for people with DVB-T (as opposed to DVB-C) tuners. There are always rumours it's going to stop, but it was still going on the other day.)
09:31:00 <Sgeo_> http://www.youtube.com/watch?v=DCBOSO4KnyU this video seems to be 1 second long but plays for longer
09:31:07 <Sgeo_> I don't get how that's possible
09:31:37 <GreyKnight> time travel
09:31:56 <fizzie> Time dilation.
09:32:20 <fizzie> TIME COMPRESSION, as seen in Final Fantasy VIII.
09:32:27 <fizzie> (It's total nonsense.)
09:32:34 <fizzie> ^style ff7
09:32:34 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
09:32:42 <fizzie> fungot: What do you know about TIME COMPRESSION?
09:32:43 <fungot> fizzie: what's this...... then...... i have to live in that chair and drink your goddamn tea!
09:32:51 <fizzie> Not much, apparently.
09:34:11 <fizzie> http://images3.wikia.nocookie.net/__cb20070918012703/finalfantasy/images/4/4c/Time_Compression.jpg <- that's what it looks like, however.
09:34:37 <GreyKnight> no spoilers, I am playing FFVIII and haven't got that far :-(
09:35:09 <fizzie> Oh no.
09:35:15 <fizzie> I just spoiled it all.
09:35:23 <fizzie> Had you heard of TIME COMPRESSION, though?
09:35:30 <GreyKnight> NUUUUUUU
09:35:33 <GreyKnight> (yes)
09:35:48 <fizzie> Well, that's good, at least.
09:36:12 <GreyKnight> Sgeo_: I would like to revise my earlier report. Taking complex (bind) structures into account I don't think you can reduce vau below two parameters.
09:36:46 <GreyKnight> consider the difference between (vau (a (b c)) ...) and (vau ((a b) c) ...) for example
09:36:56 <GreyKnight> not to mention (vau (a b c) ...) of course!
09:37:19 <GreyKnight> hm maybe with some (let) jiggerypokery...
09:37:28 <fizzie> fi:vau == en:wow.
09:37:50 <GreyKnight> Oh Qoppa must be a really exciting language for Finns then!
09:41:43 <Sgeo_> GreyKnight, how does this sound? On the Racket side, using a macro like (from-qoppa) that would define it
09:42:12 <GreyKnight> which "it"?
09:42:22 <Sgeo_> e.g. (from-qoppa foo bar baz) expands into (begin (define foo (q 'foo)) (define bar (q 'bar)) (define baz (q 'baz)))
09:42:46 <Sgeo_> Where q is a function that calls the Qoppa interpreter with the purpose of retrieving the value named by the symbol
09:45:24 <GreyKnight> every time I try to type NIL today I type NUL instead
09:46:04 <GreyKnight> Sgeo_, how does it handle vaus?
09:46:51 <Sgeo_> When an operative is called as though it were a function, each value is wrapped in a quote form before calling the operative
09:47:04 <Sgeo_> This way, if the operative is a wrapped function, evaluation leads to the original value
09:49:17 <c00kiemon5ter> Sgeo_ while loading it says 1:18
09:50:03 <c00kiemon5ter> also another plugin I have that among other displays the % loaded, says: 196150%
09:50:44 <c00kiemon5ter> it is also non-seekable :D
09:51:53 * c00kiemon5ter is out to hunt cookies
09:52:18 <fizzie> And the picture is black for me for the 360p and 480p quality levels, only appearing for 240p.
09:53:09 <fizzie> "A: 10.9 V: 0.0 A-V: 10.867 ct: 0.040 0/ 0 ??% ??% ??,?% 194870 0" mplayer is pretty confused about it too.
09:56:56 <GreyKnight> Sgeo_, hm does this solve the problem we had with higher-order functions?
09:58:07 <GreyKnight> (PS: I reckon that you can use (vau (x) ...) and a cons-matching (vau (a . b) ...) allows arbitrary destructuring in a curry-like manner. Not especially revolutionary though)
09:58:50 <Sgeo_> GreyKnight, yes, I think this is a sufficiently good solution
09:59:23 <Sgeo_> fizzie, the first time I played it, it was black until a certain point. When I replayed it, the image appeared
09:59:50 <GreyKnight> I'm still partly asleep but AIR the problem was trying to pass an operative to a HOF
10:00:53 <Sgeo_> Yes, and this gives what I think is a reasonable semantic to a Racket HOF attempting to call an operative
10:11:48 * GreyKnight tries to think. Suppose we have the Racket HOF (define (smap F L) (cond ((null? L) '() ) ((list? L) (cons (smap F (car L)) (smap F (cdr L)) )) (#T (F L)) ) )
10:14:25 <Sgeo_> So it's a map that ... treat L like a tree?
10:14:40 <Sgeo_> Oh, I see
10:14:44 <GreyKnight> yeah pretty much
10:14:48 <Sgeo_> Don't see what the problem is though
10:15:04 <GreyKnight> (just a random function for me to think it through)
10:15:06 <Sgeo_> Also, maybe pair? instead of list?
10:15:15 <GreyKnight> oops
10:15:29 <GreyKnight> I don't know if there is a problem, I just wanted to work through an example and see how it would interact with qoppa
10:21:38 <GreyKnight> so if F is an operative, it receives one of '(car L) or '(cdr L) or 'L as its argument each time. Then it can eval those in the current environment and get the actual value
10:24:19 <Sgeo_> That wasn't the idea
10:24:42 <GreyKnight> of course that means the qoppa-operative needs to be able to understand what's in the environment passed from Racket but presumably you can introspect that okay
10:24:43 <GreyKnight> oh
10:24:54 * Sgeo_ wonders how that would work
10:25:32 <GreyKnight> what did you mean by quoting the arguments then?
10:26:30 <Sgeo_> If F is an operative, and I call it from racket like (F (car L)), if L is '(1 2), F sees (quote 1)
10:26:58 <Sgeo_> If F is in fact a function, when it goes to evaluate (quote 1), it gets 1 back, and thus does whatever it was going to do
10:32:04 <GreyKnight> ah so the value that we pass to smap as F isn't actually the operative directly, but something lambda-like that evaluates its arguments, quotes the resulting *value*, and passes that to the real operative
10:32:46 <GreyKnight> I am not sure how to write something that creates such a wrapper in Racket
10:33:52 <GreyKnight> ((lambda (x) (quote x)) 1) just gives 'x, of course; maybe some #%app magic can do it?
10:33:55 <Sgeo_> GreyKnight, yes. (Although in Racket, evaluating the arguments is automatic)
10:34:05 <GreyKnight> well yeah
10:34:27 <GreyKnight> I just don't know how to quote the value rather than the parameter
10:34:45 <Sgeo_> Well presumably, we just pass a list '(quote x) to the operative, since the operative will be be what's trying to evaluate it
10:35:05 <Sgeo_> (lambda (x) `(quote ,x))
10:37:43 <GreyKnight> ...how did I forget how to quasiquote kill me now
10:40:07 <Sgeo_> (lambda (x) (list 'quote x)) would give the same result, if that helps
10:43:36 <GreyKnight> something like (define (qoper O) (lambda A (apply-qoppa-oper O `(,@A)) ) ) should pass down the values of the racket-expressions under quotation (assuming I've got enough levels there)
10:44:07 <GreyKnight> *sigh* time was I could do that in my sleep
10:44:22 <GreyKnight> Ah, sleep, I remember that stuff. Good times.
10:47:34 -!- Phantom_Hoover has joined.
10:48:37 <c00kiemon5ter> heh, fizzie, Sgeo_ http://www.youtube.com/watch?v=DCBOSO4KnyU#t=1s
10:48:40 <Sgeo_> Phantom_Hoover, did you see the update
10:48:58 <Sgeo_> c00kiemon5ter, huh, interesting
10:49:00 <Phantom_Hoover> how many damn times do i have to tell you that i fell behind
10:49:02 <c00kiemon5ter> ie, skip the first second and everything is back to normal
10:49:25 <Sgeo_> Phantom_Hoover, unfall behind
10:49:49 <Phantom_Hoover> i don't answer to you!
10:50:35 <elliott> Phantom_Hoover: you're on the List
10:50:38 <elliott> you don't have a choice
10:50:54 <Phantom_Hoover> no
10:50:57 <Phantom_Hoover> im busting the list
10:51:03 -!- Phantom_Hoover has changed nick to Phatnom_Hoover.
10:51:12 <Phatnom_Hoover> what now sgeo
10:51:16 <Phatnom_Hoover> what now
10:51:50 <monqy> p sure phatnom hoover is on the list too
10:51:58 <elliott> its not nicks on the list ph
10:51:59 <elliott> its people
10:52:31 <c00kiemon5ter> be no people, be no list
10:53:13 <monqy> unbecome a human
10:53:39 <Phatnom_Hoover> this is all too much
10:53:39 -!- Phatnom_Hoover has quit (Quit: Leaving).
10:54:08 <monqy> could not perform the ritual to forfeit his humanity. remains on the list forever.
10:54:09 <GreyKnight> @tell Phantom_Hoover escape through a fractal core, he can't follow you!
10:54:09 -!- sploknee has joined.
10:54:09 <lambdabot> Consider it noted.
10:54:26 <GreyKnight> sploknee: hi Phantom_Hoover
10:54:40 <sploknee> who is phantom hoover ?
10:54:44 <monqy> good question
10:54:49 <sploknee> i am sploknee
10:54:51 <monqy> `welcome sploknee
10:54:54 <monqy> welcome sploknee.
10:54:56 <HackEgo> sploknee: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
10:55:01 -!- DH____ has joined.
10:55:01 <sploknee> welcome monqy
10:55:11 <sploknee> wow
10:55:15 -!- DHeadshot has quit (Read error: Connection reset by peer).
10:55:17 <sploknee> HackEgo sure can type fast
10:55:25 <monqy> yeah he's like a wizard
10:55:28 <monqy> at the keyboard
10:55:30 <GreyKnight> In a way, aren't we all Phantom_Hoover?
10:55:51 <sploknee> im not
10:56:07 <sploknee> im not nearly good-looking, charming or intelligent enough to be phantom hoover
10:56:11 <Sgeo_> GreyKnight, I assume that includes the creator of Ook?
10:56:29 <monqy> includes the inventor of there once was a fish named fred
10:56:32 <elliott> sploknee: agreed
10:56:50 <sploknee> Sgeo_, well he does have the same initials as-- as phantom hoover
10:56:52 <sploknee> i suppose
10:57:25 <elliott> i like you sploknee
10:57:38 <GreyKnight> elliott: he's much better than PH that's for sure
10:57:45 * GreyKnight can't stand that guy
10:57:57 <monqy> except not as good looking charming or intelligent
10:57:59 <monqy> pfff
10:58:01 <sploknee> perhaps it's because of his cutting insights into how awful northern ireland is
10:58:12 <sploknee> he sounds like the sort of guy who'd make those
10:58:41 <GreyKnight> I'll give him some cutting insights if he comes here
10:59:17 <sploknee> see, this is why nobody likes northern ireland
10:59:52 <elliott> @tell Phantom_Hoover <GreyKnight> elliott: he's much better than PH that's for sure * GreyKnight can't stand that guy
10:59:52 <lambdabot> Consider it noted.
10:59:53 <monqy> btw sploknee have you heard of sgeo's "list"? it's like a rite of passage here. really, most of us are here because of this list, so i wouldn't be surprised if you came here for it
11:00:21 <elliott> sploknee: i confess i literally just realised you're ph
11:00:42 <sploknee> wh
11:00:49 <elliott> i blame the lowercase??
11:00:52 <sploknee> monqy, oh no i wouldn't be interested in that sort of thing
11:01:07 <monqy> is that a yes or a no!!!!!
11:01:08 <Fiora> is a really confusing new person welcome going on right now?
11:01:15 <elliott> Fiora: old person welcome
11:01:15 <sploknee> elliott, but i-- am sure phantom hoover speaks in lower case all the time
11:02:12 <elliott> monqy: i don't think you can truly distinguish the list and the channel
11:02:27 <GreyKnight> `welcome sploknee
11:02:28 <elliott> if entering the channel gets you on the list, and you cannot get off the list, does it not follow that you cannot leave the channel?
11:02:29 <HackEgo> sploknee: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:02:38 <elliott> GreyKnight: you can't just use the same `welcome multiple times
11:02:39 <elliott> except if you're me
11:02:48 <Sgeo_> elliott, that assumes that leaving the channel would mean you leave the list
11:03:21 <GreyKnight> `emoclaw elliott
11:03:23 <HackEgo> ​(.tan.lad.cri no ciratosa# yrt ,aciratosa fo dnik rahto aht roF) .agaP_niaM/ikiw/gro.sgnalosa//:ptth :ikiw ruo tuo kcahc ,noitamrofni arom roF !tnamyolpad dna ngisad agaugnal gnimmargorp ciratosa rof buh lanoitanratni aht ot amoclaW :ttoilla
11:03:35 * Sgeo_ is now addicted to That Mitchell and Webb Look
11:03:52 <sploknee> don't worry you'll run out soon enough
11:04:07 <monqy> is this because of that number wang thing? I remember it was inspired by something with "Look" in its name
11:05:09 <elliott> Sgeo_: do I get /msg updates if I leave the channel
11:05:29 <monqy> whether or not your body gets updates, your spirit remains on the list eternally
11:05:35 <elliott> monqy: numberwang is http://www.youtube.com/watch?v=AIxz6BDmTNU which is from that mitchell and webb look
11:05:41 <monqy> yes ive seen numberwang
11:06:12 <elliott> then ye
11:06:24 <elliott> monqy: but have you seen "a history of numberwang"...
11:06:35 <monqy> i dont think so....but i like numberwang...........
11:06:38 <sploknee> simon!
11:06:41 <sploknee> he's from space
11:06:46 <elliott> https://www.youtube.com/watch?v=-r6NY4Kl8Ms "it's a history of numberwang"
11:07:13 <Sgeo_> I sort of watched all the Quiz Broadcast stuff and am now watching season 4, so I kind of already saw those sketches
11:07:15 <Sgeo_> :/
11:08:03 -!- oonbotti has quit (Ping timeout: 245 seconds).
11:09:05 <GreyKnight> \ x -> we can talk about lambda calculus without oonbotti interrupting us now
11:09:17 <sploknee> you know what's criminally underappreciated?
11:09:22 <sploknee> the armando ianucci shows
11:09:35 <sploknee> i suspect it's due to prejudice against the scots
11:12:40 <Sgeo_> BARGAINS BARGAINS BARGAINS
11:12:47 <sploknee> aha
11:12:50 <sploknee> has Sgeo_ gone mad
11:12:59 <sploknee> can he continue the list in this state
11:16:37 <elliott> bargains
11:16:52 <GreyKnight> fungot: bargains
11:16:52 <fungot> GreyKnight: hojo has named me, and you mr. leader! get out. these things take time.
11:19:35 -!- Nisstyre has quit (Ping timeout: 240 seconds).
11:21:31 <Sgeo_> Hojo? Not Hinjo?
11:23:15 <monqy> why would fungot lie
11:23:16 <fungot> monqy: all right! don't be wastin' time. you understand, don't worry!! move, will be a guinea pig, if it's for justice or revenge, or them folks-- none of that explosion!
11:23:50 <GreyKnight> fungot is strongly against exploding guinea pigs
11:23:50 <fungot> GreyKnight: oh yeah, well that ain't even started wit' you yet!
11:26:06 <Sgeo_> Hinjo is a character in OOTS. Hojo is not.
11:26:44 <monqy> that doesn't answer my question.....sgeo........
11:27:17 <elliott> ^style
11:27:18 <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
11:28:14 <GreyKnight> fizzie: why no OotS style :<
11:28:35 <Sgeo_> I HATE MY CAT. Also, we need Homestuck styl
11:28:36 <Sgeo_> style
11:28:47 <GreyKnight> ^style homestuck
11:28:47 <fungot> Selected style: homestuck (Homestuck pages 1901-4673)
11:28:50 <Sgeo_> Oh
11:28:51 <Sgeo_> derp
11:28:51 <elliott> you realise theres
11:28:52 <GreyKnight> :-U
11:28:55 <elliott> already
11:29:25 <GreyKnight> fungot: what's this homestuck carryon all about anyway?
11:29:26 <fungot> GreyKnight: it just doesn't feel secure the matriorb and hatch a new mother has any shit they want to scrape off their bulge on to a particular type of three-way relationship of a black president
11:29:38 <GreyKnight> What.
11:33:24 <GreyKnight> fizzie: so is there like a script we can run over some corpus of text to produce a fungot style, or is it more involved? (I may have already asked this)
11:33:24 <fungot> GreyKnight: what the hell
11:33:33 <GreyKnight> fungot: no u
11:33:33 <fungot> GreyKnight: in a good way though. sounds more like " the one", a casual shrine to an amazing actor. the film. you're just a run of the mill little psycho girl, a troll caegar a dozen. adventure awaits prototyping. but unlike all eleven other players only get one extra.
11:34:18 -!- Nisstyre has joined.
11:34:25 <monqy> ^style fungot
11:34:25 <fungot> Selected style: fungot (What I've said myself)
11:35:05 <GreyKnight> (Y fungot)
11:35:32 <monqy> imo there should be a style for dinosaur comics can someone make this happen
11:36:39 -!- sploknee has quit (Ping timeout: 260 seconds).
11:38:11 <GreyKnight> if SOMEBODY would tell us how to make styles...
11:39:09 <monqy> the secret to making styles is for the styles to already be there
11:42:02 <ais523> fungot: there's no point in us setting the style if you don't say anything
11:42:03 <fungot> ais523: if it's ( syntactically) long underwear all ready. name ( in other parts, written in c, it's dlopen(). if it's computable, it's compilable
11:42:31 -!- Nisstyre has quit (Ping timeout: 276 seconds).
11:42:56 -!- sploknee has joined.
11:42:58 <sploknee> <Sgeo_> I HATE MY CAT. Also, we need Homestuck styl
11:43:07 <sploknee> maybe your cat hates you
11:43:15 <sploknee> have considered discussion your problems with your cat
11:43:20 <elliott> sploknee: remember that time I didn't know you were PH
11:43:21 <elliott> good times
11:43:36 <monqy> who's PH
11:44:03 -!- Sgeo_ has changed nick to LowerMoreAcidic.
11:45:08 <sploknee> could've at least gone for HalfOfPKaMinusLogC
11:45:12 -!- Taneb_ has joined.
11:45:25 <LowerMoreAcidic> sploknee, I don't actually know that much detail about pH
11:45:34 <sploknee> `welcome Taneb
11:45:36 <HackEgo> Taneb: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:45:37 <sploknee> `welcome Taneb_
11:45:39 <HackEgo> Taneb_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:45:49 * GreyKnight breaks out the methyl orange
11:45:55 -!- Taneb has quit (Disconnected by services).
11:45:59 -!- Taneb_ has changed nick to Taneb.
11:46:22 -!- atriq has joined.
11:46:46 <Taneb> Okay, I've left my computer on at home
11:48:55 <GreyKnight> `emoclaw Taneb
11:48:57 <HackEgo> ​(.tan.lad.cri no ciratosa# yrt ,aciratosa fo dnik rahto aht roF) .agaP_niaM/ikiw/gro.sgnalosa//:ptth :ikiw ruo tuo kcahc ,noitamrofni arom roF !tnamyolpad dna ngisad agaugnal gnimmargorp ciratosa rof buh lanoitanratni aht ot amoclaW :banaT
11:49:09 <GreyKnight> bananaT
11:49:12 <Taneb> Emoclaw's new
11:49:25 <Taneb> Yes, my secret is out
11:49:41 <Taneb> I'm actually a banana monad transformer
11:50:19 <LowerMoreAcidic> walcome?
11:50:52 <LowerMoreAcidic> Wait, Walcome, but it says Walcoma
11:51:00 <LowerMoreAcidic> Seems inconsistent
11:53:52 <elliott> `rm bin/emoclaw
11:53:55 <HackEgo> No output.
11:54:16 <ais523> really we could do with a bunch of welcome filters that can be layered on each other
11:54:23 <ais523> although, I don't get why we have this many welcome filters anyway
11:54:30 <ais523> or any at all, for that matter
11:54:44 <Taneb> Composable welcome filters?
11:54:51 <monqy> it could happen
11:54:54 <Taneb> Welcome filters are a category!
11:54:54 <GreyKnight> `emoclew elliott
11:54:56 <HackEgo> ​(.ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF) .egaP_niaM/ikiw/gro.sgnalose//:ptth :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW :ttoille
11:55:04 <Taneb> (well, I think they're just a monoid....)
11:55:16 -!- hagb4rd has quit (Ping timeout: 256 seconds).
11:55:21 <monqy> category with one object is a category too
11:55:34 <GreyKnight> ais523: I had that thought too but couldn't be bothered implementing it :-)
11:56:30 <GreyKnight> IWBNI the filters could process the message and the person's nick separately
11:56:57 <GreyKnight> (for that matter preserving the URL would be nice too)
11:57:11 <GreyKnight> I feel a monad coming on...!
11:57:15 <LowerMoreAcidic> Why do I automatically think the filters should be written in Haskell
11:57:24 -!- Nisstyre has joined.
11:57:31 <LowerMoreAcidic> I can't just seem to say "Do it in Racket", my language of interest, pure functions like that make me think Haskell
11:57:44 <Taneb> GreyKnight: I don't think it's a Monad
11:58:43 <ais523> Taneb: I think they're a semigroup, which is a special case of a category
11:59:07 <Taneb> ais523: the identity transformation makes it a monoid
11:59:28 <sploknee> Taneb, monads are like bananas!!
11:59:50 <Taneb> sploknee: in that analogies to explain either invariably suck?
12:00:09 <ais523> Taneb: have /you/ seen a banana tutorial?
12:00:25 <ais523> hmm, what apart from monads gets excessively many tutorials?
12:00:43 <ais523> monads are like that
12:00:44 <Taneb> Drawing bodies?
12:00:52 <Taneb> Drawing people
12:01:14 <LowerMoreAcidic> Using Facebook
12:01:14 <Taneb> Monads are like drawing people, in that you learn them by doing, and the abundant tutorials all suck
12:01:25 <LowerMoreAcidic> There exists Facebook for Dummies
12:01:29 <monqy> i've seen a banana tutorial
12:01:29 <monqy> once
12:01:34 <monqy> i forgot what was in it though
12:01:57 <ais523> btw, I finally discovered what a burrito was, recently
12:02:02 <ais523> they're kind of nice to eat
12:02:05 <ais523> but don't really resemble monads
12:02:24 <Taneb> I prefer nachos
12:02:25 <monqy> you didn't know what a burrito is?? I'm surprised
12:02:47 <ais523> monqy: I'm British, they're not too common here
12:02:55 <sploknee> i ate burritos for years before knowing they were called that
12:02:56 <Taneb> ais523: a burritos kinda like a monad
12:03:12 <Taneb> In that you can put stuff in them and that makes them taste different
12:03:55 <LowerMoreAcidic> fizzie, can I transport fungot into another chatroom?
12:03:56 <fungot> LowerMoreAcidic: " and this is a new game. there is no longer the wand the better part made mercie, i should think at least, that is expressions which have not been able, to assume responsibilities. he went on, " the conclusion is, then thou, the greatest soldier, de. she wanna be friends, his state vsurp'd, his realme a slaughter-house, his subjects, the european council decided at its meeting on 30 april, or even this very di
12:04:03 <LowerMoreAcidic> ^style
12:04:04 <fungot> LowerMoreAcidic: ( that is, levinson went to kish, disappeared, had on your behalf of the commission is not allowed to use the crane, enter any two of these letters, a b y.
12:04:10 <Taneb> And you won't often find them in a crêperie.
12:04:20 <LowerMoreAcidic> ^styles
12:04:27 <Taneb> ^style
12:04:27 <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
12:04:39 <Taneb> ^style ic
12:04:39 <fungot> Selected style: ic (INTERCAL manual)
12:04:46 <Taneb> fungot, is this new?
12:04:47 <fungot> Taneb: your code will cause this error, but you will have the same data as the funge-98 library::); however, it's worth putting a comment with some other intercal compiler maintainers may also want to test if a character, a choicepoint is also computed `create' statement a compile-time error, thus causing this to be used in the pair had different values ( that is supported ( apart from its use of the fingerprint is loaded.)
12:05:35 -!- Nisstyre has quit (Ping timeout: 260 seconds).
12:05:38 <fizzie> Depends on the chatroom? It kind of "supports" multiple channels, in the sense that it doesn't know anything about channels, it just replies to the channel where the message came from.
12:05:43 <ais523> fungot: no it's been there for ages
12:05:43 <fungot> ais523: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
12:05:59 <ais523> fungot: that's metadata, stop markoving it
12:06:00 <fungot> ais523: the structure of an optimizer idiom ( in intercal-72, but it is not allowed to `stash' or similar behaviour with respect to your program. in base 2, 3, 4, 5, 6, 7
12:06:06 <fizzie> `addquote <fungot> ais523: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
12:06:06 <fungot> fizzie: the main expression in place of the mechanisms available for writing comments. one common idiom is to make things confusing, refers to a onespot or twospot variables, as shown here, a program starts running. the complications that that array can also help pin down a bug.
12:06:09 <HackEgo> 906) <fungot> ais523: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
12:06:16 <fizzie> (I don't know, I just thought it looked funny.)
12:06:21 <ais523> fizzie: that's one of the worst fungot quotes ever
12:06:21 <fungot> ais523: 10 multithreading and backtracking extensions to intercal that is, there are various command line of the compiler will produce a `signature' for the full text of the distribution, information on how to fix this error.
12:06:28 <ais523> that's basically at the top of every page in the manual
12:06:31 <ais523> in a table
12:06:34 <fizzie> It was the "all versions all versions" bit.
12:06:42 <ais523> oh, hmm
12:06:50 <ais523> I guess if you interpret it as a sentence, not a table, it is kind-of funny
12:07:00 <fizzie> He just sounds so really enthusiastic about INTERCAL.
12:07:15 <ais523> there's also a windows phone 7 impl
12:07:25 <ais523> but it's very incomplete, it can only do hello world
12:08:30 <LowerMoreAcidic> fizzie, as in, if I took fungot's source, could I also take the Homestuck style?
12:08:30 <fungot> LowerMoreAcidic: operand overloading. ( rather than the intercal-72 manual is: scalar variables, as used in the distribution called " build") match other things to be precise, anywhere after the statement, and gnu cpp and ld, for instance
12:08:35 <LowerMoreAcidic> And just run it somehow
12:08:46 <LowerMoreAcidic> ^source
12:08:47 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
12:10:01 <Taneb> LowerMoreAcidic: you on Sgeo's list?
12:10:30 <fizzie> LowerMoreAcidic: The style files sadly aren't publicly available as-is anywhere. But (one of) the tool(s) for making them are, so you can make your own Homestuck styles that would probably be just as good, if not better.
12:15:50 <LowerMoreAcidic> Taneb, who is this Sgeo who you speak of?
12:16:32 <Taneb> LowerMoreAcidic: I have no idea
12:16:34 <Taneb> Possibly me
12:18:13 <sploknee> we are all sgeo
12:19:09 -!- Nisstyre has joined.
12:38:55 <elliott> the true secret of the list is that it has only one member
12:40:03 -!- oonbotti has joined.
12:40:27 -!- Taneb has quit.
12:41:46 -!- LowerMoreAcidic has changed nick to Sgeo.
12:45:38 -!- Nisstyre has quit (Ping timeout: 265 seconds).
12:49:26 -!- monqy has quit (Quit: hello).
12:57:41 -!- Nisstyre has joined.
13:00:34 <GreyKnight> ais523: feel free to improve my attempt at welcome filters: /hackenv/gktemp/welcome.hs
13:00:53 <GreyKnight> er http://sprunge.us/hiJM might be more readable
13:04:22 <GreyKnight> oh I can use case to deal with that reverseChar stuff
13:05:31 <elliott> you realise ais523 doesn't know Haskell, right?
13:05:58 <elliott> well
13:06:05 <elliott> maybe he does know it
13:06:17 <fizzie> Does ais523 know about timed hits?
13:06:18 * Sgeo didn't realize
13:06:41 <elliott> rewrite your program in OCaml and he might be able to help :P
13:08:23 <Sgeo> elliott, iirc you said something about Racket's contract stuff being interesting
13:08:25 -!- david_werecat has joined.
13:09:26 <elliott> i have no recollection of that
13:10:28 <GreyKnight> oh *well*
13:11:56 <GreyKnight> anyway the actual filters are just (String -> String), using the '@' character as a placeholder for the URL. So I guess I could break out to the shell and use a simple pipeline of scripts for filtering
13:12:02 <GreyKnight> (therefore you can write a filter in any language)
13:37:42 <Sgeo> http://pastie.org/5661445
13:37:49 <Sgeo> Really should be using for/fold
13:40:35 -!- DH____ has quit (Read error: Connection reset by peer).
13:40:40 -!- DHeadshot has joined.
14:03:17 <GreyKnight> `run gktemp/cwelcome | gktemp/target shachaf
14:03:19 <HackEgo> shachaf: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
14:03:21 <GreyKnight> `run gktemp/cwelcome | tr a-zA-Z n-za-mN-ZA-M | gktemp/target shachaf
14:03:22 <HackEgo> shachaf: Jrypbzr gb gur vagreangvbany uho sbe rfbgrevp cebtenzzvat ynathntr qrfvta naq qrcyblzrag! Sbe zber vasbezngvba, purpx bhg bhe jvxv: http://esolangs.org/wiki/Main_Page. (Sbe gur bgure xvaq bs rfbgrevpn, gel #rfbgrevp ba vep.qny.arg.)
14:03:27 <GreyKnight> yay filters
14:05:40 <elliott> the filters are meant to process the URL too...
14:05:44 <elliott> all the existing ones do
14:05:58 <elliott> the name, also
14:06:11 <elliott> also, target exists
14:06:14 <elliott> `@ foo echo bar
14:06:15 <HackEgo> foo: bar
14:08:46 <ais523> elliott: I know a bit of Haskell, especially the semantics, I can't be bothered learning the syntax though :)
14:09:01 <GreyKnight> the existing ones *do* but IMAO they shouldn't, so there.
14:09:02 <ais523> I've even written serious (if small) Haskell programs before
14:09:57 <elliott> well your opinion sucks
14:10:01 <GreyKnight> no u
14:10:08 <ais523> elliott: is that even an opinion?
14:10:31 <GreyKnight> Opinions are like categories: everything is one
14:10:31 <elliott> ais523: unless IMAO means something completely different now, yes?
14:10:58 <elliott> ais523: hmm, didn't we write that underload compiler in haskell?
14:11:09 <elliott> I wonder if there are more innovations in Underload compilation to be made
14:11:12 <ais523> elliott: oh, I thought that was directed at me
14:11:20 <ais523> and yes, we did, but I thought it was entirely you writing it
14:11:27 <ais523> and I had repo access for no obvious reason
14:12:01 <elliott> ais523: hmm, maybe; I thought you wrote the initial version or something
14:12:09 <ais523> no, you wrote the initial version
14:12:16 <elliott> I mean, the initial non-Scheme version
14:12:18 <elliott> so the... ditial
14:12:21 <ais523> hmm
14:12:22 <elliott> what's the word for the second thing?
14:12:26 <elliott> btw, did anyone ever write a compiler that partially optimises integers?
14:12:42 <ais523> elliott: I have an interpreter that partially optimises integers
14:12:46 <ais523> but I can't remember what language it's for
14:12:50 <ais523> it might be Overload or Underlambda
14:12:51 <elliott> Underlambda, I think
14:12:57 <elliott> but interpreters don't count
14:13:05 -!- Arc_Koen has joined.
14:14:15 <fizzie> Is there an Overlambda?
14:14:33 <ais523> fizzie: no
14:14:51 <ais523> it is possible that the name will eventually be used, given the direction Underlambda would be going in if I were working on it
14:15:36 <elliott> ais523: hmm, I wonder if you can do partial type inference for Underload
14:15:40 <elliott> to write an optimising compiler
14:16:01 <elliott> that would let you eliminate lots of stack shuffling statically as well as tracking whether something stays a Smith integer
14:16:40 <ais523> elliott: that's actually the test case I'm using for Anarchy :)
14:17:13 <GreyKnight> "Smith integer" you say
14:18:16 <ais523> GreyKnight: elliott defined the term, not me
14:18:22 <ais523> they're the concatenative versions of Church numerals
14:18:51 <elliott> wasn't it actually oerjan
14:19:12 <ais523> hmm, perhaps
14:19:15 <ais523> I still think of them as Church numerals
14:19:17 <ais523> but perhaps they aren't
14:19:40 <ais523> btw, the Underlambda version of lists is much simpler than the Underload version, because I have a couple of extra primitives
14:19:49 <ais523> one which just puts parens around the entire stack, effectively
14:20:09 <ais523> and another one which can be used to test if the stack is empty
14:20:21 <elliott> I think we agreed they differ from church numerals somehow
14:20:41 <elliott> hmm, now I want to try writing an Underload type inferer
14:20:56 <elliott> it sounds interesting
14:21:03 <elliott> (inferrer?)
14:21:30 <GreyKnight> "concatenative" means it's based on Underload's * operator?
14:22:24 <GreyKnight> oh there's a section on [[Underload]] about it
14:23:00 <ais523> GreyKnight: concatenativity is a property that some languages have
14:23:30 <GreyKnight> if P, Q are programs then PQ is a program?
14:23:34 <ais523> it basically means that you can split a program at any point (except inside matched grouping operators like [] in BF) and get two separate programs, that can be composed (via the mathematical definition of composition) to form the original program
14:23:34 <elliott> hmm, partially inferring Underload stack effects seems quite easy
14:23:37 <elliott> ais523: have you done any work on this?
14:23:47 <ais523> if P,Q are programs, then PQ is a program which means \x.Q(P(x))
14:24:00 <ais523> elliott: as I said, I'm using it as a test case for Anarchy
14:24:03 <elliott> GreyKnight: concatenativity means that syntactic concatenation is semantic composition
14:24:10 <elliott> ais523: oh, I didn't see
14:24:14 <ais523> I also tried running it through OCaml's type inference machinery, but it's not tha good at it
14:24:17 <elliott> ais523: so Anarchy, um, writes type inferers for you?
14:24:31 <ais523> elliott: nah, I was compiling Underload into Anarchy
14:24:37 <elliott> I don't mean inferring the types of the combinators, but rather inferring the stack effects of actual programs; obviously this will fail in some cases
14:24:43 <elliott> (when there is a dynamic stack effect)
14:24:55 <ais523> it's designed as a language in which to write type inferers, but this was to test its type inferer (which doesn't exist yet but I think I know how it will work)
14:24:55 <elliott> but it seems like you could eliminate a lot of stuff statically like this
14:25:16 <ais523> elliott: actually the motivating reason for Anarchy was that I've written something like three type inferers for work now and it's a lot of pain doing it in any existing language
14:25:24 <ais523> OCaml's the least bad at the moment
14:25:32 <elliott> it's alright in haskell :)
14:25:36 -!- hagb4rd has joined.
14:25:44 <ais523> elliott: Haskell would have the same problems; actually slightly more because of no polymorphic variants
14:25:52 <elliott> I don't think OCaml has the generic programming facilities Haskell does
14:26:10 <elliott> probably Haskell is no better than OCaml for this kind of stuff for a novice though
14:26:16 <ais523> here's an example: you have three similar type systems, most of the types are the same in all three systems but there are a few that differ
14:26:24 <elliott> I know about OCaml's variants
14:26:29 <ais523> and you want to automatically convert from one type to another
14:27:02 <elliott> you can do similar stuff in other ways in Haskello jur st avoid the problem most of the time... of course it is an advantage but I don't believe it's comparable to the advantage of Haskell's generic programming facilities
14:27:08 <ais523> in OCaml, whether or not you have polymorphic variants, you have to write a case statement on every constructor in your system, recursing into their fields, and writing the constructor on both the left or the right
14:28:12 <elliott> yes
14:28:16 <ais523> actually, the example I use in the Anarchy docs, in OCaml, it looks like this: let rec stringise_leaves = function | `Tree x y -> `Tree (stringise_leaves x) (stringise_leaves y) | `Leaf x -> `Leaf (string_of_int x)
14:28:17 <elliott> that's the advantage Haskell has that I mentioned
14:28:21 <elliott> you don't have to do that
14:28:24 <ais523> how does that look in Haskell?
14:29:05 <ais523> if you can't read the OCaml I'll explain it, but I think you can, it's pretty clear
14:29:32 <ais523> btw, in Anarchy, it's stringise_leaves = | Leaf x -> string_of_int x | _ -> recurse
14:29:55 -!- sploknee has quit (Ping timeout: 240 seconds).
14:30:02 <elliott> ais523: stringiseLeaves = everywhere $ mkT show
14:30:34 <ais523> hmm, interesting
14:30:36 <elliott> or, arguably, stringiseLeaves = everywhere . mkT $ \case { Leaf x -> Leaf (show x); x -> x }
14:30:50 <elliott> or something of that form
14:30:55 <ais523> everywhere presumably does magic similar to Anarchy's recurse?
14:31:06 <elliott> more or less, though it's all just done with typeclasses
14:31:16 <elliott> you can write your own instances of the Data typeclass it uses, but you probably don't want to
14:31:18 <ais523> yeah, Anarchy's isn't very magical either, it just looks like it
14:31:28 <elliott> that's the Scrap Your Boilerplate system; there are others, though, like Uniplate
14:31:54 <elliott> (the lens package subsumes Uniplate and has an interface to Data.Data on which syb is built, also)
14:31:54 -!- sploknee has joined.
14:32:13 <elliott> :t Node
14:32:14 <lambdabot> a -> Forest a -> Tree a
14:32:19 <GreyKnight> The only difference I can see between Smith and Church integers is that the former's argument/return values go via a stack
14:32:32 <elliott> > Node 123 [Node 456 [], Node 789 [Node 12345 []]]
14:32:33 <lambdabot> Node {rootLabel = 123, subForest = [Node {rootLabel = 456, subForest = []},...
14:32:42 <elliott> > Node 123 [Node 456 [], Node 789 [Node 12345 []]] & template %~ show
14:32:43 <lambdabot> Node {rootLabel = 123, subForest = [Node {rootLabel = 456, subForest = []},...
14:32:48 <elliott> er, right
14:32:52 <elliott> > Node 123 [Node 456 [], Node 789 [Node 12345 []]] & template %~ (show :: Integer -> String)
14:32:54 <lambdabot> Couldn't match expected type `GHC.Integer.Type.Integer'
14:32:54 <lambdabot> with a...
14:32:59 <elliott> er
14:33:05 <elliott> what am I doing :)
14:33:28 <ais523> GreyKnight: Smith integers don't respect typing the way Church integers do
14:33:35 <elliott> ais523: right, my stringiseLeaves is actually wrong because it changes the type, I think
14:33:51 <elliott> er, sort of
14:33:52 <ais523> ^ul ((x))(:^:^:^)^SSSSSSSS
14:33:52 <fungot> ...bad insn!
14:33:55 <elliott> oh, never mind :)
14:33:56 <ais523> err, hmm
14:34:06 <ais523> ^ul ((x))(:^:^:^)^^SSSSSSSS
14:34:06 <fungot> ...bad insn!
14:34:10 <ais523> what am I doing wrong?
14:34:15 <elliott> bad insn
14:34:24 <ais523> yeah, but…
14:34:31 <fizzie> Hrm.
14:34:32 <GreyKnight> try using a better insn
14:34:36 <ais523> ^ul ((x))(:*:*:*)^^SSSSSSSS
14:34:37 <fungot> xxxxxxxx
14:34:38 <elliott> ais523: you're running x I guess?
14:34:40 <ais523> there we go
14:34:47 <ais523> elliott: yeah, just trying to figure out what I'd typoed
14:35:09 <ais523> can Haskell do the twice head thing?
14:35:09 <fizzie> fungot: Try being more helpful next time, please.
14:35:09 <fungot> fizzie: intercal-72 c-intercal clc-intercal j-intercal no version 0.28+ no no
14:35:18 <fizzie> This one was much more negative. :/
14:35:21 <elliott> ais523: twice head?
14:35:25 <GreyKnight> fungot has gone off haskell :-(
14:35:26 <fungot> GreyKnight: as an example of using `ick_create', that it's running as it doesn't matter where you need to insert shift codes; for information on the command rather than operating on it.
14:35:29 <ais523> elliott: it's an example Reddit came up with
14:35:33 <GreyKnight> er intercal (easy to get them mixed up)
14:35:37 <ais523> basically, "twice" is the church numeral for 2
14:35:44 <elliott> ais523: you mean twice head :: [[a]] -> a?
14:35:46 <elliott> for some twice
14:35:48 <ais523> i.e. \f.\x.f(f x)
14:35:49 <ais523> and yeah
14:36:11 <elliott> ais523: I think any type system that can do that doesn't have decidable inference
14:36:19 <elliott> or gives up some other important property anyway
14:36:25 <ais523> the problem is trying to write the type of twice: it's (a -> b & b -> c) -> a -> c
14:36:28 <elliott> err, I guess inference isn't the problem
14:36:31 <elliott> ais523: yes, oerjan has written about this
14:36:43 <elliott> it doesn't work :)
14:36:55 <ais523> Anarchy does that, but it does indeed give up properties I think you'd consider important
14:37:13 <ais523> actually, hmm
14:37:28 <elliott> ais523: http://stackoverflow.com/questions/8296695/is-milner-let-polymorphism-a-rank-2-feature/8433852#8433852
14:37:35 <ais523> in the absence of recursion, you could use SCC inference then linearization
14:37:43 <elliott> you can't compute principle types, is the problem, I believe
14:37:47 <ais523> so it's clearly recursion that makes it not work
14:37:54 <ais523> elliott: yeah, I don't care about those at all in Anarchy :)
14:39:05 <ais523> I decided to focus on the easier problem of "does this term have a type" at first order, rather than "what is the type of this term"
14:39:38 <ais523> as in, work out if the term types or not, given all the arguments
14:39:45 <ais523> this is all that's necessary to actually run a program
14:40:45 * elliott suspects your compiler is going to diverge a lot.
14:41:04 <ais523> elliott: I hope not
14:41:16 <ais523> I was planning to put some restrictions on recursion
14:41:22 <ais523> and then the compiler would provably terminate
14:42:01 <elliott> give language a maximum reduction depth of 65536
14:42:04 <elliott> PROBLEM SOLVED
14:42:18 <ais523> there are plausible reasons to want to recurse deeper than that
14:42:32 <Sgeo> 65537, just for a number that makes no sense whatsoever
14:42:33 <GreyKnight> thatsthejoke.gif
14:42:51 <ais523> Sgeo: actually 65537 is one of the most easy-to-memorize largish primes
14:42:55 <ais523> so it's quite frequently used
14:43:29 <Sgeo> o.O
14:43:41 <Sgeo> Use the first completely uninteresting integer
14:43:53 <ais523> elliott: oh dear, I've got into an argument with my boss about whether "Hindley–Milner type inference" is a correct phrase or not
14:44:03 <elliott> who is on what side?
14:44:23 <ais523> I vaguely remembered that Hindley–Milner referred to the type system, rather than the inference alog
14:44:24 <ais523> *algo
14:44:32 <elliott> In type theory, Hindley–Milner (HM) (also known as Damas–Milner or Damas–Hindley–Milner) is a classical type inference method with parametric polymorphism for the lambda calculus, first described by J. Roger Hindley[1] and later rediscovered by Robin Milner.[2] Luis Damas contributed a close formal analysis and proof of the method in his PhD thesis.[3][4]
14:44:34 <ais523> so wanted to rewrite it as "inference for Hindley–Milner types"
14:44:38 <ais523> elliott: yeah, he just quoted that at me
14:44:48 <elliott> Organizing their original paper, Damas and Milner[4] clearly separated two very different tasks. One is to describe what types an expression can have and another to present an algorithm actually computing a type. Keeping both aspects apart from each other allows to focus separately on the logic (i.e. meaning) behind the algorithm, as well as to establish a benchmark for the algorithm's properties.
14:45:01 <elliott> looks like this is the kind of argument where one of the arguers is wrong
14:45:21 <ais523> elliott: if you think it's fine, I'll be OK with it too
14:45:53 <elliott> ais523: compromise: say Damas-Hindley-Milner, which is what neither of you are proposing
14:45:56 <elliott> er
14:45:57 <elliott> ais523: compromise: say Damas-Hindley-Milner type inference, which is what neither of you are proposing
14:46:14 <elliott> (the idea of compromises is to pick something people aren't arguing over without actually resolving any objections, right?)
14:47:01 <ais523> elliott: :)
14:47:17 <GreyKnight> "perfect"
14:49:54 <elliott> ais523: btw, I am half-working on a language with variants like OCaml's
14:50:00 <elliott> no guarantees it will become a thing though
14:50:10 <ais523> polymorphic variants seem a bit like a band-aid, though
14:50:16 <ais523> they don't seem to solve any problem except "having to declare what type something is"
14:50:32 <elliott> well, they're fairly fundamental to my language
14:50:32 <ais523> and they don't even solve that problem in some cases, e.g. ocamlyacc requires you to declare what type its output is
14:50:37 <elliott> I don't really care what reason OCaml has them
14:50:42 <elliott> from what I hear it does them badly
14:50:46 <ais523> which means writing the type out by hand even when you have polymorphic variants
14:58:21 <elliott> in particular, the same trick is useful for records
14:58:27 <elliott> I forget how OCaml's record system works though, I think it has multiple
15:02:05 <GreyKnight> what, no lenses??
15:15:04 <GreyKnight> ...if this code had any more boilerplate, it could be mistaken for an actual boiler
15:20:12 -!- impomatic has joined.
15:29:47 -!- augur_ has quit (Remote host closed the connection).
15:31:35 -!- sploknee has quit (Ping timeout: 240 seconds).
15:32:17 <GreyKnight> I wonder if any other languages have lens-like concepts
15:38:01 <GreyKnight> ais523: can we get some of the monad tutorial people to write lens tutorials maybe???
15:38:11 <GreyKnight> I am eager to find out how to put some nuclear waste in a lens
15:39:23 <GreyKnight> `? lens
15:39:25 <HackEgo> A lens is just a store comonad coalgebra.
15:40:25 -!- Nisstyre has quit (Ping timeout: 276 seconds).
15:50:56 -!- nooodl_ has joined.
15:53:22 -!- sploknee has joined.
15:55:07 -!- Nisstyre has joined.
15:56:52 -!- GreyKnight has quit (Quit: -->).
15:58:16 -!- mekeor has joined.
16:01:48 <coppro> ahahah
16:01:51 <coppro> http://www.gpo.gov/fdsys/pkg/GPO-HPREC-HINDS-V5/pdf/GPO-HPREC-HINDS-V5-11.pdf
16:01:54 <coppro> wonderful
16:05:44 <coppro> there are some truly brilliant moments in there
16:25:54 -!- GreyKnight has joined.
16:26:11 -!- Arc_Koen has quit (Quit: Arc_Koen).
16:26:16 <GreyKnight> coppro: hm is this from some nomic?? :^)
16:27:27 <kmc> yes
16:29:44 <GreyKnight> I saw a few vaguely amusing bits but nothing really rib-tickling, maybe I missed them?
16:29:45 <GreyKnight> (Or maybe you need to be a Leftpondian to get them IDK)
16:35:14 -!- GreyKnight has quit (Ping timeout: 265 seconds).
16:36:05 <coppro> Gregor: no
16:36:10 <coppro> Gregor: it's from the US House of Representatives
16:37:55 -!- augur has joined.
16:46:15 -!- Arc_Koen has joined.
16:49:05 <kmc> that is a nomic
16:51:52 <c00kiemon5ter> this seems fun http://j.mp/ZwWCcX
16:52:44 <Sgeo> Oops! Google Chrome could not find j.mp
16:56:47 <c00kiemon5ter> fix your interwebz Sgeo!
16:57:23 <Sgeo> Hmm, working now
16:57:45 -!- impomatic has quit (Quit: impomatic).
17:04:29 <Sgeo> https://twitter.com/NRCC/status/289029749555212288
17:09:02 -!- Arc_Koen has quit (Quit: Arc_Koen).
17:11:18 -!- augur has quit (Remote host closed the connection).
17:16:42 -!- Zerker has joined.
17:16:46 -!- augur has joined.
17:17:50 -!- Zerker has quit (Remote host closed the connection).
17:18:04 -!- Zerker has joined.
17:25:10 -!- AnotherTest has joined.
17:25:16 <AnotherTest> Hello
17:26:35 -!- Frooxius has quit (Read error: Connection reset by peer).
17:27:53 -!- Frooxius has joined.
17:29:34 -!- Bike has joined.
17:29:45 -!- Zerker has quit (Read error: Connection reset by peer).
17:31:25 -!- Zerker has joined.
17:32:10 -!- augur has quit (Remote host closed the connection).
17:39:11 -!- FreeFull has joined.
17:39:20 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)).
17:39:32 -!- Zerker has joined.
17:41:53 <Sgeo> Implementing STM isn't that difficult, is it? I mean, I can imagine implementing _efficient_ STM to be difficult, but STM in and of itself sounds simple enough
17:42:04 -!- carado has joined.
17:42:41 <FreeFull> Sgeo: That's true for a lot of things
17:43:48 -!- carado has quit (Remote host closed the connection).
17:47:11 -!- Gracenotes has quit (Ping timeout: 246 seconds).
17:47:37 <sploknee> Sgeo, hey can phantom hoover come off the list please
17:47:59 <Sgeo> Only if sploknee goes on it.
17:48:18 <elliott> are people really seriously not allowed to get off the list
17:48:23 <sploknee> i am willing to accept this sacrifice
17:48:23 * Sgeo is joking
17:48:37 <shachaf> @djinn (Either (t -> s) (s -> t) -> Void) -> Not (Either (t -> x) (x -> t) -> Void) -> Not (Either (x -> s) (s -> x) -> Void) -> Void
17:48:37 <lambdabot> f a b c =
17:48:38 <lambdabot> void (c (\ d ->
17:48:38 <lambdabot> case d of
17:48:38 <lambdabot> Left e -> void (b (\ f ->
17:48:38 <lambdabot> case f of
17:48:39 <lambdabot> Left g -> void (a (Left (\ h -> void (a (Left (\ _ -> e (g h)))))))
17:48:40 <Sgeo> Although I'll need to force myself to remember somehow
17:48:41 <lambdabot> Right _ -> void (a (Right (\ i -> void (a (Left (\ _ -> i))))))))
17:48:43 <lambdabot> Right j -> void (b (\ k ->
17:48:45 <lambdabot> case k of
17:48:47 <lambdabot> Left _ -> void (a (Right (\ l -> void (a (Left (\ _ -> l))))))
17:48:49 <lambdabot> Right m -> void (a (Right (\ n ->
17:48:51 <lambdabot> void (a (Right (\ _ -> m (j n)))))))))))
17:49:03 <shachaf> i love that function!!
17:51:15 <Sgeo> The problem with people leaving the list is that I might forget that they're off the list
17:51:44 <Bike> don't you only have like three people on the list. how hard is that
17:52:05 <sploknee> Sgeo so help me god if you don't remove me from that list i will call you names so nasty you will never want to hear a spoken word again
17:53:30 -!- Gracenotes has joined.
17:59:53 -!- atriq has changed nick to Taneb.
18:00:35 <sploknee> Taneb, make Sgeo take me off the list
18:00:36 <sploknee> please
18:01:14 <Taneb> Sgeo, keep sploknee on the list at all costs
18:01:14 <Sgeo> sploknee, you are as off the list as it is possible to be
18:01:28 <Sgeo> (i.e. within the limits of my memory)
18:01:45 <Taneb> (shachaf ends up on the list sometimes, and he absolutely hates homestuck)
18:02:00 -!- Lumpio- has quit (*.net *.split).
18:02:00 -!- oklofok has quit (*.net *.split).
18:02:00 -!- Sanky has quit (*.net *.split).
18:02:00 -!- elliott has quit (*.net *.split).
18:02:00 -!- myndzi has quit (*.net *.split).
18:02:04 <sploknee> you aren't going to notify me when i change my nick back to Phantom_Hoover, then?
18:02:14 -!- elliott has joined.
18:02:15 -!- Lumpio- has joined.
18:02:17 -!- oklofok has joined.
18:02:24 -!- myndzi has joined.
18:02:27 -!- Sanky has joined.
18:02:38 -!- elliott has changed nick to Guest87682.
18:03:30 <Sgeo> sploknee, right
18:03:58 <sploknee> right, remove elliott from the list too and your crimes will be entirely attoned for
18:05:37 <Sgeo> I have no reason to believe that Guest87682 want to be taken off the list
18:05:47 <Taneb> Oh god, some people are changing their nicks
18:05:56 <Taneb> This must be what everyone else feels like, all the time
18:06:14 -!- Guest87682 has changed nick to elliott.
18:06:20 -!- elliott has quit (Changing host).
18:06:20 -!- elliott has joined.
18:06:39 * Bike plays the fiddle as Taneb burns
18:08:02 <sploknee> Taneb already burnt the other night
18:08:13 <sploknee> you're talking to the cinder that was him
18:08:25 <Taneb> sploknee, eating did help
18:08:29 <Taneb> Then I went to bed
18:08:32 <kmc> Sgeo: yes, you can implement inefficient STM with a single global lock
18:10:13 <kmc> every transaction takes the global lock, problem solved
18:11:58 <Sgeo> I nedd lspepe
18:12:01 <Sgeo> Need leep
18:12:03 <Sgeo> sleep
18:15:04 <kmc> google calendar's favicon style has changed slightly
18:15:11 <kmc> IS THIS THE BEGINNING OF THE END FOR THE SEARCH GIANT!?!?!?
18:16:54 <Sgeo> http://www.reddit.com/r/funny/comments/11zrnm/to_be_fair_most_people_in_ancient_rome_hadnt_even/
18:16:57 <sploknee> kmc is this you turning everything into a commentary on your pet peeves again
18:17:29 <Sgeo> help is reading /r/friends considered creepy
18:17:50 <sploknee> is that like a subreddit for finding friends
18:18:11 <Bike> i'm curious what corpus they use for english/latin with words like "nebraska"
18:18:52 <Sgeo> It's a pseudo-subreddit that shows all the submissions your Reddit friends made
18:18:58 <kmc> sploknee: yes
18:19:04 <Sgeo> I love putting the pseudo prefix on stuff
18:19:17 <kmc> you can have reddit friends?
18:19:19 <sploknee> i just
18:19:19 <kmc> til
18:19:34 <Bike> reddit stalkees
18:20:07 <Sgeo> They're unidirectional
18:20:15 <Sgeo> I can friend anyone without them knowing or needing to accept
18:20:33 <kmc> yeah
18:20:34 <kmc> so what Bike said
18:21:26 <Bike> gotta love social networks.
18:21:42 <kmc> Bike: google used to translate "quid pro quo" as "What happens in Vegas"
18:22:17 <Bike> so close
18:22:21 <kmc> i read an article this morning about how IBM accidentally taught Watson to swear profusely, but the article didn't have examples
18:23:33 <kmc> but it does remind me of another Watson story
18:24:30 <kmc> Q: "rhyming term in boxing for a below the belt attack"
18:24:34 <kmc> actual answer: "low blow"
18:24:39 <kmc> watson's answer: "wang bang"
18:24:57 <Jafet> Was it accepted
18:25:25 <kmc> this was in practice
18:26:03 <Jafet> Is there a jeopardy rule that awards discretionary points for that
18:26:08 <Jafet> I don't know jeopardy
18:26:09 <kmc> don't think so
18:26:22 <kmc> i think you have to get essentially the answer they are looking for
18:26:28 <kmc> even if others would fit the prompt
18:26:45 <Jafet> "lame game"
18:28:48 <oklofok> dick flick
18:29:41 <Bike> cock sock?
18:29:46 -!- Zerker has quit (Remote host closed the connection).
18:30:31 <oklofok> oh that's nick
18:30:34 <oklofok> erm
18:30:35 <oklofok> nice
18:30:54 <Bike> watson ain't got nuthin on me
18:30:57 <oklofok> i'm gonna sock your cock
18:31:10 <oklofok> i don't see a problem with this term.
18:31:37 <Jafet> Blow me low.
18:31:43 <oklofok> .hmm
18:31:45 <oklofok> good point
18:32:11 <Bike> if anything, doubling as a marketable sex toy name is an advantage
18:33:42 <Jafet> You cock socker
18:34:49 <AnotherTest> Has the syntax of mathematical statements (consisting for all, there exists etc.) been formally specified (and maybe standardized)?
18:34:57 <AnotherTest> *consisting of
18:35:05 <oklofok> pretty much
18:35:10 <Bike> prenex form?
18:35:28 <kmc> there are many axiomatic systems for predicate logic
18:35:42 <kmc> formal specification of syntax and semantics
18:36:02 <Bike> the syntax is important for godelization and all, it was probably the first language to have its syntax formally described, if anything
18:36:35 <Jafet> ISO standardized set theory
18:37:15 <AnotherTest> Where could I find such a spec?
18:37:27 <AnotherTest> (my searches have been unsuccessful so far)
18:37:27 <Jafet> Our grothendieck constructors are professionally certified and ready to lay your new foundations today!!
18:38:16 <Bike> why would they need a full spec? it's just quantification, predication, and a few things like implication or conjunction
18:38:16 -!- DHeadshot has quit (Read error: Connection reset by peer).
18:38:33 <Fiora> Sgeo: reddit has a weird definition of friend
18:39:00 <AnotherTest> Bike: not a full spec, just the formal syntax of a mathematical sentence
18:39:48 <Bike> can't you just write it out yourself
18:40:19 <Jafet> But what would you write it in?
18:40:27 <AnotherTest> Bike: I don't think I know all existing notations
18:40:49 <AnotherTest> (all existing and if possible "standard" notations)
18:40:59 <Bike> a sentence is either a variable, a sentence AND another sentence, a sentence OR another sentence, a sentence IMPLIES another sentence, a predicate(a sentence), forall variable sentence, exists variable sentence
18:41:06 <kmc> "Just owned up 12k RoR apps. Does anyone want to buy the combined db dumps? Email addresses of 43 white males 19-23 yr old in SF area."
18:41:09 -!- GreyKnight has joined.
18:41:10 <kmc> "Update on the Ruby on Rails vulns: very few servers have calc.exe installed, so you are probably safe. Patch over the weekend."
18:41:19 <AnotherTest> Bike: but there is also, there exists just one
18:41:44 <oklofok> AnotherTest: the actual syntax in use is 10%-90% natural language
18:41:44 <AnotherTest> and of course declarations
18:41:45 <Bike> if you want to include every notation everyone's ever used for first-order logic you're going to be working on it for all time
18:41:56 <oklofok> the formalizations have been done for the sake of formalizing
18:42:00 <Bike> logicians just make things up when they need it
18:43:07 <Jafet> I bet you've never heard of Jafet's homotopical subway turnstile notation
18:43:09 <AnotherTest> Well I think a formal definition would be useful just to make everyone use the same symbols
18:43:14 <Fiora> kmc: "43 white males 19-23 yr old" that is terrible and wonderful
18:43:16 <Bike> hahahahah
18:43:52 <Bike> right i bet if we just standardized a programming language we could get everyone using just the one too
18:44:14 <oklofok> AnotherTest: well the most universal mathematical language is english
18:44:25 <kmc> both are from @thegrugq who is an infamous figure in infosec and a prolific twitterrerer
18:44:34 <oklofok> for your purpose
18:45:13 <kmc> for now
18:45:37 <kmc> it was latin, then german, then russian, and one day it will be chinese
18:45:41 <AnotherTest> oklofok: I agree, but what if you wanted to have a standard set of symbols such as the current ones in use (there exists, element of etc.), you would need a standard to allow universal understanding of those symbols?
18:45:48 <Bike> what about french?
18:45:51 <kmc> probably that too
18:45:59 <oklofok> french had its moment
18:46:01 <AnotherTest> and greek
18:46:06 <oklofok> greek had its moment
18:46:14 <Bike> hm what did euler write in
18:46:16 <Bike> probably latin?
18:46:22 <AnotherTest> and german probably
18:46:27 * Bike hasn't ready any original euler. THE SHAAAAAME
18:46:29 <oklofok> latin had... okay i'll shut up
18:47:09 <oklofok> AnotherTest: universal understanding comes from explaining stuff in natural language, usually
18:47:11 <Bike> AnotherTest: commonly mathematicians just write something to the effect of "it'd be a PITA to write this out in english every time so here's a new symbol to designate [definition]" in their papers
18:47:23 -!- copumpkin has quit (Ping timeout: 252 seconds).
18:47:30 <oklofok> explain what you want to do and try not to assume too much previous knowledge
18:47:54 -!- copumpkin has joined.
18:48:04 <AnotherTest> Bike: oh well, I guess that works too
18:48:18 <AnotherTest> Although you do have to rewrite it every time again
18:48:41 <Bike> of course sometimes you get someone like bourbaki to come along and say "let's use this notation", and some of it catches on (null set) and some of it doesn't
18:48:52 <oklofok> well that's the implicit meaning of we'll denote the property of ........blahblah........ by (1).
18:49:13 <GreyKnight> I guess if we could work out a "really basic" language for specifying mathematics in it would be handy for bootstrapping communication with aliens :-)
18:49:32 <oklofok> i don't think i've seen people actually state that that's the reason in math papers, but it happens in the more applied sort of cs papers
18:49:32 <Bike> standardizing a language is sort of an impossible problem, look at french and they're using "weekend" in violation of the academie
18:49:40 <Bike> *their using
18:49:43 <Bike> GreyKnight: been done a few times
18:49:52 <Jafet> "This species, their math sucks."
18:50:11 <GreyKnight> Bike: well, that is sort of what AnotherTest wants I think
18:50:24 <Bike> philosophical languages, lol.
18:51:15 <oklofok> by the way do you like http://us.metamath.org/index.html
18:51:52 <oklofok> i found that delightful a few years back but i haven't heard much about it
18:52:10 <GreyKnight> Sounds like fun
18:52:34 <oklofok> perhaps i like it because it's the only formal proof system i have learned to read
18:52:54 <GreyKnight> I wonder if it counts as an esolang
18:53:44 <AnotherTest> I guess if we had a standardized math syntax, we could use syntax-direct translation to Alien math
18:54:36 <Jafet> "Substitution consists of replacing the symbols for variables with expressions representing special cases of those variables. That's the only mathematical concept you need!"
18:54:43 <Jafet> Crank meter reading high
18:54:49 <oklofok> in metamath?
18:54:58 <Bike> that's just lambda calculus, isn't it
18:55:09 <kmc> "need" for what?
18:55:14 <Jafet> So yeah, I heard rewrite systems are universal
18:55:33 <kmc> need to mechanically evaluate terms or need to understand wtf is going on
18:55:56 <GreyKnight> I saw a puzzle years ago which was a magic square created by aliens. You had to try and figure out which symbol meant what (of course you don't know what base their numbers are in)
18:56:30 <Bike> why would you assume they even use a radix system
18:56:39 <oklofok> why would you assume the symbols mean something
18:56:49 <oklofok> i would just assume they like drawing random things
18:56:52 <GreyKnight> Well that was implicit in the puzzle, Bike
18:57:31 <Jafet> Hey, mexicans use radix systems.
18:57:34 <AnotherTest> oklofok: they might as well not be able to draw
18:57:35 <Bike> not a very good representation of aliens, then!
18:57:52 <oklofok> AnotherTest: no, they have drawn a neat magic square
18:58:13 <AnotherTest> oklofok: maybe they kidnapped a human and forced him/her to do so
18:58:49 <oklofok> well i took the first sentence as fact and the rest as GreyKnight's interpretation.
18:59:07 <oklofok> although i suppose that can also be called creating something
18:59:07 <GreyKnight> Bike: it was a puzzle, not a research problem :-I
18:59:28 <Jafet> This anal probe is rather uncomfortable. I sense that they want me to draw a magic square
18:59:36 <Bike> GreyKnight: not hardcore enough
18:59:47 <GreyKnight> DO BETTER
18:59:59 -!- sploknee has quit (Ping timeout: 260 seconds).
19:00:32 <Jafet> This figure is known to be a magic square drawn by aliens. Determine how to attack their home planet
19:01:22 <GreyKnight> Jafet: Time Out Of Joint? :-)
19:01:38 -!- sploknee has joined.
19:02:37 <Jafet> Plan 3²
19:04:12 <GreyKnight> I like some things from plan9 but not other things
19:04:24 <oklofok> are you zzo in disguise
19:04:24 <GreyKnight> </zzo38>
19:04:42 <GreyKnight> Maybe
19:04:48 <kmc> Content-type: application/zzo38
19:05:13 <GreyKnight> kmc: equivalent to text/plain surely? :-)
19:05:26 <Bike> but what encoding is it eh
19:05:33 <kmc> cp437?
19:05:35 <GreyKnight> ASCII
19:06:54 <GreyKnight> @tell zzo38 What are your thoughts on plan9? Inquiring minds want to know.
19:06:54 <lambdabot> Consider it noted.
19:08:11 <GreyKnight> `welcome kmc
19:08:13 <HackEgo> kmc: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:08:25 <kmc> `welcome fungot
19:08:26 <fungot> kmc: is: something special in canada called ' fourth'? if so, returns control to the fnord they tend to be news to me. calculus seems so much more interesting to have a .spec file, a file, then
19:08:27 <HackEgo> fungot: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:09:06 <GreyKnight> fungot: I think canada's "fourth" is just the normal one (not sure though)
19:09:07 <fungot> GreyKnight: ' not very'.) followed by the tanks. hadn't even bothered to confiscate across the universal security strip
19:09:40 <GreyKnight> Oh! I didn't realise "fourth" was considered a national secret in Canada O_O
19:09:57 <kmc> well they number from zero in canada
19:10:02 <kmc> so it would be the same as US "fifth"
19:10:17 <kmc> (this might actually be true for buildings?!?)
19:10:20 <Jafet> I thought most of canada is below zero
19:10:59 <GreyKnight> We correctly number floors in the UK from ground level ("floor zero" if you like)
19:12:02 <Bike> roar hero, in slang
19:12:23 <GreyKnight> wat
19:12:32 <Bike> cockney!
19:13:19 <GreyKnight> Oh, rhyming slang. "Floor zero" isn't really a term, it doesn't have a rhyming-slangisation AFAIK
19:15:21 <kmc> rhyming slang is more involved than that
19:17:01 <kmc> sorry to be That Guy
19:17:41 <Bike> you're only allowed to be That Guy if you explain how you'd refer to the zeroth floor properly
19:17:46 <GreyKnight> This is #esoteric, if you weren't being That Guy someone else would (possibly elliott)
19:18:15 <GreyKnight> Bike, well it'd be "ground floor" for one thing!
19:18:27 <Bike> sucks
19:18:36 <GreyKnight> No u
19:18:55 <kmc> well you need to find a well-known two word phrase where one word rhyms with "zeroth floor" and then you would say only the *other* word
19:19:21 <Bike> stella!
19:19:53 <GreyKnight> more wat
19:20:28 <Bike> stella by moor, it's a nice song
19:22:46 <GreyKnight> "moor" has a longer o than "floor" round here so I would never have gotten that even if I'd heard of the song :-P
19:23:11 <Bike> impenetrable. the perfect slang
19:28:39 <quintopia> kmc: a friend of mine just tweeted the article about watson's swearing
19:32:23 -!- sploknee has quit (Quit: Leaving).
19:34:48 <Sgeo> I Want To Be That Guy
19:35:02 <kmc> ok
19:35:05 <kmc> go ahead Sgeo
19:45:57 -!- oerjan has joined.
19:57:39 -!- GreyKnight has quit (Quit: You hit the grey light. It explodes!).
20:17:34 -!- AnotherTest has quit (Quit: Leaving.).
20:19:58 -!- augur has joined.
20:30:01 <oerjan> 09:32:42: <fizzie> fungot: What do you know about TIME COMPRESSION?
20:30:01 <oerjan> 09:32:43: <fungot> fizzie: what's this...... then...... i have to live in that chair and drink your goddamn tea!
20:30:02 <fungot> oerjan: could've learned the fnord esolang fnord is about the course. i chose not to.) know you've cycled through the entire recursion in one go
20:30:02 <fungot> oerjan: if i use c ( and i'm not sure how well it works
20:30:11 <oerjan> let poor fungot out of the chair!
20:30:11 <fungot> oerjan: neilv annotated 5600 with " a sentence".
20:30:38 <olsner> fungot: stay in the goddamn chair!
20:30:38 <fungot> olsner: you do evaluate the innermost first, then the final 6,
20:31:42 <olsner> `quote evaluate
20:31:44 <HackEgo> No output.
20:32:40 <olsner> `quote something else
20:32:41 <HackEgo> No output.
20:32:46 <olsner> `quote anything
20:32:47 <HackEgo> 75) <dtsund> For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. \ 324) <ZOMGMODULES> I can trust elliott_ to have an opinion on anything and everything <elliott_> Yes. <elliott_> And the best thing is: it is the correct op
20:44:13 -!- Vorpal has joined.
20:47:51 -!- sploknee has joined.
20:57:11 -!- carado has joined.
20:58:10 -!- augur has quit (Remote host closed the connection).
21:11:35 -!- sebbu has quit (Ping timeout: 255 seconds).
21:13:12 -!- sebbu has joined.
21:13:12 -!- sebbu has quit (Changing host).
21:13:12 -!- sebbu has joined.
21:15:09 -!- WeThePeople has joined.
21:15:32 <FreeFull> I wanna be the guy isn't that difficult of a game
21:16:49 <oerjan> <Sgeo_> Hojo? Not Hinjo? <-- are you saying fungot needs an oots style
21:16:50 <fungot> oerjan: emacs still runs on the server side these days, i could
21:17:19 <oerjan> FreeFull: neither is intercal that difficult of a language
21:17:55 <ais523> oerjan: except when you're trying to do string handling
21:18:06 <oerjan> MAYBE
21:23:56 <Taneb> I'm somewhat disappointed Google Wave failed
21:24:01 <Taneb> It was actually pretty cool
21:24:30 <ais523> Taneb: the problem is it wasn't clear on what its use case was
21:25:16 <Taneb> I'm currently in a long comment thread on Facebook, with multiple people trying to hold multiple, intertwining conversations
21:25:20 <Taneb> THAT was its use case
21:26:18 <Taneb> elliott, how far did you get with your text-diagrams thing
21:26:23 <oerjan> <Taneb> Composable welcome filters?
21:26:25 <oerjan> hm...
21:26:36 <kmc> Taneb: yeah, on the other hand much simpler systems can handle that well
21:26:42 <oerjan> `cat bin/welcome
21:26:43 <HackEgo> ​#!/usr/bin/perl -w \ if (defined($_=shift)) { s/ *$//; s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; }
21:26:47 <kmc> and it's easier to teach people a simpler system
21:26:49 <Taneb> kmc, such as?
21:26:56 <oerjan> `cat bin/emoclew
21:26:57 <HackEgo> ​#!/bin/sh \ welcome "$@" | rev | tr \)\( \(\)
21:27:17 <olsner> Taneb: IRC for example
21:27:37 <Taneb> Wouldn't quite work for this
21:28:09 <Taneb> Doesn't send out an alarm call to everyone, for instance
21:28:18 <Taneb> And multi-threaded convos can still get confused
21:28:31 <olsner> confusion is fun
21:28:43 <olsner> conFUNsion
21:29:06 <kmc> well Zephyr is an interesting example
21:29:30 <kmc> it is an obscure text-based chat protocol, used only at MIT and a little at a few other schools (and MIT-spawned startups)
21:29:57 <Taneb> kmc, I think the biggest problem would be convincing everyone to use it
21:30:08 <kmc> every message is sent to a particular "class", which is like an IRC channel, and an "instance", which is something you come up with on the fly to describe a particular topic
21:30:10 <Taneb> And I actually managed to get someone to use Google Wave
21:30:23 <kmc> for most people, the default view includes all messages, in time order
21:30:38 <kmc> but you can narrow down to view only one class, or one class-instance pair
21:30:50 <kmc> depending on whether you want context or focus, regarding these multiple intertwining conversations
21:31:13 <kmc> also you have a specific point in that time ordered view which denotes how far you have read
21:31:33 <kmc> and so you can expect that people will read everything, even if they aren't around right now
21:31:38 <kmc> which makes it something of an email replacement as well
21:31:48 <kmc> seamlessly transitioning between realtime and asynchronous communication
21:31:53 <Taneb> Biggest problem with Zephyr is convincing everyone to use it
21:32:06 <kmc> well yes
21:32:16 <kmc> they shouldn't, because the software and the protocol is all crazy and crufty and archaic
21:32:23 <Fiora> kmc: one thing I've noticed on IRC is that communities tend to spawn side-channels simply because of the multiple-conversations-at-once thing
21:32:28 <Fiora> and like, if I see two people talking about something in one place
21:32:31 <Fiora> I skip to the next channel >_>;
21:32:35 <Fiora> so I don't interrupt them
21:32:46 <kmc> but as it happens I'm working for a company which is building a web-based chat system on a similar model
21:32:55 <Taneb> #esoteric-homestuck
21:33:15 <kmc> with the idea that, in particular, this is a vastly better way for companies to communicate internally
21:33:21 <kmc> based on our own experience at companies using zephyr
21:33:52 <olsner> the swedish counterpart would be http://en.wikipedia.org/wiki/LysKOM
21:34:41 -!- mekeor has quit (Remote host closed the connection).
21:34:55 <elliott> Taneb: Not very.
21:35:08 <elliott> oerjan: Want to talk about UNDERLOAD?
21:35:47 <oerjan> `addquote <ais523> btw, I finally discovered what a burrito was, recently <<ais523> they're kind of nice to eat <<ais523> but don't really resemble monads
21:35:49 <oerjan> argh
21:35:49 <HackEgo> 907) <ais523> btw, I finally discovered what a burrito was, recently <<ais523> they're kind of nice to eat <<ais523> but don't really resemble monads
21:35:52 <oerjan> `revert
21:35:55 <ais523> oerjan: that's a weird typo
21:35:55 <HackEgo> Done.
21:35:58 <oerjan> `addquote <ais523> btw, I finally discovered what a burrito was, recently <<ais523> they're kind of nice to eat <ais523> but don't really resemble monads
21:36:01 <HackEgo> 907) <ais523> btw, I finally discovered what a burrito was, recently <<ais523> they're kind of nice to eat <ais523> but don't really resemble monads
21:36:04 <Taneb> elliott, because my thoughts have occasionally turned to it over the past couple of days
21:36:13 <Fiora> there's one extra < in there I think
21:36:30 <elliott> Taneb: Did you think of a good solution to the problems I had?
21:36:34 <oerjan> ais523: it's what happens when i forget between windows whether i've remembered to copy the < or not
21:36:44 <oerjan> elliott: hm?
21:37:11 <oerjan> `revert
21:37:13 <HackEgo> Done.
21:37:26 <oerjan> `addquote <ais523> btw, I finally discovered what a burrito was, recently <ais523> they're kind of nice to eat <ais523> but don't really resemble monads
21:37:29 <olsner> iirc, burrito means small donkey
21:37:29 <HackEgo> 907) <ais523> btw, I finally discovered what a burrito was, recently <ais523> they're kind of nice to eat <ais523> but don't really resemble monads
21:37:34 <oerjan> sheesh
21:37:58 <elliott> oerjan: I was thinking about Underload type inference to statically determine some subset of stack effects.
21:38:04 <elliott> this lead to me linking one of your SO answers to ais523 :P
21:38:33 <Taneb> elliott, I was thinking if you limited it to rectangles
21:38:51 <Taneb> Chars can be 1x1, 1x2, or even 1x0 or 1x3 or whatever
21:39:04 <Taneb> So don't encode size at type level, that would be bad
21:39:08 <oerjan> OKAY
21:39:41 <oerjan> see: that kind of curiosity killed Cat
21:39:48 -!- carado has quit (Remote host closed the connection).
21:39:54 <Taneb> Combining monoidally, I was thinking "a <> b" means "line a's top-left corner with b's top-left corner and paste b over a"
21:40:05 <Taneb> Combining characters can possibly combine like that, IDK
21:40:47 -!- carado has joined.
21:40:52 -!- WeThePeople has quit (Quit: Leaving).
21:41:20 <Taneb> What were some of your specific problems?
21:42:04 <elliott> Pasting b over a sounds kind of unuseful?
21:42:06 -!- carado has quit (Remote host closed the connection).
21:42:18 <elliott> I guess you'd need a notion of there not being any character at a particular position...
21:42:21 <Taneb> elliott, whitespace in b could come in handy
21:42:41 <elliott> My problems were with double-width characters.
21:42:45 -!- carado has joined.
21:43:17 <Taneb> I was thinking 0x20 is empty, NBSP is non-empty whitespace
21:43:34 <Taneb> double-width characters, you'd need some form of double width detector
21:43:54 <ais523> Taneb: clearly you need INTERCAL overstrikes
21:44:02 <ais523> V backspace - and all that
21:48:20 -!- atrapado has joined.
21:50:23 <Taneb> elliott, http://www.unicode.org/reports/tr11/ could be relevant
21:52:02 <elliott> I mostly know how they work in general, but thanks
21:53:14 <elliott> well, "sort of"
21:53:25 <Taneb> Well, that's the official version
21:53:37 -!- Vorpal has quit (Ping timeout: 248 seconds).
21:55:15 <kmc> maybe they don't have burritos in europe?!?!?
21:55:24 <ais523> kmc: they're not common
21:55:30 <ais523> the university canteen started selling them this month
22:00:43 <kmc> on the flip side you have shawarma / kebab / gyros / whatever you call it on every street
22:00:57 <kmc> at least in most parts of europe i have been to
22:02:17 <ais523> kmc: in the UK, fish and chip shops are really common, and they sell kebabs too
22:02:27 <ais523> I think the closest north american equivalent is a pizza parlour, but it's not that close
22:03:26 <kmc> yeah
22:03:31 <Taneb> Somewhere between a pizza parlour and a hot dog stand
22:04:11 <kmc> in american cities it's fairly common to find a non-chain fast food place that has pizza, gyros, fried chicken, burgers, french fries, etc
22:04:31 <kmc> but moreso in poorer areas
22:04:33 <Taneb> Heh, I'm rarely in British cities
22:04:45 <Taneb> The last time I was in a city that wasn't Newcastle was...
22:04:57 <Taneb> August?
22:05:10 <kmc> out in suburbia / most of the country, you have huge chain fast food restaurants with drive thru etc
22:05:19 <kmc> and those mostly stick to a single genre of food
22:05:26 <Taneb> We have those, too
22:05:27 <ais523> kmc: that seems very similar to the UK too
22:05:30 * elliott 's line parsed that as a lyric until after the comma
22:05:31 <kmc> though there are such as the Combination Pizza Hut And Taco Bell
22:05:33 <elliott> v. confusing
22:05:34 <ais523> except they'll do fish and chips in addition to all that
22:05:42 <elliott> ...
22:05:43 <kmc> elliott: i'm a poet and i don't even know it!
22:05:45 * elliott 's mind parsed that as a lyric until after the comma
22:05:49 <ais523> at least, the chains don't
22:05:52 <ais523> the non-chain places do, though
22:05:52 <fizzie> We have kebab places everywhere, but to get a burrito you'll pretty much have to choose one of the "Tex-Mex" themed restaurants, of which there's not really a shortage either, but they're not all *that* common. I can think of offhand about six in Helsinki centrum.
22:05:53 <elliott> kmc: now you have to make a song out of it
22:05:56 <elliott> hard to top that second line though
22:05:57 <kmc> out of which?
22:06:05 <elliott> 22:05:10 <kmc> out in suburbia / most of the country, you have huge chain fast food restaurants with drive thru etc
22:06:14 <elliott> out in suburbia / most of the country, you have huge chain fast food restaurants with drive thru etc / something something something
22:06:17 <kmc> just listen to this song instead http://www.youtube.com/watch?v=Vyfc10qDcR4
22:06:29 <kmc> i think most songs don't use the word "et cetera"
22:06:38 <kmc> radiohead used it though so it must be allright
22:06:38 <Bike> a remix?!
22:06:58 <shachaf> We have a pretty great type going here.
22:06:59 <shachaf> newtype Un p a s = Un { unUn :: p s -> p a }
22:07:39 <shachaf> What does it take to make p an instance of things?
22:07:52 <fizzie> There are now only two Pizza Hut restaurant (and three "express" places, and two "take-away only" places) in Finland; there used to be many more.
22:08:04 <kmc> what happened to them?
22:08:06 <elliott> kmc: now you have me listening to this again :(
22:08:09 <Bike> shit, the rap doesn't even fit the rhythm, i forgot about that
22:08:11 <elliott> I shook it off!!!
22:08:20 <fizzie> I think they've just closed.
22:08:28 <elliott> kmc: they died
22:08:34 <shachaf> elliott: Are you done?
22:08:38 * shachaf might go eat something.
22:08:45 <elliott> shachaf: I'm confused. Also tired.
22:09:26 <elliott> Taneb: Mentioning #esoteric in #haskell is banned. Gotta keep up the peanut gallery.
22:09:42 <Taneb> I referenced it, I did not mention it
22:09:45 <Taneb> Well
22:09:47 <ais523> elliott: what about mentioning #haskell in #esoteric?
22:09:50 <Taneb> I mentioned it the day before yesterday
22:09:54 <shachaf> elliott: Banned by whom?
22:09:57 <Taneb> Anyway
22:10:00 <Taneb> I'm gonna sleep now
22:10:04 -!- Taneb has quit (Quit: Leaving).
22:10:16 <elliott> shachaf: Um, imperial decree?
22:10:29 <fizzie> I've heard something about McDonald's not doing so well in Finland either. There isn't one really nearby here. And there are more instances of the local Finnish cheap clone (Hesburger). (As a rule of thumb, there's a Hesburger in every large shopping mall, but all McDonalds'ses are in their own separate buildings for some reason.)
22:10:38 <shachaf> elliott: Of which channel?
22:10:39 <ais523> the McDonaldses in the UK suck
22:10:46 <ais523> they're noticeably worse than those in Canada
22:10:49 <ais523> and thus I assume the US too
22:11:00 <coppro> yes
22:11:08 <coppro> Canada and US are comparable
22:11:13 <kmc> ah yes hesburger
22:11:19 <ais523> or at least, the large sample of McDonaldses I've checked in the UK are all worse than one specific McDonalds in Ottawa that I have no reason to believe is not representative
22:11:20 <coppro> though my preference is Canada
22:11:27 <coppro> I think they use extra grease in the US
22:11:31 <kmc> i always parsed it as a burger restaurant run by hesbollah
22:11:58 <fizzie> I think there's at least one Hesburger in Tallinn too, so they've branched out a bit.
22:12:05 <kmc> in greece, Goody's seemed to be beating McD's by quite a bit
22:12:11 <coppro> ais523: if it was unrepresentative, it was probably worse than usual
22:12:24 <ais523> coppro: McDonalds in Canada have negative skew?
22:12:28 <coppro> ais523: I've seen a couple of terrible McDonald's, but not exceptionally good ones
22:12:36 <ais523> fair enough
22:12:41 <fizzie> Also they have a "HeseCafe" (since McDonald's has cafes too), and a "HesePasta" (which is this cardboard box full of macaroni-and-stuff) thing in a couple of places.
22:12:46 <coppro> so it's unlikely you were above the mode
22:13:24 <kmc> fizzie: they have them in vilnius as well
22:13:40 <fizzie> Also McDonald's-of-Finland started selling their wrap things quite recently, autumn last year or something.
22:13:58 <fizzie> I understand those have been available elsewhere for quite a lot longer.
22:15:08 -!- atrapado has quit (Quit: Bye).
22:15:28 <oerjan> hesburgers heslige burgere
22:16:03 <fizzie> According to Wikipedia, there was a Hesburger in Syria from 2004 to 2006.
22:16:16 <kmc> in hungary the mcdonald's had a sign instructing you how to use the self serve soda fountain
22:16:55 <fizzie> There's also a Finnish pizza chain with one store in like China; it's amusing because it pops (or at least used to pop) up first when you went to their restaurant selector, since it wasn't in any of the "subdivisions of Finland" categories.
22:17:34 <fizzie> And the restaurant select-o-tron link was titled "nearest <pizza chain name>".
22:18:06 <elliott> why would they even have a store in like China
22:18:09 <fizzie> Apparently it no longer exists. :/
22:18:19 <fizzie> "In addition to Finland, Kotipizza restaurants are found in Saint Petersburg, Estonia and in China in Suzhou, near Shanghai."
22:18:32 <fizzie> Saint Petersburg and Estonia make some amount of sense.
22:18:36 <kmc> countries like australia, such as new zealand
22:18:40 -!- azaq23 has joined.
22:18:42 <Bike> why does it say where the chinese and russian ones are, but not the estonian one
22:18:53 <Bike> is the estonian one also in suzhou?
22:19:20 <fizzie> Bike: Because China and Russia are significantly bigger than Estonia, maybe?
22:19:53 <Bike> still doesn't let you show up on the estonian border and ask "yo where the kotipizza at"
22:19:58 <kmc> maybe they can open a restaurant in Formosa, Argentina and another in Formosa, Republic of China, directly opposite on the globe
22:20:18 <kmc> Bike: dunno, the border guards might know
22:20:23 <fizzie> I suppose maybe one of the Kotipizza franchisees might have moved to Suzhou or something?
22:20:38 <kmc> i'm at the kotipizza, i'm at the hesburger, i'm at the combination kotipizza hesburger
22:20:43 <fizzie> Bike: Also possibly there are several places in Estonia and they didn't want to list them.
22:21:02 <hagb4rd> \o/ somebody mentioned estonia!
22:21:10 <fizzie> There are two Kotipizzas and one Hesburger at the nearest shopping centre.
22:21:20 <fizzie> But I don't think I've heard of a combination one.
22:22:45 <hagb4rd> a pity there's no one here right from mongolia..
22:23:22 <hagb4rd> any asian folk here?
22:23:59 <Bike> where did that come from
22:24:49 <Bike> http://www.youtube.com/watch?v=WDEI06J00nk anyway have some estonia
22:31:07 * hagb4rd thinks it's a pity the relevance of the results to search queries on google are influenced by region of the request source by default. think they could change world if they dropt this feature
22:32:04 <ais523> hagb4rd: Google tries to give people what they want, not what they need
22:32:50 <hagb4rd> well you can change this.. but adjusting the default options still has an effect
22:33:03 -!- Bike has quit (Read error: Operation timed out).
22:33:03 <kmc> no google doesn't do either
22:33:06 <hagb4rd> but good point
22:33:19 <kmc> if you are not paying for a product then you are the product being sold
22:34:26 <FreeFull> Google doesn't seem to give me as good results for some queries as it used to
22:34:53 <elliott> kmc: Where can I buy kmc?
22:36:46 -!- GreyKnight has joined.
22:39:38 <hagb4rd> what i fear most is we might loose some diversity of knowledge (which imo somehow leads to creativity while interacting in mulitplayer mode) due to the synchronicity of the sources we use
22:39:51 <oerjan> hagb4rd: lifthrasiir is asian, at least
22:40:01 <hagb4rd> cool. hello lifthrasiir
22:40:08 <hagb4rd> good to have you here
22:40:33 <oerjan> dependent on your definition, i'm not sure about shachaf, i don't think he's currently _in_ asia
22:42:25 <hagb4rd> no i mean we use wikipedia or sth to check out facts for example (which has its advantages..by all means!)..
22:43:34 <hagb4rd> but in some way it's different than to wait until you get the right book or even make your own experience
22:43:48 <hagb4rd> (i'm not complaining)
22:44:08 <hagb4rd> just try to see the other side of the moon
22:45:32 <GreyKnight> oerjan: I tried playing with some pipelineable welcome filters stuff but elliott hated it because I preserved the URL from filtering >:-(
22:45:34 <hagb4rd> okay i don't know what schahaf is doing or how this was related to my statement oerjan
22:45:47 <hagb4rd> anyway
22:46:15 <hagb4rd> maybe it wasn't 0:)
22:46:24 <hagb4rd> a smoke?
22:46:38 <oerjan> GreyKnight: i'm afraid i'm with elliott on that one.
22:47:03 -!- GreyKnight has quit (Quit: Reconnecting…).
22:47:12 <elliott> if you generate URLs people can actually click, is there even a point to life?
22:47:32 <oerjan> HEY I NEVER SAID THEY SHOULD BE UNCLICKABLE GET TO WORK ON THAT ELLIOTT
22:48:00 <oerjan> ALSO MAKE IT AUTOMATICALLY COMPATIBLE WITH FUTURE FILTERS THX
22:48:09 <shachaf> oerjan: I'm not in Asia but I was born in Asia.
22:48:19 <hagb4rd> oh thats better
22:48:20 <oerjan> shachaf: yay as i thought!
22:48:39 <hagb4rd> schahaf: have you been there for while?
22:48:44 <hagb4rd> *lived there
22:48:59 -!- GreyKnight has joined.
22:49:18 <shachaf> I lived in Asia for something like half my life.
22:49:28 <hagb4rd> elliot: i'm sure there is some sense in it. let's keep some patience ;)
22:49:33 <oerjan> ^rot13 schahaf
22:49:34 <fungot> fpununs
22:49:51 <hagb4rd> or fuck do something about it!
22:50:03 <hagb4rd> sorry
22:50:34 * hagb4rd clears his throat
22:50:48 <oerjan> someone get hagb4rd an autocompleting client thx
22:50:57 -!- GreyKnight has quit (Client Quit).
22:51:09 -!- sebbu2 has joined.
22:51:09 -!- sebbu2 has quit (Changing host).
22:51:09 -!- sebbu2 has joined.
22:51:19 <shachaf> hoerjan
22:51:23 <hagb4rd> somehow it shows some respect when you type the name by hand
22:51:25 <hagb4rd> you know
22:51:51 <oerjan> hardb4g: OKAY
22:52:12 <hagb4rd> no progress withought the possibility of failure
22:52:18 -!- sebbu has quit (Ping timeout: 248 seconds).
22:52:25 <hagb4rd> maybe no progress at all
22:52:35 <shachaf> oerjan: Do you like this class: class Unapplicative p where unpure :: p Void; unstar :: p (a,b) -> Either (p a) (p b)
22:52:51 <shachaf> Or kmc. I think this is related to the category thing I was talking about yesterday.
22:53:04 -!- nooodl_ has quit (Ping timeout: 256 seconds).
22:53:20 -!- sebbu2 has changed nick to sebbu.
22:53:45 <oerjan> why (a,b) and not Either a b
22:53:47 <shachaf> It behaves a bit like a logarithm, as in log(a*b) = log(a)+log(b)
22:54:07 <shachaf> oerjan: I'm thinking of "P a" as meaning "a is uninhabited" for lack of anything better.
22:54:18 <shachaf> So Void is uninhabited, and if (a,b) is uninhabited then either a is or b is.
22:54:28 <oerjan> i just don't see how this class can be applied in any way
22:54:31 * oerjan runs away
22:54:40 <shachaf> I don't either!
22:55:01 <oerjan> aha
22:55:55 <oerjan> p a -> Either (p b) (p (b -> a))
22:56:13 <oerjan> would be more the reverse of <*>, no?
22:56:29 <shachaf> Right, this is for the opposite of p (); p a -> p b -> p (a,b)
22:56:44 <shachaf> Or (p a,p b) -> p (a,b)
22:56:54 <shachaf> You know, "real" Applicatives.
22:56:57 <oerjan> that formulation zzo38 likes, although you need Functor as well
22:57:04 <shachaf> Sure.
22:57:11 <elliott> you also get (a -> Void) -> p a, obviously
22:57:20 <elliott> (given contramap for both what oerjan said and what I said)
22:58:07 <elliott> shachaf: Do you have any instances of Not?
22:58:08 <elliott> Er.
22:58:11 <elliott> shachaf: Do you have any instances of Unapplicative?
22:58:19 <elliott> I mean, not even Not is an instance.
22:58:25 <elliott> I guess NotNotNot is?
22:58:27 <shachaf> I think Const Void is trivially an instance.
22:58:29 <elliott> No, it isn't.
22:58:36 <elliott> shachaf: Zomg so is Proxy!!!1 1 11 1
22:58:38 <shachaf> Otherwise you'll probably have to switch from Either to COr.
22:58:47 <elliott> Oh, c'mon.
22:59:10 <elliott> shachaf: What's a Contravariant that doesn't have a (->) in it?
22:59:17 <elliott> But that isn't trivial like Const Void.
22:59:18 <shachaf> elliott: Nothing.
22:59:32 <shachaf> That's the way you get things to be contravariant.
22:59:37 <elliott> shachaf: Oh, Unapplicative doesn't require Contravariant?
22:59:47 <shachaf> It should?
22:59:51 <elliott> It didn't how you defined it.
22:59:55 <elliott> I think maybe it shouldn't?
22:59:58 <elliott> unpure :: [Void]; unstar :: [(a,b)] -> Either [a] [b]
23:00:02 <elliott> That almost looks reasonable, after all.
23:00:03 <shachaf> elliott: Sure it should
23:00:10 <shachaf> Because Functor requires Contravariant.
23:00:16 <elliott> Um. What?
23:00:17 <shachaf> And Applicative requires Functor.
23:00:22 <elliott> Functor requires Contravariant?
23:00:23 <shachaf> I mean, instance Functor (Op p a)
23:00:28 <elliott> Well, sure.
23:00:31 <elliott> But if you want instances.
23:00:37 <elliott> And I think this notion might be more general than that.
23:04:20 <shachaf> 15:03 <monochrom> where is kmc? I miss him
23:06:46 <hagb4rd> playing basketball in the kitchen
23:07:13 <hagb4rd> whois monochrom
23:07:42 <hagb4rd> he isn't around here
23:07:43 <kmc> aw
23:08:46 <elliott> monochrom is kmc's #1 fan
23:08:54 <hagb4rd> no that was me!
23:08:56 <elliott> Wasn't monochrom the one who said kmc's FAQ was good too?
23:08:57 <elliott> Total fanboy.
23:09:00 <elliott> Clearly.
23:09:02 <hagb4rd> absolutely
23:10:14 <oerjan> monochrom is a #haskell guy, at least was when i was
23:10:33 <shachaf> monochrom is great.
23:10:52 <hagb4rd> well invite him to join us. i love great people
23:11:11 <oerjan> `pastlog <monochrom>
23:11:42 <HackEgo> 2011-09-01.txt:01:58:46: <CPO\_\bot> <monochrom> ddarius wins!
23:11:52 <oerjan> i don't think that counts
23:11:52 <shachaf> `quonochrom
23:11:54 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quonochrom: not found
23:11:56 <oerjan> `pastlog <monochrom>
23:12:03 <HackEgo> 2011-02-06.txt:21:11:32: <elliott> <monochrom> for example "I'll pay you us$5 this is good money for you considering how poor you are!" is not pay well. it's insulting. make it us$500.
23:12:06 <hagb4rd> `pastelog <monochrom>
23:12:21 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24396
23:12:21 <oerjan> it appears people just quote him here
23:13:19 <hagb4rd> have you change the mime type of the pastes? somehow chrome tries to download it
23:13:34 <hagb4rd> maybe it's just me
23:14:10 <oerjan> worked fine for me (not chrome)
23:14:39 <hagb4rd> ye dunno. nevermind thx
23:15:42 <oerjan> maybe it's that weird <CPO\ot> nick in the paste
23:15:47 -!- sivoais has quit (Ping timeout: 252 seconds).
23:16:05 <hagb4rd> hm.. too lazy too find out now
23:16:08 <oerjan> * <CPO\_ot>
23:16:27 <elliott> please porige cpo hot
23:16:57 -!- sivoais has joined.
23:17:16 <oerjan> or that + the Erdös
23:17:57 <oerjan> which i btw had to change encoding from us-ascii to get properly
23:20:32 <oerjan> today's http://www.mezzacotta.net/postcard/?comic=1466 makes me wonder about an IQ test which not only calibrates the _score_ according to the takers, but even what's considered the correct answer. (sounds like the internet...)
23:21:14 <oerjan> inb4 "the picture doesn't show up"
23:22:33 <Fiora> oerjan: that reminds me of this https://encyclopediadramatica.se/IQ_Test
23:23:09 <Fiora> the IQ test that shows you a high score, but shows other people a low score
23:29:13 <Gregor> HRRRRRRRRRRRRRRRNG
23:29:25 <Gregor> I sent an email inquiring about an accordion on Craigslist.
23:29:28 <Gregor> “Thanks for being interested in buying my VINTAGE PHILHARMONIC DOUBLE TONE CHAMBER ACCORDION W/ HARD CASE MADE. I will start my email by telling you that I'm currently out of country so pick up isn't an option. The item is as described, in perfect condition and will be delivered at your home address.”
23:29:38 <Gregor> Yaaaay scams >_<
23:32:06 <shachaf> Gregor: You should get a chromatic button accordion.
23:32:12 <shachaf> Not a "piano" accordion.
23:32:36 -!- GreyKnight has joined.
23:33:18 <hagb4rd> aw.. i'm planning to get an accordion too
23:33:38 <hagb4rd> or a sax
23:33:50 <hagb4rd> dunno.. difficult. maybe both in time
23:34:52 <hagb4rd> gregor: have you done some composing at last?
23:36:15 <GreyKnight> Wouldn't it be quite difficult to play both the accordian and the sax :-O
23:36:30 <hagb4rd> at the same time yes
23:37:22 <hagb4rd> but i'm not very out to become a professional.. so it doesn't matter as long as there is some fun doing it
23:38:31 -!- Arc_Koen has joined.
23:39:24 <GreyKnight> oerjan: FINE at least I got some Haskell practice out of it
23:39:34 <hagb4rd> an accordion has this warm, melancholic..yea...disaming sound
23:39:41 <oerjan> EXCELLENT
23:39:45 <Arc_Koen> GreyKnight: yeah RIGHT
23:39:54 <hagb4rd> *diarming
23:40:04 <hagb4rd> *DISARMING
23:40:05 <GreyKnight> **disarming ?
23:40:14 <hagb4rd> yes thanks greyt
23:40:19 <hagb4rd> greyT
23:40:26 <Arc_Koen> I was considering reading the logs so that I could actually pretend I knew what all those capital letters were about but I think that would be a waste of time
23:40:29 <oerjan> on second thought someone get hagb4rd a keyboard thx
23:40:44 <GreyKnight> pronounced like "great" B-)
23:40:54 <hagb4rd> oh yes.. i need the one which can be washed
23:41:02 <hagb4rd> *noted
23:41:09 <oerjan> and if that still doesn't help, a spell checker
23:41:10 <Arc_Koen> those flexible japanese ones?
23:41:25 <Arc_Koen> and if that still doesn't help, a new set of hands!
23:41:36 <hagb4rd> yea, i'm not good at typing. also you guys make me nervous
23:41:50 <hagb4rd> (i hope this word fits the case)
23:41:51 <GreyKnight> Arc_Koen: TLDR: I was experimenting with `welcome filters that transformed text while leaving the URL alone, everyone hates my idea ;_;
23:41:53 <oerjan> THERE'S NOTHING TO BE AFRAID OF
23:42:02 <Gregor> <shachaf> Gregor: You should get a chromatic button accordion. // I'd like to, but I don't have that kind of money.
23:42:07 <GreyKnight> It's type-correct though B-)
23:42:08 <Gregor> <hagb4rd> gregor: have you done some composing at last? // on the accordion, yes.
23:42:21 <shachaf> What kind of money is a chromatic button accordion?
23:42:23 <Arc_Koen> GreyKnight: thank you (why waste my time when I can waste someone else's!)
23:42:32 <GreyKnight> hagb4rd: but we haven't even threatened you! Much.
23:42:39 <shachaf> I've looked around and apparently they;re not easy to get hold of in the US.
23:42:44 <hagb4rd> gregor: somthing i can listen to? let's give it a try
23:42:56 <hagb4rd> greyknight.. no not really
23:43:08 <Gregor> hagb4rd: Would be except that I don't have an accordion right now >: (
23:43:09 <hagb4rd> aw of course you have!
23:43:14 <Arc_Koen> they have this crazy idea in France to calculate how much the time of a volunteer is worth
23:43:16 <Gregor> shachaf: Well into the thousands.
23:43:30 <Arc_Koen> I can say by experience that it's probably a negative amount :(
23:43:44 <GreyKnight> Why do we make you nervous, hagb4rd?
23:43:58 <hagb4rd> cmon greyknight. i was trying to make a compliment
23:44:03 <Arc_Koen> how do you know you were included in the "you guys"?!
23:44:08 <hagb4rd> i failed
23:44:16 <GreyKnight> :<
23:44:26 <hagb4rd> but sometimes yes..
23:44:31 <shachaf> Gregor: http://www.smythesaccordioncenter.com/Student_Chromatics.html has them for <$1000
23:44:39 <shachaf> I don't know if they're any good, though.
23:44:52 <shachaf> I suppose these are "learning accordions" or something?
23:44:53 <Gregor> shachaf: 60-bass = clearly shit
23:45:02 <Gregor> If it's not at least a 120 bass, it's not even worth consideration.
23:45:03 <shachaf> And 72?
23:45:06 <shachaf> OK.
23:45:19 <Gregor> Well, I say "at least", but they don't make more ^^
23:45:25 <Gregor> 72 is ALMOST worth consideration, 60 is simply not.
23:45:26 <shachaf> But piano accordions are horrible. :-(
23:45:36 <shachaf> Well, that page has 72 too.
23:45:38 <shachaf> Pianos are horrible. :-(
23:45:57 <Gregor> Plus, $1,000 for an accordion with no switches? Yeesh.
23:46:21 <GreyKnight> oerjan: so the point of http://www.mezzacotta.net/postcard/ is that there is a commentary but no actual comic?
23:46:53 <shachaf> Gregor: Should I learn to play the accordion?
23:47:07 <GreyKnight> How avant-garde
23:47:46 <Arc_Koen> hagb4rd: now that I think of it, I'm pretty sure I said something along the lines of "you guys make me nervous" on this channel before
23:47:51 -!- augur has joined.
23:47:57 <Arc_Koen> I think we're all nervous and someone is playing us
23:48:16 <Gregor> shachaf: I ♥ the accordion, but do what you want X-D
23:49:44 <hagb4rd> maybe it's elliott
23:50:08 -!- carado has quit (Ping timeout: 246 seconds).
23:50:08 <hagb4rd> no
23:50:28 <olsner> shachaf: you probably shouldn't, but do what you want
23:50:45 <GreyKnight> Arc_Koen: playing you... like an accordian
23:50:56 <GreyKnight> elliott: please stop making people nervous thx
23:51:28 <Arc_Koen> I doubt I'm that flexible
23:51:53 <hagb4rd> greyknight: it's not bad at all
23:52:05 <hagb4rd> no it's good!
23:52:16 <hagb4rd> at least sometimes
23:52:24 <Arc_Koen> (I wanted to make a joke about how accordions can blow... a lot of... air... but the flexible thing is all that came to mind)
23:52:27 * hagb4rd is perfectly saying nothing
23:52:37 <GreyKnight> This must be some strange usage of the word "nervous" with which I was not previously familiar :-P
23:54:52 <hagb4rd> hm.. dict.leo.org served a few translations of which a few seem to fit that context
23:55:53 <hagb4rd> nervous / exited would be related
23:55:57 <hagb4rd> excited
23:56:30 <Arc_Koen> exited
23:56:33 <GreyKnight> hm that would usually be associated with anticipation
23:56:33 <Arc_Koen> as in... departed?
23:56:39 <Arc_Koen> "you guys make me departed"
23:56:54 <GreyKnight> You guys made carado depart
23:57:31 -!- augur has quit (Remote host closed the connection).
23:57:40 <GreyKnight> hagb4rd: quite often it would be put as "nervous but excited" too; "nervous" by itself is usually negative
23:58:26 -!- augur has joined.
23:58:36 <hagb4rd> yea it|s amibivalente
23:58:41 <hagb4rd> -e
23:58:45 <Arc_Koen> excitedly nervous?
23:59:05 <Arc_Koen> oerjan: now is perfect time for PORTMANTEAUX
23:59:21 <olsner> portmontage
←2013-01-09 2013-01-10 2013-01-11→ ↑2013 ↑all