00:02:15 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:14:27 -!- oerjan has quit (Quit: Nite). 00:16:09 -!- Bike has joined. 00:21:40 -!- nooodl has quit (Quit: Ik ga weg). 00:23:25 -!- Sprocklem has joined. 00:29:56 -!- Taneb has quit (Quit: Leaving). 00:32:20 -!- Sgeo has joined. 00:36:30 -!- augur has quit (Remote host closed the connection). 00:37:05 -!- augur has joined. 00:42:07 -!- augur has quit (Ping timeout: 272 seconds). 00:45:09 Going to go cry in a corner about the betrayal of a language that I was starting to like 00:45:10 http://pastie.org/8496948 00:46:20 shot through the heart AND YOU'RE TO BLAME 00:52:37 Why is the movement lobe so laggy 00:53:48 -!- yorick has quit (Remote host closed the connection). 00:54:05 Oh, ok, tht's easy to fix 00:55:18 I think im going to create a language, where you just hit the keyboard with your fist randomly 00:55:30 like, aim for a with your fist, and that will me like + for brainfuck 01:07:10 -!- adu has joined. 01:09:27 -!- tertu has quit (Ping timeout: 246 seconds). 01:14:55 -!- typeclassy has quit (Ping timeout: 246 seconds). 01:33:02 -!- tertu has joined. 02:06:57 -!- augur has joined. 02:19:51 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 02:20:09 -!- conehead has joined. 02:24:45 JesseH: so the commands will be clusters of letters? and the interpreter tries to guess where one cluster ended and the next one started? 02:32:13 -!- tertu has quit (Ping timeout: 272 seconds). 02:34:49 -!- Sprocklem has quit (Ping timeout: 240 seconds). 02:35:37 -!- tertu has joined. 02:45:52 -!- typeclassy has joined. 02:48:08 -!- madbr has joined. 02:49:11 -!- adu has quit (Quit: adu). 02:56:53 -!- typeclassy has left ("ERC Version 5.3 (IRC client for Emacs)"). 03:00:41 -!- adu has joined. 03:19:38 -!- tertu has quit (Read error: Connection reset by peer). 03:58:56 -!- tertu has joined. 03:59:41 -!- tertu has quit (Read error: Connection reset by peer). 04:04:48 -!- doesthiswork has joined. 04:51:27 -!- adu has quit (Quit: adu). 05:20:45 -!- doesthiswork has quit (Quit: Leaving.). 05:58:27 -!- conehead has quit (Quit: Computer has gone to sleep.). 06:02:19 quintopia, indeed 06:04:55 what 06:04:57 oh 06:05:00 damn 06:05:15 where is zzo38 when you need him? 06:05:21 (inb4 "at Canada") 06:05:28 the moo- oh, sorry 06:07:22 -!- muahaha has joined. 06:07:28 -!- muahaha has left. 06:20:56 -!- Sgeo_ has joined. 06:22:56 -!- Sgeo has quit (Ping timeout: 240 seconds). 06:28:17 -!- madbr has quit (Quit: Rouringu de hajikunda!). 06:48:24 -!- augur_ has joined. 06:51:57 `relcome shachaf 06:52:02 ​shachaf: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 06:52:05 Finally! 06:52:53 -!- augur has quit (Ping timeout: 272 seconds). 06:55:52 what? 06:56:16 I don't think I've been `welcomed before. 06:56:32 so you just made it yourself 06:59:48 where is oerjan 07:00:09 `wercome shachaf 07:00:11 shachaf: エソテリックプログラミング言語のディザインとデプロイメントの国際な場所へようこそ!詳しく、ウィキを見て: http://esolangs.org/wiki/Main_Page。(他のエソテリック、irc.dal.netの#esotericへ) 07:00:28 now someone else has welcomed them. happy? 07:00:28 `rercome shachaf 07:00:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rercome: not found 07:00:38 shachaf: i've never been welcomed either 07:01:08 `welcome quintopia 07:01:10 quintopia: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 07:01:39 thanks lexande 07:02:18 have you been hth'd? 07:02:41 hi lexande 07:02:57 have i asked you about chu spaces yet 07:03:30 -!- darklust_ has joined. 07:03:30 What’s a choo choo space? 07:03:41 @ask oerjan why did you expand the definitions of sin and cos on SELECT.? and why not the others? (i prefer the unexpanded versions because it shortens the code i have to write if i can just call other ones as subroutines.) 07:03:41 Consider it noted. 07:04:10 shachaf: you've never asked me hth 07:04:22 ion: there's a channel for that 07:04:40 #cslounge-topologicalgeneralizations 07:04:51 #cslounge-bikes does exist 07:05:18 * quintopia cuts a red deck of bikes 07:05:45 isn't csharp basically an esolang? 07:05:47 * myname hides 07:06:00 shachaf: yeah, i don't know about them, sorry 07:06:05 Should i lounge on #cslounge? 07:06:11 is C++ still kmc's favourite esolang? 07:07:04 -!- darklust__ has quit (Ping timeout: 264 seconds). 07:07:15 Bike: let's talk about SLI 07:07:28 ok 07:07:41 is there a working complex SLI library? 07:07:53 ion: tough question 07:07:56 not that i'm aware of 07:08:12 guess you have to work out the operations 07:08:16 do you know how to fast add and multiply in SLI 07:08:28 ion: once saul kripke was walking in DC and he saw john nash, so he went up to him and say "hi, i'm saul kripke, it's an honour to meet you professor nash." and nash said "who are you!? who sent you!?" 07:08:30 e^a * e^b is e^(a+b), so recursin' 07:08:37 so kripke said "aaaah!" 07:08:43 so nash said "aaaah!" 07:08:46 so kripke said "aaaah!" 07:08:47 so nash said "aaaah!" 07:08:54 lol 07:09:09 it is unknown how many times this iterated 07:09:21 lexande: Acknowledged. 07:09:27 sounds like a nash equilibrium 07:09:31 e^a + e^b is uh... some bullshit 07:09:32 anyway, if you do decide to join #cslounge, be prepared to answer a question similar to nash's with a better response than kripke's 07:09:42 so in SLI 07:10:39 Sgeo_ is in #cslounge somehow 07:11:17 I've been there a while 07:11:36 sometimes i wonder what knowledge you people here have 07:11:44 oh, wikipedia has a library. https://code.google.com/p/sli-c-library/ 07:11:55 myname: i can name, like, three different pokemons. 07:11:56 a*b=(a-1(whatever plus is)b-1)+1 07:12:10 «SLI (symmetric level-index) arithmetic essentially prevents overflow & underflow in computing. With this library, you may use 'SLI' as a normal data type in C++. Replace 'double' with 'SLI' in you program, and over/underflow problem would be solved.» lol 07:12:15 Bike: yeah that's not implemented complex numbers :P 07:12:15 i have a seminar this semester about game theory and slowly understand nash equilibrium 07:12:23 Bike: that is pretty lame 07:13:02 surely c++ templating makes it a snap to replace the underlying numeric type! 07:14:10 hmm, but x*y=ln((e^x)^y), but ln is just -1, and e^ is just +1, so that's just (x+1)(whatever ^ is)y-1 07:14:18 i think this one is easier to figure out 07:14:45 but ^ is not a simple thing in SLI 07:16:00 i don't get the nash joke :( 07:17:23 exp(a) * exp(b) = exp(a + b) is 1 + a + b, right 07:19:16 lexande: i heard that story before 07:19:17 was it from you 07:19:27 using multiple forms of arithmetic in the same go like that is confusing. 07:19:31 shachaf: probably, or kmc 07:21:20 Bike: ˖ ᐩ ⁤ ⁺ ₊ ∔ ⊕ ⊞ ➕⧺ ⧻ ⨁ ⨹ hth 07:21:28 thank's 07:21:52 oh how could i forget, ﬩ 07:22:05 you broke my irssi 07:22:08 that's what they use in elementary schools in .il 07:22:19 because + is too christian?? 07:22:34 i would go with the first five 07:22:44 should be enough 07:22:49 maybe with + 07:22:59 some schools, anyway. i had it in some books 07:23:12 shachaf: You forgot ☩ 卍 卐 hth 07:23:32 ☮ 07:23:58 maybe we can just decide adding things is overrated. 07:24:37 Bike: btw did you see my 2064 INVISIBLE PLUS [⁤] 07:24:43 no 07:24:47 since it was invisible 07:25:02 The jokes within the Unicode standard are hilarious. 07:25:13 May you live in INVISIBLE PLUS. 07:26:21 Bike: yes it would be 1+(a卐b). and a = exp(a)-1, and b=exp(b)-1, but the 卐 is not simple. 07:26:51 a^b = e^(a * log(b)) = 1 +' (a *' (b -' 1)) 07:26:58 i'm really too tired to think ugh 07:27:06 er, b * log a. 07:27:10 wow. 07:27:12 I’ll think ugh for you. 07:27:19 why does anyone pay attention to me. why do i exist? what is life. 07:27:29 that first plus is a normal plus 07:27:30 fungot: what is life. 07:27:30 shachaf: i'll need to buy bread i assume it was a fools fnord. 07:27:45 life is a fools fnord. 07:27:46 and the minus is a normal minus 07:27:50 quintopia: i'm using ' to mean "in normal arithmetic", and without it to mean "in SLI" 07:27:58 which is dumb 07:27:58 oh in that case 07:27:59 -!- FreeFull has quit. 07:28:00 sorry 07:28:03 - is not a normal minus, − is a normal minus. 07:28:05 you should drop the ' on the * 07:28:10 yeah, you're right. 07:28:16 fungot: - is a HYPHEN—MINUS 07:28:16 shachaf: doesn't mean anything to me either. rather read the algorithm, as well 07:28:43 shachaf, shouldn't it be an en-dash? 07:28:58 oh wait- just hyphen? 07:29:06 i like to subtract using em-dashes 07:29:17 so a^b = 1 +' (1 +' (b + (a -' 1))) or so 07:29:37 that was a pedant trap. let's see who else falls in. 07:29:42 + is bullshit that i hate though. fuck it. die. mother 07:29:45 quintopia, that reminds me of Unispace 07:30:23 what are you even trying to figure out 07:30:29 who fucking knows 07:30:32 what's sli 07:30:41 Bike: i think it may be easier to define + and * in terms of ^ and have ^ be the one complicated algorithm 07:30:53 has anyone ever even been so far decided as to more like 07:30:54 service level initiative?? 07:30:59 Bike: p. sure ion has 07:31:13 uh, what are you doing now? 07:31:33 has anyone really been so far even as do go be look more like? 07:31:38 four hundred nineteen armless and legless corpses float conspicuously through the remains of the hangar 07:31:41 defining ^ : N x N -> Q? 07:33:29 lifthrasiir: definininininining ^ CxC->C where C uses the SLI representation 07:33:30 sli is where each number has two parts, a regular small significand, and a whateverthefuckinand such that the value of the number is the power tower of e's whateverthefuckinand tall with the significand at the top 07:33:50 Sign-Level-Index? 07:33:53 they call them level and index 07:33:54 yes 07:33:58 well 07:34:01 symmetric level index 07:34:10 ah got it 07:35:09 of course it really only makes sense in the complex field if we only allow anyone ever to use the principal branch 07:35:23 the other branches can fuck themselves 07:35:39 well, brances do have crotches between them 07:35:43 +h 07:36:00 the -1 branch of lambert is such an asshole at parties 07:36:10 no i'm not dressed as andrew jackson you dumb motherfucker 07:36:47 are the branches of the product-log polyamorous 07:37:12 they do seem to like to get together at one point 07:37:19 or is that just a coincidence? 07:42:34 http://link.springer.com/chapter/10.1007%2FBFb0024702 07:43:14 -!- augur has joined. 07:44:32 only thirty bucks 07:44:56 -!- impomatic has quit (Quit: impomatic). 07:45:13 -!- augur_ has quit (Read error: Connection reset by peer). 07:53:02 what a bargain 07:53:44 well there's a hint in the abstract 07:53:53 the algorithms are recursive 07:54:11 saw it comin' 07:54:20 yeah sucks though 07:54:33 means compute time is slow 07:54:39 probably O(i) 07:54:42 wait 07:54:59 i mean O(l+p^k) 07:55:03 or something 07:55:10 k probably less than 2 07:55:49 it also talks about "the original recursive algorithms for arithmetic" 07:55:57 meaning those are exposed somewhere besides this paper 07:55:58 so 07:56:03 can we find them 07:56:13 i guess 07:56:14 classical arithmetic is recursive too... 07:56:17 the source code 07:57:03 classical arithmetic is usually implemented iteratively, and a lot of it is ENTIRELY parallelizable 07:57:51 like, to do x^y, you don't compute x*(x^(y-1)) 07:58:52 but anyways 07:58:54 the source code 07:58:59 that's where the answer lies 08:00:12 what is this i don’t even http://redalertlive.com/2013/11/18/body-modification-piercings-lip-plates/ 08:02:53 kmc: http://www.youtube.com/watch?v=FavUpD_IjVY 08:04:02 cyriak & cyriak & cyriak 08:04:42 oh it's that person 08:04:45 who makes those videos 08:18:59 i remember now 08:28:19 Is there a community like this one, but for non-esoteric prog langs? 08:29:46 Like where you can talk about the creation of programming languages, unharmed :P 08:33:17 make #nonesoteric 08:34:04 it doesn't seem like such discussion would be considered offtopic here? 08:35:59 It seems like it would to me, or could be. 08:37:09 Just went ahead and made #nonesoteric :P 08:39:00 No thats a stupid name :P 08:39:22 Because the creation of programming languages doesnt mean just nonesoteric ones 08:39:54 But this channel is centered around esoteric, so thats why I was wondering. 08:40:10 I think there should be a channel for each real number representing esotericness. 08:40:41 I hear #esoteric-0.594381… is great. 08:40:54 Will check it out :P 09:01:14 -!- carado has joined. 09:31:14 JesseH: Please don't create a Java derivative. 09:31:15 -!- carado has quit (Ping timeout: 252 seconds). 09:31:41 Nah; Derplang 2.0 :P 09:31:46 Example would would be 09:31:50 var x int 1 09:31:52 out x 09:31:53 -!- oerjan has joined. 09:31:53 May I suggest a more verbose version of J 09:31:55 => 1 09:31:58 I like J 09:32:00 but it's to unreadable 09:32:06 (for a non J-er like me) 09:32:08 *too 09:32:14 I see 09:32:29 but generally I'm pretty sure J kicks ass 09:32:54 I see :P 09:33:19 and we need more kick ass languages 09:33:58 Derplang is going to be a kick ass language :P 09:34:12 @messages-loud 09:34:12 quintopia asked 2h 30m 31s ago: why did you expand the definitions of sin and cos on SELECT.? and why not the others? (i prefer the unexpanded versions because it shortens the code i have to write 09:34:13 if i can just call other ones as subroutines.) 09:34:23 way too lowlevel @derplang 09:34:45 wat 09:35:01 var x add 2 2 09:35:05 out x # => 4 09:35:07 yeah 09:35:11 that's exactly low level 09:35:29 Handling lists is going to be interesting; I was thinking 09:35:33 var x list 1 2 3 4 5 09:35:37 out x 0 09:35:39 => 1 09:35:40 @tell quintopia Because SELECT. is a complex number language and the unexpanded versions only hold for reals. and because i didn't remember the inverse versions and my brain didn't feel like working it out. 09:35:40 Consider it noted. 09:35:59 Can I create 3D figures and then let derplang calculate its volume? 09:36:22 where are matrices, vectors 09:36:24 and stuff 09:36:24 this is not forth 09:36:42 If you want special things, you probably will have to implement it yourself. 09:37:40 That's what C said. 09:37:42 Ill create a package manager thing, so we can easily share libraries :P 09:38:12 mroman_, lol i get it 09:38:23 @tell quintopia alternatively s/remember/ever learn how branch cuts work for/ 09:38:23 Consider it noted. 09:39:34 At least don't use Integers for Listindices 09:39:43 or array indices 09:39:45 O_o 09:39:52 are you mad 09:40:10 There should be a data type for indicies 09:40:30 that behaves like an integer but safer 09:41:26 :t range 09:41:28 Ix a => (a, a) -> [a] 09:41:55 > range ((0,0),(1,1)) 09:41:56 [(0,0),(0,1),(1,0),(1,1)] 09:44:11 more or less an iterator 09:44:20 that overloads + and - or something 09:44:35 If Java had operator overloading . 09:45:27 Operator Overloading for Haskell... 09:45:49 Did they consider that to prevent operator hell? 09:46:19 e.g. uhm 09:46:44 foo :: String -> Int; foo x = read x; foo :: Int -> String; foo x = show x; 09:47:05 I assume it would be possible to detect which version of foo is meant 09:47:18 um that's what type classes are for. 09:47:27 Yeah 09:47:34 But type class != overloading 09:47:50 i.e (+) is reserved for Num 09:47:59 so you can't use (+) for anything that is not a Num 09:48:01 :i (+) 09:48:08 :t (+) 09:48:09 Num a => a -> a -> a 09:48:27 so you have ++ for strings 09:48:35 because it wouln't really work well with the regular + 09:48:39 type classes were invented because the haskell inventors considered usual overloading ugly and messy. 09:51:56 It is 10:15:17 `unidecode ࠐ 10:15:21 ​[U+0810 SAMARITAN LETTER FI] 10:15:30 oh wait 10:15:56 `unidecode ⁤ 10:15:57 ​[U+2064 INVISIBLE PLUS] 10:16:11 hm in putty it _is_ invisible. 10:16:17 not in IE. 10:38:49 myname: C# seems pretty un-eso to me 10:39:15 it's like java but without all the useful features you'd want inexplicably missing 11:17:22 am i getting overly trigger happy 11:26:16 -!- darklust_ has quit (Remote host closed the connection). 11:27:49 -!- nooodl has joined. 11:30:07 kmc: what features? 11:30:48 -!- MindlessDrone has joined. 11:38:21 unsigned integers, lambdas, tuples, monad comprehensions (kinda), operator overloading, reference parameters, generators, optional & named arguments, extension methods 11:38:42 http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java 11:40:10 oh the lambda is also an AST quotation and you can do dynamic macros and JIT them 11:42:35 -!- Patashu has joined. 11:43:16 so yeah, C#: actually pretty good and cool 11:43:52 I haven't really needed it so far, but I would seriously consider it for a future project, although I'd have to first convince myself Mono is fully-baked enough 11:44:07 (it was fine for the one toy project I did in C#) 11:45:52 -!- nooodl_ has joined. 11:49:13 -!- nooodl has quit (Ping timeout: 252 seconds). 12:02:48 I'm a bit disappointed that those languages are so framework dependant 12:03:16 C# is really a neat language 12:03:35 But I'd rather have it produce native code 12:05:17 or at least they should have considered portability a bit better 12:05:28 it does produce native code, via JIT 12:05:37 what properties associated with "native code" do you actually care about? 12:07:02 It's better for compile'n'run 12:07:17 so "size" 12:08:03 which means it's more portable 12:09:14 you mean that you don't want to have a JIT around at runtime? 12:09:22 for size reasons? 12:09:27 I don't care if it's JITed 12:09:56 It's probably even better if it's JITed 12:11:24 But JIT requires an extra installation of some software on your system 12:11:28 that's what I dislike 12:11:32 ah 12:11:39 well you could bundle the JIT with every executable ;P 12:11:43 Yes 12:11:55 But I'm not sure how big the Java JIT is :) 12:12:00 huge 12:12:08 I suspect like... 12:12:13 10MB? 12:12:46 Although that sounds too much 12:13:06 anyway does the C# spec even forbid, say, an ahead-of-time compiled implementation? 12:13:15 i'm not sure whether the spec requires the full Common Language Infrastructure 12:13:29 it might, I have no specific knowledge of it 12:13:37 kmc: I don't think so @CLI 12:13:42 But I haven't read the spec. 12:14:15 Seeing as C# is used in OSDEV I assume you don't need a huge runtime around it 12:14:36 so if your complaint is that Microsoft's C# implementation is not the kind of C# implementation you'd want to use, that's not a complaint with C# the language 12:14:41 Mono has http://www.mono-project.com/AOT 12:14:50 don't know anything about it past 2 seconds of reading that page ;P 12:14:55 mroman_: what's it used for in os dev? 12:15:30 For "Hey look I can write an OS in C#"-stuff 12:15:55 Much like "Hey look I can write an OS in Ada, Cobol, Pascal, Delphi"-Stuff 12:16:06 kmc: Singularity is probably C#? 12:16:31 hom no 12:16:38 A C#-Derivative 12:16:48 Sing# 12:16:49 :) 12:17:07 kmc: No C# is fine. 12:17:16 It's the Framework I don't like :) 12:17:18 -!- Patashu has quit (Quit: Soundcloud (Famitracker Chiptunes): http://www.soundcloud.com/patashu MSN: Patashu@hotmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 12:17:33 ok then 12:17:37 Well 12:17:41 I like the Framework 12:17:43 on windows :) 12:17:49 I don't like Windows so I'd never use MSFT's C# stuff anyway 12:17:55 but I might use it via Mono sometime 12:18:01 It's really future rich 12:18:20 and now with new .NET and wpf and stuff you have even more feature rich stuff 12:18:39 like 10000 Classes . 12:18:56 Hm 12:19:15 kmc: Or you find someone who does C# on JVM 12:19:21 *to JVM 12:20:06 Apparentely there's the "Stab programming language" 12:20:24 every programming language is a stab programming language 12:20:31 http://code.google.com/p/stab-language/ 12:24:26 esoteric frameworks 12:24:30 are there yet any? 12:24:56 EsoAPI 12:25:02 but I've heard it's dead 12:25:23 :t (^~) 12:25:24 (Integral e, Num a) => ASetter s t a a -> e -> s -> t 12:25:37 oops 12:25:47 :t (^%) 12:25:48 Not in scope: `^%' 12:25:48 Perhaps you meant one of these: 12:25:48 `^' (imported from Prelude), `^^' (imported from Prelude), 12:26:21 :t (%~) 12:26:22 Profunctor p => Setting p s t a b -> p a b -> s -> t 12:26:38 -!- oerjan has quit (Quit: BRAAAIN). 12:27:16 yoob? 12:29:36 -!- MindlessDrone has quit (Quit: MindlessDrone). 12:41:11 -!- carado has joined. 12:44:00 -!- Sgeo_ has quit (Read error: Connection reset by peer). 12:44:41 -!- yorick has joined. 12:58:14 -!- boily has joined. 12:58:26 -!- metasepia has joined. 12:59:21 -!- oerjan has joined. 12:59:50 -!- oerjan has set topic: The channel of the chimæric hellos | The most corum, clargoint chait you could ever loofefl your slance in. | Magnus!!!! | Koirammekokaan ei lennä? :( | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | logs: http://codu.org/logs/_esoteric/ or http://tunes.org/~nef/logs/esoteric/. 12:59:55 -!- oerjan has quit (Client Quit). 13:12:46 good exclamative morning? 13:12:58 @tell oerjan what with the drive-by topicking? 13:12:58 Consider it noted. 13:13:39 -!- MindlessDrone has joined. 13:22:16 hi 13:32:54 good kmorningc. 13:45:35 how are you? 13:59:28 doing well. how's life on your end? 14:00:12 pretty good 14:03:20 -!- muskrat has joined. 14:04:00 ~metar KSFO 14:04:00 KSFO 211356Z 25003KT 10SM SCT013 BKN023 OVC042 10/09 A2994 RMK AO2 SLP137 T01000089 14:04:10 -!- muskrat has left. 14:06:04 kmc: I'm guessing you're currently eating breakfast? 14:06:54 nope 14:06:59 it's 23:06 here 14:07:55 ooookay... either my file is wrong, or the Earth has a very, very weird curvature today. 14:08:39 you're not in Frisco anymore? 14:09:26 i'm vacationing in japan 14:09:39 * kmc twitches at "Frisco" 14:11:14 オォ!すごい!どこにいっていますか? 14:12:40 i can't read any of that -_- 14:12:48 but google informs me you asked where i'm going in japan 14:13:45 osaka, nara, kyoto, hiroshima, tokyo in that order 14:13:50 i'm in hiroshima right now, heading to tokyo tomorrow night 14:13:56 :D 14:14:17 this is after a work week + a few days of touristing in Seoul 14:14:49 which means that work paid for my flights across the Pacific which is すごい indeed 14:16:27 btw Hangul is the coolest writing system ever 14:17:15 I fear my main motivation to learn languages spoken in Asia is to understand what's written on restaurant menus... >_>'... 14:19:01 -!- yiyus has quit (Read error: Operation timed out). 14:19:18 -!- augur has quit (Ping timeout: 245 seconds). 14:24:27 -!- augur has joined. 14:24:38 seems fine to me 14:27:21 you can learn to read hangul in a few hours 14:27:46 or as one of the developers of the alphabet put it, "a wise man can acquaint himself with them before the morning is over; a stupid man can learn them in the space of ten days" 14:31:16 on the other end of the spectrum, culinary cantonese is unbelievably hard, not for the characters themselves, but the poetic metaphors and shortcuts. 14:46:15 example? 14:53:37 I'll take pictures tonight of a potential source of incomprehensibility. 14:54:07 cool 14:54:15 do you know anything about szechuan cooking, by the way? 14:54:32 i quite like szechuan food and we cook it at home sometimes 14:55:38 I tried my hand at it a few times, but I have to hone my techniques. 14:55:40 -!- mrhmouse has joined. 15:04:00 kmc: some day, I'll succumb to the temptation, and buy a portable electric stove with a fondue pot, and make myself real sichuanese fiery fondue of deathly agonizing doom. 15:07:04 nice 15:24:23 next step: find a recipe with raccoon meat. there are more than enough overweight raccoons on Mont Royal. 15:25:03 haha 15:44:43 -!- Sprocklem has joined. 15:48:33 -!- Phantom_Hoover has joined. 15:49:49 -!- MindlessDrone has quit (Read error: Operation timed out). 15:50:24 -!- mrhmouse has quit (Ping timeout: 246 seconds). 15:52:04 -!- MindlessDrone has joined. 15:57:12 -!- conehead has joined. 16:19:52 -!- Sorella_ has joined. 16:20:47 `relcome Sorella_ 16:20:50 ​Sorella_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 16:21:47 ~duck gnathostome 16:21:47 Gnathostomata are the jawed vertebrates. 16:22:50 well-spaced 16:25:01 it's a well-known anatidæ feature. 16:25:03 -!- nisstyre has quit (Ping timeout: 246 seconds). 16:35:06 -!- mrhmouse has joined. 16:40:19 I think I have decided to keep the old derplang syntax, since more people have told me they like it over the new 16:46:46 Hello esoterics 16:46:58 Slereahello. 16:56:29 Slereah: how is your trek into assembly going? 17:03:33 you could say he...JMPd right in... 17:04:41 -!- Sprocklem has quit (Ping timeout: 272 seconds). 17:10:45 -!- Bike has quit (Ping timeout: 272 seconds). 17:16:57 -!- Bike has joined. 17:19:45 mrhmouse: not far 17:19:51 I went to bed and went to class 17:20:01 I'll investigate this week end 17:30:11 -!- FreeFull has joined. 17:34:42 -!- ais523 has joined. 17:35:01 helloily 17:35:46 what isn't the command called ~anatidae 17:38:50 @tell oerjan the unexpanded versions work for complex numbers too, as that's exactly how i implemented it and got right answers. and the inverse trig functions branch the same way as log (e.g. the principal branch of each agrees) 17:38:50 Consider it noted. 17:43:25 Why do most computer things use reals instead of rationals 17:43:45 Rationals are easy to code, easy to operate with, and floating points are just really rationals in the end 17:45:01 Although 17:45:25 There's the possibility of wasted space I guess 17:45:39 Since 1/2 = 1*10^30 / 2*10^30 17:45:57 You could be overflowing needlessly 17:46:23 Some languages work with rationals by default. 17:46:33 Which ones? 17:46:44 Well, I think Haskell does 17:46:56 And probably many functional languages 17:47:17 There's still the floating point type to store irrational numbers. 17:47:27 LISP would be great for it, since a rational is just a list of two integers 17:47:38 And I think most general purpose languages have some way of dealing with rationals 17:48:00 You can't store irrational numbers in a floating point 17:48:03 Or even in anything 17:48:10 Most irrationals aren't computable 17:48:32 No, but you can store a better approximation (read: smaller in size) in floating point 17:48:58 I guess! 17:49:27 I wonder what would be the most efficient way of encoding some real number approximatively 17:51:59 quintopia: quinthellopia. because I lack imagination. 17:55:39 Slereah: const real x = 0; 17:56:15 That's a pretty big approximation 17:56:23 Also not that efficient 17:56:36 If you encode it on one bit, at least do "0 or not 0" 17:56:49 I'm an approximation expert, with a specialisation in coördinates. 17:59:47 Hm 18:00:12 I guess you could encode algebraic numbers as a vector of their polynoms 18:00:18 I wonder what precision that would allow 18:04:21 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 18:06:08 -!- conehead has joined. 18:11:08 boily: and body weigh! 18:12:29 -!- Taneb has joined. 18:12:36 Tanelle. 18:13:03 Slereah: as a certified appröximator, what are your coördinates and body weigh? 18:13:04 what do today 18:13:26 quintopia: today thursdays. 18:13:41 i only got 5 hours of sleep. 18:13:53 i couldn't sleep any more even though i was so sleepy 18:26:09 -!- Bike has quit (Ping timeout: 246 seconds). 18:27:12 * boily removes fizzie's eggtimer and glues it onto quintopia 18:27:21 ow 18:27:35 do i have to stand on my head to reset it 18:29:40 only if you start seeing Ephemeral Shadow-Bats because of sleep deprivation. 18:33:05 -!- Bike has joined. 18:57:37 https://d24w6bsrhbeh9d.cloudfront.net/photo/aEwpeEe_460sa.gif 18:59:13 is it really that big of a deal? (the G+ / YouTube linking) 18:59:33 it ruins the sanctity of youtube comments. 18:59:38 I haven't actually noticed, since I've had a G+ account for ages.. 19:00:47 it's caused YouTube comments to stop working for me altogether 19:00:51 which is arguably a good thing, but… 19:02:17 Maybe that's another reason I haven't noticed... 19:02:42 if youtube comments can't be youtube comments, that'll cause an overflow and drown the rest of the intarwebs under a neverending flood! 19:14:58 boily: what did we do before youtube existed? 19:16:05 upload videos in actual video formats 19:16:13 to actual directories of web servers 19:16:33 things were so much simpler then 19:16:50 anyone remember quicktime 19:17:01 yeah but where did the comments overflow to? 19:17:41 there were no comments then! 19:17:56 people watched videos in silence in the comfort of their own hard drive 19:18:09 back in the Previous Era, people overflowed in newspapers. 19:18:12 if they had a comment they wrote it in a text file and saved it for themselves to look at later 19:18:57 boily: now, at the end of the movie, they always overflow on her face 19:19:35 or, in horror movies, a Supernatural Floating Disflagrated Face. 19:19:53 so uh, the original strongly agree-agree-neutral-disagree-strongly disagree scale was kinda fucked up https://twitter.com/mc_hankins/status/403270681846378496/photo/1/large 19:23:05 unnnnrelated but you could vote in this poll, it's got ada lovelace and grace hopper. http://www.bobbleheads.com/bobblehead-scientist-poll.html 19:24:20 -!- Sprocklem has joined. 19:29:13 -!- oerjan has joined. 19:38:33 @messages-loud 19:38:34 boily said 6h 25m 35s ago: what with the drive-by topicking? 19:38:34 quintopia said 1h 59m 43s ago: the unexpanded versions work for complex numbers too, as that's exactly how i implemented it and got right answers. and the inverse trig functions branch the same way 19:38:34 as log (e.g. the principal branch of each agrees) 19:38:58 boily: magnus won another game hth 19:40:31 quintopia: i fail to see how cos(x) = Re(e^(i*x)) can work for complex numbers given that the correct answer isn't always real. 19:41:32 > cos (0 :+ 1) 19:41:34 1.5430806348152437 :+ (-0.0) 19:41:48 obviously not a good example. 19:41:51 > cos (1 :+ 1) 19:41:52 0.8337300251311491 :+ (-0.9888977057628651) 19:41:55 :) 19:41:58 thanks :) 19:42:34 oerjan: perhaps i should reimplement and expand my test cases :P 19:42:53 ~eval sin 1 == (exp (0 :+ 1) - exp (0 :+ -1)) / (0 :+ 2) 19:42:54 Error (1): Precedence parsing error 19:42:54 cannot mix `Data.Complex.:+' [infix 6] and prefix `-' [infixl 6] in the same infix expression 19:43:03 ~eval sin 1 == (exp (0 :+ 1) - exp (0 :+ (-1))) / (0 :+ 2) 19:43:04 True 19:43:04 i'll expand the others too 19:43:27 Implementation of cos(x) in what? 19:43:48 in http://esolangs.org/wiki/SELECT. 19:44:13 * oerjan wonders how many clients will erroneously leave out the dot. 19:44:32 Mine does 19:44:37 well, among those who make it a link in the first place. 19:44:41 > let i = 0 :+ 1; cos' x = (exp (i*x) + exp(-i*x))/2 in (cos (1 :+ 1), cos' (1 :+ 1)) 19:44:43 (0.8337300251311491 :+ (-0.9888977057628651),0.833730025131149 :+ (-0.98889... 19:45:03 Oh, the dot was part of it 19:45:19 `thanks oerjan 19:45:21 Thanks, oerjan. Thoerjan. 19:45:28 `yw FireFly 19:45:30 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: yw: not found 19:45:52 i set up a redirect hth 19:45:52 oerjan: wait a second. what's the difference between (x+x*)/2 and (e^ix+e^-ix)/2 again? 19:46:01 You're welcome, Firefly. You're wireFly 19:46:10 quintopia: there is no conjugation in the latter. 19:46:12 oerjan: You could try http://esolangs.org/wiki/SELECT%2E. ;-) 19:46:32 just two numbers that _happen_ to be conjugate if x is real. 19:47:22 hmmmm 19:47:40 it's not clear to me what happens when they are complex 19:48:21 cos and sin are entire analytic functions in the complex plane, the expressions in e give the same result as the usual power series everywhere. 19:49:32 i guess e^(i(a+bi)) = e^(ia) * e^(-b)? 19:49:47 nooodl_: yeah 19:51:32 e^(ia) e^(ia) e^(complex fhtaghn) 19:51:40 btw (e^(i*x))* = e^(-i*x*) 19:52:15 postfix * is confusing as fuck 19:52:24 imo conj() 19:52:28 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 19:55:17 The complex conjurer. 19:56:41 quintopia: well e^(ix) and e^(-ix) are essentially the exponential with arguments rotated 90 degrees, which switches which of real and imaginary direction is growing and which is periodic. and then you take linear combinations of that, to make similar functions that are real on reals. 19:57:06 oerjan, stop being fungot. twh. 19:57:06 boily: generally alternative rock or ska. uh, i have trouble assimilating a url that refers to it.... 19:57:42 so cos and sin in imaginary direction are approximately growing exponentially. 19:57:46 So is there some easy way to get cos and sin out of exp for complex values? 19:58:12 Bike: um yes that's what started this. 19:58:27 cos(x) = (e^(i*x)+e^(-i*x))/2 19:58:27 sin(x) = (e^(i*x)-e^(-i*x))/(2*i) 19:58:43 right. silly me. 19:59:14 -!- Sorella_ has quit (Quit: Ex-Chat). 19:59:22 boily: how am i fungot when the sword alone cannot stop! 19:59:23 oerjan: sounds like fnord talk. then again as has been demonstrated... i've been wondering about encoding things like stress and vowel lengths...) 20:00:12 fungot: you mean you're working on an audio version of yourself? i think fizzie would appreciate that. 20:00:12 oerjan: aww. hold it gently.) but it has slower screen updates as they happen when you were fnord 20:00:42 fungot: audio versions don't need screen silly 20:00:42 oerjan: i'm unclear as to how to extract information from gnomon, should he ever join the fnord 20:01:27 I would certainly "appreciate" an incessantly babbling audio-fungot in my home, sure. 20:01:28 fizzie: they're cheating a bit with the old version 20:02:33 fizzie: imagine, a fungot plushie with an embedded speaker. the world would be a much better place! 20:02:33 boily: fnord francais? ( assuming that code is valid: 20:02:39 fungot: i am not sure extracting that information is good for sanity. 20:02:39 oerjan: i've been looking in the wrong timezones ( as opposed to what you explained above 20:02:47 fungot: oui, une version francophone serait appréciée. 20:02:48 boily: someone could tell fizzie to stop reading before an overflow would fnord, and t f) 20:03:52 fizzie: stop reading before an overflow would fnord hth 20:06:04 fizzie: do you have a large enough French corpus available for fungotification? 20:06:04 boily: only if your kidneys are borked, xerox. xerox, fnord copier, xerox machine ( duplicator that copies graphic matter by the action of a failure continuation 20:06:14 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:06:57 fungot: your insightfulness dazzles me 20:06:57 int-e: fnord!.... u shouldnt help ppl fnord suicide u fnord!. 20:07:42 -!- impomatic has joined. 20:08:04 -!- augur has quit (Remote host closed the connection). 20:08:30 -!- augur has joined. 20:12:54 -!- augur has quit (Ping timeout: 246 seconds). 20:13:08 damn straight, fungot 20:13:08 FireFly: do you think human reasoning is like. 20:13:50 fungot, yes, it's very much like. 20:13:50 int-e: you have a lot of votes in 1996 due to pure cash flow... nobody even seemed to care about support for syntax extensions in 5.1, but hey, i do 20:14:06 fungot: yes, i think facebook has made that much clear 20:14:07 lexande: it's pretty much fnord i'm not an expert audio fnord, that's what it means in her area. and all.) 20:14:14 @tell mrhmouse Well, I think Haskell does <-- nope, the defaults are bignum Integer and floating point Double. although Rational is there too, but doesn't support all the same functions as either of those. 20:14:14 Consider it noted. 20:14:36 > sin pi :: Rational 20:14:38 No instance for (GHC.Float.Floating GHC.Real.Rational) 20:14:38 arising from a us... 20:14:51 oerjan: but I'm here 20:14:55 > toRational $ sin pi 20:14:56 4967757600021511 % 40564819207303340847894502572032 20:15:22 mrhmouse: i don't trust people who have been idle for an hour. 20:16:31 oerjan: which language am I thinking of that defaults to rationals? I'm certain it was at least similar to Haskell in syntax 20:16:33 Just @massage-loud it 20:16:50 @massage 20:16:50 You don't have any messages 20:17:07 -!- yiyus has joined. 20:17:41 @let default (Integer, Rational, Double) -- whistles innocently 20:17:42 Defined. 20:17:48 > 1/2 20:17:49 0.5 20:17:52 darn. 20:18:00 nasty. 20:18:21 oh wait defaults don't get imported, and @lets go into the L.hs module. 20:18:56 @let (test, _) = (1/2, undefined) 20:18:57 Defined. 20:19:01 > test 20:19:03 0.5 20:19:05 wat 20:19:13 :t test 20:19:14 Rational 20:19:17 oh 20:19:37 :t 1/2 20:19:38 Fractional a => a 20:19:40 hm this is probably messing somewhere. 20:20:14 mrhmouse: also, i dunno. 20:20:39 > typeOf test 20:20:40 Double 20:20:52 :t test 20:20:53 Rational 20:20:56 O KAY 20:21:01 cool 20:21:43 > denominator test 20:21:44 2 20:21:54 > sin test 20:21:55 0.479425538604203 20:22:00 strange. 20:23:14 i suppose with > the actual use of test flows back to the inference. 20:23:28 somehow. 20:23:41 AAAAAAAAURGH WHY WON'T YOU GIVE ME A STACK TRACE YOU FSCKING STUPID FRAMEWORK I ALREADY KNOW IT'S A 500 ERROR I WANT DETAAAAAIIILLLLSSS!!!!! 20:23:52 (sorry. ranting against django.) 20:24:03 also lambdabot probably has monomorphism restriction turned off, hm 20:24:31 although i was hoping the tuple would get around that. 20:24:37 -!- cherez has joined. 20:24:57 > let (x, y) = 1 `divMod` 2 in (x :: Int, y :: Integer) 20:24:58 (0,1) 20:25:03 hm nope 20:26:26 > (typeOf test, test) 20:26:28 (Double,0.5) 20:26:57 > (typeOf test, denominator test) 20:26:58 (Double,2) 20:27:07 UM 20:27:15 oh 20:27:20 well if it is polymorphic then ... of course. 20:27:29 but I'm confused as to why 20:27:58 well it's polymorphic given the monomorphism restriction is turned off. 20:28:29 and that means it gets exported polymorphic, and the default declaration in L.hs gets no chance to fire. 20:28:59 -!- Bike has quit (Ping timeout: 272 seconds). 20:29:25 Ugh this is going to drive me mad. I could swear I was reading a language tutorial ages ago that showed "1 / 3" at the prompt and "1 / 3" as the response... 20:29:25 so instead the usual defaulting (same as ghci?) happens for lambdabot expressions. 20:30:18 oh hm... 20:30:31 mrhmouse: why are you looking for this? 20:30:31 @let showTest = show test 20:30:32 Defined. 20:30:36 > showTest 20:30:37 "1 % 2" 20:30:38 -!- metasepia has quit (Ping timeout: 240 seconds). 20:31:17 `relcome cherez 20:31:20 ​cherez: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:31:20 there you go. since show test has type String, the defaulting of test has to happen even with the monomorphism restriction, since the type cannot escape. 20:31:32 -!- metasepia has joined. 20:31:45 FireFly: Slereah was talking about rationals, and I thought I remembered that Haskell defaulted to Rational. But it isn't Haskell.. but I remember _some_ language did that... 20:31:48 and showTest is inside L.hs so uses its defaulting declaration. 20:32:40 and it was similar in syntax? would SML do that? 20:33:27 -!- Bike has joined. 20:35:07 Oh, thank you! 20:36:00 -!- evalj has joined. 20:36:06 -!- b_jonas has joined. 20:37:58 @let (evil, attempt) = (show attempt, mempty) 20:37:59 .L.hs:156:20: 20:37:59 No instance for (Show a0) arising from a use of `show' 20:37:59 ... 20:38:02 `relcome evalj 20:38:05 ​evalj: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:38:06 `relcome b_jonas 20:38:09 ​b_jonas: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:38:16 -!- JesseH has quit (Quit: Leaving). 20:38:16 argh, that's colorful 20:38:18 cherez: what brings you to this channel? 20:38:21 * oerjan whistles innocevilly 20:38:22 can I get that without colors? 20:38:33 oerjan: I like that word 20:38:37 WHAT DO YOU HAVE AGAINST COLORS 20:38:38 `welcome b_jonas 20:38:38 `welcome b_jonas 20:38:39 b_jonas: you may, but it's untraditional. 20:38:40 b_jonas: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:38:40 b_jonas: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:38:42 darn. 20:38:46 thanks 20:38:56 also, huh, didn't expect to see b_jonas over here 20:38:56 I think you're sufficiently `welcome'd now 20:39:15 ais523: do you think i was trigger happy in blocking PcCleaner 20:39:19 but then, I don't generally expect to see anyone happy over here 20:39:31 oerjan: I was scouring the relevant logs to try to find something to block them for :) 20:39:33 ais523: I AM HAPPY, FUNGOT IT! 20:39:34 boily: Nothing in particular. Old friends with pikhq and thought it might be fun to lurk here a bit. 20:39:42 but I'd have allowed account creation 20:40:26 if you're blocking someone on the basis of username, you should give them a chance to change it 20:40:32 ais523: i mean it seems to be named after what seems to be a scam company at best. 20:40:35 yeah 20:40:44 the name's free on Freenode, btw? anyone want it? 20:40:53 heh 20:40:58 err, s/\?/;/ 20:44:08 -!- JoeyEsper has joined. 20:44:30 hello 20:44:30 oi 20:44:56 -!- JoeyEsper has left. 20:45:09 but, but... I was typing a nice `relcome... 20:46:14 it's one of those weird things about IRC, people who say hello, then get annoyed at the lack of response and leave before you have a chance to type a response 20:46:55 -!- ais523 has quit. 20:49:41 -!- Sprocklem has quit (Ping timeout: 252 seconds). 20:56:59 oerjan: hmm, mueval turns off the monomorphism restriction without being asked to. 20:57:00 -!- Bike has quit (Ping timeout: 246 seconds). 20:59:12 -!- augur has joined. 21:02:01 int-e: I guess on this channel an evaluator bot should use the craziest extensions by default, such as not only no monomorphism restrictions, but also circular types, undecidable instances, etc 21:02:16 definitely circular types 21:02:30 b_jonas: yeah but the primary channel it's for is #haskell 21:02:33 * boily points to metasepia “Go nuts with it! But be careful with the error messages” 21:02:42 int-e: sure, but use channel-dependent options 21:02:47 @eval iterate show 21:02:51 @eval fix show 21:02:55 um 21:02:57 @help eval 21:02:57 eval. Do nothing (perversely) 21:03:09 @help run 21:03:09 run . You have Haskell, 3 seconds and no IO. Go nuts! 21:03:18 > "or use this" 21:03:19 "or use this" 21:03:19 @run fix show 21:03:20 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 21:03:39 @run fix print 21:03:40 21:03:47 @type fix print 21:03:48 ~eval fix show 21:03:48 IO () 21:03:48 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 21:04:31 -!- Bike has joined. 21:05:04 @run print print 21:05:05 21:05:21 @run let { x = print; } in x 21:05:22 <() -> IO ()> 21:05:40 > fix error 21:05:41 "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *E... 21:06:56 ] ,29$'*Exception: ' 21:06:57 b_jonas: *Exception: *Exception: *Exce 21:07:08 ] ,29$,:'*Exception: ' 21:07:08 b_jonas: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Exception: 21:10:13 @let evil = mempty 21:10:14 .L.hs:156:8: 21:10:14 No instance for (Monoid a0) arising from a use of `mempty'... 21:10:46 interesting. @let seems to use the monomorphism restriction. 21:11:19 when checking if the addition is sane. 21:12:12 @run let { x = show; } in x () ++ x [] 21:12:13 "()[]" 21:14:09 oerjan: it uses some ghc invocation for type-checking L.hs, but mueval for the final evaluation. (it seems that mueval *also* does not explicitly turn off the monomorphism restriction ... next stop will be hint ...) 21:14:43 b_jonas: i don't recall haskell having any extension for circular types. 21:16:57 ~eval mempty 21:16:58 Error (1): No instance for (Data.Monoid.Monoid a0) arising from a use of `e_1' 21:16:58 The type variable `a0' is ambiguous 21:16:58 Possible fix: add a type signature that fixes these type variable(s) 21:16:58 Note: there are several potential instances: 21:16:58 instance Data.Monoid.Monoid () -- Defined in `base:Data.Monoid' 21:16:58 instance (Data.Monoid.Monoid a, Data.Monoid.Monoid b) => 21:16:58 Data.Monoid.Monoid (a, b) 21:16:59 -- Defined in `base:Data.Monoid' 21:16:59 instance (Data.Monoid.Monoid a, Data.Monoid.Monoid b, 21:17:00 Data.Monoid.Monoid c) => 21:17:00 Data.Monoid.Monoid (a, b, c) 21:17:01 -- Defined in `base:Data.Monoid' 21:17:01 ...plus 18 othersNo instance for (GHC.Show.Show a0) 21:17:02 arising from a use of `M175202735352782162727845.show_M175202735352782162727845' 21:17:07 :D 21:17:15 type families can be abused for that to some extent ... with horrible, horrible type errors when things go wrong. 21:17:32 metasepiaaaaaa 21:17:52 la la la la la ♪ 21:19:09 boily: i think you mean SPAM SPAM WONDERFUL SPAM 21:20:45 plan for the holidays: eat food. eat food. revamp metasepia. eat food. eat food. enjoy saner error messages! 21:25:20 oerjan,boily: you might like http://int-e.eu/~bf3/haddock/typeeval-0.0/ 21:26:36 int-e: I might not understand it. 21:27:27 any Haskell programmer will tell you that Node 42 [False, True] and Node 42 [Node 23 [], Leaf 0] should not type-check at the same time. 21:27:34 more like typeevil 21:27:48 oerjan: really? let me check the ghc manual. I really thought there was one, only nobody uses it because it masks too much errors. 21:28:03 (And I agree. I wrote that ... code, and I never used it after encountering type errors reminiscent of C++.) 21:28:10 and because if you really want a circular type you can get one by that higher order type trick 21:29:56 hmm, did I just imagine that there was such an option in ghc? 21:30:29 b_jonas: generally you use newtypes and they're optimized away. 21:30:41 also, ocaml has one, i used it once. 21:31:07 (to implement unlambda) 21:32:19 @type let { x = [x]; } in x 21:32:20 Occurs check: cannot construct the infinite type: t0 = [t0] 21:32:20 In the expression: x 21:32:20 In the expression: [x] 21:33:10 * boily is tempted to run that in ~eval, but he spammed once today so he'll be wise and not do it. 21:33:38 int-e: my Haskell-fu is diminishing. too much Python for the past few months. 21:34:49 strange, it looks like ghc doesn't have such an extension 21:35:14 but why? I mean, it seems like something those people who develop some of the other crazy type system extensions would want to try 21:35:29 can it not be made to a consistent type system extension?\ 21:36:13 that is, an extension such that if an occurs check finds a cycle in type constraints, it just creates a cyclic type instead of an error 21:36:30 maybe it doesn't play well with higher order types or something? 21:36:30 there's no big pressure (newtype Mu f = Mu (f (Mu f)) gets the desired effect with some extra source code) 21:36:49 int-e: sure, but you have seen some of the other type system extensions people have added 21:36:57 I'd have thought they'd try this too 21:37:11 int-e: imo call that type Fix 21:37:12 * int-e shrugs 21:37:27 newtype Fix f = Fix { runFix :: f (Fix f) } 21:37:37 newtype Mu f = Mu { runMu :: forall r. (f r -> r) -> r } 21:37:42 it's been done before -> less research interest. 21:37:45 data Nu f = forall x. Nu x (x -> f x) 21:37:59 opaque greek is the future, shachaf 21:38:01 and also the past 21:38:31 Bike: what, that's not enough opacity for you?? 21:38:35 fix f = f (fix f) 21:38:36 and from a practical perspective, I think having let x = [x] *not* typecheck is a great boon for sanity. 21:38:39 Fix f = f (Fix f) 21:38:56 Oh, you're talking about equirecursive types. 21:39:04 Yes, there are various good reasons not to have them. 21:39:07 I have to assume someone tried but it turned out if you combine it with some other language features you lose the guarantee of the compilation terminating or you can prove Void or something crazy like that so they didn't add them 21:39:15 shachaf: I know why we don't have them by default: 21:39:21 they'd mask too many errors 21:39:28 user errors that is 21:39:32 ocaml supports them, I think. 21:39:51 but I was wondering why we don't have it as a language extension 21:39:55 I see 21:40:13 otoh, as far as I know, ocaml frowns on data Tree a = Level a | Nest (Tree (a,a)) 21:40:45 int-e: that's non-regular types or whatever that's called, right? 21:40:50 has some fancy name 21:41:15 "non-regular" makes sense, but I don't know. 21:41:34 I think that feature had two names, and non-regular may or may not have been one of them 21:43:05 polymorphic recursion is used for the functions operating on such things, at least. 21:47:18 If I remember correctly, polymorphic recursion is the issue. You might even be able to define the type itself? 21:47:38 shachaf: what? define what type where? 21:47:49 int-e's non-regular type. 21:48:04 Not too useful without functions to operate on it. 21:48:42 I liked Conal's talk at http://conal.net/talks/understanding-parallel-scan.pdf 21:48:44 but you mean in ocaml? 21:48:52 i think shachaf means in ocaml, which doesn't have polymorphic recursion. 21:49:13 and so even if you could define the type, you couldn't use it for anything. 21:49:30 right 21:50:11 or maybe you could only use it non-parametrically, limited to the first compile-time-finite many depths 21:50:23 which doesn't buy you anything over just separate type 21:50:26 separate types 21:50:45 plus a class for them 21:50:52 similarly to what would happen in C++ 21:51:12 you could define a type that looks like this, but you can only ever instantiate finitely many in a program 21:51:23 if you try unlimited recursion, the compiler will give up 21:53:43 now I'm curious, can ocaml do the higher order type quantification trick haskell's ST does? 21:56:54 -!- boily has quit (Quit: Gàààààààààrgh). 21:56:57 -!- metasepia has quit (Remote host closed the connection). 21:58:17 I thought at one point whether C++ can do it, and decided it can't, because even though it can do higher order quantification, sort of, it can't prove things about it, so can't enforce the kind of restriction ST depends on 22:07:23 the term is "higher rank" btw. dunno about ocaml, but doubt it unless they've added it after my time. 22:08:35 oerjan: when was your time 22:09:05 I see 22:11:39 today in confusing terminology: insect flight involves 'synchronous' and 'asynchronous' muscle, which are alllllmost analogous to programming 22:12:55 shachaf: 'bout 2002 or so. 22:13:00 rip 22:13:13 oerjan 1975-2002 22:13:26 (is 1975 right) 22:13:43 1970 22:13:47 oh 22:13:49 close enough 22:14:03 what's it like outliving the soviet union 22:14:23 oerjan 1917-2002 22:14:35 >_> 22:14:41 I didn't even outlive Yugoslavia 22:18:57 Hmmm... Notepad++ handles a 2.6 million line 170 MB text file without any problems. Windows Notepad and Programmers Notepad both stopped responding. 22:21:51 windows notepad can't really handle anything bigger than like 10k lines in my experience 22:22:45 hum, curry's original paper defines \lambda^n ...vars... for an n-ary function, weird 22:25:11 -!- mrhmouse has quit (Quit: Leaving.). 22:25:26 i assume they hadn't invented schönfinkeling yet 22:26:01 "they" = schönfinkel? or did someone else invent schönfinkeling? 22:26:23 we assume not. 22:26:29 http://www.urbandictionary.com/define.php?term=schonfinkeling 22:26:43 i noticed that in the google hits. 22:27:06 ach, du finkelst so schön 22:28:14 oh i can downvote it without registering 22:28:40 I'm scared by sql triggers. they let you write almost arbitrary programs in sql, but only in a very ugly way 22:28:44 "Finally, K converts a constant into a function with a constant value, or a function into one with an additional, fictitious variable." 22:29:39 b_jonas: so you are not trigger happy. 22:30:21 they look like something that's very easy to abuse 22:30:34 you start with some simple triggers and you end up in an unmaintenable mess 22:31:15 hmm, I think I've forgotten what schönfinkeling is 22:31:20 in sqlite3, you can have views with instead of insert triggers that basically simulate an arbitrary function 22:31:31 backwards currying, i think? 22:31:46 not quite arbitrary, but very close 22:31:58 b_jonas: so like this basically? http://www.youtube.com/watch?v=EKajmVgaOEM 22:32:19 yeah 22:32:31 Bike: it's just currying, except with the correct inventor name. 22:32:44 oh. sensible. 22:32:55 for what it's worth curry mentioned schofinkel a lot. 22:32:56 of course the sqlite3 language can be scary even without triggers: 22:33:06 there's no let statement, so if you need one you have to write a nested select 22:33:18 well, you don't have to 22:33:21 "It was originated by Moses Schönfinkel and later worked out by Haskell Curry." says wp 22:33:23 credits him with BCWK and SKI 22:33:39 the normal solution is to do the variable copying from outside sql language, which sqlite3 totally allows to do easily 22:34:02 you can copy results of a statement to the bindings of another statement without examining them 22:34:13 and with proving SK is complete or whatever you call it. 22:34:42 Bike: really? I thought Church proved that 22:35:03 kind of assumed 22:36:13 "Schönfinkel discovered that all combinators can be defined in terms of two special ones, S and K," 22:36:47 what did Church prove then? 22:36:53 oerjan: Ok, it's hint's fault. When initialising, it queries the enabled extensions from ghc. Then it's translating MonomorphismRestriction to NoMonomorphismRestriction internally, but without inverting the current state of the extension. 22:38:50 as for S and K, I recently bought Smullyan's mockingbird book because they just translated it 22:38:56 b_jonas: that it's inconsistent, how to restrict it so that it's consistent, how to avoid variables entirely, bla bla bla 22:39:16 -!- nisstyre has joined. 22:39:24 Bike: but isn't avoiding variables the whole point of S K ? 22:39:31 or did he find some other basis instead? 22:39:52 how to define things without reference to a lambda calculus meta formalism, i mean, i think 22:40:56 do you mean construct them as functions or something like that? 22:42:33 construct a formalism of combinators with no reference to functions 22:42:43 int-e: MADNESS 22:43:01 huh? but it's exactly the lambda symbols that doesn't reference functions 22:43:06 only syntax transform rules 22:43:31 well, the S K or other combinator basis can also do that 22:43:46 it's 'the combinatory basis of logic' or something if you want to read it yourself 22:45:02 I see 22:45:27 oerjan: there's even a bug report about it: http://darcsden.com/jcpetruzza/hint/issue/1 (different extension but same idea: hint only has NoImplicityPrelude) 22:48:43 is it just me or is darcsden kind of ugly. 22:49:02 I don't know about you but darcsden *is* ugly. 22:54:13 > test 22:54:15 1 % 2 22:54:57 but now that that's fixed I better add a sane default directive there ... 22:55:20 um what's wrong with the default one. 22:55:21 more about sqlite3, table constraints can be arbitrary expressions, and those expressions can call user-defined functions, and I think those functions can modify the database 22:55:42 but now they added partial indices, but the conditions for partial indices can't call user-defined functions 22:55:45 oerjan: nothing. I'm adding default (Integer,Double) so your @let will hopefully stop working :) 22:55:55 the inconsistency seems a bit strange 22:56:06 > test 22:56:08 0.5 22:56:10 but I might be misunderstanding something here 22:56:13 int-e: ((),Integer,Double) is what ghci uses. 22:56:27 @let default (Integer, Rational, Double) 22:56:28 .L.hs:170:1: 22:56:28 Multiple default declarations 22:56:28 here was another defa... 22:56:49 > read "()" 22:56:50 () 22:57:21 also, that default only applies within the L module, iiuc 22:57:46 > test 22:57:47 0.5 22:57:56 oerjan: yes, I added () there, too. thanks for the hint :) 22:58:21 obviously those constraints can not only modify the database but also have random return value, so the same contraints are sometimes true and sometimes false 22:58:51 which would be wierd for both constraints and partial indices 23:01:22 -!- nisstyre has quit (Quit: Leaving). 23:01:41 > let (t,1) = (show,1) in t 1 ++ t () 23:01:42 No instance for (GHC.Num.Num ()) arising from the literal `1' 23:01:43 Possible fix... 23:02:36 (MonoPatBinds was another one that went the wrong way ... hmm ... but I didn't test it right.) 23:06:46 > let t = show in t 1 ++ t () 23:06:47 No instance for (GHC.Num.Num ()) arising from the literal `1' 23:06:47 Possible fix... 23:07:13 > let t x = show x in t 1 ++ t () 23:07:14 "1()" 23:07:38 now start waiting for the barrage of complaints hth 23:08:32 hmm. did that really change? *goes to test* 23:12:39 Yes. Hmm. 23:15:07 -!- nooodl_ has changed nick to nooodl. 23:15:17 Ah, NoMonomorphismRestriction implies NoMonoLocalBinds, obviously. 23:15:58 -!- Bike has quit (Ping timeout: 245 seconds). 23:21:44 meh. I'm being stupid. 23:21:50 -!- S1 has joined. 23:24:25 -!- evalj has quit (Remote host closed the connection). 23:25:25 -!- lambdabot has quit (Quit: wee! restarting!). 23:26:51 it's a bit annoying to have to restart lambdabot just because of an extra flag. oh well :) 23:28:21 -!- carado has quit (Ping timeout: 252 seconds). 23:29:20 -!- Phantom_Hoover has joined. 23:29:27 -!- lambdabot has joined. 23:29:29 > let t = show in t 1 ++ t () 23:29:35 "1()" 23:29:57 oerjan: thanks :) 23:30:33 -!- Bike has joined. 23:30:46 are we still complex numbers 23:30:47 you're welcome 23:31:11 oh also meanwhile: http://blog.wolfram.com/2013/11/21/putting-the-wolfram-language-and-mathematica-on-every-raspberry-pi/ 23:31:23 let us all point & laugh; cry 23:31:48 oerjan: haha, darcshub is buggy, too: http://darcsden.com/jcpetruzza/hint/patches 23:37:07 -!- augur has quit (Remote host closed the connection). 23:37:43 -!- augur has joined. 23:41:57 -!- augur has quit (Ping timeout: 248 seconds).