00:00:00 well 00:00:01 i think no 00:00:05 I know for a fact you've said cocks things in #esoteric 00:00:10 but that cocks thing in particular 00:00:53 Bike: it seems like the thing in this paper is that without the weak interaction you can't have core collapse supernovae, so it's way harder to get interesting elements out into the universe 00:00:54 i was in kmc's Caltech qdb before being accepted to Caltech 00:00:55 i hope we run into l-form aliens 00:00:57 just for fun 00:01:17 Fiora: hmmmmmmmm i remember some stuff about how to form carbon without the usual reactions 00:01:42 unfortunately it was in a pop sci book i don't have 00:01:44 it's not about forming but about getting out of stars, I think 00:01:47 the links were, i mean 00:02:06 like without the weak interaction you'd get a bunch of white dwarfs, I think? I'm not sure 00:02:27 I wonder how bigger stars would collapse 00:02:36 the point seems to be that proton + electron -> neutron is necessary for neutronium to form 00:02:43 and requires the weak force 00:02:50 there's also the thing that neutrinos are a huge part of the supernovae process, I think 00:02:53 like, neutrino pressure 00:02:54 yeah 00:03:08 i assume there'd still be gravitational collapse though? 00:03:14 yeah... geez. that is an interesting question 00:03:18 how would it work 00:03:26 like what would happen if you had a graviationally collapsing iron core 00:03:31 but no weak force 00:03:50 kmc: you're welcome 00:05:12 "weakless universe" sounds kinda cool though 00:05:36 bike wants a strong universe 00:05:47 i wonder what security holes my 2004 era perl quote webapp had 00:06:45 CSRF for sure 00:07:40 csrf is a really annoying sort of bug because you get it from not doing something, as opposed to doing something wrong 00:08:00 yes 00:08:06 (as opposed to, say, buffer overflows, xss, etc.) 00:08:31 i wonder whether there are unknown classes of bugs like that that exist everywhere and no one knows about 00:08:35 why would you want it to be secure by default, why not write a secure code for it 00:08:38 Fiora: maybe i want a universe that isn't so hardassed about strength/weakness dichotomies!! 00:08:53 xss is also framed as from not doing something, "not escaping" 00:09:08 where's the mediocre force, i ask you. the "ok at friendly boxing but can't run" force 00:09:09 that's just silly though 00:09:15 sure 00:09:22 Bike: electromagnetic, right? 00:09:25 it happens because web developers only acknowledge one type 00:09:56 right what 00:10:11 it's the medium force 00:10:13 the mediocre force 00:10:27 i thought gravity was the weakest force 00:10:38 or protons are really light or whatever. 00:10:57 yeah, gravity is like 10^30 something times weaker 00:10:59 than the other 3 00:11:09 "the kind of bullshit force, tbh" 00:11:16 the why bother force 00:11:42 Gravity is so weak i don’t even bother to submit to it. 00:13:38 it's only a theory, right? 00:14:43 i don't click pdfs usually <-- i'm with Bike 00:14:59 I-I'll try to link the arxiv pages from now on instea.d.. 00:15:47 counterpoint: I click all pdfs 00:16:29 counterpoint: i click links whenever Bike doesn't 00:18:16 Fiora: weak is stronger than electromagnetic right? 00:18:40 i thought it was like strong > weak > electromagnetic >> gravity 00:19:02 aren't electromagnetic and weak secretly the same thing somehow 00:19:03 is it? I can never remember >_< 00:19:07 I thought weak was less 00:19:40 wikipedia says strong=10^38 00:19:44 electromangetic 10^36 00:19:46 weak 10^25 00:19:48 and gravity 1? 00:19:52 oh ok 00:20:03 that's a p. big difference 00:20:03 rename gravity superweak force imo 00:20:07 https://en.wikipedia.org/wiki/Fundamental_interaction 00:22:42 fuck you all 00:22:47 gravity's the best force 00:22:58 but gravity makes event horizons :< 00:23:01 quantum physicists just try to put it down because they can't really work it out 00:23:23 gravity more like depravity 00:23:28 the joke is that gravity is bad 00:24:20 `addquote you know, when people talk about emacs being an OS I doubt what they had in mind was that it needed a package manager 00:24:24 1064) you know, when people talk about emacs being an OS I doubt what they had in mind was that it needed a package manager 00:29:48 yay rust has or-patterns 00:30:18 or-patterns? 00:30:48 patterns that match either of two subpatterns 00:31:21 Oh, as in "p | q => ..." 00:31:31 What happens when they bind variables? 00:31:39 I guess I can test it. 00:31:42 they have to bind the same set of variables at the same types, I think 00:33:06 Looks right. 00:33:37 i'm reading the rust tutorial and also building rust 00:34:09 should I learn rust 00:34:12 maybe I asked that already 00:34:23 yeas 00:34:31 elliott: the tutorial is p. simple 00:34:41 kmc: I like how they're going to take "for" out of the language. 00:34:49 (And then put it back in with a different, more reasonable behavior.) 00:34:53 ok 00:34:59 i like that too, then, I guess? 00:35:15 The point is that it's not all that stable yet. 00:35:20 sure 00:35:20 "oh well" 00:35:32 my first job will be to rewrite all the for loops in Servo, I'm sure 00:36:05 I hear Option is actually represented as a potentially-null pointer at runtime. 00:36:13 i wonder why it has such curly-bracy, non-layout syntax. if it's what they really want or if it's some "people will be scared" thing 00:36:15 I don't know how Option> is represented. 00:36:31 You know how in C you can do things like foo(T *x) { if (x == NULL) return ...; ...; }, without introducing an extra level of nesting? 00:36:41 Is there a nice pattern-matchy of doing that safely? 00:37:12 elaborate? 00:38:01 If you were matching on Maybe, you would say fn foo(x: Maybe) { match x { Nothing => ...; Just(y) => ... } } 00:38:14 kmc: yeah rust's syntax seems erally ugly to me 00:38:17 And everything in the Just case is nested an extra level -- which probably means your entire function. 00:38:18 on a purely aesthetic level 00:39:06 -!- Nisstyre-laptop has joined. 00:39:43 "You're invited to Human API Hackathon (Jul 6, 2013 - Jul 7, 2013)" 00:39:50 Than Francisco 00:40:18 one day they'll hack that thon for good 00:40:41 will rust have rank-2 types..... 00:40:57 They have type-class-ish things which you can also use as a type and then they become existential. 00:40:58 -!- Bike_ has joined. 00:41:46 -!- sprocklem has joined. 00:41:49 does rust have polymorphic recursion.....i bet the answer is no 00:42:00 does rust support constructor classes...... 00:42:31 -!- Bike has quit (Ping timeout: 264 seconds). 00:42:34 kmc: I found the distinction between one-variant enums and structs kind of odd. 00:42:35 i think no 00:42:38 yes 00:42:42 I was just going to remark on that 00:42:48 -!- Bike_ has changed nick to Bike. 00:42:52 I guess it's because structs guarantee memory compatibility with C structs. 00:43:03 So I wonder whether it's better to use a one-variant enum when you don't care about that. 00:43:23 Or maybe you can get them to merge the two! 00:44:08 also it doesn't infer function arg / return types?? 00:44:43 well for top level 'fn' 00:45:01 it does infer them on lambdas, so I guess this amounts to enforcing a rule that GHC warns about anyway 00:45:31 With GHC it's still sometimes nice to write a function and then ask for its type. 00:45:37 sure 00:45:39 Though it's not all that common. 00:45:48 rusti doesn't support :t :'( 00:46:00 boo 00:46:29 The semicolon thing is kind of weird. 00:46:42 You can say { ...; x } or { ...; return x; } but not { ...; x; } 00:47:02 Seems like a very easy thing to accidentally write or forget a semicolon. 00:47:10 I guess x last isn't a statement, in the same waY? 00:47:15 I guess the typechecker would catch most of those kinds of bugs, though. 00:47:16 you can say the latter and it gives you a function returning () right? 00:47:21 Yes. 00:47:37 Well, or a block. 00:47:53 Er, a function. 00:47:54 Never mind. 00:51:09 do you get a warning for a spurious statement? 00:54:52 imo kmc should turn rust into haskell. 00:55:09 haskel über alles 00:55:18 did not care enough to fix typo, hth 00:55:18 rust is already k. haskell 00:55:29 Klansmen's? 00:55:34 c.c 00:55:39 people say "foo is haskell-inspired" a lot when they mean something like list comprehensions 00:55:46 yeah 00:55:51 but rust has more significant similarities than that 00:55:56 Haskell is the cool language to know and be inspired by and never use 00:55:58 of course maybe they're similarities to ocaml or whatever it is 00:56:09 but yeah I think rust is more substantial than that 00:56:12 some language that ends with an l 00:56:16 kmc: you forgot the space 00:56:17 in front of c.c 00:56:17 c.c.c 00:56:17 c.c 00:56:26 Go's interfaces whatever are supposed to be "haskell like" but the language doesn't even have polymorphism 00:56:32 ꙮ.ꙮ 00:56:35 I really doubt any part of Go is explicitly inspired by haskell 00:56:35 `quote haskell-like 00:56:37 870) i'm looking for a haskell-like programming language, meaning that it supports nesting multi-line comments 00:56:41 kmc, do you... have something against being inspired by haskell but not using it? 00:56:51 Phantom_Hoover: not really 00:56:52 read the cconversation man 00:57:04 i mean it's what i do 00:57:07 for the most part 00:57:16 the conversation wasn't giving context! 00:57:21 yeah it was 00:57:57 a complaint is with languages saying they're haskell-inspired when it's something boringer than inference and type constructors and stuff 00:58:28 oh 00:58:36 it's just kmc says that kind of thing a lot 00:58:43 he does that's true 00:58:51 yes I'm bitter and stuff 00:58:56 and PH is annoyed by it 00:58:56 buff 00:59:11 kmc: pigworker pointed out that type classes are a kind of program-inference-from-types, rather than type-inference-from-programs 00:59:19 i'll be really happy when i get into A Field and can feel dumb and behind the times about that instead of wih CS 00:59:30 shachaf: that's cool 00:59:39 Bike: I hear you're a biomathematician......... 00:59:53 come at me bro 00:59:57 isn't that what ian stewart is these days 01:00:27 oh i read one of that guy's books 01:00:30 ..................on biology 01:01:25 my tutor did his phd with him, on animal gaits 01:01:59 ooh oscillators 01:02:07 going to get on this plane soon 01:02:14 Look out for the snakes. 01:02:21 afk (maybe back once I'm on the plane?) 01:02:25 "A group-theoretic approach to rings of coupled biological oscillators." well then 01:02:41 yeah he has all that stuff on his walls 01:02:51 hmmmmmmmmmm did i read one of these papers, lessee 01:02:53 although he did it on insects so he also has a lot of those on his walls 01:03:04 it's quite weird really 01:03:06 insects are animals maaaaan 01:03:26 yes, he did it on them specifically rather than animals in geneal 01:03:27 *general 01:03:52 aww, my book on neuroethological robotics doesn't have any of these 01:03:57 clearly a new anthology is called for 01:07:33 antology 01:09:54 kmc: planes shouldn't ahve internet 01:09:55 it's unhjoly 01:10:12 oerjan: btw, op kmc. 01:10:55 oerjan: nop elliott 01:11:09 @dice 1d2 01:11:09 oerjan: 2 01:11:13 elliott: voice gregor. 01:11:19 uh 01:11:22 -!- ChanServ has set channel mode: +v Gregor. 01:11:22 don't voice Gregor 01:11:30 it's mandatory. 01:11:35 elliott: SORRY 01:11:36 elliott how can you fail your constituency like that! 01:11:42 oerjan: does 2 mean you op me instead 01:11:54 1d2 01:11:54 shachaf: 2 01:11:56 btw have you noticed ais523 left for good 01:12:00 No, he’ll nop you instead. 01:12:00 thxambdabot 01:12:02 elliott: it would if shachaf had said "op" instead of "nop" 01:12:24 an advantage of opping me is that i'm already in the access list 01:12:26 less work to just modify it 01:12:28 You haven’t nopped him yet, though. 01:12:35 ion: uh, yes he did 01:12:39 hasn't he, ion? hasn't he? 01:12:47 oerjan: the advantage of opping me is that i'm p. groovy 01:13:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:13:10 Oh, that kind of nop. 01:13:13 Fair enough. 01:13:43 `seen ais523 01:13:45 I want to buy more memory for my work computer :/ 01:13:47 2013-06-21 04:13:29: yeah, me not knowing how they work is a problem for working out ways to program with them, though 01:13:59 `seen ais523_ 01:14:04 not lately; try `seen ais523_ ever 01:14:20 elliott: hm it's been a while 01:14:43 his worldview was inadequate, obviously 01:14:57 just couldn't take the full force of Bike 01:15:07 oerjan: iirc the logs were down when he /parted forever, though. 01:15:41 the codu ones that is. 01:16:08 the logs that is, the logs that isn't, and the logs that may or may not be 01:16:42 shachaf: so are you made of vinyl 01:17:45 vinylly tagless 01:19:46 -!- Bike_ has joined. 01:21:11 elliott: this plane doesn't have internet, I'm just tethering while I'm still on the ground 01:21:36 kmc: that's really sad 01:21:41 you're really sad 01:21:44 (not really) 01:21:49 -!- Bike has quit (Ping timeout: 246 seconds). 01:21:51 it's true :( 01:21:56 can you send internet through flight radar 01:21:59 -!- Bike_ has changed nick to Bike. 01:22:01 i built rust 0.6 and i'm going to write some rust 0.6 code during this flight 01:22:11 I assume my knowledge will be woefully out of date by the time i land 01:22:12 i'm pretty sure you should find an exploit in the plane software while you're in the hair 01:22:19 air 01:22:23 do some movie shit 01:22:27 redirect to the bahamas 01:23:30 so like, by the time you land 01:23:34 your knowledge will be a bit rusty? 01:23:41 no shut up nooooo 01:23:46 * Fiora giggle 01:23:58 -!- SirCmpwn has quit (Quit: ZNC - http://znc.in). 01:24:11 Fiora: -____- 01:24:22 glad you got that in before you hit the air 01:24:55 hit the air running 01:25:01 i like the idea that kmc is learning rust on the flight in an emergency before the interview 01:25:12 like "oh shit, I don't actually know any rust" 01:25:21 yeah that's basically the case 01:25:22 is the process of learning rust "oxidizing"? 01:25:22 like 01:25:24 except s/interview/job/ 01:25:25 kmc is oxidizing on his flight 01:25:29 -!- SirCmpwn has joined. 01:25:30 whats the difference 01:25:34 well 01:25:36 fair point 01:25:38 job = really long interview that you get paid for 01:25:41 in an at will employment state 01:26:05 yeah some companies only hire through internship / contract work 01:26:13 which is a long interview that you get paid for 01:27:53 truly, isn't life an interview, in the large 01:28:26 `quote monad tutorial 01:28:27 372) oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life. 01:28:45 c.c 01:28:56 life is an interview for applying to madoka's^W heaven? 01:29:18 kmc i'm not sure you get the c.c thing 01:29:18 Who was that person who didn't watch PMMM yet 01:29:18 c.c.c 01:29:18 c.c 01:29:24 yessss sgeo 01:29:27 PMMMMMMMMMMMMMMM 01:29:52 I guess it's time for laptop to sleep now 01:29:56 see you all later 01:30:04 have fun a billion feet up 01:30:05 bye 01:30:07 bye byeegan 01:30:09 byyye~ 01:30:21 ∿ 01:32:55 i refuse to say bye 01:32:56 hi kmc 01:33:04 hi elliott ! 01:33:22 Fiora: the new kmc?? 01:33:32 `relcome Fiora 01:33:35 ​Fiora: 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.) 01:33:50 `pastelogs come Fiora 01:33:59 no shachaf.... remember what happened the last time we `*elcomed Fiora!! 01:34:09 I don't think that'll find WeLcOmE or WELCOME or all those things. 01:34:20 elliott: no...........what happened 01:34:26 fuck the18:19 pleez 01:34:29 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10777 01:34:52 hey remember Fiorara 01:34:53 ....? 01:34:58 I'm not kmc... 01:34:58 Fiorara was cool 01:35:06 fiorarararara? 01:35:17 Fiora: elliott said "hi kmc" and you said "hi elliott !" so the joke was that you were kmc. 01:35:25 That's all. 01:35:41 `run welcome shachaf | tr 'a-zA-Z' 'n-za-mN-ZA-M' 01:35:43 funpuns: Jrypbzr gb gur vagreangvbany uho sbe rfbgrevp cebtenzzvat ynathntr qrfvta naq qrcyblzrag! Sbe zber vasbezngvba, purpx bhg bhe jvxv: uggc://rfbynatf.bet/jvxv/Znva_Cntr. (Sbe gur bgure xvaq bs rfbgrevpn, gel #rfbgrevp ba vep.qny.arg.) 01:35:47 man 01:35:48 dark times 01:36:03 elliott: please arrange for uggc://rfbynatf.bet/jvxv/Znva_Cntr to be a valid url 01:36:13 invent a new protocol if you have to 01:36:17 shachaf: oh, sorry 01:36:24 Fiora: Why? 01:36:31 um.... for being confusing! 01:36:59 I think *I* was the confusing one here... 01:37:12 You should be mad at me for not apologizing. 01:37:42 ...? why would I be... 01:38:02 No reason. Never mind. 01:38:21 shachaf: https://addons.mozilla.org/en-us/firefox/addon/uggc-protocol/ hth 01:39:06 Meet the Developer: Eli the Bearded. Learn why uggc protocol was created and find out what's next for this add-on. 01:40:12 oerjan: tth 01:41:06 i am not sure whether that lone commenter has got the point. 01:41:35 *reviewer 01:42:06 is this bizarro shachaf 01:46:08 -!- sprocklem has quit (Remote host closed the connection). 01:47:07 -!- kgoret has quit (Quit: Lost terminal). 01:48:17 -!- aloril has quit (Ping timeout: 248 seconds). 02:01:54 -!- aloril has joined. 02:08:18 shachaf: Syntactically, it *is* a valid URL. 02:08:20 Tada! 02:08:33 yes 02:08:41 but you need like, a scheme, man. 02:08:58 Looks like it matches the generic schema. 02:10:27 I um, wish I knew what that commenter was trying to say 02:10:32 Almost wrote commentor. Thagora 02:16:58 Whoa. 02:17:04 Opus audio on a video file in the wild. 02:19:38 -!- sprocklem has joined. 02:20:54 woot 02:21:21 Also fun, Ubuntu's shipped version of mplayer does not support Opus in mkv. 02:21:33 How about mplayer2? 02:21:45 Dunno. 02:21:56 I just know mpv works just fine. 02:24:39 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 02:28:40 -!- lexande has left. 02:35:13 -!- Bike has quit (Ping timeout: 248 seconds). 02:37:15 -!- Bike has joined. 03:06:24 -!- oerjan has quit (Quit: Gnat). 03:35:23 >:D 03:38:24 http://retractionwatch.wordpress.com/2013/06/27/come-again-penile-strangulation-by-metallic-rings-retracted-for-duplication/ 03:51:50 -!- NihilistDandy has quit (Quit: NihilistDandy). 03:54:25 kmc: http://en.wikipedia.org/wiki/Rozellida pseudofungi!! 04:01:11 ion: little-known fact: that's how kmc got into haskell 04:01:16 (drugz joke) 04:01:25 krr-TSS 04:54:27 mnoqy............... 04:54:35 `smlist 04:54:37 smlist: shachaf monqy elliott mnoqy 04:55:03 mnoqy did you see the top of the page 04:56:44 shachaf: !!!!!! 04:57:00 very exciting and good 05:02:18 mnoqy: also this is a good comic 05:09:11 oerjan: Wait, did you @quit kappabot? 05:09:27 oerjan: That bot is in more channels than just this one, you know! @part is there for a reason! 05:14:36 shachaf: yes it is a good comic 05:15:44 mnoqy: hey what's the cps-encoding of newtype Fix f = Fix (f (Fix f)) 05:15:52 is it just newtype Fox f = Fox (forall r. f r -> r)............. that doesn't really sound right 05:16:38 depenmds on what you mean by cps-encoding & how faithful you want to be to that newtype 05:16:54 i want the boehm-berarducci-church-etc thing 05:17:04 which turns lists into foldr and all that 05:18:12 thhen thats it yes 05:18:20 you might want to read http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt if you havent 05:18:43 ok but that's kind of weird because isn't Fix f isomorphic to (forall a. (f a -> a) -> a) 05:19:49 oh ok i'll look 05:20:02 i forget the name for that other thing youre saying woops 05:20:12 i dont have "too much exposure" to it but ive seen it around 05:20:18 well that thing is just the type of fold 05:20:27 fol d:: Fix f -> (f a -> a) -> a 05:20:40 and you can fold with the "initial algebra" or whatever it is to get Fix back 05:20:56 thats what that paper is about :-) 05:21:07 its a tutorial on helping peopel get an understanding of that 05:21:17 ok 05:21:20 or rather a draft draft draft draft draft thereof 05:21:29 is (forall r. f r -> r) really ~ Fix f 05:21:32 like for instance consider f = Const Void 05:21:39 Fix (Const Void) ~ Void 05:21:49 but (forall r. Const Void r -> r) ~ (forall r. Void -> r) 05:21:54 Fix (Const Void) is uninhabited 05:21:55 i i may have oopsed BUT ALSO 05:21:59 theres the thing where 05:22:03 but (forall r. Void -> r) is inhabited 05:22:24 ill just pull up the actuall thing and well settile it once and for all 05:22:35 Lfix X. F X = All X. (F X -> X) -> X. 05:22:41 "th re r you have it" 05:22:50 06:18:44 ok but that's kind of weird because isn't Fix f isomorphic to (forall a. (f a -> a) -> a) 05:22:50 (i oopsed, oops) 05:22:57 looks like the truth was with us all along.... 05:22:57 Yes I geT it 05:23:07 elliott: p. sure edwardk said it was once 05:23:12 but he also said "in haskell" 05:23:23 and there's def. a data/codata thing going on here so maybe that's related?? 05:23:48 because for codata you have (exists a. (a, a -> f a)) ~ Fix f "or something like that" 05:24:02 you can find the eqn for that in the .txt too :) :) 05:24:03 i think that's the least/greatest fixed point thing 05:24:11 mnoqy: HEY I'M GETTING TO THE TXT OK 05:25:12 mnoqy: sorry for yelling :'( 05:25:44 i just dont want to make the mistake again of seeing something that looks sort of like the right thing and saiyng "yes thats the right thing" when really its not 05:26:12 wait which thing are you talking about 05:28:22 21:26:10 newtype Mu f = Mu (forall a. (f a -> a) -> a); data Nu f = forall a. Nu a (a -> f a) -- build mappings from Mu f -> Nu f and vice versa given Functor f 05:28:44 elliott: Nu (Const Void) also has exactly one inhabitant 05:29:10 :t Void 05:29:11 Not in scope: data constructor `Void' 05:29:21 Bike: data Void 05:29:25 (I.e. a type with no inhabitants.) 05:29:30 yeah i know 05:29:35 just wondering how it like looks 05:29:37 :k Void 05:29:38 Not in scope: type constructor or class `Void' 05:29:41 @let data Void 05:29:42 Defined. 05:29:42 :k Void 05:29:43 * 05:29:48 deep 05:29:54 :k Integer 05:29:55 * 05:30:11 Void can be of any kind with PolyKinds on I think 05:30:14 Gfix X. F X = Exists X. (X -> F X) * X, 05:30:20 whats up with edwardk's Nu 05:30:39 mnoqy: he got it backwards 05:31:00 ah that makes sense 05:31:02 oh that explains why my file says 05:31:03 data Nu f = forall a. Nu a (a -> f a) 05:31:06 because edwardk said it 05:31:09 the Nu in his recschemes package is 05:31:12 data Nu f whereSource 05:31:13 Constructors 05:31:13 Nu :: (a -> f a) -> a -> Nu f 05:31:17 oh wait 05:31:20 ^^good copy paste ^^ 05:31:22 maybe he didn't get it backwards 05:31:28 no i'm the one who got it backwards just now 05:31:34 help 05:31:35 but it got it correct earlier 05:31:41 when i said (exists a. (a, a -> f a)) 05:32:33 anyway it makes perfect sense 05:32:37 yes 05:32:38 it's just building up a tree and all that 05:33:18 elliott: wait a minute 05:33:25 elliott: i misunderstood again! 05:33:35 (forall r. f r -> r) isn't (forall r. (f r -> r) -> r) at all 05:33:47 I really do doubt that (forall r. f r -> r) is right. 05:33:50 But why isn't it? 05:36:01 Oh. 05:36:13 because i'm bad at things 05:36:32 data Foo a = Foo a ---> newtype Foo a = Foo (forall r. (a -> r) -> r) 05:36:56 data Foo f a = Foo (f (Foo a)) ---> newtype Foo f a = Foo (forall r. (f r -> r) -> r) 05:37:01 Obviously it needs to be an argument. 05:37:21 elliott: OK, so "church"(/boehm-berarducci) encoding of Fix gives you Mu. 05:37:59 Is there a cochurch encoding that gives you Nu? 05:38:38 data Hi a = Hi a ----> data Ho a = forall x. Ho x (x -> a) -- totally making things up right now 05:39:47 OK, I guess there's no point to this encoding. 05:40:18 -!- sebbu2 has joined. 05:43:14 -!- sebbu has quit (Ping timeout: 246 seconds). 05:55:47 http://en.wikipedia.org/wiki/Wikipedia:Department_of_Fun 05:56:00 https 05:56:28 https://en.wikipedia.org/wiki/Wikipedia:Department_of_Https 05:56:39 Wikipedia does not have a project page with this exact name. 05:58:37 ok mnoqy i'm going to read that txt file now 05:58:47 ok 05:59:17 mnoqy: what does 'only allowing recursion in positive position' translate to in logic 05:59:31 logic? 05:59:42 sorry that's nonsense 05:59:58 i can't say anything but nonsense ;'" 06:01:40 as far as the category theory goes youre just dealing with endofunctors...recursion in the negative position translates to a contravatiant position and you cant do stuff there 06:02:05 yes but i mean 06:02:06 well 06:02:08 what do i mean 06:02:33 you get all kinds of paradoxes when you have self reference things 06:02:36 that's what i'd like to know 06:02:55 and curry's paradox is the kind of thing that you get with negative position recursion right 06:03:06 and that sort of type lets you do r. evil things if you allow it 06:03:17 but the types with plain old positive recursion don't 06:03:22 sure? 06:03:29 does that mean you can allow "certain kinds of self reference" or something 06:03:38 i don't know 06:23:16 -!- FreeFull has quit (Quit: Gotta go). 06:31:45 -!- sacje has quit (Quit: sacje). 06:41:10 -!- sprocklem has quit (Remote host closed the connection). 07:25:27 -!- Phantom_Hoover has joined. 07:32:49 -!- Bike has quit (Ping timeout: 246 seconds). 08:28:44 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 08:38:12 welp i tried to write some rust code 08:38:17 and got my brain twisted in I think a good way? 08:38:19 time will tell 08:38:32 I was hoping the second line would be "this is not the job for me" 08:38:38 first line had that kinda resignation to it that suggested the possibility 08:38:42 haha 08:39:06 one cool thing is, the type of a reference includes the region over which it's valid, and you can actually name and bind these regions 08:39:26 so a function can return a reference which is valid as long as a particular reference argument is 08:39:58 it's the 'r here: fn get_x<'r>(p: &'r Point) -> &'r float { &p.x } 08:41:22 I tried to implement a lambda calculus interpreter without using any managed boxes but I think that's impossible 08:41:45 without writing your own GC i mean 08:42:17 hi kmc 08:42:22 hichaf 08:42:23 welcome to californeegan 08:42:36 have you been to a california welcome center yet 08:42:48 elliott: "had that kinda resignation to it that suggested that kinda resignation" hth 08:44:00 oh also in rust the sugar for (*x).y is x.y not x->y 08:44:02 "its weird" 08:44:28 yes that's "the cool thing to do" 08:44:31 go does that too i think 08:44:52 mm 08:45:01 well I suppose C doesn't do that because a C compiler is allowed to be dumb as rocks 08:45:02 just like python............... 08:45:24 but more modern languages might want to avoid it because more overloaded syntax => more bad programs typecheck 08:45:29 but maybe there isn't much risk of that in this case 08:46:06 my bag came off the carousel so afk again 08:46:18 adiuaf 09:05:50 -!- epicmonkey has joined. 09:22:53 I guess I officially live in San Francisco now :) 09:23:31 `relcome kmc 09:23:37 ​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.) 09:23:38 \o/ 09:23:44 uh \o/ 09:23:45 | 09:23:45 /| 09:23:46 finally a proper use of `relcome 09:23:50 yes 09:23:56 wow myndzi doesn't account for voice 09:24:02 viz. https://sphotos-a.xx.fbcdn.net/hphotos-prn1/1011817_10100526803867865_340272139_n.jpg 09:24:10 yes 09:24:13 shachaf: that's what you get for setting empty nick whatever 09:26:45 rust won't let me make a thing like an orphaned instance :( 09:27:03 Really? 09:27:09 Well, orphaned instances are evil. 09:27:14 might relate to the fact that its polymorphism is accomplished through recompiling for each type (a la C++) rather than runtime parametric erasure whatever 09:27:35 but maybe not 09:28:42 kmc: you should join #rust on irc.mozilla.org 09:29:00 i just might do that 09:29:19 you p. know a lot of the p. there anyway 09:29:24 m 09:29:28 d 09:31:24 https://www.imperialviolet.org/2013/06/27/botchingpfs.html 09:31:36 -!- mnoqy has quit (Quit: hello). 09:43:39 so you're working in sf, right? not coming down to mv? 09:43:52 right, except for the first day 09:44:07 and maybe others from time to time? dunno 10:25:51 Wow, the Mongol conquests killed like 17% of the world population at the time. 11:02:26 -!- dessos has left. 11:16:54 -!- sebbu has joined. 11:20:18 -!- sebbu2 has quit (Ping timeout: 256 seconds). 11:25:47 -!- sacje has joined. 11:40:08 -!- Nisstyre-laptop has quit (Ping timeout: 256 seconds). 12:12:25 -!- nooodl has joined. 12:42:43 thought experiment: would agda still be cool if it used pascal-style syntax? 12:42:44 imo: no 12:54:58 -!- sacje has quit (Quit: sacje). 13:05:41 `olist 896 13:05:43 olist 896: shachaf oerjan Sgeo FireFly 13:10:00 good `olist 13:12:57 -!- MindlessDrone has joined. 13:25:59 -!- oerjan has joined. 13:33:56 oerjan: hi 13:37:36 hi there 13:37:42 -!- oerjan has quit (Quit: leaving). 13:38:11 -!- oerjan has joined. 13:39:09 oh hm maybe... 13:39:12 -!- oerjan has quit (Client Quit). 13:39:29 -!- oerjan has joined. 13:40:52 there we are, back to leguin 13:41:15 (the norwegian server seems to be permanently refusing me) 13:41:36 and the rotation keeps stupidly sending me across the atlantic 13:42:35 you could just specify a server... 13:42:50 elliott: um i just did 13:42:56 to leguin, as i said. 13:43:14 i had gibson in norwegian before, which has refused connections for weeks. 13:43:21 *in norway 13:43:33 oh ok 13:46:42 oerjan: did you see the olist 13:46:44 good olist 13:47:31 not yet 14:04:20 -!- olsner has quit (Quit: Leaving). 14:07:01 -!- sacje has joined. 14:07:23 oerjan: That bot is in more channels than just this one, you know! @part is there for a reason! 14:07:52 oerjan: That bot is in more channels than just this one, you know! @part is there for a reason! <-- oops sorry :P 14:12:25 oerjan: I interpreted "i had gibson in norwegian" to mean that you had a collection of Norwegian translations of Gibson's novels, and it puzzled me a whole lot as to how exactly were they "refusing connections". 14:12:43 "I'd really like to read this book, but it's refusing connections." 14:12:51 I guess in this e-age of e-books that might happen. 14:15:14 probably 14:16:33 oerjan: exercise: write a function to convert Mu f to Nu f 14:21:59 -!- Nisstyre-laptop has joined. 14:24:36 shachaf: i don't even remember what those are hth 14:25:07 newtype Mu f = Mu { runMu :: forall a. (f a -> a) -> a } 14:25:16 data Nu f = forall a. Nu a (a -> f a) 14:25:16 hth 14:39:47 ACCORDING TO WIKIPEDIA, TODAY IS AN INTERNATIONAL CAPS LOCK DAY. 14:40:32 every day is an international caps lock day 14:41:00 SO, UH, WHAT'S MU SUPPOSED TO BE? 14:42:02 LIKE, UH, IT TAKES A FUNCTOR ALGEBRA THINGY AND THEN RETURNS THE UNDERLYING THING. 14:42:03 tswett: folds 14:42:39 also it's my birthday hth 14:42:43 oh 14:42:49 LIKE, WHY DON'T WE TAKE [] AS AN EXAMPLE. Mu [] IS forall a. ([a] -> a) -> a, RIGHT? 14:42:52 are you a billion years old now 14:42:57 no, just 43 14:43:27 Happy oerjan++ ! 14:43:44 tswett: [] is a complicated example............. 14:44:05 ALL RIGHT, HOW ABOUT Maybe? 14:44:11 ok 14:44:27 Mu Maybe, THEN, WOULD BE forall a. (Maybe a -> a) -> a. 14:44:27 oerjan: happy birthy 14:44:42 OF COURSE, A (Maybe a -> a) COULD BE PRETTY WEIRD. 14:45:11 ANYWAY, I GUESS THE ONLY THING YOU CAN DO, IF YOU'RE THIS MU VALUE THING, IS PASS Nothing INTO THAT FUNCTION. 14:45:11 -!- NihilistDandy has joined. 14:45:18 hang on hang on 14:45:26 that's the only thing you can do *at first* 14:45:34 THEN YOU'LL GET AN a, WHICH YOU CAN RETURN, OR YOU CAN PUT IT INTO Just AND RETURN THE RESULT... 14:45:37 but after you do that you get an a value 14:45:38 right 14:45:44 OR YOU CAN PUT *THAT* INTO Just AND RETURN THAT RESULT, AND SO ON. 14:45:48 yes 14:45:58 so (Mu Maybe) is... 14:46:10 EFFECTIVELY THE NATURAL NUMBERS. 14:46:14 right 14:46:21 what about Nu Maybe? 14:46:35 exists x. (x, x -> Maybe x) 14:47:27 YEAH, THAT. 14:47:50 what can you do with that? 14:48:11 YEAH, THAT LOOKS LIKE THE NATURAL NUMBERS AS WELL. TAKE THE x, PASS IT INTO THAT FUNCTION, EITHER YOU GET Nothing OR YOU GET Just SOMETHING. 14:48:19 right 14:48:27 or............................................you never get Nothing!! 14:48:27 IF IT'S THE LATTER, YOU CAN PUT IT INTO THE FUNCTION AGAIN, MAYBE YOU'LL GET Nothing THIS TIME, MAYBE YOU'LL GET Just AGAIN... 14:48:46 RIGHT. IT'S THE-NATURAL-NUMBERS-PLUS-INFINITY. 14:48:52 THE CO-NATURAL NUMBERS, AMIRITE? 14:49:07 SINCE, LIKE, ISN'T THIS EFFECTIVELY A COINDUCTIVE DATA TYPE? 14:49:07 ok 14:49:32 yes 14:49:39 so now write a function to turn Mu into Nu 14:49:41 WHAT ABOUT MU, CAN THAT ALSO BE INFINITY? 14:49:52 in haskell it can.....since haskell is ""confused""" 14:50:34 HM. TO ME IT ALMOST KIND OF SEEMS LIKE A COINCIDENCE THAT THOSE THINGS ARE THE SAME THING. 14:50:36 BUT IN ANY CASE... 14:51:47 MU IS A FUNCTION TAKING THE ALGEBRA THINGY AND PLAYING WITH IT AND RETURNING THE ONE WHATEVER THING. 14:52:10 WHEREAS NU IS JUST THE PART THAT GOES IN BETWEEN OR WHATEVER. 14:52:37 shachaf: elliott: thanks 14:53:57 oerjan: in return you can outlaw international caps lock day in the channel 14:54:29 sgtm 14:54:59 ONE THING THAT THE MU COULD BE, I GUESS, IS \f -> f . Just . f . Just . f . Just . f . Just . f $ Nothing, AYE? 14:55:22 tswett: International Caps Lock Day has been outlawed in #esoteric 14:55:33 Now it's time For international shubshub Day. 14:55:48 What's that? 14:56:06 you know, we Never Figured it out 14:56:26 Is It All Right If I Just Capitalize Every Word? 14:56:41 That's Not how It work 14:56:41 s 14:56:46 I dunnO, I don'T thinK thaT woulD bE thE besT ideA pragmaticallY speakinG. 14:57:00 Anyway, what could the Nu be. 14:57:27 Anyway, yes, sure, That's a Good Mu value. 14:57:33 :t \f -> f . Just . f . Just . f . Just . f . Just . f $ Nothing 14:57:34 (Maybe b -> b) -> b 14:57:49 Going backwards... taking a layer off each time... why would you go backwards, why would that be the same thing... 14:58:04 Is it really possible to convert Mu into Nu or is this just an Elaborate practical joke... 14:58:11 > (\f -> f . Just . f . Just . f . Just . f . Just . f $ Nothing) (maybe 0 (+1)) 14:58:15 4 14:58:31 It's really Possible to do it. 14:59:20 I mean, if you have the fixed Point of a Type, like, a Data Constructor representing that, then it seems like you can do it. 14:59:41 Like, define data Fix f = F (f (F f)). 14:59:45 well You can Make Whatever data Constructors you Want 15:00:01 Then, uh, the Nu is... 15:00:03 (but Say No To negative Recursion) 15:00:32 that shachaf is always so positive all the time. 15:00:35 (F . Just . F . Just . F . Just . F . Just . F $ Nothing, \(F x) -> x)? 15:01:07 In which Case it seems pretty clear how to convert the Mu into the Nu. Just pass F in and then the other Thing is always that Thing. 15:01:21 (themu F, \(F x) -> x) 15:01:32 Yep. 15:01:34 If my Syntax is correct; I'm not sure you can put the Lambda Symbol directly after a Comma like that. 15:01:50 :t (\x -> x, \y -> y) 15:01:51 (t -> t, t1 -> t1) 15:02:00 The syntax Is Correct but haskell Doesn't Have first-Class Existentials 15:02:01 Yep, you can do that. 15:02:11 So You Would instead make a Data Constructor In ghc 15:02:23 data Nu f = forall a. Nu a (a -> f a) 15:02:35 Now convert Nu into Mu! 15:02:52 Oh Boy. 15:03:10 Right, it's \themu -> Nu (themu F) (\(F x) -> x). 15:03:29 So right. A Mu is effectively a forall a. (f a -> a) -> a, aye? 15:03:55 Yes. 15:04:07 newtype Fix f = Fix { unFix :: f (Fix f) } 15:04:11 Fix :: f (Fix f) -> Fix f 15:04:18 unFix :: Fix f -> f (Fix f) 15:04:24 SO YOU'VE GOT THIS THING, YOU DOn't know what it is, and you have to, like, effectively use it to guide your Behavior. 15:04:46 What Thing 15:05:06 The first Argument to the Nu Constructor. 15:05:14 also If you Want A Bonus exercise try Turning Nu Into Mu 15:05:16 `quote shubshub 15:05:19 750) STOP CAPITALIZING It's making me feel weird the I has to be capitilized its proper grammer 15:05:37 And then the other Thing is, of course, the second Argument to the Nu Constructor. 15:05:38 oerjan: happy birthy 15:06:13 shachaf: happy Birthday to you. Happy Birthday to you. It is likely that quoting any more of the Song would be an Infringement of Copyright. 15:06:24 B'yeah. 15:06:30 i Heard That was Just A rumour 15:06:47 Oops That was improper Grammer 15:07:02 haha, I remember 750 15:07:30 is shubshub the batch script esolang guy 15:07:37 I guess it's essentially, like, you have an a, and an (a -> f a), and an (f b -> b), and you have to appropriately produce a b. 15:07:55 ooh yes 15:08:03 Oh, and you know that the f is Maybe, of Course. 15:08:59 i googled his name and found http://www.youtube.com/watch?v=WOUKwJYhdss wow 15:10:16 esoteric/2012-04-28.txt:10:24:19: I Just added capital lettering to !Py!Batch 15:10:26 So, keep operating on the a until you've gotten rid of all of the, like, a, and then do the same thing in reverse. 15:11:05 s/thing/Thing/ 15:11:36 So the first Thing we need is (a -> (a -> Maybe a) -> Fix Maybe). 15:11:56 And that's just, uh, what should I call it. How about shake. 15:13:18 Lemme interchange the arguments, so it's ((a -> Maybe a) -> a -> Fix Maybe). 15:13:24 shake f x = fmap (shake f) (f x)? 15:13:38 No, we need more constructors. 15:13:48 shake f x = Fix (fmap (shake f) (f x))? 15:14:29 s////////// 15:14:31 Looks right as far as I can tell. 15:14:37 -!- Koen_ has joined. 15:14:53 Then you just need to do the reverse. Let's call that one scrunch. 15:15:46 With a Type along the Lines of (Fix Maybe -> (Maybe b -> b) -> b). Yeah, that sounds easy. 15:16:24 I think we should interchange the Arguments again. ((Maybe b -> b) -> Fix Maybe -> b). 15:16:49 by the way you can do hylo :: Functor f => (f b -> b) -> (a -> f a) -> (a -> b) if you prefer 15:17:38 (Which is the same thing, of course.) 15:17:41 hi lo 15:18:33 scrunch f t = f (fmap (scrunch f) (unFix t)) 15:18:54 So you just need to shake and then scrunch. 15:23:17 he wanted to shake my hand but then I scrunched his fingers so hard there was blood everywhere 15:23:47 The metaphor is... a T-shirt or something. 15:23:57 If you want to turn a T-shirt into a hockey puck, what do you do? 15:23:59 You get the idea. 15:24:18 All right, I mUST LEAVE YOU GUYS FOR THE TIME BEING. 15:51:36 nooodl: thanks 15:56:12 itt t-shirts, hockey pucks and burritos 15:57:29 kmc: your job is to find the best place in sf for a vegetarian burrito btw 16:10:00 is shachaf... a vegetarian 16:10:17 no nouning, please 16:10:21 shachaf is vegetarian 16:10:24 it sounds like the kid in the apartment above has recently acquired a marble or something similar. 16:10:47 so, after all, that is what will finally be the end of me. 16:10:59 too many marbles. 16:11:15 just lose some? 16:11:37 it has to be the ones making the noise, Phantom_Hoover 16:18:34 -!- Gracenotes has quit (Ping timeout: 256 seconds). 16:21:29 -!- mnoqy has joined. 16:38:30 -!- FreeFull has joined. 16:49:38 -!- Bike has joined. 16:54:23 -!- impomatic has quit (Read error: Connection reset by peer). 17:01:16 -!- itsy has quit (Read error: Connection reset by peer). 17:06:41 -!- impomatic has quit (Read error: Connection reset by peer). 17:08:00 -!- impomatic has quit (Read error: Connection reset by peer). 17:49:48 -!- Gracenotes has joined. 17:54:55 -!- Gracenotes has quit (Remote host closed the connection). 17:55:14 -!- Gracenotes has joined. 18:00:33 -!- epicmonkey has quit (Ping timeout: 248 seconds). 18:13:13 -!- conehead has joined. 18:18:37 shachaf is no-meat-food-seeky 18:37:47 -!- Gracenotes has quit (Remote host closed the connection). 18:55:04 can you even be a vegetarian if you're jewish 19:00:33 -!- olsner has joined. 19:05:53 -!- mnoqy has quit (Quit: hello). 19:07:30 I had to stop being vegetarian recently. I feel bad about it, but i have to prioritize my health over the wellbeing of production animals. As a health issue i have (had for years before i even began vegetarianism) i have real trouble getting things done. Due to that i just didn’t manage to take care of the increased effort to get all the nutrition i need. 19:08:23 -!- epicmonkey has joined. 19:52:34 -!- Nisstyre-laptop has quit (Quit: Leaving). 20:05:37 being vegetarian was fun 20:05:43 but meat is SO GOOD 20:07:02 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 20:29:47 I haven’t really got used to the taste of meat yet, it still feels subjectively disgusting. But that’s just a matter of getting used to it again. OTOH, i don’t think the bad conscience is going to go away. :-P 20:34:37 -!- epicmonkey has quit (Ping timeout: 276 seconds). 20:38:09 just start with something easy, like drinking chilled pig blood, and then slowly move up to hunting squirrels and such 20:41:37 -!- sivoais has quit (Ping timeout: 248 seconds). 20:55:48 ion: wait... are you saying you've NEVER eaten meat before? 20:57:17 koen: I have. 20:57:44 I stopped around 13 years ago. 20:59:43 oh okay that's a long time 21:02:50 Enough for the desire to turn to disgust. 21:22:43 Do the Component Object Model and the Common Language Infrastructure have anything to do with each other? 21:26:42 tswett: hello sir 21:26:51 i would like to purchase an internet 21:26:53 Hi coppro. 21:26:55 do you have any available? 21:27:00 Uh, lemme think. 21:27:20 I don't have any internets here at the moment, but I could create one given... let's say about three to six months. 21:28:28 unfortunately, that timeline is unacceptable to me 21:41:45 -!- MindlessDrone has quit (Quit: MindlessDrone). 21:45:19 -!- tertu has joined. 21:45:47 -!- Bike has quit (Ping timeout: 246 seconds). 21:47:54 -!- Bike has joined. 21:48:12 -!- TeruFSX2 has quit (Ping timeout: 246 seconds). 22:05:16 i suggest going for an intern e.t. instead hth 22:21:44 What does hth stand for again? 22:21:50 hth, hth 22:21:54 @wn hth 22:21:55 No match for "hth". 22:22:02 `? hth 22:22:04 hth is help received from a hairy toe. It is not at all hambiguitous. 22:22:23 Hairy toe help. Got it 22:27:34 shachaf: i will let you know 22:29:04 -!- zzo38 has joined. 22:31:26 -!- Gracenotes has joined. 22:39:06 -!- Bike has quit (Ping timeout: 252 seconds). 22:39:54 -!- Bike has joined. 22:44:13 -!- Gracenotes has quit (Ping timeout: 246 seconds). 22:44:39 -!- Gracenotes has joined. 22:52:08 -!- Gracenotes has quit (Ping timeout: 256 seconds). 23:05:52 -!- TeruFSX2 has joined. 23:09:08 -!- tertu has quit (Ping timeout: 256 seconds). 23:17:57 coppro: I recommend taking your business elsewhere, hth. 23:18:05 elliott: I'm so glad you're not a baby any more. 23:19:33 he isn't? 23:20:14 Nope. He's two years old now. 23:20:20 wow 23:20:22 -!- sebbu2 has joined. 23:22:43 -!- sebbu has quit (Ping timeout: 264 seconds). 23:40:27 -!- Koen_ has quit (Quit: Koen_). 23:44:23 -!- Sgeo has quit (Ping timeout: 240 seconds). 23:45:57 -!- Sgeo has joined. 23:49:44 -!- sarasic has joined. 23:50:14 -!- Gracenotes has joined. 23:50:20 @quote like.poetry 23:50:20 DavidJacobs says: Code is like poetry; most of it shouldn't have been written. 23:51:01 (belatedly reading HWN) 23:54:59 -!- sarasic has left. 23:58:44 -!- Gracenotes has quit (Ping timeout: 246 seconds).