00:00:15 woooooo 00:05:48 > map ord ['1'..'0'] 00:05:49 [] 00:05:55 > map ord ['0'..'9'] 00:05:56 [48,49,50,51,52,53,54,55,56,57] 00:07:12 > map ord $ ['0'..'9'] ++ ['A'..'F'] 00:07:16 [48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70] 00:07:29 handy 00:08:02 >65-57 00:08:28 > map (chr . (\x -> 48+x+(8*(toIntegral$x/10))) [0..15] 00:08:29 : parse error (possibly incorrect indentation) 00:08:37 > map (chr . (\x -> 48+x+(8*(toIntegral $ x / 10))) [0..15] 00:08:38 : parse error (possibly incorrect indentation) 00:08:42 > map (chr . (\x -> 48+x+(8*(toIntegral $ x / 10)))) [0..15] 00:08:43 Not in scope: `toIntegral' 00:08:54 @hoogle Rational -> Integral 00:08:54 Warning: Unknown type Integral 00:08:55 Numeric fromRat :: RealFloat a => Rational -> a 00:08:55 Prelude fromRational :: Fractional a => Rational -> a 00:09:00 > ord . intToDigit <$> [0..15] 00:09:01 > map (chr . (\x -> 48+x+(8*(fromRational $ x / 10)))) [0..15] 00:09:02 [48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102] 00:09:02 Couldn't match expected type `GHC.Types.Int' 00:09:02 against inferred type ... 00:09:06 char in C++ is unsigned by default yes? 00:09:23 -!- tiffany has quit (Quit: Leaving). 00:09:37 > intToDigit <$> [0..15] 00:09:38 "0123456789abcdef" 00:09:46 CakeProphet: char's signedness is undefined. 00:09:49 at least in C 00:09:55 glibc/linux uses signed char 00:10:04 erm 00:10:04 ah 00:10:05 gcc/linux 00:10:27 return ((int)data)-48 //so then this probably isn't sensible where data is declared char. 00:10:45 and guaranteed at this point to be a char from 0 to 9 00:11:16 I may just convert the char to a string and use atoi... 00:11:23 iirc the 0-127 ascii range is guaranteed to be positive 00:11:37 ah right 00:11:42 it shouldn't matter... 00:32:01 -!- derdon has quit (Remote host closed the connection). 00:33:43 -!- augur has joined. 00:43:46 -!- ive has quit (Ping timeout: 244 seconds). 00:46:13 -!- Zondartul has joined. 00:48:29 Hey. I bet this question gets asked a hundred times a day... but what do is your stance on the fictional language ~ath from homestuck? 00:48:42 what is your stance guys* 00:49:14 hm are any of the homestuck readers active... 00:49:34 also, i haven't heard it before. 00:49:46 good esolang 00:49:49 I'm awake 00:49:51 except that there's no spec for it so not really. 00:51:33 aww... I thought one of you esolang programmers would hack together something that resembles it by now :P 00:52:12 We have almost as many Homestuck readers as Finns now. 00:53:00 *gasp* 00:53:11 ...is there any overlap? 00:53:39 the world-destroying semantics have been a little tricky to implement. 00:54:07 oerjan: By one, yes. 00:55:38 -!- ive has joined. 01:23:38 -!- Nisstyre has quit (Ping timeout: 255 seconds). 01:26:55 -!- tswett has quit (Quit: leaving). 01:27:56 -!- Warrigal has joined. 01:28:01 -!- Warrigal has changed nick to tswett. 01:30:14 elliott: There's a complication. I can't just randomly block the thread making the AW calls 01:30:42 Because that needs to call aw_wait() on a regular basis. And during the aw_wait() calls is when events are triggered 01:30:49 Sgeo|web: It wouldn't block. 01:31:18 Sgeo|web: I can help you hash out an actual design sometime, but not right now. You can definitely make it work out though. 01:33:17 elliott is busy taking over the world. 01:34:24 Someone did write code using .NET's new async stuff 01:34:42 Which kind of makes me jealous since I kind of wanted to show off making async calls look synchroneous 01:35:32 -!- Zondartul has quit. 01:36:09 Continuations? 01:36:10 :V 01:37:14 -!- Nisstyre has joined. 01:37:19 STM 01:37:22 does that. 01:37:56 N... 01:37:59 o... 01:38:00 it doesn't. 01:38:05 STM is something completely different. 01:38:15 well not calls... 01:38:20 elliott: just curious, why use an MVar instead of STM? 01:38:31 Sgeo|web: STM buys you nothing here. I presume you mean TMVars. 01:38:42 You don't want transactional semantics, you want the lower-level interface of MVar. 01:38:54 There's never a conflict by definition anyway. 01:41:40 -!- pikhq_ has joined. 01:41:55 so what's wrong with "using namespace std"? 01:41:55 -!- pikhq has quit (Ping timeout: 260 seconds). 01:41:59 people don't seem to like it. 01:42:22 but I really don't enjoy the propagation of stds in my code. 01:43:24 Well, if you're using it in a header, then you're forcing it on people, is one issue 01:43:29 "More typing is good" 01:44:05 In Haskell, it is 01:44:07 >.> 01:44:49 Sgeo|web: what about outside of headers? 01:47:29 "If you import the right header files you suddenly have names like hex, left, plus or count in your global scope. This might be surprising if you are not aware that std:: contains these names. If you also try to use these names locally it can lead to quite some confusion." 01:47:37 http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-a-bad-practice-in-c 01:48:37 okay but what about when I'm not a header file. 01:48:58 ...that applies to even in a non-header file 01:49:44 eh 01:49:48 * CakeProphet uses namespace std. 01:53:28 -!- Nisstyre has quit (Ping timeout: 240 seconds). 01:54:04 -!- Nisstyre has joined. 01:58:28 -!- augur has quit (Remote host closed the connection). 01:59:17 -!- quintopia has quit (Ping timeout: 252 seconds). 02:09:27 -!- pikhq has joined. 02:09:35 -!- quintopia has joined. 02:09:39 -!- pikhq_ has quit (Ping timeout: 258 seconds). 02:40:00 -!- augur has joined. 02:40:20 -!- augur has quit (Remote host closed the connection). 02:55:06 -!- ive has quit (Ping timeout: 256 seconds). 02:59:06 -!- augur has joined. 02:59:19 -!- augur has quit (Remote host closed the connection). 03:07:34 uh what was the option to get debugging symbols from g++? 03:07:39 -g 03:07:46 I... don't believe you. 03:07:51 I do 03:08:02 pooppy's right on this one. 03:08:07 It's the same as any other GCC compiler. 03:08:19 I don't know the option for those either. 03:08:27 but I recall it being a longer option name. 03:08:29 last time I asked. :P 03:08:51 I assume by "get debugging symbols" you mean "have debugging symbols in the output binary"? 03:11:53 correct. 03:14:31 Ohhh, then you want -gdwarf-2 -feliminate-dwarf2-dups -fno-merge-debug-strings -fmem-report -fprofile-arcs. 03:15:50 hmmm 03:15:52 I think O' 03:15:57 I'll just valgrind instead. 03:16:06 * Gregor lols. 03:16:29 -!- coppro has set topic: Agora invades BlogNomic! | #include "stdio.h". 03:16:29 int main() { auto anonfunc = [](int a) { return a;}; printf("%s\n", typeid(anonfunc.operator()).name()); } 03:16:33 oops 03:16:39 noooo 03:16:44 why did you make me look at the ugly lambda syntax 03:16:50 anyone have the log link? 03:16:53 mispaste :( 03:16:58 -!- Gregor has set topic: pooppy is now banned from changing the topic | http://codu.org/logs/_esoteric/. 03:17:12 -!- coppro has set topic: Agora invades BlogNomic! | http://codu.org/logs/_esoteric/. 03:17:43 a very esoteric matter 03:17:58 the esotericest matter 03:17:58 * Sgeo|web wants a language where time and space complexity are part of types 03:18:05 -!- oerjan has set topic: Agora invades BlogNomic! | 12345678^&!* | http://codu.org/logs/_esoteric/. 03:19:11 Sgeo|web: I would like some runtime value constraints as part of types. 03:19:31 so you could say "this value is between in this interval of integers" for example. 03:19:44 er, insert grammatical correctness 03:20:14 I suppose that would be some form of dependent typing. 03:34:15 -!- pikhq_ has joined. 03:34:29 -!- pikhq has quit (Ping timeout: 259 seconds). 04:03:54 Homestuckers other than tswett: EoA5 progress bar UPDATE to 96% 04:04:37 96% party 04:12:15 -!- kwertii has quit (Quit: kwertii). 04:12:19 friendship 96% 04:12:24 friendship 96% party 04:18:38 hey monqy design my file format 04:22:23 Cale... actually agreed with something I said 04:22:35 YOU'RE A CELEBRITY NOW. 04:25:40 -!- Jafet has joined. 04:25:41 -!- Jafet has quit (Changing host). 04:25:41 -!- Jafet has joined. 04:28:28 what sort of file format 04:29:53 -!- oerjan has quit (Quit: Good night). 04:29:54 monqy: reverse-context tree 04:30:18 can't say I know much about those 04:30:47 monqy: yeah but i mean i just need like 04:30:49 b-trees and shit 04:30:50 ;__; 04:31:35 I've never been fond of bee trees. 04:31:38 those things hurt, you know 04:36:16 `pastelogs Oranjer 04:36:26 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4459 05:25:30 craaazy people http://www.tpuc.org/node/609 05:25:42 The DECEPTION of: INCLUDE(S) used by TV LICENSING oop's sorry! CONSIGNIA (CUSTOMER MANAGEMENT) LTD also Traded as TV LICENSING 05:25:52 me 05:26:58 wow this webs ite sure is angry 05:27:14 stop ylling my ears are senseteve i have problems 05:27:49 -!- sebbu has quit (Read error: Connection reset by peer). 05:28:12 Please note the CAPITALISATION should not be seen as shouting, but is simply being used to highlight the LEGAL ILLUSION. 05:28:24 (however, it is much funnier if you yell the more bolded/capitalized/underliend it is) 05:28:32 Patashu: did you read that Free Man site where like 05:28:42 it's a contract for your legal fiction which is distinguished by being ALL CAPITALS 05:28:43 -!- sebbu has joined. 05:28:43 -!- sebbu has quit (Changing host). 05:28:43 -!- sebbu has joined. 05:28:48 and if you go into court and demand they address you by their firts name 05:28:49 it's not binding 05:28:50 elliott: that's this website 05:28:51 its so fucking amazing 05:28:51 -!- Jafet has quit (Quit: Leaving.). 05:28:52 basically 05:28:59 Patashu: no it was much more lo-fi but yes i am sure it is peddled in many places 05:29:49 when i read "free man site" i thought timecube 05:29:53 Because the LEGAL world can only ACT (CONTRACT) upon LEGAL PERSONALITIES (PIECES of PAPER) they need the Man or Woman to REPRESENT a BIRTH CERTIFICATE, LEGAL PERSONALITY, a PIECE of PAPER. 05:29:56 the freeest man site 05:30:28 freeest is the freeest usage of English gramar. 05:30:35 you know, if the legal system was run by robotic beings 05:30:42 freemen would actually have a chance 05:30:56 -!- kwertii has joined. 05:31:09 * CakeProphet can only act upon legal personalities. 05:31:30 -!- Slereah_ has quit (Ping timeout: 256 seconds). 05:31:38 * Patashu is a function that takes a pointer to a legal personality 05:32:49 has anyone seen C++ code that takes references to pointers? 05:32:59 also can you have points to references? that sounds weird to me. 05:33:03 *pointers 05:33:35 -!- GreaseMonkey has joined. 05:34:11 pointers are weird 05:34:31 references too 05:34:32 http://msdn.microsoft.com/en-us/library/1sf8shae(v=vs.80).aspx references to pointers 05:34:49 can't find pointer to reference. I don't think that even makes sense 05:37:06 -!- Jafet has joined. 05:37:19 -!- sebbu has quit (Read error: Connection reset by peer). 05:37:42 -!- sebbu has joined. 05:37:42 -!- sebbu has quit (Changing host). 05:37:42 -!- sebbu has joined. 05:39:24 Patashu: http://www.cnet.com/8301-30976_1-20068778-10348864.html 05:42:34 im going to operate a nuclear facilities using itunes 05:42:42 every time I try to load that page google chrome's tab crashes 05:42:44 weird....... 05:42:51 then put them on aircraft and operate the aircraft using itunes 05:43:00 stuff itunes operated life support systems into it 05:43:43 -!- augur has joined. 05:44:01 man eulas are nuts 05:44:39 legal systems are nuts in general. 05:45:18 seriously we should probably utilize this great new invention called the computer to assist us with categorizing and maintaining laws. 05:45:55 CakeProphet: they tried that 05:45:58 and look where blognomic is now 05:46:02 coppro: Sgeo|web: TOPICAL JOKE 05:46:30 -!- coppro has set topic: BlogNomic invades BlogNomic! | 12345678^&!* | http://codu.org/logs/_esoteric/. 05:46:43 coppro++ 05:46:48 :D 05:46:56 a stunning success and therefore failure 05:47:25 elliott: I mean things like "modularizing" law. 05:47:25 what is blognomic? 05:47:38 -!- Slereah_ has joined. 05:47:53 so that you can refer to previous laws or a category of laws systematically, use consistent terminology, etc. 05:48:12 Patashu: fucked 05:49:01 I guess in some countries this is basically how laws work. 05:49:15 but there's no accessible means by which the average person can sit and learn about it all. 05:49:25 too much legalese to sift through without obvious definitions. 05:49:33 this is why hypertext would be good, for legal bodies. 05:49:47 http://agora.qoid.us/current_flr.html 05:49:51 *legal documents 05:50:07 and a category/template system. essentially like a wiki. 05:50:14 but without the anonymous editing part. 05:50:29 you have weighted powers? 05:50:51 Patashu: a game where, supposedly, all rules including the rules regarding rule changes can change 05:51:02 In reality, it's looking more like "Ignore the rules if someone abuses them" 05:51:15 * CakeProphet pursues the victory condition of Anarchy. 05:51:36 elliott: can I play? pretend I never said that. :P 05:51:42 CakeProphet: what, agora? 05:51:44 yes. 05:51:46 sure 05:51:54 sign up for the lists, post saying you're registered 05:52:02 nice ASCII whale. 05:52:12 Try not to look like a BlogNomic player, and that's not a whale 05:52:22 come on it has a blowhole 05:52:30 what else is a big fat fish with a blowhole. 05:52:35 Regarding the file format, following oerjan I suggest {a^i b^i c^i | i > 0}, as it cannot be recognized by a pushdown automaton. 05:52:50 Whales aren't fish, but it's been a while since I saw the ruleset 05:53:03 Oh 05:53:35 which is permitted only when the Rules explicitly or implicitly permit it. 05:53:36 The @ makes it look a bit dizzy. 05:53:38 implicitly, eh? 05:54:42 spivak pronouns? 05:54:44 weijiwejriuhwejr 05:56:07 spivak pronouns = pirate pronouns 06:09:58 [CFJ 2410 (called 11 March 2009): Consent to join a binding agreement 06:09:59 may be given privately.] 06:10:01 oh snap. 06:10:11 CakeProphet: been exploited in literally every way you can imagine, don't bother 06:11:17 the rule itself is a kind of exploit. 06:11:25 nope 06:11:26 anyway 06:11:28 a, legal... exploit. 06:11:28 i'm too busy to talk about agora 06:11:29 LO 06:11:46 ...you're welcome to be busy and not reply then. :P 06:12:52 in any case if I were planning to exploit something I surely wouldn't make mention of it. 06:16:11 -!- nooga has joined. 06:48:56 pizzas are a good way to describe composing data types in Haskell 06:49:14 a cheese pizza is basically the most basic kind of pizza, a pizza with nothing on it. 06:49:19 apart from 06:49:20 cheese 06:49:30 right but almost every other kind of pizza has cheese 06:49:33 it's the baseline. 06:49:36 for being a pizza. 06:50:16 so in a pepperoni pizza, you just include the cheese pizza, and pepperonis :P 06:50:45 that's... basically as far as I've gone with this analogy. It breaksdown rapidly from there. :P 06:52:36 I know a person who only eats pizza with no cheese on it. 06:52:46 So it's definitely not a requirement for being a pizza. 06:53:53 well pizza does have a very wide definition. 06:54:47 none of the typical definitions of pizza eliminate the cheese and only a few eliminate tomato sauce ("white" pizzas) 06:54:57 typical kinds of pizzas, rather. 06:55:01 not definitions. 06:55:26 Yes, that was confusing. Anyway, there are several "standard" no-cheese pizza flavours in Italy. 06:55:58 Sadly I can't recall the names; they're not exactly widely available e.g. in Finland. 06:56:25 white pizza is the best. 06:56:29 definitely my favorite. 06:57:17 a "vegan pizza" would certainly have no cheese. 06:58:03 Pizza Marinara is at least a no-cheese thing. 06:58:40 And it's very much a "standard" pizza. 07:00:51 (It's listed as one of the three official Neapolitan pizzas in the Wikipedia article; it seems that means one of the three mentioned in the EU trademark for "Pizza Napoletana". 07:01:13 "‘Pizza Napoletana’ TSG is round with a variable diameter not exceeding 35 cm and a raised rim and 07:01:13 is garnished and baked in the oven. The central part is 0,4 cm thick, with a tolerance of ± 10 %, and 07:01:13 the rim is 1-2 cm thick. The overall pizza must be tender, elastic and easily foldable into four." 07:01:28 "The ‘Pizza Napoletana’ is seasoned as follows: 07:01:29 — using a spoon, place 70 to 100 g of crushed, peeled tomatoes in the centre of the disc of dough, 07:01:29 — using a spiralling motion, spread the tomato over the whole central surface, 07:01:29 — using a spiralling motion, add the salt to the surface of the tomato, 07:01:29 — in the same manner, scatter a pinch of oregano on the surface, 07:01:29 — chop a peeled clove of garlic into thin slices and place them on top of the tomato, 07:01:31 — using an oil dispenser with a spout and a spiralling motion, distribute over the surface area, from 07:01:33 the centre outwards, 4-5 g of extra virgin olive oil, with a tolerance of + 20 %." 07:01:35 The best trademark document. 07:01:56 It doesn't even specify the direction of the spiralling motion. :( 07:02:31 I do believe the defining aspect of pizza is that it is flattened bread with toppings. 07:02:40 It depends on which hemisphere you live in 07:03:10 European food laws = the most ridiculous thing. 07:03:15 especially in Italy. 07:03:34 "Italian open pie made of thin bread dough spread with a spiced mixture of e.g. tomato sauce and cheese" --wordnet. 07:03:48 well, I can see benefits of having food laws and drawbacks. 07:04:02 the pizza has largely become the amazing thing it is today thanks to American corruption. 07:04:11 "A savoury dish of Italian origin, consisting of a flat, usually round base of dough, baked with a topping of tomatoes, cheese, and any of various other ingredients, such as meat, anchovies, or olives." --OED: so as a corollary, if it tastes bad, it's not a pizza? 07:04:22 CakeProphet: s/American/Italian/ 07:04:23 You could get a refund based on that. 07:04:30 The corruption was the doing of Italians in America. 07:05:12 yes, many Americans were, are, and come from European immigrants. 07:06:26 What I mean is "it was literally done by first-generation Italian immigrants". 07:06:31 as a downside to loose food regulation, American food companies can package almost any concoction with a few basic ingredients and call it something that it really shouldn't be called at that point. 07:07:20 Coincidentally, fi:pissa = en:pee. 07:07:50 CakeProphet: Actually, it's not quite that loose. 07:09:08 comparatively it is, but yes there are regulations. 07:09:17 wyngz 07:09:25 Wyngz is actually a regulated term. 07:10:13 i know 07:10:29 "FSIS has a standard of identity in Title 9 of the Code of Federal Regulations (CFR), Section 381.170(b)(7) that defines a poultry "wing." The use of the term "wing" cannot be used on any poultry product unless it complies with this standard of identity. In comparison, FSIS allows the use of the term "wyngz" to denote a product that is in the shape of a wing or a bite-size appetizer type product under the following conditions in which the Agency considers its u 07:10:29 se fanciful and not misleading: [5 conditions]" 07:10:56 "-- the smallest letter in the descriptive name is no smaller than 1/3 the size of the largest letter used in "wyngz;" and --" 07:11:02 And you call the pizza trademark silly. 07:11:22 I don't. If anything, US food regulations are even more silly. 07:12:02 I meant "ridiculous" in the sense that they're unecessarily strict, not silly. 07:12:11 they are certainly better worded. 07:12:16 there is no mistaking what an Italian pizza is. 07:12:29 American wings = ?????? 07:14:53 Has to be an actual wing from a chicken. 07:14:57 what "wyngz" are is even more confusing. 07:15:08 Wyngz are... Perverse. 07:15:36 so if I create a solid block of macaroni and cheese in the shape of a wing, then that could be wyngz? 07:15:43 I guess the Agency has to decide. 07:16:38 I know that in order to be "potato chips" it must be fried. 07:16:45 thus why Pringles are "potato crisps" 07:17:14 Per their current definition of wyngz, it has to be white chicken meat in a bite-sized form... 07:17:28 bite...sized? 07:17:49 Erm. 07:17:53 I should sleep. 07:17:55 lol 07:18:10 I don't think it needs to be bite-sized: "in the shape of a wing *or* a bite-size appetizer type product" [emphasis mine]. 07:18:27 But it does need to be white chicken. 07:18:33 Right, right. 07:18:35 ah 07:18:41 I suppose you could have a giant wyngz. 07:18:57 so I could make a wing-shaped product that is not capable of being eaten in a single mouthful. 07:19:11 or a unicorn shaped product that is edible in one "bite" 07:19:14 good to know. 07:19:15 Yes. 07:21:14 CakeProphet: Remember to submit your "wyngz" label to the Labeling and Program Delivery Division for sketch approval, because it is considered a special statement that cannot be generically approved. 07:21:31 ah. 07:21:45 does that apply for all names not regulated? 07:21:50 such as wyngicorns? 07:22:03 or... 07:22:08 great cubicuboctahedrons? 07:22:11 "The statement may only reference the term "wyngz" (no other misspellings are permitted)." 07:22:27 ah so I'd need one of those subtext things. 07:22:33 below my wyngicorns brand. 07:22:49 in order to be... considered wyngz 07:22:51 whatever that is. 07:23:23 Possibly "wyngicorn" is far-enough removed from "wing" that it doesn't need special handling? I don't know. 07:24:10 Goal: chicken wyngicornz available in every bar. 07:25:26 well it said I "may" name them wyngz but don't have to if they fit this definition. 07:25:44 so it's more like... a helpful suggestion. 07:26:00 CakeProphet: but if it's too close to wings, you'll get dinge 07:26:00 d 07:26:05 because wings is regulated 07:26:06 and like 07:26:09 wiingz 07:26:11 is misleading 07:26:32 http://www.youtube.com/watch?v=u88AOoYAOQE this is pretty much the best TAS 07:26:38 I assure you that both wyngicorns and great cubicuboctahedrons will be nothing like wings. 07:27:02 If it's not a poultry product at all, though, there may be more latitude. I think you can have edible "cardboard wiingz" without problems. 07:27:12 Edible cardboard? 07:27:21 It's just a matter of seasoning. 07:30:03 -!- monqy has quit (Quit: hello). 07:31:25 there's edible styrofoam. 07:31:52 i hate styorofoamfs texture so much uuuurgh 07:32:16 though nothing on the internet seems to suggest there's such a thing. 07:32:37 maybe my childhood friend's mom was pranking me into eating styrofoam. 07:33:09 what a mean adult. 07:33:44 oh no there's such a thing as "corn plastic" 07:34:45 maillard reaction: great reaction or greatest reaction? 07:34:47 discuss 07:35:47 -!- nooga has quit (Ping timeout: 255 seconds). 07:41:30 -!- SimonRC has quit (Ping timeout: 252 seconds). 08:02:52 -!- SgeoN1 has quit (Read error: Connection reset by peer). 08:02:53 -!- SgeoN2 has joined. 08:04:31 -!- SimonRC has joined. 08:11:46 -!- kwertii has quit (Quit: bye). 08:14:41 Piet program spotted in the wild: http://www.businessweek.com/magazine/the-rare-find-reinventing-recruiting-10132011.html (The whole puzzle thing is old, I guess, but didn't spot Piet in there.) 08:15:10 heh 08:19:00 > intercalate "?" (repeat "?") 08:19:01 "??????????????????????????????????????????????????????????????????????????... 08:19:53 elliott: good porgram 08:20:03 SgeoN2's 08:20:14 ...whut 08:20:15 why 08:22:36 elliott: why would anyone write that. 08:23:55 If this were pure math and not Haskell, would it... oh, still countably infinite 08:24:40 Stupid hotel story for kids has _still_ infected my mind and made me thing wrong thoughts 08:24:41 > intercalate "!" (repeat "?") 08:24:41 "?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!... 08:24:47 :t repeat 08:24:48 forall a. a -> [a] 08:24:52 :t intercalate 08:24:53 forall a. [a] -> [[a]] -> [a] 08:25:01 fizzie: dude Facebook should totally hire me because I can recognize Piet programs. 08:25:10 :t \x -> intercalate x . repeat 08:25:11 forall a. [a] -> [a] -> [a] 08:25:42 I don't get it. How do you pass an [a] into a [[a]] 08:27:16 Feces has always been associated with the lowest people among society, the social outcasts, the pariahs, the social discards. The Caste system in India was created along the lines of profession and the dalits or shudras (untouchables) were left to do work related to human emissions. They did such work as clean and pick feces from streets, clean toilets, work with dead bodies. Such practices are prevalent even today in th 08:27:23 I like how it says "shit" 08:27:32 where 08:27:48 http://en.wikipedia.org/wiki/Feces#Social_Implications 08:27:54 there. 08:28:17 Sgeo|web: help what is that program for. 08:28:41 CakeProphet: i probablys hould have realiesd that page would contain pictures of feces 08:28:43 euuuuuurgh 08:29:17 It's missing the "bear scat showing a diet of prime numbers" picture. 08:29:33 elliott: no human feces oddly enough 08:29:42 I remember at one point there was a picture of human shit. 08:29:45 on a plat 08:29:46 e 08:30:03 someone shat on a plate and took a picture of it for Wikipedia. 08:30:26 `addquote It's missing the "bear scat showing a diet of prime numbers" picture. 08:30:32 688) It's missing the "bear scat showing a diet of prime numbers" picture. 08:31:00 Perhaps someone shat on a plate and took a picture of it, and then later realized "oh, I can upload this to Wikipedia too, to do my part of the encyclopedia-making". 08:32:42 Sgeo|web: Hotel story? 08:33:08 Some rendition of Hilbert Hotel 08:33:37 Ending had an infinite number of infinite-sized busses, and at the time, it seemed as though it was left ambiguous as to whether that was doable (countably infinite) 08:34:29 http://en.wikipedia.org/wiki/Everyone_Poops 08:34:30 best book. 08:34:51 deserves a nobel prize in literature. 08:36:13 http://www.ccs3.lanl.gov/mega-math/workbk/infinity/inhotel.html 08:51:41 -!- nooga has joined. 09:05:47 Sgeo|web: What's wrong with Hilbert's hotel? 09:05:49 It works fine. 09:06:34 Sure you can enumerate an that. It's just (N,N) ~ Q 09:07:11 The part with the infinite people on infinite buses, I mistook what the story said wrt building catching on fire to mean that it wouldn't work 09:07:25 This was quite some time ago 09:10:15 fizzie: still, I imagine there are plenty of good programmers who have never heard of Piet. 09:10:32 and so missed an opportunity to solve the actual puzzle. 09:10:37 -!- ais523 has joined. 09:10:40 -!- ais523 has quit (Changing host). 09:10:40 -!- ais523 has joined. 09:19:15 -!- ais523 has quit (Read error: Connection reset by peer). 09:21:46 -!- ais523 has joined. 09:56:05 -!- sebbu has quit (Read error: Connection reset by peer). 09:56:39 -!- sebbu has joined. 09:56:39 -!- sebbu has quit (Changing host). 09:56:39 -!- sebbu has joined. 09:57:06 -!- Mynick has joined. 09:59:06 -!- ais523 has quit (Remote host closed the connection). 09:59:49 -!- hagb4rd has joined. 10:02:25 -!- Mynick has quit (Ping timeout: 276 seconds). 10:30:26 -!- GreaseMonkey has quit (Quit: The Other Game). 10:32:47 -!- nooga has quit (Ping timeout: 244 seconds). 10:38:22 -!- Jafet has quit (Quit: Leaving.). 10:40:39 -!- nooga has joined. 10:49:35 -!- Vorpal has joined. 11:42:01 I seem to be slowly shaking away that "put a space after a trailing ?" habit: http://sprunge.us/cQhA 11:42:13 heh 11:42:39 fizzie: so if i made a bot that just happened to ... 11:43:08 Other people might find such a bot quite irritating. 11:43:24 SHEESH 11:58:22 Ssy, does anyone know that thing that goes "da da da DA da da da"? I think it's not from Homestuck. 12:01:40 katamari damacy\ 12:06:09 -!- ais523 has joined. 12:16:15 -!- ais523 has quit (Read error: Connection reset by peer). 12:18:53 -!- ais523 has joined. 12:21:11 -!- Jafet has joined. 12:28:55 tswett: was i right 12:34:33 -!- copumpkin has quit (Ping timeout: 260 seconds). 12:34:59 -!- copumpkin has joined. 12:56:09 Hey fizzie. 13:00:32 fizzie. fizzie. Get what you get to do. 13:03:38 I'm not here and no-one's seen me. You must be talking to yourself. 13:04:34 Indeed. fizzie: WHAT'S A GOOD REVERSE CONTEXT TREE FORMAT. 13:05:45 fizzie: Hmm, actually I'm not sure I completely understand them. Does every single branch have "what comes next" information? 13:06:00 fizzie: Like, at the root of the tree is there "what comes next" information for every single word in the corpus? 13:06:10 (Or is it for getting the first word?) 13:08:23 At least in a theoretical discussion, at the root of the tree, the "what comes next" list would be the corpus unigrams; correspondingly, at subnode /FOO/BAR, the "what comes next" list would be the list of last words of all trigrams that match "BAR FOO *". 13:08:40 Right. So every single node has a what's next list. 13:08:55 fizzie: But, I suppose, in practice you omit the "what comes next" at the root of the tree? 13:10:14 I guess I should still have an explicit start/end token. Except, wait, there's no actual way to extract those from n-gram data, is there? 13:10:40 I guess I'll have to take sentence terminator tokens as my first thing, and then just drop the first token generated. 13:12:16 I'm not entirely sure. I might not, just in case it has to back off to the zero-length context. (E.g. think of the case where it has generated "foo znurg", and [foo][znurg] was the only bigram (or any higher gram, obviously) containing the word 'znurg' that made the 40-count cutoffs. In that case, there will be no valid context, no /znurg node in the tree, and it has to create the next word from the unigrams.) 13:12:17 -!- hagb4rd has quit (Ping timeout: 240 seconds). 13:13:14 Explicit start/end tokens are typical, then you generate an initial context of "" when generating forward. But you're right that it's hard to get those from the Google data since they opted not to sentence-split their books. 13:13:19 fizzie: I suppose it can't do any harm. 13:13:30 ^style europarl 13:13:30 Selected style: europarl (European Parliament speeches during approx. 1996-2006) 13:13:33 fungot: I like this one 13:13:36 ais523: mr president, it is only natural that the european parliament' s opportunities to study and evaluate the work of the research activities from the beginning of the 1980s there were 10 million new jobs created between 1997 and 1999, it would seem to be wholly absolute. thus it is not a fight against those who had previously opposed any military intervention and interference. two years of work, strengthening social cohesio 13:14:09 fizzie: Are there any advantages of just doing "Take the union of the what's-next lists at the nodes '.', '!', '?', ... and then pick a token from there as the first token"? 13:14:17 fizzie: I mean, it misses out e.g. the first sentences of books. 13:14:26 But it seems like a sentence terminator is a pretty good place to find the start of a sentence. 13:14:44 I was about to suggest an initial context of "." or something, though of course there's quite a lot of .s that are not sentence terminators. 13:15:21 fizzie: Well, right. I mean, remember that the actual generation will look like "start with n-gram, work forwards until sentence terminator, work backwards until sentence start". 13:15:26 Beacuse of my double-tree thing. 13:16:06 fizzie: Something like "sentence terminator → capital letter" seems to be a pretty good judge of start-of-sentence. 13:16:14 I mean, obviously it won't be perfect. 13:16:34 There's not much more you can do than to treat the proper punctuation for sentence-termination, since for better sentence-splitting (to realize that "And the Mr J. Smith ate him." is not two sentences) you'd almost have to have the original sources. 13:16:58 Right. 13:17:06 (That, uh, is some sentence.) 13:18:16 data RCT = Branch (Map String Int) (Map String RCT) 13:18:29 Where first map is word → occurs, and second descends down the tree. 13:18:30 I think. 13:18:36 Am I wrong? Am I stupid? Am I bad? :( 13:19:10 If the tokens are interned, that might be a (Map Int Int) and (Map Int RCT) or something. 13:19:22 fizzie: Yes, yes, it's ~symbolic~; remember that I can't actually load these into RAM. 13:19:43 Also: What's a good way to do a weighted random choice on (occurs,choice) sets that you don't want to load into memory? :p 13:19:56 (I guess the interning gives the advantage that each element of the set is constant-sized.) 13:20:07 (So if I ordered them by occurs, I could just pick skewed towards the end of the list?) 13:20:10 (Except that's kind of naff. 13:20:12 ) 13:20:15 Except, wait. 13:20:27 There's no harm loading it into memory, because it'll never be larger than the unigrams. 13:20:38 And the unigrams are just going to be a few megabytes in total. Maybe ten. 13:20:42 At least so fizzie says. :p 13:21:55 Yes, you can probably stand loading a single node. But if you want, you could store it on-disk as (sum of occurs, [(cumulative occurs, choice)]), then pick a uniformly distributed value from [0, sum of occurs) and find the smallest choice for which the cumulative value is larger by a binary search. 13:22:11 That sounds rather excruciatingly slow. 13:22:37 Probably. For the most part, the nodes are likely to be quite small. 13:22:39 I mean, if I'm talking to a mechanical disk over USB, loading a few megs of sequential data is so much better than doing a binary search seek over a few megs of sequential data it's not even funny. 13:25:42 As for the sentence start tokens, you can sort-of artificially add those by ignoring all ". a b c d" and "w x y z ." (unfiltered, those would be redundant; even filtered, you'll probably get a reasonable set of punctuation-in-the-middle grams) and then for each "z . a b c", "y z . a b", "x y z . a" add the corresponding "z . a" and so on only when a starts with a capital letter and z is not a single character (to remove "Mr J. Smith"). Possibly not wor 13:25:43 th the hassle. 13:26:40 fizzie: How is that different to what I'd do at babble-time? 13:28:33 Well, I guess you can do the same at that time. Just that you'd generate one past the potential sentence-separator token at the end, and one before the sentence-separator token at the start, so you can apply some guesswork there. 13:31:27 Ah. 13:31:30 Well, I might do it. 13:31:32 It seems rather... minor. 13:35:42 Incidentally, I also "invented" your double-tree idea the other day. I was thinking of just having a regular trie of n-grams, with the "next word" lists, and then went all "ooh, an idea; if you add a 'previous word' list too so that for 'a b c d' you put 'a' on that list for /b/c/d, then you can generate backwards too and share much of the structure". Took a moment to realize that is actually equivalent for a reverse-context style tree for going backwards + re 13:35:42 gular context tree for going forward, which is pretty much the same thing as doing reverse-context for forward prediction and regular-context for backward. 13:36:38 fizzie: Yep. That's... what I said, yes. 13:36:59 fizzie: What does "pretty much" mean here? 13:37:01 It's literally identical. 13:38:03 -!- sllide has joined. 13:39:19 Unless? 13:39:53 Well, no, it's not literally identical; you end up with a differently shaped tree, for one thing. In the first option (reverse-context for backward, regular-context for forward) it's slightly simpler to go backward (with a context of "a b x", at /a/b/ if there is no x/ you're already at the right place) and less simple to go foward; vice-versa for the other option. 13:40:09 At least when you are literally literal. 13:40:23 fizzie: Oh, right. 13:40:29 fizzie: The way I did it made it easier to go forwards. 13:40:34 Yes. 13:40:34 fizzie: i.e. reverse-context for forwards. 13:40:36 fizzie: I'm not sure why. 13:40:40 It just... feels righter? 13:40:55 Admittedly there's a certain elegance that you go the Normal Way to go forwards and flip things around to go back. 13:44:24 fizzie: I kind of want to use a reverse-context tree for both so it's more elegant, but AFAICT that would pretty much duplicate my space usage. 13:44:46 If you start with the "let's use a reverse-context tree for babble-generation" concept and then start to think "how can I make some use of this thing also for predicting text backwards", it goes more naturally like the way you were going to do it. 13:44:54 Yes. 13:44:58 Hey, can't I reduce 13:44:58 data RCT = Branch [(String,Int)] (Map String RCT) 13:44:59 into 13:45:01 er 13:45:02 erm 13:45:04 can't I reduce 13:45:08 data RCT = Branch (Map String Int) (Map String RCT) 13:45:09 into 13:45:15 -!- Patashu has quit (Ping timeout: 245 seconds). 13:45:16 data RCT = Branch (Map String (Int,RCT)) | Nope 13:45:17 ? 13:45:31 I mean, there'll never be anything in the latter map without it being in the former map, no? 13:45:41 Or, hmm, wait, it's a /reverse/ context tree, so that doesn't necessarily hold 13:45:44 Or do I have it backwards. Help. 13:45:50 I suppose I really mean 13:45:55 data RCT = Branch (Map String (Int, Maybe RCT)) 13:46:09 -!- sllide has quit (Read error: Connection reset by peer). 13:48:56 Yes, I guess you could combine them; though there's the fact that for the most numerous nodes that are four level deep, there will always be just Nothing in the Maybe. I suppose it doesn't matter semantically, but physically it might save space to keep the lists separate. Because of the reversedness, I'm not sure how much they share. I mean, for the n-gram list (b a x) (b a y) (c a x) (c a y) you will end up with node /a that has subnodes /a/b and /a/c, and nex 13:48:56 t-word list of (x, y). 13:49:13 Whoops, I need to get going; it's the alt barty thing. 13:49:19 Right. 14:08:24 -!- nooga has quit (Ping timeout: 260 seconds). 14:09:35 -!- ais523_ has joined. 14:09:45 -!- ais523 has quit (Disconnected by services). 14:09:47 -!- ais523_ has changed nick to ais523. 14:10:03 elliott: no, I don't think so. 14:14:20 -!- ais523_ has joined. 14:14:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:14:33 -!- ais523 has quit (Disconnected by services). 14:14:35 -!- ais523_ has changed nick to ais523. 14:16:04 -!- Phantom_Hoover has joined. 14:19:47 -!- nooga has joined. 14:36:04 -!- nooga has quit (Ping timeout: 256 seconds). 14:36:38 -!- copumpkin has joined. 14:40:26 `addquote You know what annoys me about Deep Space 9. It wasn't in deep space. It was orbiting Bajor. 14:40:28 689) You know what annoys me about Deep Space 9. It wasn't in deep space. It was orbiting Bajor. 14:41:43 -!- SimonRC has quit (Ping timeout: 260 seconds). 14:51:35 -!- hagb4rd has joined. 15:15:10 -!- SimonRC has joined. 15:19:28 -!- SimonRC has quit (Ping timeout: 252 seconds). 15:29:35 elliott, Phantom_Hoover had an interesting observation there 15:29:51 however, I don't see the funny part of it 15:30:07 who said the qdb is just for jokes? 15:30:33 elliott: that sort of interesting observation is what xkcd is full of nowadays 15:30:35 `quote 15:30:37 579) The only happy dorf has a compassion stat of 0. Well, 20, but it amounts to the same. 15:30:45 elliott, you 15:31:03 ais523: it's better-paced than xkcd, though 15:31:16 `quote 15:31:17 `quote 15:31:17 `quote 15:31:18 `quote 15:31:19 `quote 15:31:20 313) what does coffee do to biological neural networks what tiger blood does for charlie sheen 15:31:23 407) You make a fist, shake it at the sky, and shout "why, GNU, why?!" -- that is the standard reportig practice. 15:31:25 159) OK, so is conspiring to conspire to commit a crime a crime? Let's all get together and talk about defacing public property sometime 15:31:25 I actually looked at very early xkcd; it isn't all that good 15:31:33 250) [CTCP] Received CTCP-ERRMSG reply from clog: unknown CTCP: ERRMSG. 15:31:33 58) Porn. There, see? 15:31:36 very early xkcd isn't that good but it has charm 15:31:38 the famous sudo make me a sandwich comic is pretty much the first good one, and even it's debatable 15:31:45 the sweet spot is like 15:31:50 fifty in to three hundred fifty in 15:31:51 `delquote 313 15:31:53 ​*poof* 15:32:00 elliott: agreed, I hadn't read that one yet 15:32:04 but when I did it was obviously worst 15:32:35 123 is still my favourite. 15:32:43 `quote 313 15:32:45 313) Phantom_Hoover: if the list is in random order, like poor ehird here 15:32:57 `quote 500 15:32:59 500) rest in peace lambdabot???? monqy: it'll probably be back later nap in peace 15:33:01 Worst quote becomes best quote. 15:33:09 `quote 1000 15:33:11 No output. 15:33:17 I /love/ 313 15:33:19 Quick, everyone, say lots of witty things. 15:33:22 `quote 123 15:33:24 123) alise: why internet is like wtf 15:33:36 Phantom_Hoover: that one? 15:33:44 `ls 15:33:46 bin \ canary \ karma \ lib \ paste \ quotes \ share \ wisdom 15:33:46 `quote fungot 15:33:47 ais523: since the start of the construction of a european vision, tools that are in favour of the new proposal on feed hygiene at the earliest possible opportunity and also turning to the most economically advanced countries of the union. 15:33:49 12) GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 16) Finally I have found some actually useful purpose for it. \ 19) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing 15:33:58 `pastequotes fungot 15:33:58 ais523: mr president, may i confirm the position which was not discussed, and if not, are covered by qualified majority in order for these slight growth rates to be reduced in the same vein, it would be misleading and cannot therefore be accepted. 15:34:00 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31357 15:34:02 Or we could just spam fungot so that he says every quotable thing there is. 15:34:03 tswett: very briefly, ladies and gentlemen, that in order to improve their knowledge and professional skills as well as, of course and i too found it astonishing, that there are amendments nos 12, 13 and 19 propose the continuation of equality between men and women are part of our negotiating mandate for the future of homeopathic medicine. 15:34:11 ^style 15:34:11 Available: agora alice c64 ct darwin discworld europarl* ff7 fisher fungot homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp youtube 15:34:17 hm... `run sort < quotes > q && mv q quotes 15:34:18 WHO SET IT TO EUROPARL 15:34:21 ^style homestuck 15:34:22 Selected style: homestuck (Homestuck pages 1901-4673) 15:34:23 guess that would be a bad idea 15:34:30 fungot: so what's this, then? 15:34:30 tswett: to the left is that house shape you've seen everything! 15:34:40 fungot: that wasn't quite as awesome as I was hoping. 15:34:40 tswett: so the dumbest and most far fetched but whatever. 15:34:50 tswett, it's produced some gems. 15:34:53 `quote pumpkin 15:34:55 437) The wickedest man of all. Surpassed only in wickedness by the wicked witches of the west and east. you talking about me again? Yes. k \ 532) Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 15:34:56 fungot: yeah, I can't even tell who's supposed to be talking or anything. Those sentences are way too short. 15:34:56 tswett: a place perhaps it is the human riddle that is truly the ultimate riddle. now it is my turn to the back inside cover, but it seems the john in the head of your smaller hammer from your deck is really dwindling now. maybe this game you are about to play 15:35:12 532 is also good for annoying copumpkin. 15:35:13 fungot: there, much better. 15:35:16 ^style fungot 15:35:17 Selected style: fungot (What I've said myself) 15:35:22 fungot, hi 15:35:22 Vorpal: it's what that guy in medina, a village near the mystic mountain" 65,000,000 b. c.? yes, i'd have done something very brave! he's probably up north, to guardia the xxxiii. i really enjoyed such powers... now it's nick!userhost-limited to me, and ile not wish thee more 15:35:23 o.O 15:35:37 Metafungot. 15:35:37 Phantom_Hoover: it's just so stupid that ' stty erase h' has. you came through, which is more fnord than they just never put things into 15:35:39 mix of ct and irc? 15:35:41 I think 15:36:01 fungot, right 15:36:01 Vorpal:. i'm so kind, even to assholes! anmaster no not markov anmaster no not markov 15:36:08 fungot, indeed 15:36:08 Vorpal: uninterned symbols, pairs, procedures, and so am i just being anal here or am i misunderstanding how these were the people skills of a plane 15:36:26 Wait, why doesn't this cycle on this sword alone? 15:36:27 ^help 15:36:27 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 15:36:33 Phantom_Hoover, it might? 15:36:41 fungot, can this sword alone stop? 15:36:42 Phantom_Hoover: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 15:36:45 just we haven't hit it yet 15:37:04 did it just spit out a style listing from the fungot style? 15:37:04 Vorpal: i know i didn't know that you've already asked, but then i need to enter " qemu" to edit is the ordinary ( for call/ cc))) hangs 15:37:05 XD 15:37:14 fizzie, how often do you update the fungot style? 15:37:14 Vorpal: it's just so stupid that ' stty erase h' has to be all " pow!" and he was suddenly i rose, put up her mouth, pulled down by the gold saucer... think his name was close ever, and yet, at least, that is expressions which have not been able, to assume responsibilities. he went on, " the conclusion is, then thou, the greatest soldier, de. she wanna be friends, his state vsurp'd, his realme a slaughter-house, his subjects, t 15:37:37 hm I guess you could get some boring feedback loops that way 15:37:39 Vorpal, as often as the rest of the styles, I assume. 15:37:52 Vorpal: I don't, really. Unless someone tells me to. 15:37:58 Phantom_Hoover, there is no obvious reason to update styles that don't change. Like ct or ic 15:38:23 fizzie, is it possible for fungot style to enter the sword cycle? 15:38:23 Vorpal: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp 15:38:52 iirc you had some perl script to check such 15:39:04 Vorpal: Probably, though I haven't checked. 15:39:57 ^style 15:39:57 Available: agora alice c64 ct darwin discworld europarl* ff7 fisher fungot homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp youtube 15:40:10 who switched? 15:40:15 ... 15:40:27 ^style ss 15:40:27 Selected style: ss (Shakespeare's writings) 15:40:28 and why in /msg instead of in channel 15:40:42 To make it a Sekret. 15:40:49 $ ./testlm-disk.pl data/tokens.bin.fungot data/model.bin.fungot 1 sword alone 15:40:49 sword alone can't stop! that sword alone can't stop! that sword alone can't stop, crono! crono...! there it is! but by the time we're through with you, you'll be in danger that a major debate will be held in new york is a very important relevant for this page? tried toggling hardware/ software flow control on and off, etc 15:40:50 fizzie: bushie. more welcome is the stroake of death to gaze vpon these secrets of the state, and vsurpe the beggerie hee was neuer borne to: lord angelo is seuere law: i had as liue haue a reede that will doe me no seruice, as a cat laps milke, they'l tell the clocke, and in your anger, did i not by fnord of your old-fac'd walles, can hide you from our court 15:40:51 fizzie, who is switching style outside of the channel? Can't you see from the logs of it? 15:41:19 I've kind of implied who switched it. 15:41:27 oh, you 15:41:39 Also I don't log. 15:41:58 Can only see last screenful. 15:42:17 Okay, and the screen backscroll buffer. 15:46:48 -!- SimonRC has joined. 15:50:00 http://en.wikipedia.org/wiki/Great_grand_stellated_120-cell 15:51:46 You can stick that in your great cubicuboctahedron and smoke it, CakeProphet. 15:52:01 -!- derrik has joined. 15:56:45 * Phantom_Hoover → crappier part of Ireland. 15:56:47 -!- Phantom_Hoover has quit (Quit: Leaving). 16:00:55 The non-Internetted parts, it seems. 16:03:15 -!- Phantom_Hoover has joined. 16:13:16 Oh no, I think I need a: zipper. 16:13:53 -!- Ngevd has joined. 16:14:03 Hello! 16:14:15 Hi Ngevd. 16:15:00 Woah 16:15:25 IWC is in the eighth day of its guest week 16:15:40 Andrew Hussie is at 96% of the 25/10 update 16:15:51 And someone said hi to me! 16:16:10 Ngevd believes that he is loved for a single, sweet moment. 16:19:56 > inits [0,9,9] 16:19:57 [[],[0],[0,9],[0,9,9]] 16:20:09 > inits [] 16:20:09 [[]] 16:20:17 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 16:23:26 -!- monqy has joined. 16:26:22 Jebus. Median pay in the US is $26k. 16:26:53 :? 16:27:00 The mean? 16:27:08 The mean is $38k. 16:27:12 ::::? 16:27:29 The... interquartile range? 16:27:32 Dunno. 16:32:07 The... geometric mean? 16:39:54 hmm 16:40:07 what's an efficient way to do 16:40:10 map reverse (inits xs) 16:40:13 /but/ 16:40:18 instead of xs you can also use xs' 16:40:19 which == reverse xs 16:40:32 (with no computational cost0 16:40:33 ) 16:40:40 > tails [9,9,0] 16:40:41 [[9,9,0],[9,0],[0],[]] 16:40:48 > reverse (tails [9,9,0]) 16:40:48 [[],[0],[9,0],[9,9,0]] 16:40:52 > map reverse (inits [0,9,9]) 16:40:53 [[],[0],[9,0],[9,9,0]] 16:41:01 Congratulations! 16:41:08 still not "efficient" :P 16:41:25 tails is pretty efficient 16:41:29 so you care about the reverse? 16:41:44 what's an efficient way to do 16:41:44 map reverse (inits xs) 16:41:44 /but/ 16:41:44 instead of xs you can also use xs' 16:41:44 which == reverse xs 16:41:45 (with no computational cost0 16:41:47 ) 16:41:49 :P 16:41:59 reverse (tails xs') 16:42:03 and map reverse (inits xs) 16:42:04 both work 16:42:08 but preferably something without reverse at all 16:42:13 no 16:42:16 :P 16:42:28 look at the order it produces results in 16:42:28 :'( 16:42:33 it'd need to look at the end of the list 16:42:43 copumpkin: this is actually a trick question, my list is a literal and has five elements 16:42:47 I guess I'll just write out the result manually 16:42:50 * elliott graph reducer 16:42:51 lol 16:42:52 ok 16:44:10 -!- nooga has joined. 16:50:41 -!- nooga has quit (Ping timeout: 248 seconds). 16:51:15 fizzie: Wait, I've gone dumb suddenly. 16:51:38 -!- nooga has joined. 16:52:02 Are you sure the proper verb is "gone"? (Sorry.) 16:52:19 Also I'm at this thing, I'm not really here. 16:52:34 It should be "became" 16:52:48 fizzie: Yes but but but but but 16:54:40 Butane. 16:55:16 fizzie: Surely a context tree would be better than a reverse context tree for babbling, as you'd just descend a node whenever you appended to the output? 16:57:07 Nnnnno, because the tree only goes five levels deep. Though you could, I suppose, theoretically have some sort of a loopy graph. 16:57:48 fizzie: Oh, hmm, right. How does it being reversed actually help at all, then? 16:58:23 The point of the reverse context thing is that when you have a context of "... a b c d e", you don't need to know how long a context you can actually find in your model. You just start with /e, and then descend to /e/d, and to /e/d/c, and then stop if you can't find new subnodes. 16:58:53 Whereas with a trie you'd first try to find /b/c/d/e; but if that doesn't exist, you'd have a new search for /c/d/e; and then /d/e; and /e; and finally /. 16:59:13 fizzie: Hmm, right. 16:59:39 fizzie: I'm still rather sceptical of how much use anything but the full thing will get since I'm not crunching the model at all :-) 17:00:21 -!- pagnol has joined. 17:00:42 hi pagnol 17:00:43 `? welcome 17:00:45 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 17:00:57 hey 17:01:01 Make some statistics when you're babbling. It'll be a nonzero amount in any case with the filtered 'grams. (Might be nonzero with the "complete" model too, but I can't be bothered to think through that right now.) 17:01:21 Also the reverse-tree is nicely usable with variable-length 'grams, you don't have to start looking with a max(length(grams))-1 of context. 17:01:42 fizzie: Right. 17:01:49 I'm browsing the list of languages and wondering which one to learn (or attempt to do so) 17:01:57 underload 17:01:59 :p 17:02:15 underload is good yes 17:02:17 ^ul (:aSS):aSS 17:02:18 (:aSS):aSS 17:02:22 The quinest thing. 17:02:24 &simple 17:02:49 and appears to be well-documented, I appreciate that 17:02:52 -!- nooga has quit (Ping timeout: 244 seconds). 17:02:53 the simplicity helps it be good (simple is good (do not think otherwise (that would be a mistake (many people have made this mistake (dont 17:03:00 (im not going to close these (suffer 17:03:44 Sorry, 17:03:44 ))))))) 17:03:45 ^ul (aS(:^)S):^ 17:03:45 (aS(:^)S):^ 17:03:58 (Accidentally a dirty word earlier.) 17:04:03 aSS 17:10:49 what's so great about Underload? 17:11:02 it's nice 17:11:13 and quite functional 17:11:17 and you do loops by quining, in a sense 17:11:30 yet it still allows for pretty short, elegant programs 17:13:29 -!- zzo38 has joined. 17:13:58 do you know of a language that draws on logic, though in an unusual fashion, perhaps? like Prolog but esoteric 17:14:15 "Astronauts Michael Collins, Buzz Aldrin and Neil Armstrong had to go through US Customs to come back from the moon." 17:14:25 !!! 17:14:32 I didn't know that. 17:15:01 Gregor: No, they didn't. 17:15:04 They filled in the forms for a laugh. 17:15:12 (The forms are real but not required.) 17:15:23 pagnol: ask ais523 about Proud :-P 17:15:28 I'm just quotin' :P 17:15:50 pagnol: Proud isn't really practical, unfortunately; it allows doing things like quantifying over functions, etc 17:15:58 it's basically just "Prolog with no restrictions, even if they're really necessary" 17:16:14 also, using nondeterminism in the NFA sense, rather than backtracking 17:16:20 I haven't worked out the details 17:17:13 it needn't be practical 17:17:29 there's no entry in the list ... 17:20:25 -!- derrik has quit (Quit: take carezz). 17:28:03 what is function quantification? 17:29:53 -!- Ngevd has quit (Ping timeout: 240 seconds). 17:32:25 boily: basically, describing a function in terms of contraints 17:32:32 and having the program iterate over /all functions/ to find the one you want 17:32:43 Proud doesn't really have the details worked out, which is why it isn't online 17:33:53 -!- hagb4rd has quit (Ping timeout: 240 seconds). 17:34:16 -!- ais523 has quit (Read error: Connection reset by peer). 17:34:50 -!- ais523 has joined. 17:48:30 -!- ive has joined. 17:50:46 -!- Jafet has quit (Quit: Leaving.). 17:53:24 -!- Ngevd has joined. 17:54:35 -!- Sgeo|web has quit (Ping timeout: 265 seconds). 17:58:20 elliott: does there exist a Haskell indent? 17:58:28 Hello! 17:58:33 Hello! 17:59:07 coppro: yes, it's called emacs; you can also do something with haskell-src-extras (it retains comments) if you really want 17:59:14 http://stackoverflow.com/questions/6870148/is-there-a-haskell-code-formatter http://www.reddit.com/r/haskell/comments/j31f4/is_there_a_haskell_code_formatter/ for more info 18:07:37 does anyone partake in the ai-class.com? 18:15:45 Evidently not 18:16:55 I just managed to type "Twitter" instead of "IRC" 18:30:18 I have trying to make logic stuff in Haskell, and have come up with the contrapositive rule and double negation rule being: doubleNot = flip id; contrapositive = flip (.); 18:32:32 Is it correctly? 18:35:13 -!- ive has quit (Ping timeout: 248 seconds). 18:44:59 -!- ive has joined. 18:58:05 2011 is proving a good year for Taneb-made esoteric programming languages 19:02:49 Of course, 2011 is proving to be the only year for Taneb-made esoteric programming languages 19:11:52 Who's Taneb? 19:12:00 Me 19:12:03 -!- Ngevd has changed nick to Taneb. 19:12:04 See 19:22:13 Creator of Nandypants, Numberwang, MIBBLLII, Luigi, Brook, and Constantinople 19:22:48 -!- tiffany has joined. 19:22:53 I have implemented Constantinople, although I did not invent Constantinople. But I did make a suggestion for Constantinople because there was something wrong with it. 19:23:04 Which I am thankful for 19:23:58 Taneb: You are thankful for there being something wrong with it? 19:24:12 No, the suggestion and the implementation 19:25:23 However, the implementation I made is not perfect because it does not do bitwise I/O. Later I might fix that, or someone else might fix that. (Would you expect it to work perfectly even though it is the first program I wrote in Haskell?) 19:25:40 I would not 19:25:52 But I am glad someone made it 19:26:05 OK 19:26:19 But yeah, that compiler made me happy 19:26:22 Thanks :) 19:31:22 There are two esolangs that I did not make but that I did make the first public implementation. How many is it the case that in general, the first public implementation was written by someone other than whoever invented that esolang? 19:31:37 I'd imagine a large number 19:34:00 I tried to make a class in Haskell for making classical logic. 19:34:28 -!- SgeoN2 has quit (Read error: Connection reset by peer). 19:34:30 data Zero; type Not x = x -> Zero; class Classical x where { contradiction :: Zero -> x; lem :: Either x (Not x); }; 19:34:46 -!- SgeoN1 has joined. 19:34:46 instance Classical Zero where { contradiction = id; lem = Right id; }; 19:35:01 instance Classical () where { contradiction = const (); lem = Left (); }; 19:35:16 instance Classical x => Classical (Not x) where { contradiction = const; lem = either (Right . doubleNot) Left lem; }; 19:35:30 Is this correct? Is there some mistake? 19:35:48 I don't know enough of classical logic to tell you, I'm afraid 19:41:20 GTA IV has a most amusing glitch. If you slowly back up against a swing your vehicle will be flung into the air with tremendous speed. Often making you fly right *over* a skyscraper and landing you several hundred meters away. 19:41:39 He 19:41:39 Vorpal: Sounds very Stunts-y. 19:41:40 h 19:41:49 fizzie, was that a pun? 19:42:06 No, not that I know of. 19:42:54 The "Stunts" game had quite a few "fly up to the ceiling of the sky" glitches. 19:43:52 on the other hand, sometimes it just throw you a few meters up in the air. Not very predictable 19:44:11 Vorpal: That works in real life too. 19:44:24 If you disagree, I question whether you've ever tried. 19:44:40 XD 19:44:43 elliott, that sounds almost like religion 19:45:12 Taneb: Yes, but I don't see Christians flying over skyscrapers like total badasses, do you? 19:45:44 Sikhs do 19:46:24 -!- oerjan has joined. 19:48:46 If you jump a car from a ramp and hit the wall of a building, in midair, you tend to get ejected up and fly to the sky-ceiling, then slowly slide at that height to one corner of the world; then you land, make a complicated spinning-around thing for a while, and then explode. 19:48:56 Also probably works in real life? 19:49:03 Yes. I do that a lot. 19:50:21 `addquote If you jump a car from a ramp and hit the wall of a building, in midair, you tend to get ejected up and fly to the sky-ceiling, then slowly slide at that height to one corner of the world; then you land, make a complicated spinning-around thing for a while, and then explode. Also probably works in real life? 19:50:23 689) If you jump a car from a ramp and hit the wall of a building, in midair, you tend to get ejected up and fly to the sky-ceiling, then slowly slide at that height to one corner of the world; then you land, make a complicated spinning-around thing for a while, and then explode. Also probably works in real life? 19:55:29 fizzie, is that in GTA IV too? 20:00:53 also it severely deforms the car on launch 20:02:08 for example I drove a "Patriot" (basically the game's rendition of a Hummer) that I flew like this. It ended up deformed enough that the roof intersected with the driver's head. No ill effects noticed. Still fully drivable. 20:02:33 fizzie, elliott ^ 20:02:33 also it severely deforms the car on launch <-- relativistically correct, hm? 20:03:17 I think I implemented double negation elimination by: undoubleNot :: Classical p => Not (Not p) -> p; undoubleNot x = either id (explosion . flip (,) x) lem; 20:03:30 oerjan, no, as in the metal being really bent 20:03:37 Is it correct? 20:03:51 hard to tell 20:04:14 given that the scenario is so unrealistic 20:04:31 >_> 20:05:47 what? 20:05:55 -!- augur has quit (Remote host closed the connection). 20:07:01 zzo38. 20:07:16 zzo38: your contradiction shouldn't need to be a method, it's intuitionistically correct 20:07:17 undoubleNot :: Classical p => Not (Not p) -> p; undoubleNot (Not (Not p)) = p 20:07:28 Can't do that? 20:07:48 Madoka-Kaname: There is no constructor "Not" 20:08:07 :t case ?z of {} -> ?x 20:08:08 parse error on input `}' 20:08:26 oerjan: Yes I found that on Wikipedia 20:08:34 except haskell doesn't support empty case 20:09:19 -!- ais523 has quit (Read error: Connection reset by peer). 20:09:54 -!- ais523 has joined. 20:15:42 zzo38: can't you write undoubleNot x = either id (contradiction . ($ x)) lem ? 20:16:42 It seem to be wrong type 20:18:17 oh wait duh 20:18:51 make that undoubleNot x = either id (contradiction . x) lem ? 20:20:29 OK that appears to work. 20:20:30 so then is explosion (y,x) = contradiction (x y) 20:20:40 oerjan: Yes. 20:22:05 looks good, then 20:22:14 Yes it works now. 20:39:01 -!- augur has joined. 20:56:58 -!- nooga has joined. 21:01:30 -!- elliott has quit (Ping timeout: 245 seconds). 21:02:37 -!- nooga has quit (Ping timeout: 258 seconds). 21:08:28 -!- SimonRC has quit (Ping timeout: 260 seconds). 21:08:34 -!- SimonRC has joined. 21:10:39 -!- ais523 has quit (Remote host closed the connection). 21:12:16 -!- tiffnya has joined. 21:13:08 -!- SimonRC has quit (Ping timeout: 260 seconds). 21:13:21 -!- tiffany has quit (Disconnected by services). 21:13:23 -!- tiffnya has changed nick to tiffany. 21:14:05 -!- SimonRC has joined. 21:15:39 -!- GreaseMonkey has joined. 21:15:42 -!- GreaseMonkey has quit (Changing host). 21:15:42 -!- GreaseMonkey has joined. 21:29:20 -!- SgeoN1 has quit (Read error: Connection reset by peer). 21:29:48 -!- boily has quit (Quit: WeeChat 0.3.5). 21:34:55 Vorpal: No, it was from Stunts. 21:38:41 -!- copumpkin has quit (Ping timeout: 248 seconds). 21:41:28 -!- copumpkin has joined. 21:44:31 -!- ive has quit (Quit: leaving). 21:49:32 -!- augur has quit (Remote host closed the connection). 21:50:58 fizzie, Stunts being? 21:51:06 apart from a feature of some movies 21:51:10 -!- sllide has joined. 21:52:30 The "Stunts" game had quite a few "fly up to the ceiling of the sky" glitches. 21:52:34 Like I said, a game. 21:52:41 ah right 21:52:55 "Stunts (also known as 4D Sports Driving) is an early 3D racing video game developed by Distinctive Software, Inc.. The game places emphasis on racing on stunt tracks and features a track editor, it is clearly influenced by the earlier arcade game Hard Drivin' and has many similar elements to the game Stunt Driver which was released around the same time." 21:53:03 From 1990; MS-DOS and Amiga. 21:53:06 heh 21:53:16 3D back then? 21:53:26 Sure. 21:53:33 Several polygons at the same time. 21:54:05 http://www.ibiblio.org/GameBytes/issue20/misc/stunts1.gif 21:54:08 Looks like that. 21:54:13 Severely limited by graphics memory bandwidth on PCs that time. 21:54:25 Even transparency. (By stippling, but still.) 21:54:34 I ended up playing it in CGA mode on a 386 with an 8-bit VGA board. 21:55:08 -!- copumpkin has changed nick to danieldanieldani. 21:55:22 http://www.ibiblio.org/GameBytes/issue20/misc/stunts.html "There's nothing extremely exciting about that, except the amazing things that can happen as you crash! Do not be surprised if you find your car soaring _hundreds_ of meters above the ground! Sometimes before a crash, sometimes after, but don't ever expect to survive such a fall! And there is nothing like going vertical in a F1 racing car to add some thrill to you spill! It's all part of the fun. " 21:55:31 Of course, with the right hardware VGA mode was playable (read: 0-WS, 16-bit ET4000 based VGA card) 21:55:32 The physics bugs were among the best things in it. 21:55:46 I had a Tseng Labs ET-something card. 21:55:50 -!- MDude has quit (Ping timeout: 244 seconds). 21:56:19 posix.c:9:31: fatal error: readline/readline.h: No such file or directory compilation terminated. 21:56:34 apt-get install libreadline-dev ? 21:56:46 -!- danieldanieldani has changed nick to copumpkin. 21:56:58 I'm not very good at this 21:57:33 Taneb: If your system is debian-based, try the command I quoted (as root, on Ubuntu, prefix with sudo) to fix the problem. 21:57:43 Anyway, Stunts also recorded replays, so you could save the most ludicrous crashes. 21:58:10 Problems solved, 2/3 21:58:45 And there was a workaround for the feature that if you continued from not-the-end of a reply you can't get a high score (i.e. rollback after a crash is deemed as cheating) 21:58:55 fizzie, awesome 21:59:10 Maybe it was saving to different replay files in regular intervals. 21:59:25 So you could contine at the end of the "last known good" file. 21:59:37 -!- Patashu has joined. 22:01:46 fizzie, http://images.wikia.com/gtawiki/images/c/c8/DF8toobad00.jpg 22:01:56 fizzie, green arrow points at launch point 22:03:02 http://images.wikia.com/gtawiki/images/f/f1/Swing_glitch_%28GTA4%29_%28catapult%29.jpg [[ A glitched swing in action, moments after hurling the player and their car into the air. Notice the "agitated" leg of the swing slamming on the ground and cracking it, illustrating the tremendous force it possesses. ]] 22:03:24 yeah I noticed the ground breaking around them constantly 22:03:52 Rrrealism. 22:04:21 the law of energy conservation has obviously deemed invalid by the high court... 22:04:32 heh 22:06:21 I used the built in cheats (accessed by dialling a number on the in game cell phone) to spawn a Jetamax (speed boat) on top of one next to a skyscraper. It flew almost straight up until I lost sight of it. Half a minute later it landed on top of the skyscraper. Sadly I did not manager to enter the boat in time to watch this from first person view. 22:08:45 -!- esowiki has joined. 22:09:30 -!- esowiki has joined. 22:10:14 -!- esowiki has joined. 22:10:15 -!- glogbot has joined. 22:10:15 -!- glogbackup has left. 22:10:18 I don't understand why the car doesn't explode in that video after the jump. 22:10:18 -!- pagnol has joined. 22:10:30 Usually it did... 22:11:27 According to my experience, you should not even survive at 0:55 22:11:28 http://www.youtube.com/watch?v=OMAnnj25Kfg <- that's slightly more what I remember. 22:11:39 -!- Zetro has joined. 22:11:39 -!- lifthrasiir has joined. 22:11:39 -!- olsner has joined. 22:11:39 -!- shachaf has joined. 22:11:42 -!- cheater has joined. 22:11:56 -!- shachaf has quit (Max SendQ exceeded). 22:12:02 -!- shachaf has joined. 22:12:30 -!- yorick has joined. 22:12:39 fizzie, heh. He actually survived that? In the first video 22:12:52 Apparently. I mostly recall things exploding. 22:13:42 fizzie: Yes, the second video looks quite familiar to me. Although I usually cancelled instead of watching 2 minutes of flight. 22:14:39 there was no explosion in it 22:15:23 The second wasn't all that high though, it didn't even hit the ceiling. 22:16:53 heh 22:17:14 another fun thing in GTA IV. In star junction (in the first unlockable area), if you fire a rocket launcher at a specific place synced with the traffic light pattern you can get a serial explosion that takes ages to stop because new cars keep arriving just in time to get blown up 22:17:16 About 5-10 minutes of watching explosions before it dies out 22:18:47 Vorpal: http://www.youtube.com/watch?v=lYlKFtu7RNY if you want to see the boom in Stunts. 22:19:02 why would I not? :D 22:19:10 -!- Taneb has quit (Quit: Leaving). 22:19:40 not very impressive explosion 22:23:00 "it's good since it's made for computers weaker than pentium 1" (YouTube) 22:23:12 > let x = cos x in x :: CReal -- i wonder if this works... 22:23:15 mueval-core: Time limit exceeded 22:23:23 hmph 22:24:43 > let x = 1 + 1/x in x :: CReal -- i wonder if this works... 22:24:47 mueval-core: Time limit exceeded 22:26:31 @hoogle CReal 22:26:31 No results found 22:26:35 oerjan: Did I miss some news that Haskell now contains a numeric fix-point solver? 22:27:05 no, but if you could only get it _started_, wouldn't laziness take care of the rest. 22:27:23 i'm just not sure how to get it started. 22:28:35 dammit google removed the + prefix 22:29:01 double-quote terms to force them to be included as-is. 22:29:36 it said at much. except i'm _sure_ that failed once recently for a multi-word phrase, so i had to use +"..." 22:29:42 *as much 22:30:59 I was surprised by google staring to interpret 'bad-luck' not as strict as '"bad luck"' (single quotes for demonstration only, double quotes as entered) 22:31:16 I used to use the hyphen as shorcut for multi-word searches. 22:31:22 Which worked till around 2006 22:31:23 me too 22:31:36 or wait 22:31:45 oerjan: Maybe you should try ""thing with multiple words"" next. 22:32:28 dammit google removed the + prefix <-- they what... 22:32:35 yes. 22:32:39 oerjan, why?! 22:32:53 because google is evil, obviously. 22:32:59 oerjan, use DDG 22:33:12 oerjan, elliott recommended it to me. 22:33:14 https://duckduckgo.com/ 22:33:28 When google started in the late 90s, one of their big advantages was you don't have to use plus on all the terms to get relevant results... 22:33:45 oerjan, you won't even need + in the first place most of the time with it 22:36:22 @hoogle [x] -> [(x,x)] 22:36:23 Test.QuickCheck two :: Monad m => m a -> m (a, a) 22:36:23 Prelude zip :: [a] -> [b] -> [(a, b)] 22:36:23 Data.List zip :: [a] -> [b] -> [(a, b)] 22:36:59 * twice11 was looking for \x -> zip x (tail x) 22:37:12 -!- pikhq has joined. 22:37:16 ?quote aztec 22:37:16 quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers 22:37:30 -!- pikhq_ has quit (Ping timeout: 258 seconds). 22:38:27 > let x = cos x `max` 0.6 `min` 0.8 in x :: CReal -- lessee... 22:38:30 mueval-core: Time limit exceeded 22:38:33 :( 22:39:03 > let x = cos x `max` 0.7 `min` 0.8 in x 22:39:07 mueval-core: Time limit exceeded 22:39:48 oh well 22:40:28 > let findfp f s = fst $ head $ dropWhile (uncurry (/=)) $ (\x -> zip x $ tail x) $ iterate f s in (\x -> 1+1/x) `findfp` 1 22:40:29 1.618033988749895 22:40:42 twice11: good old zip`ap`tail 22:45:02 oerjan: nice. That's in the reader monad, if I understand it correctly... 22:45:12 yes 22:48:14 -!- EgoBot has quit (Ping timeout: 258 seconds). 22:48:25 -!- EgoBot has joined. 22:48:48 !haskell putStrLn "I'm feeling better." 22:48:55 or not. 22:49:06 :t zip`ap`tail 22:49:08 forall b. [b] -> [(b, b)] 22:49:17 hm 22:49:35 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 22:49:37 :t ap 22:49:38 forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b 22:49:42 oh right, that one 22:49:51 it isn't in Prelude is it? 22:49:57 Control.Monad 22:49:59 right 22:50:06 $ ghci 22:50:06 GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help 22:50:14 good thing elliott isn't here 22:50:23 Had to look for it, first suspected it in Control.Applicative. 22:50:45 Applicative and Monad are still not unified. 22:51:04 Control.Monad.ap = (Control.Applicative.<*>) 22:51:15 (For reasonable Monad/Applicative instances) 22:51:21 i am somewhat worried about this upcoming syntax i see thrown around which puts superclass defaults for a subclass _in the superclass_ 22:51:48 it seems the wrong way to do it for making things extensible 22:51:58 ouch 22:52:37 oerjan, and Num is still unified (several times I wanted, say (+) or (*) without implementing signum or abs) 22:52:51 I think I read in LYAH that Monad is now a subclass of Applicative, but ghc 7.0.4 doesn't seem to know it... 22:53:12 twice11: alas, only in spirit 22:53:12 I mean, you want (*) and (+) and (-) on Vectors. But abs is completely different for a vector. It is the length of it 22:53:31 Vorpal: (*) doesn't even have the right type for Vectors. 22:53:43 I don't want * between vectors, or do you mean scalar or vector product? 22:53:43 oerjan, well for the cross product maybe? 22:53:54 but no, not for scalar 22:54:07 oerjan, point is, Num contains too much 22:54:09 -!- augur has joined. 22:54:14 the cross product only works for a few dimensions :/ 22:54:21 oerjan, there is that too 22:54:45 oerjan, I never understood why it only work for certain dimensionalities 22:55:44 it's because the cross product is in _spirit_ not from vectors to vectors, but from vectors to antisymmetric 2-forms 22:55:54 hm 22:55:58 okay 22:56:10 and only for a few dimensions is there a nice embedding from 2-forms to vectors 22:56:40 oerjan, what is a 2-form? 22:56:45 I never heard the word before 22:56:58 -!- pikhq_ has joined. 22:57:14 -!- pikhq has quit (Ping timeout: 258 seconds). 22:57:23 http://en.wikipedia.org/wiki/Differential_form 22:58:19 oh, that 22:58:24 http://en.wikipedia.org/wiki/Differential_form#Wedge_product is iirc the generalization of cross product 22:58:32 oerjan, so integrals tie into vectors? How weird 22:58:57 Algebra and analysis seem so different on the surface, yet they are deeply connected. 22:58:59 if you want to integrate over multidimensional spaces, they do 22:59:45 oerjan, I have a course in doing that atm 23:00:34 it is quite complicated sometimes 23:01:57 -!- sllide has quit (Read error: Connection reset by peer). 23:03:00 oh well, night 23:03:10 night 23:08:17 -!- MSleep has joined. 23:08:17 -!- Vorpal has quit (Ping timeout: 248 seconds). 23:08:26 -!- MSleep has changed nick to MDude. 23:14:24 -!- copumpkin has joined. 23:37:34 -!- hagb4rd has joined.