00:00:04 call your company ' OR ''=' 00:00:19 Phantom_Hoover: really stupid, interactive webapp 00:00:26 ...no one would bat an eyelid if they found that word in old norse 00:00:32 Y combinator is taken 00:00:43 Ã¥nkh mørpørk <-- lol 00:00:49 nooga, Z combinator. 00:01:20 nooga, alternately, omega combinator. 00:01:56 Phantom_Hoover, why remove and readd that quote above? 00:01:58 oerjan: btw. did You know that my grandfather was norwegian and probably my surname is from kaspersen or something like that? :D 00:02:10 no. 00:02:17 Vorpal, I thought it was better without the last line. 00:02:24 i found out recently 00:02:24 ah 00:02:29 and this is weird 00:02:37 Vorpal, the lack of explanation makes it madder. 00:02:50 -!- variable has quit (Read error: Connection reset by peer). 00:02:53 Phantom_Hoover, so what metals interest you? 00:02:57 scandium? 00:03:10 if you say so, Mr. Kaszperzsky 00:03:14 Vorpal, the relevant one was rhenium. 00:03:18 ah 00:03:33 -!- zzo38 has set topic: Don't enjoy unlocking the matrix of liquidity, please. | wget -s 42 redpill | http://codu.org/logs/_esoteric/. 00:03:35 oerjan: it's Gasperowicz pronouced like Kasperoveetch 00:03:45 but germans and WW II 00:03:50 ah 00:04:06 -!- cheater has quit (Ping timeout: 255 seconds). 00:04:24 -!- Patashu has joined. 00:04:31 -!- cheater has joined. 00:04:37 huh 00:04:42 Phantom_Hoover, did you know that yttrium, terbium, erbium and ytterbium are all named after the same place? 00:04:52 it colud be Gasperowicz IT Consulting 00:04:59 but it sucks 00:04:59 -!- variable has joined. 00:05:11 I need a name for my firm NAO!~ 00:05:25 Gasprom. i'm sure no one could complain about that. 00:05:30 hahaha 00:05:36 i hate you 00:05:48 not really 00:05:50 Meh, too Russian. 00:05:56 Go with Zyklon. 00:06:05 pikhq: thatsthejoke.jpg 00:06:21 oerjan: Yes. 00:06:43 -!- Anvilgames has quit (Quit: Anvilgames). 00:07:08 IT consulking 00:07:41 -!- Lymee has set topic: Don't enjoy unlocking the matrix of liquidity, please. | wget -s 42 redpill | man mouth | http://codu.org/logs/_esoteric/. 00:07:45 gasperating 00:08:05 oerjaning 00:08:37 the world according to gasperowicz 00:09:41 in our law there's this thing that the formal name of your firm should consist of the name, surname and some word 00:09:51 usually you would use only the word 00:09:58 hm 00:10:48 SADOL realm Marcin Gasperowicz 00:10:52 nagh\ 00:14:27 -!- micahjohnston has quit (Ping timeout: 255 seconds). 00:17:08 Have you read the stuff in this channel recently about the new kind of program language I have the idea? 00:19:00 no 00:19:10 zzo38, you are a native English speaker, right? 00:19:30 Phantom_Hoover: I am a native Canadian speaker. 00:19:40 zzo38, Canadian English, I presume? 00:19:47 Yes. 00:19:54 Right... 00:20:39 c'est la super plus 00:20:45 -!- cheater has quit (Ping timeout: 255 seconds). 00:24:17 -!- micahjohnston has joined. 00:27:33 Mica H. Johnston. 00:27:47 Daughter of ardent mineralogists. 00:30:10 Kate Winiarski, dental c'est la super plus 00:30:15 ghhh 00:30:33 Kate Winiarski, dental prosthetist 00:30:39 stupid irssi 00:31:43 They fight crime. 00:32:33 About the new kind or program language I was mentioning, it is near the UNIX timestamp 1312539427. 00:32:51 zzo38: just paste the log 00:33:10 zzo38, you might want to check your client; I think you might've accidentally connected a Markov bot to it. 00:33:38 Phantom_Hoover: I do not even have a Markov bot program (although maybe I am wrong I don't know what a Markov bot is, even) 00:33:52 nooga: OK I will just repeat what I typed before 00:34:05 I have idea I wanted to make up some programming language that can do a few things including implement rules of Magic: the Gathering cards. I have a few ideas about it, including: 00:34:13 * First class functions and first class rules 00:34:20 * Basic types: boolean, integer, static strings (usable only for comparison and that C codes can use directly) 00:34:26 * Other types: enumeration, tagged union, structure, function 00:34:35 * Function types are allowed to include themself or types including themself 00:34:44 * Procedural rulebooks 00:34:48 * Rulebooks specifying reading/writing properties of an object 00:34:53 * Pure functions 00:34:57 * External access to/from C codes and other program 00:35:06 Can you understand now? 00:35:12 erm 00:35:14 no 00:35:46 i'm not completely sober 00:36:14 I expect probably not completely understand, since it is not even complete. It is why I would like some help and other people idea about it too 00:39:51 nooga, that's... not the reason. 00:39:58 i cant say i wanna be sober 00:40:18 but i cant say i wanna be drunk... cos its a hell of a habit 00:40:46 usually I don't drink too much 00:41:07 but now I'm quite blown 00:41:14 because of that contract 00:41:52 fungot: who is nooga? 00:41:52 Lymee: for a while it was frustrating. still no sign, perhaps? a phone or it will 8e the most powerful adversary you have ever had a physical card for the stack or queue. items can be removed, the queen is a vain. yes, the sun." -mark twain 00:42:03 ^style youtube 00:42:03 Selected style: youtube (Some YouTube comments) 00:42:04 fungot: who is nooga? 00:42:05 Lymee: fucking hilarious. 00:42:10 ... 00:42:14 wtf 00:42:19 wtf 00:42:41 fungot: who is Lymee? 00:42:41 nooga: she is. do i do think the that the plane alone. you have. 00:42:50 fungot: who is oerjan? 00:42:51 nooga: he´s hot! i can't find one in the game and check out latino review on the japanese reissue of risk. and ' whatever'? 00:43:02 fungot: who is elliott? 00:43:02 nooga: fuck all about how the fuck? the only conclusion that can do this in blender... 00:43:13 fungot: who is jsdbfab? 00:43:13 nooga: wow!!!! its not that cool. 00:43:28 fungot, who is god? 00:43:28 Lymee: he's so good as the trees. in simple terms when the toga is initiated, but cool. 00:43:45 ihf}Ihedz[bife 00:44:06 fungot, well, god clearly is an accomplished treesmith, yes. 00:44:06 Phantom_Hoover: o.o a snow mobile... looks awesome 00:45:00 fungot: who is fungot? 00:45:01 nooga: another thing are we? and you think 00:45:11 aaaaaaargh 00:46:44 https://www.eff.org/deeplinks/2011/07/widespread-search-hijacking-in-the-us 00:48:05 nooga, oh god what if fungot is the Orz. 00:48:05 Phantom_Hoover: cdj2255, as a punk song, good commercials. lets do it? i think 00:53:45 aaaaaaaaaaaaaaaaaaa 00:53:49 no no no no no 00:54:05 I will leave this place at once 00:54:22 fungot, go back *outside*. 00:54:22 Phantom_Hoover: that... for real lmao, wow im not joking, is a counter tenor. my guess, and, ironically, the hotel, what can i repeat to you tube. com/ watch?v=bxp8lwsarya more 00:54:50 0-o 00:55:02 Video isn't available. 00:55:53 -!- lament has joined. 01:02:37 -!- nooga has quit (Quit: I AM FED UP WITH THIS CRUFT AAARGH). 01:03:58 -!- iconmaster has quit (Quit: Pardon me, but I have to go die in NetHack again.). 01:08:47 -!- CakeProphet has joined. 01:08:47 -!- CakeProphet has quit (Changing host). 01:08:47 -!- CakeProphet has joined. 01:13:50 CakeProphet, do you have any prophecies of cake. 01:15:21 the cake is a lie 01:15:41 fungot, do you? 01:15:41 Phantom_Hoover: ahaha. hillary is flya than that. american public education for you." 01:15:53 fungot, yes, yes she is. 01:15:53 Phantom_Hoover: holy shitttt i can't wait. ( this is comedic gold, save your gold till this economy is still a punk song, but i love this 01:16:22 fungot, what do I do with the gold once the economy is still a punk song? 01:17:03 fungot, well? 01:17:10 ^help 01:17:10 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 01:17:19 ^style irc 01:17:19 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 01:17:22 fungot, 01:17:39 Oh, wait, he's rate limited isn't he. 01:19:04 fungot, what do you think of Brainfuck? 01:19:05 Lymee: haskell i dont like knowing my money is prolly majority paying for the name? 01:19:18 fungot, Write a Brainfuck cat program. Now. 01:19:19 Lymee: as there is matthiases vibrating. good thinking there.... :d.) that would force a string or a regex, but for supporting general user macros you'd probably first need to do 01:27:51 -!- pumpkin has changed nick to copumpkin. 01:31:17 * Phantom_Hoover → sleep 01:31:27 -!- Phantom_Hoover has quit (Quit: Leaving). 01:39:56 fungot, please kill ell 01:39:56 Lymee: really? are you volunteering??? 38o catchalogue disk and captchalogue the server cd. 01:40:08 >:c 01:44:49 http://animuchan.net/django_php/ [I don't know enough about web development to know how bad an idea this is, but apparently it's pretty bad.] 01:45:18 helpful faq, that 01:58:53 I found the instructions for Complex Hearts, a variant where the queen of spades is worth 13i and the ten of clubs multiplies your score of the hand by 2i, and the jack of diamonds is worth -10. Whoever first reaches an absolute value of 100 or more loses. 02:02:50 Wow, complex hearts 02:14:59 * tswett observes Gregor. 02:24:26 When were the Magic: the Gathering rules properly made precise in the comprehensive rules document, and who wrote it? 02:24:51 -!- Sgeo has quit (Read error: Connection reset by peer). 02:26:27 -!- Sgeo has joined. 02:31:24 O, and one more thing, to add to the list I typed about the programming language for that purpose: 02:32:08 * Rules and functions can look inside of rules and functions of the correct types and change things of the correct type inside of them (the oompiler can check types and constraints to make the compiled program more efficient by eliminating unnecessary checks) 02:39:26 @tell Phantom_Hoover Do not underestimate the power of the Scepter of Recursion 02:39:26 Consider it noted. 02:40:09 @tell Phantom_Hoover Also, hugs 02:40:09 Consider it noted. 03:08:30 -!- MDude has changed nick to MSleep. 03:10:02 -!- evincar has joined. 04:05:55 Do you know answers of any of my questions? 04:08:17 And you should also type on https://devlabs.linuxassist.net/projects/texnicard This new programming language is somewhat related to TeXnicard although is a separate program, it is not part of TeXnicard. However I would include something in TeXnicard allowing you to make export files of this that you can convert natural language into this format. 04:24:43 -!- BeholdMyGlory has quit (Remote host closed the connection). 04:27:45 Other idea about this programming language: 04:28:00 * That you can have types that you can select zero or more. 04:28:04 I can make example 04:30:29 Suppose Haskell has a new hypothetical "multidata" command like "data" but you can select none of the types or many of the types somehow. 04:32:10 multidata CardTypes = Artifact ArtifactSub | Creature CreatureSub Integer Integer | Enchantment EnchantmentSub | Instant SpellSub | Sorcery SpellSub | Tribal CreatureSub | Land LandSub | Planeswalker PlaneswalkerSub Integer 04:32:45 *plainswalker 04:32:58 No. 04:33:03 planeswalkers are biplane acrobats 04:33:22 :P 04:33:48 Wikipedia. 04:34:11 yeahyeah 04:34:31 fucking wotc and their puns 04:42:06 next: the Planker monster 04:43:12 it lies down waiting where you least expect it 05:01:08 -!- oerjan has quit (Quit: Good night). 05:08:42 So, this new kind of programming language should have something like this hypothetical "multidata", I guess. 05:15:08 Although, I don't know if this example is correct. Can a "Tribal Creature" have two sets of creature subtypes? Does it matter? 05:16:05 -!- Sgeo_ has joined. 05:17:45 -!- Sgeo has quit (Ping timeout: 255 seconds). 05:18:02 -!- evincar has quit (Quit: leaving). 05:50:15 -!- zzo38 has quit (Remote host closed the connection). 06:16:29 I just realized that VLC has a really detailed icon 06:17:41 motherfucking cone of justice. 06:18:29 I like coming home from work because everytime I do I have some new highlight from PH telling me something awesome about the dwarf named after me 06:19:17 I like coming home from work because I come home from work 06:20:39 Meh. The only difference between work and home is that I'm not on IRC at work 06:20:45 Also all the food 06:20:49 And the dog 06:20:55 And beds 06:20:57 And 06:20:58 Shut up 06:29:01 i can't meditate at work :( 06:32:09 lament: What kind of work do you do? 06:32:26 programming 06:33:21 Tell them that if you can't meditate your code will lose serenity as its ego develops 06:35:34 -!- Nisstyre has quit (Ping timeout: 258 seconds). 06:45:01 -!- GreaseMonkey has quit (Quit: The Other Game). 06:47:42 -!- cheater has joined. 06:52:31 -!- lament has quit (Ping timeout: 246 seconds). 06:59:15 -!- micahjohnston has quit (Ping timeout: 240 seconds). 07:06:48 -!- Taneb has joined. 07:06:50 Hello! 07:08:51 -!- micahjohnston has joined. 07:10:18 Taneb: hey 07:10:30 Hello 07:11:17 What is happening in the world of Esoteric Programming? 07:13:30 we don't know anymore. It became too esoteric and has now collapsed upon itself and vanished. 07:13:38 we're still trying to find it. 07:13:56 That sucks 07:14:18 Taneb: Only metalanguages exist now 07:15:26 i only feel comfortable with metacircularity 07:19:02 -!- NihilistDandy has quit (Read error: Connection reset by peer). 07:20:49 -!- NihilistDandy has joined. 07:28:43 The world wide web is 20 years old today 07:30:09 Yet Google chose Lucille Ball 07:30:27 oh hey, I'm the same age as the web. 07:30:38 * CakeProphet turned 20 on July 26th 07:30:50 Crap, I'm older than the Web 07:32:31 But not the Internet 07:32:35 I wonder what it will look like in another 20 years. 07:32:39 probably a huge clusterfuck. 07:32:48 of standards 07:33:01 Or a ghost-town 07:33:27 of standard 07:33:29 s 08:02:00 I am going to CREATE a NEW esoteric programming language! 08:03:50 Based on the travelling salesman problem 08:04:27 "Based"? 08:04:37 Yes! 08:05:03 The program will be a series of co-ordinates 08:05:42 Which will then be translated into a series of scalars representing the difference between points 08:05:49 In the shortest rout 08:05:50 e 08:06:51 Then these scalars are interpreted as a Numberwang program Taneb variant) 08:07:06 Or maybe something else! 08:07:11 Yeah, something else! 08:07:15 So it's actually just Numberwang with an inconvenient API 08:07:23 No, it's something else! 08:07:27 I changed my mind! 08:09:07 By pythagoras's theorem, the square of any possible scalar between two points with integer co-ordinates is an integer 08:09:23 I'm thoroughly misusing the word scalar, but never mind 08:10:10 So wait, how do you determine the ordering of your scalars 08:10:21 Shortest route 08:10:26 Yes but 08:10:31 Which segment comes first in the program 08:10:33 Starting from the most North-Westerly point 08:10:36 Ah ok 08:11:03 I'll scale your scalars, bitch. 08:14:45 Except there'll be an instruction to build a road between two nodes 08:14:48 -!- FireFly has joined. 08:14:58 Thus making them effectively closer 08:15:08 Taneb: you should probably name this instruction "pave" 08:15:11 However, only one road can be built between each node 08:15:17 self-rearranging travelling salesman problem which rewrites the program sounds interesting 08:15:30 how wonderfully malbolge 08:15:37 And after a certain amount of use the roaad is destroyed 08:15:57 hahah 08:16:04 civilization the programming language 08:16:05 Roads half the effective distance 08:16:09 The program space is a stateless society with no government transportation department. 08:16:10 or wait. oasis? 08:16:20 SMAC? 08:16:30 nah totally oasis 08:16:34 make that game into a programming language 08:18:39 I should make an RTS programming language. 08:19:03 different factions have different interpreters. At the start of the program you specify the matchup, up to 4v4 or 8 free-for-all 08:19:08 each competitor is a thread. 08:19:09 your program is being assaulted by barbarian hordes 08:19:21 you must construct additional pylons. 08:20:28 Prepare the LOIC 08:21:09 Also, C&C on the N64 was the best RTS ever 08:21:18 sandbag 08:21:19 sandbag 08:22:22 http://www.youtube.com/watch?v=qpl5mOAXNl4 08:23:39 best song 08:23:54 * CakeProphet wants a 2048-bit computer 08:24:13 > 2^2048 08:24:13 323170060713110073007148766886699519604441026697154840321303454275246551388... 08:24:22 some would say this is an unreasonable address space. 08:24:27 but I would call it entirely sufficient. 08:24:32 > 2^2^2^2 08:24:33 65536 08:24:45 CakeProphet: Not enough future proofing for your tastes? 08:24:59 Wow. Last week, someone placed a single trade betting, basically, $1 billion that the US's credit rating would be dropped or that the US would default. 08:25:02 hmm, does haskell have an operator for tetration? 08:25:04 1. Billion. USD. 08:25:09 I would call it perfectly reasonable, at a minimum 08:25:34 @hoogle tetration 08:25:34 No results found 08:25:38 @hoogle tetra 08:25:38 No results found 08:25:43 @hoogle supre 08:25:44 No results found 08:25:45 @hoogle super 08:25:45 No results found 08:25:57 Write one! 08:25:59 @hoogle hyper 08:26:00 No results found 08:26:36 > let tetra a b = foldr1 (**) (replicate b a) in tetra 2 4 08:26:37 65536.0 08:26:48 Exactly 08:27:14 actually wouldn't foldl work fine? 08:27:16 bye 08:27:17 no 08:27:26 There's not many entities capable of throwing that freaking much liquid capital at something. 08:27:28 ah, yeah I guess not. 08:27:29 because taking the power isn't symmetrical 08:27:34 > (2^2)^2 08:27:35 16 08:27:39 > 2^(2^2) 08:27:39 16 08:27:41 oh 08:27:44 well it is in this case 08:27:56 (in order to place such a trade on the market, you must have that sitting in cash, ready to pay out.) 08:27:56 > 2^(2^(2^2)) 08:27:57 65536 08:28:12 > ((2^2)^2)^2 08:28:13 256 08:28:15 there 08:28:24 hmmm okay. 08:28:26 That someone has made out like a bandit. 08:28:31 wikipedia says 65536 is correct 08:29:05 I want this operator so I can make thinly veiled sexual innuendo http://en.wikipedia.org/wiki/Pentation 08:29:08 Patashu: Yeah, that's 64k. 08:29:12 I'm going to pentate these numbers 08:29:13 pikhq: Where do you go to make these bets, anyway? 08:29:52 > let tetra _ 0 = 1; tetra a b = foldr1 (**) (replicate b a) in map (`tetra` 2) [0..] 08:29:53 [1.0,1.0,4.0,27.0,256.0,3125.0,46656.0,823543.0,1.6777216e7,3.87420489e8,1.... 08:30:09 NihilistDandy: The stock market. It's a somewhat more complex market than just shares of companies — you're also able to sell various short trades on things, where you speculate on a negative outcome for some entity. 08:30:28 NihilistDandy: Other people buy that trade, so that if you were right they pay you, and otherwise you pay them. 08:30:33 Betting on failure is my new business model~ 08:30:50 I really wish I could go back in time a short sell some SCO stock. 08:31:06 srsly 08:31:36 Selling stocks short is really nice because your profit is based entirely on how much the stock dropped. :) 08:31:43 -!- Taneb has quit (Ping timeout: 258 seconds). 08:32:47 who pays for shorts though? 08:32:54 if you bet on a stock going up, you get money by reselling it at the new price 08:32:59 where does the negative money become positive? 08:34:05 Well, the thing is, if you buy someone else's short and gain on it, you get the stock for the value it was at *when you bought the short*, but have the stock at its current value. 08:34:05 addition. 08:34:15 So, you got it for cheap. 08:34:39 or, more precisely, the negative money becomes positive when it increases above zero. 08:34:48 I assume this is what you were asking, truly. :P 08:35:08 hmm, wait... 08:35:15 is it where you sell a stock and agree to buy it back, or something? 08:35:39 Patashu: You agree to sell a stock to someone at a future date at a current cost. 08:36:05 ah ok 08:51:21 http://math.eretrandre.org/tetrationforum/showthread.php?tid=675 infinite operator plz 08:53:37 Deltas are emprically inferior to lambdas 08:59:39 http://math.eretrandre.org/tetrationforum/showthread.php?tid=665 how about circles? 09:02:16 I already have composition, how many circles do I really need in my life? 09:04:52 -!- Cheery has joined. 09:06:38 You need every circle. 09:09:15 circles suck, get triangles 09:10:44  /_\ 09:11:05 ^ 09:12:03 ^ 09:12:04 /_\ 09:14:10 eww 09:15:18 Mmm, recursion: http://www.smbc-comics.com/index.php?db=comics&id=2319#comic 09:24:29 http://cache.gawker.com/assets/images/comment/12/2011/08/579f406878ae68a95ee9ce8fc2f908b4/340x.jpeg 09:27:26 who is jmsnxn? 09:37:09 -!- monqy has quit (Quit: hello). 09:52:16 -!- derrik has joined. 09:57:39 -!- pikhq has quit (Ping timeout: 240 seconds). 09:57:58 -!- pikhq has joined. 10:02:50 -!- MigoMipo has joined. 10:41:48 fungot: colorless green ideas sleep furiously 10:41:48 CakeProphet: and it is just a matter of fact, his cadre of fellow wizards 10:52:09 -!- Phantom_Hoover has joined. 10:57:19 quintopia, this guy seems like he's up to fun things 11:11:52 -!- derrik has quit (Quit: left). 11:20:42 fungot, what are the haps my friend. 11:20:42 Phantom_Hoover: the other pair does as well give it a try? he is so lucky the gun. widebody's gotta settle his big ass down for a bit. your appetite for monochrome beauties. no lovely lady will be fit in the slot. 11:20:43 Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them. 11:47:32 @tell elliott Homestuck update oh god nothing makes sense any more 11:47:32 Consider it noted. 11:53:16 -!- azaq23 has joined. 12:22:44 -!- Taneb has joined. 12:22:53 Hello! 12:25:41 brb 12:38:03 Is it a safe assumption that a travelling salesman will never cross his own path? 12:38:52 Sounds very unlikely, given a graph where it's not possible to visit all nodes without revisiting any. 12:39:35 I think that graph is not suitable for this need 12:40:14 On a complete graph, is my assumption true? 12:40:31 I think given crossed paths, it's always a correct optimization to uncross them 12:40:34 If you think about Pythagoras and so on 12:42:39 That works! 12:42:58 Well, assuming also Euclidean distances. 12:43:02 well yeah 12:43:11 ... there are non-euclidean traveling salesman problems? hmmm 12:43:37 Yes 12:44:37 But I just need euclidean 12:44:37 Thanks 12:44:43 In general I thik it's just a graph with arbitrary edge costs. 12:44:47 Although this may quickly become non-euclidean, it is initially euclidean 12:45:05 Horribly laggy 3G here. 12:47:51 I think I have just designed an NP-hard programming language 12:48:19 Self-modifying travelling salesman 12:48:20 Going to put it on the wiki now 12:49:18 Uploaded, terrible formatting 12:49:25 Going now 12:49:27 -!- Taneb has quit (Quit: using sirc version 2.211+ssfe). 13:00:21 -!- Taneb has joined. 13:01:05 http://esoteric.voxelperfect.net/wiki/User:Taneb/Salesman 13:08:22 -!- Taneb has quit (Remote host closed the connection). 13:11:12 I await the first hell world program for Salesman 13:20:42 > let mul a b = foldl (>>=) id (repeat (+)) in mul 4 5 13:20:43 Overlapping instances for GHC.Show.Show (b -> b) 13:20:43 arising from a use of `... 13:23:07 > let mul _ 0 = 0; mul _ 1 = 1; mul a b = foldl (>>=) id (replicate (b-1) (+)) a in mul 4 5 13:23:08 20 13:23:22 er... 13:23:29 > let mul _ 0 = 0; mul a 1 = a; mul a b = foldl (>>=) id (replicate (b-1) (+)) a in mul 4 5 13:23:30 20 13:23:34 there we go. 13:30:03 > let hyper z f _ 0 = z; hyper z f a 1 = a; hyper z f a b = foldl (>>=) id (replicate (b-1) f) a in mul = hyper 0 (+); exp = hyper 1 mul; tetra = hyper 1 exp; penta = hyper 1 tetra in (($3).join) <$> [(+),mul,exp,tetra,penta] 13:30:04 : parse error on input `=' 13:30:58 > let hyper z f _ 0 = z; hyper z f a 1 = a; hyper z f a b = foldl (>>=) id (replicate (b-1) f) a; mul = hyper 0 (+); exp = hyper 1 mul; tetra = hyper 1 exp; penta = hyper 1 tetra in (($3).join) <$> [(+),mul,exp,tetra,penta] 13:31:00 [6,9,27,19683,*Exception: stack overflow 13:32:40 @pl hyper z f a b = foldl (>>=) id (replicate (b-1) f) a 13:32:40 hyper = const (flip . (foldl (>>=) id .) . flip (replicate . subtract 1)) 13:33:18 @pl hyper f a b = foldl (>>=) id (replicate (b-1) f) a 13:33:19 hyper = flip . (foldl (>>=) id .) . flip (replicate . subtract 1) 14:08:41 -!- Taneb has joined. 14:08:45 Hello! 14:10:27 Can I ask what people think of Salesman? 14:15:59 -!- derrik has joined. 14:16:16 Wow, amazing response 14:19:24 Taneb, traveling ones? telephone ones? 14:23:01 Okay, here's a response: yes. 14:23:03 Travelling ones 14:23:15 What do people think of Salesman? 14:23:22 Taneb, it is an interesting NP-complete problem 14:23:37 -!- nooga has joined. 14:24:09 The Esolang I made earlier today was what I was referring to 14:24:14 Based on the problem 14:24:20 Vorpal: I suppose he wanted an opinion on http://www.esolangs.org/wiki/User:Taneb/Salesman and not just the problem in general. 14:27:09 Can you prove it's turing complete? 14:28:14 No 14:28:19 I think it is, though 14:28:50 Its memory system is effectively a deque plus an unbounded two-dimensional array 14:29:02 Although the array is harder to use 14:30:03 Assuming the stack is unbounded and contains unbounded values, I believe it is turing complete 14:30:11 Also self-modifying 14:30:16 And NP-hard 14:30:52 And possibly non-deterministic 14:32:30 -!- derrik has quit (Quit: reconnect). 14:32:54 -!- derrik has joined. 14:40:09 -!- lament has joined. 14:48:58 So, any reviews? 14:52:00 -!- MSleep has changed nick to MDude. 14:52:25 -!- BeholdMyGlory has joined. 14:53:58 -!- Nisstyre has joined. 15:20:52 Anyone? 15:30:21 Hm 15:32:06 I'd have to play aroudn with and/or learn about solving the traveling salseman's problem to even know where to start trying to make anything in paticular in it. 15:32:46 Although, I could just make a big diagonal line of nodes if I jsut wanted ot make a simple sequence. 15:33:10 The shortest path would then of course be from one end to the other. 15:37:42 And then back to the beginning 15:38:54 I think more interesting would be golfing travelling salesman 15:38:55 I think it's be pretty funny if the map for Taxi were used as a Salseman program. 15:39:01 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:40:29 Though the Taxi map isn't purely topoligical, and thus has roads that aren't simply straight lines form one destination to another. 15:49:22 I'm bored, I'm going to make a Brainfuck to Zot translator 15:53:04 -!- derrik has quit (Quit: ChatZilla 0.9.87-rdmsoft [XULRunner 1.9.0.17/2009122204]). 15:53:37 -!- Taneb has quit (Ping timeout: 250 seconds). 15:56:47 Is Taxi TC? 15:58:04 probs 15:58:16 i remember it being p powerful 15:58:28 It has at least one queu and one stack. 15:58:41 I think two of at least one of them. 15:59:28 Two queues. 16:00:42 of queues you only need one and a couple registers, yes? 16:01:56 I don't know, though there is one register, and a shuffle tool that would act as a register if you only stored one value in it. 16:03:14 Oh wait, two registers plus the randomiser. 16:03:30 sounds TC to me 16:05:34 -!- Taneb has joined. 16:05:47 so hows that bf to zot translator 16:05:59 Poorly 16:06:10 sounds good 16:06:14 I still don't really understand combinatory logic 16:08:56 -!- derrik has joined. 16:09:53 Taneb: you combine things, with combinators. 16:10:19 I tried, I really did 16:11:05 essentially a combinator is a higher-order function. An example of a simple combinator is function composition. 16:12:09 Generally, when I say combinatory logic, I mean SKI combinator calculus 16:12:27 oh, well, that's similar. 16:12:42 It's a subset 16:14:48 are you familiar with Haskell? 16:15:00 I'm aquainted 16:15:44 > f >>= g h 16:15:45 Ambiguous type variable `a' in the constraints: 16:15:45 `SimpleReflect.FromExpr ... 16:16:03 hmmm 16:16:09 @src (>>=) (-> e) 16:16:10 Source not found. That's something I cannot allow to happen. 16:16:19 well essentially >>= for functions is S 16:16:21 const is K 16:16:22 id is I 16:16:34 er wait. I think ap is S actually. 16:16:50 @src (->) (>>=) 16:16:50 f >>= k = \ r -> k (f r) r 16:17:04 @src (->) ap 16:17:04 Source not found. Do you think like you type? 16:17:11 @src ap 16:17:11 ap = liftM2 id 16:17:16 @src liftM2 16:17:16 liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) } 16:17:42 @undo \f m1 m2 -> do { x1 <- m1; x2 <- m2; return (f x1 x2) } 16:17:43 \ f m1 m2 -> m1 >>= \ x1 -> m2 >>= \ x2 -> return (f x1 x2) 16:17:49 @src (->) return 16:17:49 return = const 16:17:51 Figure it out! 16:18:22 if I recall ap a b c = a c (b c) 16:18:30 which is S. 16:18:53 ?pl \a b c -> a c (b c) 16:18:53 ap 16:19:46 :t ap id id 16:19:47 Occurs check: cannot construct the infinite type: a = a -> b 16:19:47 Probable cause: `id' is applied to too few arguments 16:19:47 In the second argument of `ap', namely `id' 16:20:43 :t ap (id) (id) 16:20:44 Occurs check: cannot construct the infinite type: a = a -> b 16:20:44 Probable cause: `id' is applied to too few arguments 16:20:44 In the second argument of `ap', namely `(id)' 16:21:16 Didn't think that would work 16:22:28 yeah I don't think it will directly translate without some extra steps. 16:23:13 :t const id 16:23:14 forall a b. b -> a -> a 16:23:20 :t const 16:23:21 forall a b. a -> b -> a 16:23:32 true and false. 16:24:03 Handy 16:24:32 -!- zzo38 has joined. 16:25:34 :t let t = const; f = const id; not = f t in not f 16:25:36 forall b a. b -> a -> a 16:26:24 well no, that's false, I think. not f should have the same type as t.. I would think. 16:27:22 :t let t = const; f = const id; not = f t in f not 16:27:23 forall a. a -> a 16:27:57 :t let t = const; f = const id; not = f t in t not 16:27:58 forall a b. b -> a -> a 16:28:11 hmmm 16:30:37 :t let t = const; f = const id; not = f t in t t f 16:30:38 forall a b. a -> b -> a 16:30:46 :t let t = const; f = const id; not = f t in t f f 16:30:47 forall b a. b -> a -> a 16:31:01 f is a postfix AND, t is an infix OR. 16:31:56 so t t f is both true OR false as well as true AND true 16:32:46 Which are both true 16:33:41 Handy 16:34:13 yes, the main thing to understand is that everything is in terms of higher-order functions. 16:35:37 -!- pikhq has quit (Ping timeout: 246 seconds). 16:35:51 -!- pikhq has joined. 16:36:25 hmmm, this is the first time I've read about the B,C,K,W system. 16:36:51 b = (.); c = flip; k = const; w = join 16:36:58 sounds like a lot of point-free fun. 16:37:02 Now what are you trying to make with Haskell? 16:37:13 nothin 16:37:14 zzo38: boolean logic via SKI combinators. 16:37:57 just giving taneb a tour of ski combinators so they can make a bf to zot translator 16:38:20 :t let b = ap (const ap) const in b 16:38:21 forall a b b1. (a -> b) -> (b1 -> a) -> b1 -> b 16:38:29 look familiar? 16:39:05 :t let b = ap (const ap) const in b (++"blah") reverse "hello" 16:39:06 [Char] 16:39:08 > let b = ap (const ap) const in b (++"blah") reverse "hello" 16:39:10 "ollehblah" 16:40:55 > let c = ap (ap (const (ap (const ap) const)) ap) (const const) in c (++) "hello" "blah" 16:40:57 "blahhello" 16:41:25 interesting. 16:41:29 Does Haskell have types that you can select zero or more? Regardless of that, it would be useful feature of the other program language I was mentioning 16:41:37 I really have a hard time what the hell is going on there. 16:41:43 Is there? 16:41:50 zero or more of what? 16:42:17 zero or more of another type would be list. Or do you mean zero or more types? 16:42:30 Pretend you have a new command in Haskell "multidata" that you can write like that: 16:42:31 multidata CardTypes = Artifact ArtifactSub | Creature CreatureSub Integer Integer | Enchantment EnchantmentSub | Instant SpellSub | Sorcery SpellSub | Tribal CreatureSub | Land LandSub | Planeswalker PlaneswalkerSub Integer 16:43:08 So, now the value of "CardTypes" type can be none of these, or using both the Artifact and Creature constructors, etc 16:43:18 ah. 16:43:33 no. But that could be simulated with a list. 16:43:48 Yes I suppose you are correct. 16:43:59 but it won't give you typing for each constructor, if that's what you mean. 16:44:04 you could simulate that with a tuple and GADT. 16:44:13 OK. 16:44:26 so then each constructor has its own phantom type. (CardTypes Artiface, CardTypes, Creature) 16:44:29 er 16:44:40 (CardTypes Artifact, CardTypes Creature) 16:44:46 or whatever. 16:45:14 also a typeclass could be used in place of GADT. 16:45:20 CardTypes Artifact Creature 16:45:20 so many options. 16:45:39 ..unless there's specifically two type parameters that definitely wouldn't work. 16:45:41 dont forget the full power set must be available :P 16:46:05 the union of two different constructors was being represented by the tuple. 16:46:07 However, the thing I mentioned would be the kind of thing for a new programming language, with different features (although some of the Haskell stuff but not all, and some stuff that is not part of Haskell, as well as different uses of it) 16:46:49 I've always thought Haskell's type system could be extended to be more flexible, but then you run the risk of becoming undecidable. 16:47:28 So you can do something, such as, if it contains the "Creature" type then use the final Integer parameter, otherwise use 0, and so on, you make function like that. 16:47:57 well that can be accomplished with pattern matching. 16:48:18 And such things can be specified as rules which can have names and be overridden by procedural rulebooks and so on. 16:48:37 I was thinking in particular that a tuple could be made equivalent to a value with an anonymous type, but with known constructor type. 16:48:59 thus (Int,Int) could represent data Point a b = Point Int Int 16:49:10 or data Complex a b = Int :+ Int 16:49:41 and values constructed with Point and :+ are of type (Int, Int) 16:50:05 ...simultaneously. Two different flavors of type, essentially. 16:51:57 I wouldn't think so. Maybe same in LLVM, but I don't think they should be same in Haskell. However, it should have something allowing typing direct LLVM codes and if you do that, then you can treat them as the same type in the LLVM codes 16:55:55 -!- zzo38 has quit (Remote host closed the connection). 16:59:38 What are the haps my friends also why was zzo going on about LLVM and Haskell. 17:00:55 CakeProphet, isn't that what... oh, I forget, it's either type or typedef does. 17:01:08 dunno, but I made BCKW out of SKI in Haskell, with the help of Wikipedia. It was somewhat enlightening but also confusing. 17:01:30 Phantom_Hoover: type just creates a type synonym. Which isn't quite what I mean. I wasn't aware Haskell had a typedef keyword.... actually. 17:01:43 It doesn't. 17:02:13 Zero in BCKW is C K 17:02:17 It does have newtype, which was being confused in my head into typedef. 17:02:47 Taneb, in SKI it's just K I, isn't it? 17:02:56 Yeah, I think so 17:03:00 I'm saying that each value would have a "nominal type" and a "constructor type". The nominal type is your typical Haskell type. 17:03:20 but the constructor type shows the types of the constructor's parameters. 17:03:44 and is written as a tuple. A tuple is thus a kind of anonymous constructor with nominal type a 17:04:38 (Int,Int) -> Int could accept a Complex, a Point, or a tuple, in this system. 17:04:57 anything that is constructed from two ints. 17:06:06 I was also thinking it would interesting to introduce sum types that don't require the use of Either. 17:06:23 (Int | Char) -> (Int | Char) 17:06:34 but I'm not quite sure if that's decidable. 17:06:54 or how useful it would be in practice. 17:07:22 CakeProphet, still... not quite sure where the difference with type synonyms comes from. 17:08:17 the difference is that it goes deeper than synonyms. You could have a single nominal type with many different constructors, and each constructor would have a different constructor type. 17:08:55 (Int, Int) might accept some of those constructors but not others, even though they given the same type name. 17:09:20 -!- elliott has joined. 17:09:24 I... nope, still not following. 17:09:30 elliott, check messages now plx. 17:10:22 Phantom_Hoover: /msg 17:10:22 elliott: You have 7 new messages. '/msg lambdabot @messages' to read them. 17:10:30 data T = A | B Int | C Int Int 17:11:13 with this type system. The function () -> Int would accept values constructed by A 17:11:32 (Int, Int) -> Int would accept values constructed by C, but not B or A. 17:12:24 ....not sure about the single-parameter case. I think you would need to introduce 1-tuples... otherwise Int -> Int would just accept values constructed by B. 17:12:44 which might be fine actually; 17:14:42 what 17:14:57 ...I don't understand what is difficult to understand about this. 17:15:21 i've seen the few lines since I came in and the thing that's difficult to understand is that you're not actually making any sense 17:16:24 22:15:00: I vaguely recall a Sonic video where Sonic really doesn't get much screen-time, the camera's mostly trying to catch up. 17:16:24 :d 17:16:25 :d 17:16:26 ... 17:16:27 :D 17:16:30 stupid capslock 17:16:55 CakeProphet, a function A → B is well-typed for values of type A only, and for all values of A. 17:17:16 -!- MigoMipo has quit (Read error: Connection reset by peer). 17:17:48 -!- MigoMipo has joined. 17:18:09 CakeProphet, I'm willing to bet that changing that is going to mess up an awful lot of the existing type system. 17:18:14 -!- Taneb has quit (Ping timeout: 252 seconds). 17:21:48 Phantom_Hoover: right but if you looked at the types as sets constructed from products and unions of other sets... then you could deduce that some types are subsets and supersets of other types. 17:23:51 and maybe. I don't know. I haven't considered all of the ramifications. 17:26:13 "if you looked at the types as sets constructed from products and unions of other sets" 17:26:19 you might want to learn type theory. 17:30:06 that's quite a bit of stuff to learn for what is essentially a quick thought experiment. Perhaps you could enlighten me on some specific points? 17:31:12 it's not much to learn if what you are doing is proposing extensions to type systems 17:33:45 CakeProphet: Anyway, you can't view all types as being constructed from products and unions, because recursive types exist. 17:35:17 how about a type-level let? :) 17:35:43 not sure what that would fix exactly. 17:35:52 but it would include recursive types. 17:36:07 It would not. 17:36:19 It would only do so if your let includes implicit fix, i.e. general recursion. 17:36:27 also, I'm not sure that I have to treat /every/ type as a product or union in order to treat /some/ types as equivalent or subsets of others. 17:36:34 You can just introduce type-level fix, if you're okay with an inconsistent type system. 17:36:40 (Haskell is OK with this, but no type theory is, for obvious reasons.) 17:38:15 though type inference would become problematic as types are no longer unambiguous in this kind of model. 17:39:32 elliott, what does 'inconsistent' actually mean in the context of type systems? 17:39:44 Phantom_Hoover: Curry-Howard. 17:39:47 elliott, ah. 17:40:08 Phantom_Hoover: Which is sort of the point of type theory. 17:40:14 It's a foundational system, after all. 17:40:35 (I'd guessed it was C-H, but I failed to see the relevance to day-to-day uses of type theory.) 17:41:08 Phantom_Hoover: Well, uh, Agda and Coq are generally used to prove things. 17:41:12 So that's quite relevant. 17:41:26 elliott, sure, and that's why recursion is tightly controlled in both. 17:41:45 Phantom_Hoover: It's not really "tightly controlled", but, um, that's not really the point. 17:41:48 But when you're talking about extensions to the Haskell type system? Not so much. 17:41:54 Phantom_Hoover: I was talking about type theory. 17:42:03 Haskell's type system does not really count as an application of type theory. 17:42:08 elliott, 'tightly controlled' as in you need to be careful where you use it. 17:42:22 Obviously some things carry over, but the fact that it's completely inconsistent makes it a rather different beast in reality. 17:42:25 elliott, then... why was anyone even talking about it, then. 17:42:31 Because it's relevant wrt. sums and products. 17:42:45 Consider Martin-Löf type theory (aka "Type Theory", annoyingly); http://en.wikipedia.org/wiki/Intuitionistic_type_theory#Connectives_of_Type_Theory. 17:43:34 I want a whatever type that's just all like "whatever" 17:43:35 elliott, not what CakeProphet was talking about. 17:43:50 CakeProphet, is this the Cake-Prophet type theory? 17:43:53 Phantom_Hoover: It's constructing types out of sums and products, which is exactly what CakeProphet was talking about. 17:44:07 (All type theory names need hyphens.) 17:44:42 ...I didn't mean constructing them exclusive by that. I meant that you could use sums and products to deduce equivalence/subset relationships in types. I suppose this would have to exclude recursive types. 17:45:36 so that, for example, the tuple type acted as a kind of anonymous type, that specifies values by their constructor parameters rather than by the type name that they're given. 17:46:48 the 2-tuple type being equivalent to some types (such as Complex), and subsets of others (I can't think of any good examples..) 17:47:43 data Something a b = A a | B b | C a b 17:47:51 bam, this bitch is a superset of (a,b) 17:48:42 fst (C 2 2) -- now magically valid in CakeProphet Haskell 17:48:51 fst (A 1) --motherfucking type error 17:50:10 I'm sure there's something horribly wrong with this, but oh well. 17:50:29 I'm going to sleep soon, anyways. 17:51:20 CakeProphet, learn you some typeclasses. 17:52:05 done. they're somewhat annoying to use all the time. And the standard library doesn't use them everywhere to make generalizations like that standard. 17:52:20 they're entirely sufficient for the job though. 17:52:57 The standard library is a pretty crappy thing 17:53:04 As far as typeclasses go. 17:53:18 Monads, for instance, don't have to be Functors. 17:54:08 well that's fine. It frees Monads from the oppressive malice of the overbearing Functor. 17:54:31 let all data be free! 17:55:09 CakeProphet, learn you some category theory too. 17:55:19 oh I know about that. 17:55:44 I'm just saying... what if you don't /need/ the Functor instance, but do need the Monad one? 17:56:08 why should it be required to write more than necessary? 17:57:13 trivial code, but still. 17:57:21 POWER TO THE PROGRAMMER, MAN. 17:57:31 it's a radical new age, dude. 17:58:01 where Monads don't have to have a functor. 18:00:21 CakeProphet, yes they do. 18:00:29 Even if you don't define them as one, they still are. 18:00:43 ...shhhh. 18:00:49 Or at least, you can make any monad into a functor. 18:01:04 but we can just omit that for the sake of laziness, can't we? 18:02:05 this is a brave new world we're living in. Where Num instances have to have Show instances for some reason. 18:03:25 -!- Taneb has joined. 18:03:27 Hello 18:03:30 Num is the biggest joke. 18:04:49 ...I don't get it 18:05:05 this is a brave new world we're living in. Where Num instances have to have Show instances for some reason. 18:05:17 Okay 18:05:20 And where nats aren't numbers. 18:10:54 They're numbers, just not Num...bers. 18:15:00 Well, my Brainfuck to Lambda Calculus translater, because that's easier, has had a slight problem 18:18:02 -!- myndzi has quit (Ping timeout: 240 seconds). 18:18:14 What's it having a problem with? 18:20:05 It loops infinitely when it shouldn't 18:20:18 `dc -e "16i2o5F3759DFp" 18:20:22 No output. 18:20:29 -_- 18:21:01 * Phantom_Hoover wonders why he always goes to dc for calculations despite never quite knowing how it works. 18:21:52 How maybe bots like Lambdabot and HackEgo are even on here? 18:22:23 4 18:22:33 62 18:22:34 MDude, lambdabot, HackEgo and EgoBot are the orthodox programming bots. 18:22:43 fungot is a bit of an edge case. 18:22:43 Phantom_Hoover: man. it is a good idea. leave me alone. 18:23:03 fungot, OK. 18:23:03 Phantom_Hoover: what, the last one. wait no, that just made you disappear" and stuff 18:23:19 fungot: flrgl, bork 18:23:19 olsner: that it makes a guest of it, much as the moon takes liberty. reason. justice. civility. edification. perfection. your hands, 18:23:31 And I guess glogbot is the unorthodox one? 18:23:44 It's a name that ends in bot. 18:24:13 -!- Taneb has changed nick to TanebBot. 18:24:33 I'm going to get into trouble for this, aren't I? 18:24:38 It's not even that funny. 18:24:40 -!- TanebBot has changed nick to Taneb. 18:24:54 Please, you're the other kind of bot. 18:25:03 That stealthily pretends not to be one. 18:25:58 I'm wondering about different kind of logical tools and/or how to combine them. 18:26:20 -!- myndzi has joined. 18:26:28 For instance, modal logic looks like it could be recursivly applied to itself to form a tree structure. 18:27:43 I'm not sure if it makes sense to try applying modal logic to ternary logic. 18:27:55 I don't know how mu relates to either of those. 18:28:56 Ternary with Mu is pretty easy 18:29:36 It's a name that ends in bot. 18:29:37 as opposed to egobot 18:30:05 fungot: you seem to be the sanest person here. 18:30:06 lament: the other pair does as well try it again. this prototyping had no idea. you'll mess with it later, somehow. this young man be??? now you've seen everything! 18:30:23 I'd guess that maybe mu could be related to the contradictory state in modal logic, while ternary lgoc's unknown could relate to the lacking information state. 18:30:26 now i've seen everything. 18:31:08 No you haven't 18:31:50 I refuse to succumb to relitively common expressions! 18:31:54 Or the correct spelling of certain words! 18:32:00 MDude, if you can define undefined, then you can prove anything in the corresponding logical system. 18:35:14 Does that work with circular definitions of undefined? 18:36:05 Well, in ternary, unknown is jsut another state like true or false. 18:36:41 Not in all variants 18:36:46 eg. Balanced Ternary 18:36:57 Well yeah, I did mean that. 18:37:40 this fromage cathare was amazing. 18:38:14 Taneb, that's the canonical way to define undefined. 18:38:22 undefined :: a 18:38:26 undefined = undefined 18:38:57 And ternary doesn't really make sense as far as C-H goes. 18:39:07 A type is either inhabited or it isn't. 18:39:22 C-H? 18:40:08 Curry-Howard isomorphism. 18:40:26 The one that associates types and functions to logical statements. 18:41:55 -!- micahjohnston has quit (Ping timeout: 255 seconds). 18:42:32 I see, I don't think I've read much about that. 18:42:54 Phantom_Hoover: s/types and values/ 18:42:59 I'm pro at s///. 18:43:52 elliott, you need functions in there as well, but I guess they count as values of types. 18:44:07 /\/$/s/\/$/\/\// 18:44:41 Phantom_Hoover: I...what? 18:44:42 Functions are values. 18:46:43 elliott, yes, they are. 18:51:12 -!- KingOfKarlsruhe has joined. 18:51:25 -!- Taneb has quit (Ping timeout: 246 seconds). 18:51:30 -!- micahjohnston has joined. 18:54:22 -!- ais523 has joined. 18:54:30 hi ais523 18:54:40 hi 18:55:04 what does the -s option to wget do? 18:55:44 ais523: prints the headers sent by HTTP servers 18:55:49 ah, OK 18:55:52 and responses set by FTP servers, apparently 18:55:56 were you timing me against man(one)? 18:56:06 elliott: no, I was trying to understand the topic 18:56:15 and your answer just made me more confused 18:56:19 no that's -S. there's no -s. 18:56:56 blame less' / command. 18:57:26 it's case-sensitive here. i blame your configuration. 18:57:48 oh right, i forgot macs were cAsE InsEnsItIvE 18:59:24 the way HFS does Unicode is pretty dubious, too 18:59:49 (it actually tries to compare filenames using a Unicody comparison, but it do so by normalizing them on disk, which causes all sorts of interesting breakages) 18:59:50 I don't use OS X. 19:00:00 ais523: normalising filenames on disk is fairly reasonable in theory 19:00:09 indeed 19:00:23 but not when you have to interact with filesystems you might not own 19:00:27 ais523: I mean, you don't want to be able to specify the exact same filename to a program but have it fail to load because the real file has a differently-normalised name 19:00:35 yep 19:00:50 especially since it might be hard to specify the true name, if, say, your terminal's output system normalises on output 19:00:55 but I think I read something that argued that it was saner to do that in the open call, rather than on the disk itself 19:01:00 or even your toolkit's "paste" function does 19:02:51 elliott, so you have finally bought that usb cdrom? 19:03:03 or firewire or whatever 19:03:41 you really do never give up 19:03:54 never gonna give you up 19:04:11 I have a USB floppy disk drive 19:04:14 i was just wondering if you finally succeeded getting that superdrive based linux installation going 19:04:19 ais523, they're surprisingly useful 19:04:26 even as "usb keys" 19:04:31 there's always a floppy disk around 19:04:54 most of the floppy disks I own are full of data, and many have bad sectors 19:10:36 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]). 19:11:44 http://scienceblogs.com/pharyngula/2011/08/somebody_doesnt_understand_bas.php#comment-4721628 someone with my habit of making excuses for idiots? 19:14:03 Sgeo_: Isn't that the old Pharyngula site? 19:14:07 ISTR he moved. 19:15:12 You mean as part of the general SB exodus? 19:15:19 Yes. 19:19:37 There's an SB exodus? 19:19:47 And he still seems to be posting on there 19:20:18 "More articles by PZ Myers can be found on Freethoughtblogs at the new Pharyngula!" 19:20:20 Or, well, I kind of have a backlog in my "Slow" feeds 19:20:22 Those posts are just mirrored, it seems. 19:20:32 From http://freethoughtblogs.com/pharyngula/. 19:20:37 http://freethoughtblogs.com/pharyngula/2011/08/06/somebody-doesnt-understand-basic-genetics/ 19:21:03 And yes; IIRC the SB exodus was due to adverts. 19:21:10 Or something like that; they did something shitty and everyone jumped ship. 19:30:16 -!- derrik has quit (Quit: left). 19:33:40 -!- CakeProphet has quit (Ping timeout: 276 seconds). 19:39:29 As much as I enjoy the sort of obscure math jokes in the new season of Futurama, they seem a little wanky most of the time 19:39:47 -!- monqy has joined. 19:40:50 s/a little/really/ 19:44:12 hello monqy 19:44:40 hello 19:45:07 welcome to the house 19:45:16 house 19:45:22 the house 19:49:17 -!- oerjan has joined. 19:49:44 -!- pikhq_ has joined. 19:50:13 -!- pikhq has quit (Ping timeout: 246 seconds). 19:53:38 ok, so i think i have found a way to implement fractran such a way as to get the usual halting condition for it. even though i _still_ don't know a way to calculate n%2 in a standalone way. 19:53:46 *in such 19:54:35 and in fact i suspect it is impossible. 19:54:56 :( 19:55:43 essentially my problem was that i was trying to get information out of the loop for each fractran rule about whether it had triggered. 19:56:13 now _each_ fractran rule loop is perfectly capable of understanding an n%2 halting condition, though. 19:57:40 so the solution is to merge all the rule loops into one which does a gigantic case branch modulo the lcm of all the denominators. 19:57:45 -!- Taneb has joined. 19:57:57 'Lo 19:58:00 hi 19:59:10 thus, the necessary information for halting the program no longer needs to leave that loop, and no separate main loop is needed. 20:00:12 -!- zzo38 has joined. 20:00:36 Can you make real numbers in Haskell if you have enough constructors for what you are making? 20:01:39 zzo38: There exist uncomputable real numbers. 20:02:39 using this, and a bit of exponentiation and logarithm at the end, it should be possible to calculate any computable function of a single natural number in 3-cell brainfuck. but quite probably not without clobbering the original, even for n%2. 20:02:58 pikhq_: Yes I know that. But, you would have constructors for all the things you are making compute in your program. Not for uncomputable things 20:04:00 But pretend you have a hypothetical "oracle" function, now you could make up a consrtuctor for that and you can have uncomputable things. Of course it is impossible, which is why it is hypothetical. 20:04:52 It'll still not get you the reals. 20:05:12 I know that. 20:05:14 Haskell could have reals just fine. 20:05:20 Perfectly possible to do the *computable* reals, though. 20:05:26 You just couldn't get at most of them. 20:05:31 But you could easily define a constant 20:05:33 chaitin :: Real 20:06:13 But then you could not compute anything about it, many of the operations defined on Real number will fail when used with such constantss if they represent uncomputable numbers 20:07:50 I think you would just need constructors for the various ways of computing reals, such as trigonometric, exponent, logarithm, arithmetic, etc, and then the compare function, add function, floor, so on, must based on which constructor is being used 20:09:12 But I don't know for sure or for exactly 20:09:13 even _that_ may make the compare function uncomputable. there are easy constants that are unknown whether they are rational numbers... 20:09:39 for example e*pi, iirc 20:10:26 and it is conceivable that if it _is_ a particular rational number, you can never prove it 20:11:16 (whether this is possible for e*pi in particular, i don't know) 20:12:30 Maybe the program might not halt in some cases due to that... 20:13:02 quite likely. 20:17:12 But which things are possible? 20:19:54 you can compute continuous functions 20:20:21 so all those you mentioned except compare and floor 20:21:20 hm well, except logarithm of zero or division by it 20:21:41 But compare and floor can probably work in some cases; and in other cases it will not halt, I think. 20:21:58 yes. 20:25:37 I think given crossed paths, it's always a correct optimization to uncross them 20:25:49 but can you always do that without adding a new crossing? 20:26:41 also, this might disconnect the graph. 20:28:12 hm indeed uncross does shorten it, since a side of a triangle is always shorter than the sum of the other two 20:28:58 oh and since it _does_ shorten, you can keep doing it until it stops 20:29:16 at which point there will be no crossings left. 20:31:29 oh and at least one of the two possible uncrossings won't disconnect. 20:31:58 Q.E.D. 20:33:33 > let mul _ 0 = 0; mul a 1 = a; mul a b = foldl (>>=) id (replicate (b-1) (+)) a in mul 4 5 20:33:37 hm... 20:33:42 That's handy 20:37:45 oerjan: did you just solve the wire crossing problem? ;D 20:38:05 one of them, perhaps 20:40:14 A problem involving the crossing of wires 20:40:49 Actually closer related to the travelling salesman problem 20:42:45 I think I've just either completely misunderstood or solved the wire crossing problem 20:43:27 I'm probably cheating 20:44:18 I'm cheating 20:46:23 What was the cheat? 20:46:41 Unless... 20:46:47 Gregor: Ping. 20:47:05 elliott: NO 20:47:06 the wire crossing problem is rather underspecified 20:47:13 Gregor: What. 20:47:17 Just no :P 20:47:22 pretty much any correct solution could be declared as cheating 20:47:28 Gregor: I was just asking if there were any non-xvkbd virtual keyboards that weren't utterly terrible :P 20:47:39 'fraid not. 20:47:40 xvkbd simply isn't working for me with this SDL app, y'see. 20:47:43 one thing I'm wondering about is if two-dimensional Formula is TC 20:47:45 So I can't actaully use it. 20:47:53 but even if it were, it would probably still count as cheating 20:47:57 I've tried 'em all (as of some point :P ) 20:47:59 I guess that's likely inherent to SDL, isn't it 20:47:59 the wire crossing problem is either very vague, obviously possible, or specific to a particular wire language 20:48:09 Gregor: How bad's kvkbd :-P 20:48:16 elliott: ooh, sounds like a useful Secret Project feature 20:48:26 ais523: I just mean on-screen keyboard 20:48:32 elliott: I know 20:48:46 ais523: Well this puts what I thought Secret Project was out of whack 20:48:49 I mean, you could possibly use Secret Project to make xvkbd work with an SDL program 20:48:51 It's an... interactive... repeatable test system? 20:48:54 Oh 20:48:54 elliott: IIRC, my main problem with it was configuring its size/configuration/etc. I would try to change something and just end up with a nonsense keyboard. 20:49:06 not that it's anything close to its intended use, but meh, I like unintended uses 20:49:14 ais523: i think the wire-crossing problem applies perfectly well to 3-colorings, iirc. (and is solvable.) 20:49:18 Gregor: Well, sounds "good enough". But yeah, I'm pretty sure the problem is that SDL reads from the keyboard device directly or whatever. 20:49:32 Probably. 20:49:43 in fact, probably virtual keyboard input would be more useful than real keyboard input 20:49:46 You may want to check the SDL docs for environment variables controlling how it reads the keyboard. 20:49:54 elliott: it ioctls /dev/term to tell it to send scancodes rather than keys, then reads from that 20:50:01 ais523: What, SDL? 20:50:04 yes 20:50:05 Tell me you're joking. 20:50:09 I know this all too well 20:50:16 I could believe it if /dev/term was a file that actually existed 20:50:22 umm, /dev/tty 20:50:22 SDL is so 90s, though. 20:50:32 ais523: But... surely that only works in a terminal. 20:50:34 oh, it tries /dev/vc/0 first 20:50:38 but that isn't a real file 20:50:56 elliott: well, I didn't have X loaded in my tests 20:50:57 I wasn't cheating, I was wrong 20:51:07 so it may have tried something X-related first but failed 20:51:09 ais523: >_< 20:51:12 Obviously it will :P 20:51:35 SDL_NO_RAWKBD 20:51:35 For the libvga driver: If set, do not attempt to put the keyboard in raw mode. 20:51:35 NOT HELPFUL 20:52:16 (other side-effects of the Secret Project; I've been running programs on the control-alt-f1 VT a lot, and have been changing permissions on /dev more than is fully sane) 20:52:22 also, seems permissions on /dev don't persist between reboots 20:52:38 probably because it isn't backed by disk 20:52:47 I'm also annoyed at all these things that are going on and I know nothing about them 20:52:51 perhaps I should create a regular file in it to see what happens 20:52:56 That at sign thing, the secret project... 20:53:06 @ just takes a long time to explain 20:53:17 the secret project wouldn't take massively long to explain, but I don't because it's secret 20:53:23 That doesn't really help 20:53:26 Taneb: I could send you at.html. 20:53:31 Go for it 20:53:42 I just give hints every now and then so that the channel keeps giving me advice when I need it 20:53:50 You want e-mail, elliott? 20:53:55 Nah. 20:53:59 I can /msg you a sprunge link to download it. 20:54:01 it's harder in other channels, as I have to come up with plausible unrelated reasons to ask related questions, then imply them as heavily as I can without actually lying 20:54:04 Do it 20:54:08 Somewhat bothered by the fact that my go-to introduction to my OS is a barely-edited forum post I wrote months ago. 20:55:49 -!- ooozanoodles has joined. 20:55:50 Taneb: if you're curious about the Secret Project, though, you could ask other channel members what they think it is 20:55:59 -!- ooozanoodles has quit (Client Quit). 20:56:33 ais523, that the one with programs that quit with the wrong PID? 20:56:42 yes 20:56:59 I'm vaguely considering rolling PIDs from the actual system round past 65535 if they start close to it, too 20:57:08 but I rarely leave my computer running long enough for PIDs ever to get that high 20:57:16 and besides, it just makes the implementation harder, rather than being necessary 21:02:05 ais523: well, say hi to skynet for me 21:02:30 he isn't online right now 21:02:37 (Skynet's a friend of mine from another channel) 21:02:40 or I would have done 21:02:59 yes, a "friend" from the secret project 21:03:44 no, secret project is alone 21:03:49 you people know more about it than anyone else but me 21:04:05 or would, if we were paying attention 21:04:23 no, even then 21:05:12 I think I know something about some project but I don't know if I actually know this, or if it's about the right project 21:05:59 monqy: spill it anyway, it'll bea musing 21:06:05 monqy, ISTR it involves some insanish system-level hack. 21:06:29 it's both Linux-specific and x86-specific, which is pretty insanely nonportable for me 21:06:49 I might modify it to handle x86_64 at some point too, which will need lots of tweaking of constants but not much else 21:07:45 the only thing I think I know is multiplayer co-op nethack being a project but I don't know if it actually is or if it's this project at all 21:07:53 -!- augur has changed nick to augur[hl2e1]. 21:07:53 So, that's what @ is. 21:08:11 Well, sounds interesting. 21:08:17 I'd love to help! 21:08:53 Excuse me but humans are in direct opposition to the @ philosophy. 21:09:00 The first phase is everyone else dying. 21:09:12 are subhumans in direct opposition to the @ philosophy 21:09:27 No. You may live. 21:09:52 I don't legally qualify as human 21:10:45 wat 21:10:48 monqy: multiplayer co-op nethack isn't secret, it's just unfinished 21:10:54 i see 21:10:58 you can even get source code from me on request, although it won't actually work 21:11:04 so there's not much point 21:11:22 all I know about the secret project, then, is what you revealed today 21:11:56 I didn't reveal much that wasn't common knowledge anyway, but managed to confuse elliott 21:11:59 I'll count that as a win 21:13:04 For instance, modal logic looks like it could be recursivly applied to itself to form a tree structure. 21:13:08 ais523: you did? 21:13:10 kripke models, dude 21:13:10 oh 21:13:11 right 21:13:44 this channel has too many nicks starting with m. 21:14:22 elliott: I think I just managed to confuse you again :) 21:14:30 ais523: ;_; 21:14:43 oerjan: I get confused with the o's. 21:15:02 oerjan, oklopol 21:15:03 what's the difference 21:15:26 well, first of all there is no oklopol in the channel. 21:16:09 whos olsner 21:16:16 so you are not here either 21:16:22 monqy: some rutabaga 21:16:26 i mean, swede 21:17:47 btw elliott, your html was missing a few rather important tags 21:17:55 i.e. html, head, and body 21:18:06 Taneb: lol 21:18:27 Taneb: Please point me to the paragraph in http://www.whatwg.org/specs/web-apps/current-work/ that invalidates my page, thanks 21:18:44 http://dev.w3.org/html5/spec/Overview.html is also acceptable 21:18:52 as is http://www.w3.org/TR/html5/ 21:20:19 does it still have )? 21:21:19 Gee. How do you refer to inanimate objects with pronouns in Finnish? 21:21:32 ais523: No, because that would invalidate it 21:21:44 (My pedantic asshole mode has been enabled by someone taking fault with the HTML.) 21:22:00 oh, hmm, HTML5 allows fragments to serve as the whole document (in only certain circumstances?)? 21:22:17 ais523: Nope, you just think exclamation marks are exclamation marks 21:22:19 Um... 21:22:21 Are question marks. 21:22:29 aha 21:22:38 I haven't written any HTML for a while 21:22:52 and my method for writing standards-compliant HTML is to write approximately what I think is right from memory, then run it through Tidy 21:22:55 elliott: found one! 21:23:03 in fact, I don't even bother writing doctypes manually 21:23:04 Taneb: Go on. 21:23:06 You used a title element outside of a head element! 21:23:17 Taneb: No, I did not. 21:23:17 I also haven't written any HTML for a while, because I usually use other formats such as raw ASCII text, or TeX document 21:23:38 Taneb: BTW, if you run it through the official W3C validator, you will see that it is perfectly valid. 21:23:40 validator.nu agrees. 21:24:21 The SECOND LINE OF YOUR DOCUMENT! 21:24:43 Taneb: Nope. You are wrong. 21:24:58 Then you have linked it to me weirdly 21:25:05 Nope. 21:25:09 You are just misreading the spec. 21:25:22 Or rather, misinterpreting what my syntax means. 21:26:18 BZZZZZZZ 21:26:27 21:39:51 * tswett katson Gregor:n. 21:40:31 tswett: NOOOO 21:41:43 * tswett en katso Gregor:n. 21:42:01 "En" means "not", so I'm doing what you asked. 21:42:46 9init 21:44:10 tswett: HTML is much less complex than you think. 21:44:23 Well, rather, HTML has much less mandatory complexity in HTML source than you think. 21:44:54 html is so passe 21:45:09 pikhq_: I don't think tswett thinks that. 21:45:17 pikhq_: how do you know how complex I think HTML is? 21:45:17 haml is the thing! 21:45:22 But yeah, Taneb is wrong about my HTML being invalid. 21:45:27 By my katsoation of Gregor:n? 21:45:30 elliott: He thinks needs to be explicitly named! 21:45:37 In addition to raw ASCII text, and TeX document, I also use gopher menu format. 21:45:49 pikhq_: He does? 21:46:00 Taneb: have you been impersonating me? 21:46:30 ... Wrong tab complete. 21:46:49 -!- ais523 has quit (Remote host closed the connection). 21:47:01 t completed to tswett, not Taneb. 21:49:07 elliott, which HTML? 21:49:19 That of "Files Suck"? 21:49:22 No. 21:49:24 That of at.html. 21:49:52 What's at.html? 21:50:01 Something you don't have. :p 21:51:24 The w3 HTML5 spec clearly says that the title element can only be used in a head element containin no other title elements 21:51:33 Taneb: Indeed. 21:51:39 Taneb: And I did not violate that constraint. 21:51:50 You have used a title element that is not in a head element 21:51:53 No. 21:51:57 That title element is within a head element. 21:52:14 When both the widely-used validators disagree with you, you might want to consider that you're misinterpreting the spec :-P 21:52:53 Implicit head, bizziches! 21:53:20 ...I hate you. 21:53:31 Taneb: What. 21:53:33 Taneb: Can only be used in a head DOM element. The DOM element exists. 21:53:43 And the title element gets put in there. 21:54:15 I am going to go away and cry now. 21:54:23 -!- Taneb has quit (Quit: using sirc version 2.211+ssfe). 21:54:29 I... 21:54:31 Is he being serious? 21:54:40 we might find out 21:54:44 Probably only about the "going away" part :P 21:54:56 literally cryeing 21:55:11 oerjan: now if he comes back under another nickname, I think we have to seriously consider the prospect that e might be fax, lying about eir location to avoid suspicion... 21:55:12 :tinfoil: 21:55:55 elliott: i find it _very_ doubtful that fax would have been able to participate peacefully on the iwc forum for this long. 21:56:18 oerjan: haha 21:56:29 oerjan: well is there any programming discussion there :D 21:56:41 -!- Taneb has joined. 21:56:45 Sorry about that 21:56:46 well not much 21:56:56 I'm a little upset, now 21:57:00 But you are right. 21:57:02 I am wrong. 21:57:05 Taneb: hate the sin, not the sinner. in this case, hate html. 21:57:05 I accept that. 21:57:11 I'm not arguing with you :-P 21:57:24 But html, head and body can be inserted implicitly in HTML5. 21:57:29 I was arguing with you, that's what matters 21:57:45 And I have lost that argument, which may have only existed in my head 21:57:56 And... 21:57:58 And I 21:58:09 I'm sorry I said I hated you 21:58:17 elliott: It lets you use HTML as a halfway-reasonable markup language. 21:58:19 :) 21:58:22 WELL I STILL HATE YOU 21:58:25 -!- augur[hl2e1] has changed nick to augur. 21:58:29 * elliott hopes Taneb's sarcasm parser is working. 21:58:29 And I'm sorry I left as soon as I was proven wrong. 21:59:11 It's working 22:00:27 I am going to continue to use html, head, and body tags in my html documents. 22:00:46 PLEBEIAN 22:00:50 HTML is painfully redundant 22:00:59 I try to avoid htmle 22:01:08 htmlle 22:01:08 use this instead -> http://haml-lang.com/ 22:01:59 nooga: How much are you being paid 22:02:09 Second time you've mentioned Haml in the last half an hour or so :P 22:02:17 haml haml haml haml 22:02:22 haml haml haml haml 22:02:25 use haml! 22:02:29 no. 22:02:30 Spaml. 22:02:37 nooga, is this what omega combinator's job is? 22:02:42 no 22:02:50 Crappy web app... FP-oriented name... 22:02:53 i just like haml 22:02:59 Phantom_Hoover: What? 22:03:11 nooga: you don't have to haml it in 22:03:19 elliott, weren't you there? 22:03:23 Phantom_Hoover: No. 22:03:30 nooga mentioned he got a contract for some crappy web app. 22:03:33 Phantom_Hoover: the name is different 22:03:38 Phantom_Hoover: When? 22:03:53 Yesterday? Today? 22:03:59 One of them. 22:04:01 you don't even know what the web app is so how can you say it's crappy 22:04:02 23:49:53: wtf 22:04:02 23:50:07: who are you 22:04:02 nooga finds out that people join when he isn't here. 22:04:32 wait 22:04:34 nooga, you said it was crappy. 22:04:34 no 22:04:37 yes 22:04:43 I remember, excuse me 22:04:47 it is crappy 22:05:03 almost every webapp is crappy 22:05:08 Spaml. <-- perfect 22:06:05 the extremely verbose web scripting language with a hindley/milner type system. 22:06:56 "Hindley/Milner" <-- be careful with that 22:07:18 why 22:08:32 Well, you don't want to accidentally say "Hindley/Minler", or "Hildney/Milner". 22:09:13 Hilled the miner! 22:09:43 oerjan: it reads as something you don't quite intend 22:10:03 wat 22:12:24 I love Quassel except for the bug that makes it nearly unbearable 22:12:42 oerjan: JUST ACCEPT IT 22:13:04 Let the Function Map of Anything and Nil be Nil and Map of f and Cons of first and rest be Cons of (f of first) and Map of f and rest 22:13:32 what 22:13:58 elliott: oh wait you wanted me to use a hyphen 22:14:08 O KAY 22:14:28 elliott: just a little sample of Spaml 22:14:56 a small Spaml Map sample 22:15:42 oerjan: I didn't want you to use a / :P 22:16:37 -!- Taneb has quit (Ping timeout: 276 seconds). 22:16:38 ok i have registered the elliott/tswett objection 22:18:02 Sgeo_, oh ffs stop going on about Quassel. 22:18:57 -!- Taneb has joined. 22:21:02 -!- nooga has quit (Ping timeout: 264 seconds). 22:22:03 oerjan: I disapprove of your parentheses. They make it too unambiguous. 22:23:24 tswett: there's still a possible ambiguity left with the last "and" 22:24:31 Yes, but there should be more ambiguity. 22:24:52 oh and the second last could be the start of a new match 22:25:08 -!- Cheery has quit (Quit: Lost terminal). 22:27:58 *Let the Function Map of Anything and Nil be Nil and the Map of f and the Cons of first and rest be the Cons of the f of first and the Map of f and rest 22:30:17 might need more articles 22:30:32 * tswett ponders an enthusiastic progamming language. 22:31:16 tswett, it really enjoys evaluating things? 22:32:17 "Yeah! Printing 'Hello World!' I love that! Woo!" 22:33:05 Definition! Function: Map! Situation! First Argument: Anything! Second Argument: Nil! Result: Nil! Situation! First Argument: f! Second Argument: Cons! Arguments to Cons! First Argument: first! Second Argument: rest! Result: Cons! Arguments to Cons! First Argument: Application! Function: f! Number of Arguments: one! Argument: first! Second Argument: Application! Function: Map! First Argument: f! Second Argument: rest! 22:33:38 -!- FireFly has quit (Quit: swatted to death). 22:39:08 -!- Sgeo_ has changed nick to Sgeo. 23:13:15 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:22:50 -!- Taneb has quit (Ping timeout: 264 seconds). 23:37:36 -!- bsmntbombdood has quit (Quit: leaving).