00:15:34 ^ul ! 00:15:35 ...out of stack! 00:16:16 > unwords $ map (show . ord) "...out of stack!" 00:16:18 "46 46 46 111 117 116 32 111 102 32 115 116 97 99 107 33" 00:33:07 the computer i want is available with i5 or i7 processor, and 4GB or 8GB of RAM... but you can't get the i7 with 8GB of RAM 00:33:13 (the RAM is not upgradeable) 00:39:43 -!- derdon has quit (Remote host closed the connection). 00:41:33 another day, another TC proof. 00:43:00 kmc: What computer is that? 00:48:33 -!- DHeadshot has joined. 00:53:18 -!- DHeadshot has quit (Write error: Connection reset by peer). 00:53:48 -!- DHeadshot has joined. 00:56:51 -!- pikhq has quit (Ping timeout: 252 seconds). 00:56:57 -!- pikhq_ has joined. 00:57:56 -!- nortti has quit (Ping timeout: 248 seconds). 00:58:04 shachaf, the Dilemmatech 3000. 01:01:38 @freshname 01:01:38 Hahd 01:08:17 -!- itidus21 has changed nick to Jon_Frakes. 01:09:10 @freshname 01:09:10 Hahe 01:09:13 @freshname 01:09:13 Hahf 01:09:14 @freshname 01:09:14 Hahg 01:09:28 i sense a certain lack of creativity 01:12:13 shachaf: ThinkPad X1 Carbon 01:12:46 ThinkPad Air 01:13:03 so i have to choose between 1 MB of L3 cache or 4 GB of RAM 01:13:46 Choose based on what things you are doing on your computer, which would work better for what you do 01:14:00 I don't know what you are using your computer for. 01:14:43 or waiting 01:14:52 someone should make a Haskell library called Hahahahahahaha 01:15:01 (Alternatively, choose by the price.) 01:16:39 yeah, that's a good tiebreaker :) 01:17:16 kmc: That's an exciting-looking computer. 01:17:32 i5/8GB is $60 more, but also it can ship next week rather than "more than 4 weeks" 01:17:37 but maybe i don't want to buy now, anyway 01:18:12 1600x900 01:18:15 Hmm. 01:18:22 * shachaf should probably care about resolution less than he does. 01:19:02 shachaf: yeah, it's more exciting than the X230 01:19:06 which is 1366x768 :/ 01:19:20 You should wait until you can get a Haswell laptop! 01:19:30 maybe 01:19:57 Then you can use AVX2. 01:20:34 and hardware transactional memory! 01:20:36 (is that in AVX2?) 01:21:06 i don't know anything about AVX instructions 01:21:13 i guess they are mostly SSE extended to 256 bits 01:21:19 AVX is 256-bit SSE. 01:21:21 Yes. 01:21:34 Hmm, there are a lot of new instructions. 01:21:39 http://software.intel.com/en-us/blogs/2011/06/13/haswell-new-instruction-descriptions-now-available/ 01:21:56 they should have 16×16 binary matrix multiply! 01:22:36 They should have it for 8×8 first. 01:22:40 Some CPU instructions I would like to see are INTERCAL select, unselect (fills unset bit positions with zero), and multiplexer. 01:23:15 the X230 is still better if you want crazy battery life by carrying around multiple batteries 01:23:49 but the X1C can charge from 0% to 80% in 35 minutes, which is cool 01:28:17 zzo38: multiplexer would have three inputs, and use one input to select between the other two bitwise? 01:28:45 x86 should have more three-operand instructions. 01:29:33 kmc: Actually many more inputs; it would be like the Muxcomp esolang instruction (although depending on the computer, it could differ in many ways, such as addressing modes and so on). 01:29:45 Well, it has three-operand addition. 01:30:20 Multiplication matrix would also be useful, though. 01:31:08 MXOR is a great instruction! 01:31:09 i wonder what is the next cryptosystem to get added after AES 01:31:21 Another thing I might like to have is an instruction for triple indirect jump with post increment. 01:31:41 i wonder if SHA-3 will be based on AES enough to use the AES round instruction 01:32:10 i don't think any of the candidates are that closely related 01:32:56 The "too much CISC" computer would include Super Mario game as a single instruction. 01:34:00 Maybe it'd have SUPERMARIO and SUPERMARIOLAST for the last round. 01:34:16 Of course this is silly. 01:34:17 SUPERMARIOWITHGAMEGENIEPLUGGEDIN 01:34:59 But one instruction I would actually like to have is an instruction to reconfigure the microcode at runtime so that the instruction set can be optimized for whatever it is that you are making. 01:35:14 One of the SHA-3 finalists is at least somewhat related to AES. 01:35:43 what's wrong with rijndahl again? 01:36:09 er, AES is Rijndael 01:36:13 i don't understand the question 01:36:15 I wonder why they have an instruction per round rather than just one instruction. 01:36:44 S-boxes make it very tricky to implement without being vulnerable to cache timing attacks, apparently. 01:37:04 yeah, i have heard that 01:37:45 There was a "constant-time lookup" instruction proposed that would get a block of memory, make sure the whole thing was in the cache, and then do a lookup in it. 01:37:52 what's sha-2? 01:38:07 SHA-256, SHA-512, etc. 01:38:20 http://en.wikipedia.org/wiki/SHA-2 01:40:45 i wonder if git will have to switch away from SHA-1 soon 01:47:30 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:47:42 > ord 'x' 01:47:44 120 02:01:22 An instruction per round? Are each round have any use by itself? 02:08:29 -!- kmc has quit (Quit: leaving). 02:09:06 -!- kmc has joined. 02:15:36 $ glxgears 02:15:37 48647 frames in 5.0 seconds = 9729.383 FPS 02:15:43 OVER NINE THOUSAND FPS 02:15:57 unfortunately, the window is completely black 02:18:01 this channel has a lot of bots 02:18:03 maybe i should run a bot 02:18:05 what should it do? 02:18:17 It should bot. 02:18:24 dispense useful advice 02:20:31 i wonder what would be the social effects of a bot which allows anyone in the channel to anonymously send messages to the channel 02:24:30 Once upon a time Egobot did. 02:26:01 and how did that go 02:26:13 Not that much happened. 02:27:57 you could use blind signing to make it so the bot operator doesn't know who's submitting each message, only that they're in the channel (or working with someone who is) 02:28:06 under some rather unrealistic assumptions about traffic analysis and such 02:39:11 hah, cold boot attack in a spy show on television :) 02:39:31 -!- edwardk has joined. 02:43:41 -!- mjrosenb has joined. 02:44:22 kmc: Neat. 02:44:32 Simultaneously real *and* flashy enough to work on TV. 02:45:19 Phantom_Hoover, monqy if you didn't see there's a major update 02:45:30 kmc: ah-hah, found you! 02:45:43 hi mjrosenb :) 02:45:54 how's it going? 02:46:11 `welcome mjrosenb 02:46:14 mjrosenb: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:46:27 pretty good, now living on the east coast again 02:46:49 state college, pa? 02:46:55 yup. 02:46:59 oh for the love of 02:47:08 i'm not watching a flash at this hour Sgeo 02:47:13 man, that's like 200 miles inland ;) 02:47:45 oh god 02:47:46 the homestuck 02:47:59 also trying to get my compose key to output "†" 02:48:31 does a horrible implementation of a somewhat esoteric language count? :-p 02:49:31 i'd say that counts as 90% of the wiki 02:51:17 -!- edwardk has quit (Quit: Computer has gone to sleep.). 02:52:18 * mjrosenb has made some half-assed attempts to polish it as an ioccc entry, but: http://www.club.cc.cmu.edu/~mjrosenb/unlam-gc.c 02:52:36 ooh unlambda? 02:54:25 Any bets on how long it'll take for the Wii U to get cracked? 02:54:47 mjrosenb: test out my self-interpreter http://oerjan.nvg.org/esoteric/interpreter.unl :) 02:55:37 oh you only do part of it 02:55:46 Some people for god-knows-what-reason have them already, so the clock starts now. 02:56:25 no continuations :( 02:57:15 oerjan: yeah, I have pseudo-support for them 02:57:21 but it is *completely* untested 02:57:42 mjrosenb: well you don't have the input functions anyhow 02:58:20 mjrosenb: Dang it, I was thinking of doing something with a GC for IOCCC :) 02:58:25 it should be pretty easy to add those 02:58:40 mjrosenb: assuming your continuations work properly, yes 02:58:45 Gregor: i'm sure your gc would look nothing like mine 03:00:45 oerjan: oh right, unfortunately, c and gc are going to interact in particularly heinous ways 03:00:58 heh 03:02:49 kmc: you know how to add bindings to X's compose functionality, right? 03:04:34 yeah i wrote a blog post about it 03:06:02 oh right, what is your blog again? 03:06:56 http://mainisusuallyafunction.blogspot.com/ 03:07:08 http://mainisusuallyafunction.blogspot.com/2010/10/typing-mathematical-characters-in-x.html 03:10:12 kmc: do you know if there is a program that will parse .Xcompose after X has started? 03:15:46 no :/ 03:15:53 kmc: I feel I still need to applaud you for calling C++ (rightfully) an esolang. 03:18:50 -!- kmc has quit (Quit: Lost terminal). 03:19:47 -!- kmc has joined. 03:32:58 -!- DHeadshot has joined. 03:34:36 Sgeo, damn you 03:35:00 otoh i have read the sufferer dialogue sooner than i otherwise would have and my life is infinitely better for it 03:36:09 tswett, you too 03:36:27 Me too what? 03:36:41 Major Homestuck update 03:36:47 * tswett nods. 03:36:48 Thanks. 03:36:49 Huge walkaround 03:36:53 You're welcome 03:39:55 Thus far I've had to restart once, I've gotten lost twice, and I caused a minor sequence break. 03:45:09 Please tell me your opinion what I wrote so far about this: http://zzo38computer.cjb.net/roguevm/roguevm.tex 03:50:50 Phantom_Hoover: haha 03:51:01 Sgeo: I also homestuck 03:51:10 but I saw right away on the feed 03:51:27 Terezi's ancestor is King Radical, calling it now 03:52:29 zzo38: Thus far, seems like a reasonable spec for a VM. 03:52:59 zzo38: Designed to support a rogue-like text UI, but at least slightly more flexible than that, I take it? 03:53:32 ****SPOILER ALERT*** 03:53:36 Phantom_Hoover: karkat's is the best 03:53:40 mainly due to one conversation 03:53:47 yes 03:53:49 yes he is 03:54:16 Phantom_Hoover: have you had the conversation between him and latula yet? 03:54:22 yes 03:54:23 zzo38: It looks like you've got it set up to be relatively sane to emulate, as well; the instruction coding, though not the *simplest* to decode, is fairly reasonable. 03:54:24 yes i have 03:54:28 I just finished it. 03:54:32 it is the best 03:54:41 His previous conversations were good too. 03:54:42 the face at the end is priceless 03:54:53 (the absolute simplest would give you 16-bit addresses, so it's a single opcode to grab the address) 03:55:07 (btw theoretical logreading elliott don't bitch at me for spoilers, bitch at coppro.) 03:55:15 hey 03:55:19 i put a spoiler alert in 03:55:27 and also hussie says don't give a fuck 03:55:30 people should homestuck first 03:55:36 then things that may have spoilers 03:55:55 I didn't figure out if getting hussie to run away does anything 03:55:56 did you? 03:56:05 Dunno. 03:56:06 zzo38: Also, just out of curiosity, do you intend for code to execute out of RAM, or only out of ROM? 03:57:41 'corporealnormative' 04:00:02 Phantom_Hoover: YES 04:00:04 oh god yes 04:04:10 OK so that took me an hour. 04:04:30 I definitely recall thinking "how long can it take, Cascade is only 13 minutes2. 04:04:33 *" 04:05:20 * Phantom_Hoover -> sleep 04:05:22 -!- Phantom_Hoover has quit (Quit: Leaving). 04:06:23 @tell atriq Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] 04:06:23 Consider it noted. 04:06:36 @tell Arc_Koen Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] 04:06:36 Consider it noted. 04:17:52 pikhq_: Both ROM and RAM. 04:18:12 -!- MoALTz has joined. 04:18:18 And, yes it is designed to support a rogue-like text UI, but at least slightly more flexible than that. 04:18:29 It says so in the introduction. 04:18:52 zzo38: Neat. 04:20:03 @tell Phantom_Hoover It's not Flash (except for the Intro). It's HTML5 04:20:03 Consider it noted. 04:20:34 I case I did not say: The .tex and .dvi are in the same directory; I distribute both. 04:20:37 Sgeo: really? 04:20:46 hmm actually 04:21:01 Also, some chapters are very short so there is empty space on the page; some artwork could be placed there as well as on the title page possibly. 04:21:02 https://github.com/Gankro/Jterniabound 04:22:49 -!- oerjan has quit (Quit: Good night). 04:34:25 -!- kmc has quit (Quit: leaving). 04:43:40 I will write more of this file later today, probably. 04:43:43 I got myself a puzzle 04:44:09 Given a lexicographic permutation, generate the next one 04:47:09 So, given something like "0123" it will return "0132" 04:47:16 -!- MoALTz has quit (Ping timeout: 248 seconds). 04:48:01 There's a standard algorithm for that. Is this homework? 04:48:16 More eulerwork 04:48:26 The following algorithm generates the next permutation lexicographically after a given permutation. It changes the given permutation in-place. 04:48:27 I looked at the algorithm already 04:48:29 Find the largest index k such that a[k] < a[k + 1]. If no such index exists, the permutation is the last permutation. 04:48:32 Find the largest index l such that a[k] < a[l]. Since k + 1 is such an index, l is well defined and satisfies k < l. 04:48:34 Swap a[k] with a[l]. 04:48:37 Reverse the sequence from a[k + 1] up to and including the final element a[n]. 04:48:39 I looked at the algorithm already 04:48:47 Just got to implement it 04:48:54 Well there you go. 04:48:57 Going to do it in haskell I guess 04:50:21 Oh hey, pattern matching (x:y:ys) works 04:52:45 Seems I'm not as comfortable with functional programming yet as I should be 04:54:06 I realize this defeats the point of the exercise, but isn't there a "permutations" function in Haskell? :) 04:55:29 There is but it doesn't return them in lexicographic order =P 04:55:55 Ah. 04:56:45 I guess for what I want something that returns a list of strings would be better 04:56:49 lexicogrpahic ordering of permutations is annoying 05:06:33 I wonder if a foldl here is the right idea 05:08:04 Maybe not 05:12:04 If you want to generate all of them, I don't think you need the slightly tricky next-permutation thing, unless you want it of course. 05:12:11 > let perms [] = [[]]; perms l = concatMap (\i -> map (i:) (perms $ delete i l)) l in perms "1234" 05:12:12 ["1234","1243","1324","1342","1423","1432","2134","2143","2314","2341","241... 05:12:20 > let perms [] = [[]]; perms l = concatMap (\i -> map (i:) (perms $ delete i l)) l in perms "123" 05:12:21 ["123","132","213","231","312","321"] 05:13:16 In other words, "all permutations with the smallest element in the first place; then those with the second-smallest in the first place; etc." 05:14:00 (With a sort if the input items aren't in lexicographical order, and something else than 'delete i l' if there can be duplicates.) 05:18:56 -!- kmc has joined. 05:19:09 when will i learn my lesson 05:19:14 that i should never upgrade X 05:38:16 kmc: upgrade to waylan! 05:38:24 kmc: you'll never need to touch X again! 05:48:16 "Wayland - way cool!"? 06:21:31 -!- impomatic has quit (Quit: http://RetroProgramming.com). 06:23:22 * shachaf gyres and gimbles in the Wayland. 06:23:28 kmc: Did you give up on irssi+mosh? 06:24:01 -!- asiekierka has joined. 06:29:53 -!- mig22 has joined. 06:33:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 06:36:22 Wow. Y'know how nop on x86 is actually xchg ax, ax (xchg eax, eax in 32-bit mode)? 06:36:48 x86_64 came *this close* to jacking it up: xchg eax, eax would do nothing and then clear the high 32 bits of eax. 06:36:51 Except it's not in 64-bit mode, right? 06:37:03 Yes. But it's an explicit nop. 06:37:11 I mean, you gotta have a nop, right? 06:37:18 So they went and just said 0x90 is explicitly nop, and gave xchg eax, eax a different encoding. 06:37:31 If you for some reason want to clear the high 32 bits of eax that way. 06:38:44 Presumably you can also mov eax, eax? 06:38:55 Yeah, think so. 06:39:27 They do have some nops that really are only nops too, these days. (And IIRC both Intel and Amd optimization manuals have their own recommended "fastest" nop sequences for lengths up to 16 bytes or so.) 06:40:09 In pretty much all x86 CPUs for $long_time xchg eax, eax has been hard-coded as a nop anyways. 06:40:33 (so you don't have a dependency in the pipeline on eax, and it doesn't take as long to execute, etc. etc.) 06:41:29 From what I can recall, some of those sequences were really kinda silly if you look at the meanings; piles of prefixes that don't really matter since it's a nop, and so on. 06:44:27 -!- zzo38 has quit (Remote host closed the connection). 06:45:21 Oh, neat. 06:45:27 I just made llvm-mc segfault. 06:45:44 Looks like it happened because of -triple=blah 06:46:23 shachaf: -mc? 06:47:15 mjrosenb: Oh, you're in here already. 06:47:38 I guess my /msg was redundant as well as incomplete. 06:47:44 mjrosenb: llvm-mc is great. 06:47:58 echo 'mov %eax,%eax' | llvm-mc -show-encoding 06:48:19 oic, that sounds like a project I half-finished a month ago 06:48:26 which I think I told you about elsewhere 06:48:38 The REPL? 06:48:42 This is just an assembler. 06:48:52 (And disassembler, and things.) 06:48:55 I still want the REPL! 06:49:27 -!- nooga has joined. 06:49:46 mjrosenb: I was "reverse-engineering" some code with some Windows debugger and it was pretty nice. 06:50:22 At every step it shows you all the registers and memory, whether the current jump will be taken, effects of the current instruction, etc. 06:52:08 shachaf: i'm still planning on working on it 06:52:19 i should put some sort of a license on that code 06:52:30 Then other people will surely contribute! 06:55:49 whoa, dude, QFC isn't a national supermarket chain. 06:59:40 * mjrosenb has never heard of QFC 07:00:11 Apparently it's only in some parts of the Pacific Northwest. 07:02:15 Quantum Fried Chicken? 07:24:36 -!- mig22_ has joined. 07:24:36 -!- mig22 has quit (Read error: Connection reset by peer). 07:24:37 -!- mig22_ has changed nick to mig22. 07:53:25 -!- Jon_Frakes has changed nick to itidus21. 08:40:49 -!- Eladith has joined. 09:11:19 kmc: I talked to gdb about the cryptography CTF thing and he seems unenthusiastic about doing one which is entirely about cryptography. 09:11:52 But he said he'd love to play one if someone else made it, hint hint. 09:12:19 centucky tsicken fried 09:14:59 -!- TeruFSX has quit (Read error: Connection reset by peer). 09:16:35 -!- TeruFSX has joined. 09:18:38 -!- AnotherTest has joined. 09:18:47 Hello 09:18:52 -!- Nisstyre has quit (Ping timeout: 246 seconds). 09:21:57 -!- Nisstyre has joined. 09:36:04 -!- mig22 has quit (Read error: Connection reset by peer). 09:36:26 -!- mig22 has joined. 10:24:09 -!- oklofok has joined. 10:24:17 do i hv utf8 now 10:24:53 it seems to be impossible to get mirc to use it 10:29:22 i'm sure you can tell just from that one character 10:29:41 you can probably extract my credit card number from it 10:31:20 http://en.wikipedia.org/wiki/CESU-8 10:31:22 How exciting. 10:32:38 i have that? 10:32:45 I hope not. 10:33:07 Hmm -- I wonder whether *I* have that. 10:33:08 Eek. 10:34:40 `echo 㯿 10:34:46 `run echo 㯿 10:34:49 ^echo hi 10:34:49 hi hi 10:34:51 ​㯿 10:35:05 ​㯿 10:35:30 should i be seeing that as something other than nonsense? 10:35:59 -!- oklofok has quit. 10:36:51 -!- oklofok has joined. 10:37:02 13:34:17 shachaf • `echo 㯿 10:37:09 still nonsense here 10:37:16 Your UTF-8 is completely broken, yes. 10:37:30 is it bröken here? 10:37:47 oklopol is mirc, oklofok is kvirc 10:38:19 in both i'm supposedly using utf-8, but apparently it's just too hard to do right. 10:39:21 ö 10:39:41 ó 10:39:50 økløpøl 10:39:54 i'm seeing myself right, but oklopol doesn't even see itself right :D 10:40:00 hey those look right! 10:40:22 incidentally, that's how you actually write my name 10:40:38 well, the last ø also has an umlaut 10:41:28 økløpø̈l 10:41:42 yes 10:42:03 although really the first ø also has an underumlaut. 10:42:15 (pronounced exactly as you'd expect) 10:42:25 (double the ö but reversed) 10:51:24 oklofok is kvircy 10:53:31 -!- kinoSi has quit (Read error: Connection reset by peer). 10:53:59 -!- kinoSi has joined. 11:18:05 -!- Phantom_Hoover has joined. 11:19:03 -!- derdon has joined. 11:27:31 -!- oklo has joined. 11:28:05 -!- Arc_Koen has joined. 11:28:19 hello 11:28:19 Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it. 11:29:09 -!- Arc_Koen_ has joined. 11:29:09 -!- Arc_Koen has quit (Read error: Connection reset by peer). 11:29:09 -!- Arc_Koen_ has changed nick to Arc_Koen. 11:36:11 -!- oklofok has quit (*.net *.split). 11:39:06 > char 48 11:39:07 No instance for (GHC.Num.Num GHC.Types.Char) 11:39:07 arising from the literal `4... 11:39:21 > char '\48' 11:39:22 0 11:39:36 > '\48' 11:39:37 '0' 11:39:50 @ty char 11:39:51 Char -> Doc 11:39:57 Hah. 11:41:56 > chr 48 11:41:57 '0' 11:42:01 Is probably the intention. 11:42:14 most definitely 11:42:29 lambdabot: Just how many symbols you have in there after your default imports? 11:42:43 @google inurl:L.hs 11:42:45 http://prospectheights.patch.com/articles/int-l-hs-teacher-takes-kids-ice-skating-for-first-time 11:42:47 @google inurl:L.hs lambdabot 11:42:49 https://bitbucket.org/zeekay/lambdabot/src/0e7b40d401e7/State/L.hs 11:43:03 Well... Not the optimal result, but it'll do. 11:43:29 > cake !! 1 11:43:31 "One can prepared coconut pecan frosting." 11:43:50 > reverse . take 8 . reverse . map head $ cake 11:43:52 "ASCIICAT" 11:44:05 Amazing. 11:44:16 "meow" 11:44:18 -- asciicat 11:51:37 so I had an idea for a new language 11:52:06 it draws inspiration from "spacechem" 11:53:37 it's 2-dimensional, with befunge-like commands > each ip (let's call them workers) can either be empty-handed, or carrying a number 11:54:39 Concurrent Funge-98 is a bit like that, except the IPs have full stacks instead of numbers. 11:55:01 -!- MoALTz has joined. 11:55:54 workers can DROP the number they're carrying, or PICK up a number (but there has to be a number where they are at that moment) 11:57:06 for every worker there is an input emplacement, in which appears a number when the worker meets the input command 11:57:27 two numbers can never be in the same place, and a worker carrying a number can never walks over a number 11:57:40 (so the input has to be picked up before it can produce a new number) 11:58:37 operations can be made with adjacent numbers : for instance, if a worker walks over a '+' while carrying a number, his number is incremented by each number which is on the floor on an adjacent '+' 11:59:14 there's also an output zone that prints numbers when they are dropped there 11:59:33 and that's pretty much how far I've been :) 11:59:49 It sounds a bit finite. 12:00:32 well, there can be as many workers as the programmer has declared 12:01:02 each worker has his one commands - a worker's > and there are synch commands to force a worker to wait for another 12:02:58 Yes, but it sounds like there'd be a finite amount of storage, if you can't have more than one number in one cell (be it carried or dropped), and if numbers can't be dropped further away than what there are commands written to. 12:03:27 yes, that's a problem 12:03:58 Unless the workers can write new commands to non-tracky regions, in which case it just sounds very difficult. 12:04:08 haha 12:04:20 I did like SpaceChem quite a lot, FWIW. 12:04:30 Possibly due to the fungey connections. 12:04:55 fungot: Did you like SpaceChem? I would think you'd have a real aptitude for it. 12:04:56 fizzie: oh tusho, i want to experiment with depends on who you're talking with scheme programmers here. my hair keeps obscuring my vision out there. 12:05:08 I could allow carrying workers to walk over numbers as long as they don't try to pick it up, but that wouldn't really solve the problem (at least not in a usable way) 12:05:43 I suppose if the numbers can be arbitrarily large, that could be enough. 12:05:55 right 12:06:18 also my problem is that one-char commands are not really appropriate 12:06:31 so maybe each worker's playfield should be preceded by a few define 12:06:53 -!- DHeadshot has quit (Ping timeout: 246 seconds). 12:06:57 like "define A to be the 'synch with worker x' command" 12:07:35 also it would be way more readable if several workers could be define at the same place, like in spacechem 12:07:50 -!- DHeadshot has joined. 12:08:10 You could have a graphical editor for it, with the support for showing an arbitrary subset of layers. 12:08:18 oooooh 12:08:22 nice 12:08:36 I've never programmed anything graphical though 12:08:40 A bit of extra work, of course. 12:14:56 -!- cuttlefish has joined. 12:15:00 -!- boily has joined. 12:16:19 wait, did Oerjan just prove Fueue was turing-complete while I was sleeping? 12:18:17 -!- ogrom has joined. 12:22:21 sleep: the main cause of turing-completeness proving. 12:22:55 I must've been sleeping for that. 12:24:02 mine was briefly interrupted at 3:00am after a nightmare. 12:24:15 (last night's chinese restaurant was good, but I shouldn't have eaten that much...) 12:24:34 Lastlog just says "03:41 < oerjan> another day, another TC proof." with not much context. 12:24:49 ah. good to hear the proof is still good. 12:27:03 -!- Kestral has joined. 12:27:37 -!- Kestral has left. 12:36:02 -!- pikhq has joined. 12:36:05 -!- pikhq_ has quit (Ping timeout: 252 seconds). 12:57:39 -!- impomatic has joined. 13:02:32 -!- ogrom has quit (Quit: Left). 13:03:07 -!- ogrom has joined. 13:56:22 “According to my map of the yellow woods, this road diverges here.” “It doesn't matter which road we take: later we'll just TELL people we took the more indie one!” “Nice! I'm glad we didn't misunderstand this quote as is commonly done.” 14:01:09 -!- soundnfury has quit (Ping timeout: 252 seconds). 14:15:44 Gregor 14:15:44 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 14:15:48 are you quoting something 14:20:27 i looked it up, apparently the first sentence relates to a robert frost poem 14:21:23 Phantom_Hoover: Dinosaur Comics. 14:21:39 itidus21: And that's the obvious part. If that's "apparently" then you should consider, y'know, reading something. Ever. 14:22:28 shachaf: hm? i've been using irssi+mosh for a while now 14:28:51 "I don't know what the fuck was going on with the scottish education board in the 1970s. Do you like whiskey? Do you hate kids? The job's yours." 14:31:45 itidus21, obviously this was not written by a Scot. 14:32:17 well it could be a sellout 14:32:52 Yeah, a True Scotsman wouldn't have even bothered to ask, “do you like whiskey?” 14:32:54 That's implied. 14:33:14 i do sense how jarring it is 14:33:24 as if it was written by me 14:33:40 shachaf: my connection was dropping because i was rebooting the machine on which i run irssi :) 14:33:53 Gregor, no, a true Scotsman wouldn't spell whisky with an 'e'. 14:34:08 ok i did write it! 14:34:20 you win 14:35:00 Google says it's from Craig Ferguson, but it's also from a standup routine so the travesty is entirely the fault of whoever transcribed it. 14:35:07 i transcribed it 14:35:22 Scottish whisky doesn't have an 'e' you dolt! 14:35:46 i hand a feeling something was wrong with it 14:35:49 ahhhh 14:35:56 whats wrong with my spelling 14:36:12 ahem. 14:36:13 It has an 'e' in it, as I have now told you for the third time. 14:36:28 this time im complaining about "i hand a feeling" 14:36:32 yeah.. 14:36:44 but i did sense something was wrong with it. i just couldn't place it 14:37:10 wow language is fun. 14:38:52 ~echo test 14:38:53 test 14:39:03 hm... strange... my bot is still alive here. 14:39:15 ~help 14:39:16 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 14:39:21 ~duck 14:39:22 --- ~duck query 14:39:22 --- Query information from Duck Duck Go 14:39:29 ~duck whisky 14:39:30 whisky definition: a liquor distilled from fermented wort (as that obtained from rye, corn, or barley mash). 14:40:05 ~duck whiskey 14:40:05 Whisky or whiskey is a type of distilled alcoholic beverage made from fermented grain mash. 14:40:10 -!- cuttlefish has quit (Remote host closed the connection). 14:40:54 ~duck no true scotsman whiskey 14:41:11 fair enough 14:41:39 -!- cuttlefish has joined. 14:41:51 -!- boily1 has joined. 14:42:33 -!- boily1 has quit (Client Quit). 14:43:01 " "it's the Scotch-Irish (whiskey) in me (lie alert!--I don't drink the stuff)" I believe you. No true Scotsman would spell whisky that way! " 14:43:25 -!- cuttlefish has quit (Remote host closed the connection). 14:44:25 -!- boily has quit (Ping timeout: 252 seconds). 14:45:46 -!- boily has joined. 14:46:51 -!- cuttlefish has joined. 14:48:32 ~duck sake 14:48:32 sake definition: end, purpose. 14:49:10 ~duck fungot 14:49:11 --- No relevant information 14:49:11 itidus21: less fnord ,you could have a fnord sxml there, and those pointers only point to the first 15:00:04 -!- ogrom has quit (Ping timeout: 255 seconds). 15:00:57 -!- MoALTz has quit (Ping timeout: 260 seconds). 15:01:56 -!- MoALTz has joined. 15:08:28 old news "Fabio is rushed to a Virginia hospital after his oddly-proportioned face collides with a goose while he rode in the front of a Busch Gardens roller coaster." 15:09:46 "Many women wish they could have been in that goose's place on that fateful day. Many women wish they were worthy enough to die on Fabio's face." 15:13:39 -!- Eladith has quit (Ping timeout: 268 seconds). 15:21:51 -!- sirdancealot has quit (Ping timeout: 265 seconds). 15:36:33 -!- monqy has quit (Quit: hello). 16:04:35 -!- ais523 has joined. 16:09:49 -!- augur has quit (Remote host closed the connection). 16:10:16 -!- augur has joined. 16:14:37 -!- augur has quit (Ping timeout: 252 seconds). 16:19:27 -!- ais523 has quit. 16:19:48 -!- ais523 has joined. 16:20:16 fungot: Did you hear: you're not relevant? 16:20:17 fizzie: what about numbers? i'm looking for. 16:22:35 -!- impomatic has quit (Quit: impomatic). 16:26:10 -!- ais523_ has joined. 16:26:30 -!- ais523 has quit (Ping timeout: 255 seconds). 16:27:54 -!- ais523_ has changed nick to ais523. 16:30:47 -!- Eladith has joined. 16:32:59 Does a language with the name 'X' already exist? 16:33:24 -!- mig22 has quit (Quit: mig22). 16:33:29 (It seems likely, but I couldn't find anything on duckduckgo/the esolangs wiki) 16:36:52 No, but a fairly major program does. 16:37:20 Okay, I don't like the name that much anyway 16:37:51 I would use it only as the file extension for programs 16:37:54 -!- nooga has quit (Ping timeout: 264 seconds). 16:40:31 -!- nooga has joined. 16:53:31 -!- augur has joined. 16:59:53 -!- copumpkin has joined. 17:02:46 -!- jlaire has quit (Ping timeout: 252 seconds). 17:07:10 -!- ogrom has joined. 17:09:42 -!- jlaire has joined. 17:15:01 -!- zzo38 has joined. 17:15:05 ?messages 17:15:05 You don't have any new messages. 17:16:29 @tell zzo38 Now you have a message. 17:16:29 Consider it noted. 17:28:17 -!- FreeFull has quit (Quit: Rebooting.). 17:33:25 -!- Guest6575 has joined. 17:34:20 any one knows what is this virus behiver Shamoon 17:37:26 -!- Guest6575 has quit (Remote host closed the connection). 17:46:10 -!- derdon has quit (Remote host closed the connection). 17:47:10 -!- ais523 has quit (Ping timeout: 246 seconds). 17:50:32 \pedantic{not a program, but a protocol and a set of specifications} 17:50:44 notwithstanding /usr/bin/X 17:53:04 What if $X() were the name? I guess that would be fine? 17:54:24 -!- atriq has joined. 17:56:28 @messages? 17:56:28 atriq: You have 1 new message. '/msg lambdabot @messages' to read it. 17:56:35 @messages 17:56:35 oerjan said 13h 50m 12s ago: Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] 17:58:07 http://2a03.free.fr/?p=pub&dir=zzo38 Now with Mickey Mouse stuff!! 17:58:07 zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. 17:58:09 @ask oerjan Thue-Morse sequence? 17:58:09 Consider it noted. 18:00:43 -!- AnotherTest has quit (Quit: Leaving.). 18:00:46 What language is that in oerjan's message? 18:00:51 Fueue 18:01:01 -!- AnotherTest has joined. 18:01:04 -!- AnotherTest has quit (Client Quit). 18:02:35 I just got a "Segmentation fault (core dumped)" when I tried to feed it to that fueue.c. 18:03:12 I used my Haskell one that I can't seem to compile with a working main but works in GHCi 18:03:28 That's not in the wiki, though. 18:03:33 Nah 18:03:38 Hmm 18:03:44 Arc_Koen, ^^^ 18:04:28 atriq: oerjan @told him the same thing. 18:04:54 Okay 18:04:54 Though I suppose not about the segfault. 18:04:59 But the program. 18:05:00 Sgeo, did you see the update? 18:05:29 Ah, you did 18:08:16 -!- AnotherTest has joined. 18:10:08 The Thue-Morse sequence looks like good movie binary 18:10:19 -!- impomatic has joined. 18:12:17 atriq: What does that mean? 18:12:39 If I was making a movie and wanted binary to flow down the screen 18:12:48 OK 18:12:48 To say to viewers "This chap is good at computers" 18:12:58 The Thue-Morse sequence would be good for that 18:13:12 in this business you're either a one or a zero, alive or dead 18:15:27 "However, there are no cubes: instances of XXX." 18:15:37 That's a bit too nuts for me. 18:16:38 -!- FreeFull has joined. 18:16:45 Sgeo, I've watched the update twice. The second time was in a McDonalds, reading out some of the speech 18:17:02 My friends don't like that I give Dave a rural Texan accent 18:26:07 -!- AnotherTest has quit (Quit: Leaving.). 18:32:50 in follow up to 18:33:12 `quote world peace 18:33:16 848) world peace is for fascists 18:33:30 Ooh, this looks good 18:33:41 i say, imagine an xkcd what-if about what would happen if there was world peace 18:34:19 things never turn out how they're supposed to in a what-if 18:34:44 -!- copumpkin has quit (Read error: Connection reset by peer). 18:35:41 -!- copumpkin has joined. 18:35:46 I wonder if there's a program that creates random but plausible-looking UIs that movie audience think look hackery. 18:37:15 Gregor: well theres about 1000 programs to imitate the the matrix UI :D 18:37:34 That's not a UI, that's junk scrolling over a screen. 18:37:47 UIs involve /interfacing/. 18:37:51 damn 18:37:54 The file browser in Jurassic Park was a real thing 18:38:05 That could have been plausibly installed on the computer in question 18:38:14 Even though it was ridiculous 18:38:24 *looks it up* 18:38:38 the famous quote is said by the little girl 18:39:09 i was reading someone criticizing that line the other day 18:39:23 Hahah yes there's a free clone! 18:41:00 http://omassix.com/wp-content/uploads/2012/04/dennis_nedry_cryocan_01.jpg 18:42:58 i hope that guy loses weight some day 18:43:14 i want him to live to a ripe old age 18:51:28 nmap is in a bunch of films 18:51:37 including at least one porno 18:52:40 -!- Vorpal has joined. 18:53:02 kmc: But is it used /metaphorically/ in the porno? 18:53:16 “Looks like you've got some… wide open ports.” 18:53:22 c.c 18:53:32 “I'm gonna need to probe for security vulnerabilities.” 18:53:52 “Look, what I'm trying to say is, bend over that chair.” 18:58:15 -!- ais523 has joined. 19:04:09 I have an IRIX system that I vaguely recall I tried to install fsn on, but failed, because it didn't have all the necessary development things, and I didn't have the OS media. 19:05:15 IRIX 5.4, I think. 19:05:38 Or maybe 5.2. Who knows. 19:07:09 Actually, checking the logs, it for some reason had 6.5 stuck on it. (It was one of the R4k models of Indigo.) 19:07:13 It was horreebly slow. 19:09:28 happy australian mailman mailing list reminders day! 19:09:57 s/Indigo/Indy/ 19:10:09 (The "Indigo without the 'go'".) 19:10:46 It's kind of weird having one of your languages sit relatively obscure for a couple of months then is suddenly implemented and proven probably turing complete 19:11:47 "proven probably turing complete"? 19:12:06 oerjan has made a translation to it from a subset of Underload 19:12:10 Hasn't tested it 19:12:23 May not be QUITE enough to be Turing complete 19:16:25 ais523: It's like "almost undecidable", or "just a little bit dead". 19:17:05 "slightly pregnant" 19:17:58 Okay, it's enough to be Turing Complete if it works 19:26:45 -!- rodgort has quit (Ping timeout: 276 seconds). 19:32:58 so are operating systems a good thing? 19:33:07 operating systems 19:33:15 is the worst class i ever took 19:34:42 humm 19:34:49 well.. ok sooner or later 19:35:49 computer programs are sure to become robust in the same way as a text, or a painting, or a sculpture 19:37:03 i guess in the case of a text they're not all that robust without knowledge of the language 19:37:15 I head that operating systems are responsible for all those wanton shootings. That batman movie shooter guy? He used an operating system before. 19:37:55 -!- ogrom has quit (Quit: Left). 19:39:26 -!- glogbackup has quit (Ping timeout: 268 seconds). 19:39:26 maybe in the future, the idea will be you can modify a cpu to understand any machine code 19:39:34 atriq: that's more of a probable proof of Turing Completeness 19:39:42 as in, you're not sure if it's a proof or not, but it probably is 19:39:55 itidus21: future? 19:40:05 hmm 19:40:11 you can do that right now with FPGAs, it's just really inefficient 19:40:18 humm 19:40:27 well 19:40:33 and mostly pointless if you aren't reconfiguring them to be massively parallel and special-cased to the program you're trying to run on them 19:40:43 akin to the way that, a human can process any text in any language, by learning the new language 19:41:07 so such a cpu could process any program in any machine code, by learning the new machine cde 19:41:46 what would it learn /from/, though? 19:41:55 surely a computer would learn best from the equivalent of a dictionary 19:42:10 thats how i imagine it 19:42:43 and the equivalent of a dictionary is basically an implementation of each command 19:42:46 itidus21, so you mean a hardware emulator. 19:42:55 its probably too late at night for me 19:42:58 which is what you provide to an interpreter (to get an emulator) or an FPGA (to get a synthesized circuit) 19:43:08 A generalised hardware emulator, that is. 19:43:55 Phantom_Hoover: yeah but i guess that such a thing should always have limits 19:44:27 i really don't like grey goo 19:58:31 It's gooey 19:59:55 And dear god Tumblr has exploded with Homestuck 20:03:10 thats non-good 20:03:25 atriq, this surprises you 20:03:27 Unless you like Homestuck 20:03:29 from what i saw of homestuck... it probably shouldn't spread 20:03:50 It's pretty spread already. 20:04:07 It hasn't been referenced in xkcd or SMBC 20:04:19 lets keep it that way, quintopia 20:04:33 I think iti has lost it./ 20:04:44 a little 20:05:03 Or has arranged his keyboard into alphabetic order and missed the P for Phantom_Hoover 20:05:34 im just ... tripping out 20:05:55 are 20:05:58 are you on drugs 20:06:01 no 20:06:08 I think he's on itidus-iness 20:06:11 -!- rodgort has joined. 20:06:36 `welcome rodgort 20:06:38 i just don't think its for the greater good if the world at large discovers homestuck 20:06:39 rodgort: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:06:44 but i was out of line 20:07:45 FPGAs can be inefficient although every one is different from each other and requires special software to be able to program. My suggestion would be to use a actual CPU as well as FPGA, but open specification versions of both. 20:08:12 -!- oerjan has joined. 20:09:07 anxiety got the better of me tonight 20:10:55 Probably with certain kinds of CPU might be able to speed it up, as well as the way the memory is being connected, and with FPGA as a part of it. 20:11:12 And also be able to reprogram the CPU's microcode at runtime if it has any. 20:11:17 -!- jlaire has left. 20:11:59 maybe a better question is, is it possible to describe a natural human language in such terms as to be able to decipher it without reference to another language 20:12:19 these days it seems to be the case 20:13:46 @messages 20:13:46 Arc_Koen said 8h 26m 39s ago: 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] prints an infinite loop of 0 and 1s... except it doesn't print anything until the loop is over, which never 20:13:46 happens. 20:13:46 Arc_Koen said 8h 25m 4s ago: interestingly, infinite loops with the ocaml interpreter seem to go forever; with the C interpreter they always end up in a segfault 20:13:46 atriq asked 2h 15m 37s ago: Thue-Morse sequence? 20:14:30 Wow, it seems my Haskell interpreter would be the best if I could just get the goddamn main function working 20:14:43 atriq: didn't the one i pasted work? :( 20:14:45 main isn't a function 20:14:47 in haskell 20:15:15 kmc, "main" is a function that makes a haskell program an executable if you define it with type IO (), I mean that one 20:15:16 I think 20:15:29 that's not a function 20:15:31 But (IO ()) is not a function type. 20:15:32 it doesn't have a -> in its type 20:15:36 A function type is (->) 20:15:43 Arc_Koen: i know, it's probably because it never prints a newline, EgoBot's interpreters have the same problem (i modified my /// interpreter for it specifically to get around it) 20:15:44 I... 20:15:49 I just call everything a function 20:15:52 7 is a function 20:15:55 () is a function 20:15:56 that's wrong 20:16:01 I know it's wrong 20:16:02 you are saying wrong things 20:16:04 so don't do that 20:16:12 It's just how I think and sometimes when I think things I end up saying them 20:16:16 The "main" thingymabob 20:16:20 "value" 20:16:25 or in this case "IO action" 20:16:25 That sounds wrong 20:16:26 Arc_Koen: adding fflush(stdout) before every printing _should_ fix that. 20:16:29 yeah but it's not wrong 20:16:41 If I could get main working 20:16:44 oh he doesn't seem very present 20:17:21 You could call all the function, IO, etc, all a "value", just because in Haskell they are a first-class value. 20:17:41 @tell Arc_Koen Adding fflush(stdout) before each printing may fix the trouble of the thue-morse program not printing anything, EgoBot's interpreters have the same problem (i modified my /// interpreter for it specifically to get around it) 20:17:41 Consider it noted. 20:18:29 I think I know exactly what the problem is 20:18:40 The parser doesn't handle whitespace QUITE correctly 20:18:41 atriq: (that's a yes to your question too) 20:18:47 (okay) 20:19:19 I really need that function from Prelude.Generalize 20:19:28 But I don't want to force people to use an obscure library 20:20:21 Which function from Prelude.Generalize? If you do not want to force people to use that library, just copy the function. Prelude.Generalize is in the public domain. 20:20:21 atriq: what is wrong with my main :( 20:20:36 oerjan: It's mainly in Spain. 20:20:37 Nothing, it's a problem with the parser 20:20:41 aha 20:21:01 atriq: yeah in parsec you usually want to skip space after every token read 20:21:06 It fails when there's whitepsace at the back 20:21:22 and at the very beginning 20:22:02 this means every new subparser can start on non-whitespace, which simplifies things 20:22:18 Works now! 20:22:51 And now I'm encountering the same problems as Arc_Koen 20:22:57 XD 20:23:08 Due to different default buffering stuff in GHCi and compiled programs, I presume 20:23:12 atriq: Tell me which function you needed from Prelude.Generalize I am interested to know which one. 20:23:30 atriq: hflush stdout before printing should help there too :) 20:23:41 er after, i guess 20:23:45 zzo38, (<>>=) 20:23:59 @tell Arc_Koen um i mean _after_ printing, of course 20:23:59 Consider it noted. 20:24:41 i guess that setbuffering stuff might not also be used 20:24:50 atriq: OK. Just copy it to your program; it is public domain. 20:25:10 zzo38, it's easier to just name it and return it later 20:25:26 OK then, do it that way if you prefer. 20:26:05 There is but it doesn't return them in lexicographic order =P <-- they decided to make it work on infinite lists instead. 20:26:12 oerjan, fixed it 20:26:18 hSetBuffering stdout NoBuffering 20:26:25 right 20:27:21 > permutations "abcde" 20:27:22 ["abcde","bacde","cbade","bcade","cabde","acbde","dcbae","cdbae","cbdae","d... 20:27:46 > permutations "01" 20:27:47 ["01","10"] 20:28:01 hm is it actually lexicographical order of the reverse? 20:28:26 > reverse <$> permutations "edcba" 20:28:27 ["abcde","abced","abedc","abecd","abdec","abdce","aedcb","aedbc","aebdc","a... 20:28:37 nope not even that 20:28:55 > reverse $ permutations "edcba" 20:28:56 ["dbeac","dbaec","dabec","adbec","debac","deabc","daebc","adebc","edbac","e... 20:29:02 Not that either 20:29:08 @src permutations 20:29:08 Source not found. 20:29:16 it's a pretty new function 20:29:23 in Data.List 20:29:31 I know where it is 20:29:37 -!- asiekierka has quit (Ping timeout: 240 seconds). 20:30:12 ... where perms [] _ = []; perms (t:ts) is = foldr interleave (perms ts (t:is)) (permutations is) where interleave = complicated-looking stuff. 20:31:22 lexicographic order of the reverse would have been more logical, i think 20:31:38 since it works even for infinite lists 20:32:37 (well with a reverse that returns a leftward infinite list) 20:32:47 > take 10 $ take 3 <$> permutations [1..] 20:32:48 [[1,2,3],[2,1,3],[3,2,1],[2,3,1],[3,1,2],[1,3,2],[4,3,2],[3,4,2],[3,2,4],[4... 20:34:30 Is it just a coincidence that take 6 $ take 3 <$> permutations [1..] equals permutations [1,2,3] or not? 20:37:31 -!- augur has quit (Remote host closed the connection). 20:41:14 fizzie: no that's intentional, it does all permutations of the first n before even looking whether there is more in the list 20:41:37 > take 3 <$> permutations ("abc" ++ undefined) 20:41:39 ["abc","bac","cba","bca","cab","acb"*Exception: Prelude.undefined 20:41:56 Yes, that sounded a'sense. 20:43:37 maximal laziness and all that. 20:51:42 -!- pikhq has quit (Ping timeout: 245 seconds). 20:51:46 -!- pikhq_ has joined. 20:52:16 atriq: btw i assume this means my thue-morse sequence worked? 20:52:21 Yes 20:52:24 Yes it did 20:52:31 then i can put it on the wiki. 20:53:52 You guys still talking about permutations 20:55:29 no, now we're talking about fueue 20:59:43 Perfueuetions. Fuemutations. Permueues. 21:00:16 i say, imagine an xkcd what-if about what would happen if there was world peace <-- after the .75 c (or so) baseball and the jumping i think we can all see how that would go. 21:00:51 Also the half-full glass that ended up in someone's face. 21:00:55 right. 21:01:22 I'm probably the only person who wanted Haskell syntax highlighting on Tumblr 21:01:50 i think xkcd what-if needs better navigation soon, there isn't even a link to the first one 21:02:00 *direct link 21:03:01 haskell is no tumblr land 21:05:19 -!- boily has quit (Quit: Poulet!). 21:05:43 -!- boily has joined. 21:05:43 -!- boily has quit (Client Quit). 21:05:48 -!- cuttlefish has quit (Remote host closed the connection). 21:06:02 May not be QUITE enough to be Turing complete <-- i'm pretty confident of the basic principle, even if my translation might have bugs 21:06:14 I realised that later 21:06:48 *in 21:07:01 My doubt was caused by a misremembrance of Underload 21:08:12 Wow, this is slow 21:08:56 i think it would be possible to do the rest of the underload functions as well, except plain S, but they take two stack arguments and * and a would need to build something complicated so they would be much more work 21:09:54 ~ might be somewhere in between 21:11:29 hm apparently "confident of" and "confident in" are both considered correct 21:11:48 English. 21:11:58 well by this one person anyhow :P 21:12:28 Can't decide between the genitive and the locative. 21:12:54 i vaguely recall those were equal for some latin nouns 21:13:34 like "domi" 21:13:46 Latin isn't English. 21:15:00 english doesn't really have locative 21:15:02 Making English Latin is to, despite all common sense, cling to an ideal that, many centuries ago, you ascended from. 21:15:14 It doesn't really have genitive either 21:15:32 no, but at least 's is descended from it 21:15:46 That's the possessive, which is different, I think? 21:16:18 -s is a pretty common genitive ending in those germanic languages which still have it 21:16:25 Is it? 21:16:26 Hmm 21:16:51 (norwegian still has -s, but it's mostly used like in english so may not count) 21:17:12 demi, term meaning half and also eponymous name describing the ratio of her age to her partners 21:18:03 um you realize that ratio isn't constant right? 21:18:12 -!- soundnfury has joined. 21:18:19 turns out their actual ages are 49 and 34 21:18:47 so its a vast exaggeration 21:19:04 -!- Vorpal has quit (Ping timeout: 252 seconds). 21:24:48 -!- Taneb has joined. 21:24:51 oerjan: If you round ages to years and switch every year... 21:25:03 -!- atriq has quit (Ping timeout: 276 seconds). 21:25:58 fancy 21:28:12 -!- Taneb has changed nick to atriq. 21:28:50 -!- augur has joined. 21:31:48 -!- atriq has quit (Quit: Goodnight). 21:39:23 I have added some of the instructions to RogueVM now, and fixed a few other things; tell me if you have any suggestions/comments, and if you have idea what other instructions you think should be needed. 21:45:25 http://www.sheldoncomics.com/archive/120831.html :P 21:51:59 kmc: Ah. The .ma.comcast.net and frequent disconnections misled me. 21:58:17 it shouldn't be disconnecting anymore :) 21:58:46 the host running irssi is my desktop in ma on comcast 22:02:43 fizzie: if you have any idea why infinite loops end up in a segmentation fault with fueue.c, please let me know 22:02:44 Arc_Koen: You have 2 new messages. '/msg lambdabot @messages' to read them. 22:02:49 @messages 22:02:49 oerjan said 1h 45m 9s ago: Adding fflush(stdout) before each printing may fix the trouble of the thue-morse program not printing anything, EgoBot's interpreters have the same problem (i modified my / 22:02:49 // interpreter for it specifically to get around it) 22:02:49 oerjan said 1h 38m 50s ago: um i mean _after_ printing, of course 22:03:47 Arc_Koen: there is probably also some function to set stdout to unbuffered, but i don't recall what it is in C. 22:06:11 ok, fflush(sdtout); seems good enough 22:06:13 0110100110010110100101100110100110010110011010010110100110010110100101100110100101101001100101100110100110010110100101100110100110Segmentation fault 22:06:25 though I still don't get what the segfault is here for 22:06:28 ic 22:06:36 * Arc_Koen should check tail-recursivity 22:06:39 and it happens after several iterations... 22:06:49 -!- MoALTz has quit (Ping timeout: 268 seconds). 22:06:49 yes, it always happen with infinite loops 22:06:58 but not many enough to have run out of memory 22:07:03 the ocaml version seems quite happy to go on forever, though 22:07:19 -!- osdevcapacitor has joined. 22:07:27 oerjan: now that I think of it, someone pointed out a few memory leaks 22:07:35 I should fix them 22:08:07 perhaps you are freeing too much at some point too? 22:08:26 last time I did that gcc kept me informed 22:09:00 if I download a thuemorse interpreter and pipe the result, will it work?$ 22:09:17 Is it allowed in C for a void function to return f(...) if f is also a void function? 22:09:22 (is it really an infinite loop? or does it stop at some point? 22:09:43 Arc_Koen: it is infinite yes 22:10:07 also thue-morse isn't a language, it's an infinite sequence. 22:10:13 oh 22:10:30 I got confused by the expression "the thue-morse program" 22:11:00 ok, imagine I make a program that takes binary code as an input 22:11:19 (or at least a sequence of 0s and 1s, cause I think binary code is something else) 22:11:40 -!- osdevcapacitor has quit (Ping timeout: 245 seconds). 22:11:42 is there a way to have the two of them work simultaneously, via a pipe or stdin or whatever 22:11:58 sure, a pipe will do 22:12:39 interestig 22:14:24 i note many of your functions suppose q not empty. it might be an idea to put in a debug check that the supposition isn't violated. 22:15:19 it's the kind of thing that could easily give a segmentation fault, i think 22:17:41 Arc_Koen: the ):[):] loop also gives a segmentation fault? 22:17:51 yup 22:18:19 hmmm 22:19:01 btw, how are errors signaled in C, usually? 22:19:17 I mean, if I use "return -1" or something it's not very explicit 22:19:27 should I make an error function that prints stuff on stderr? 22:19:53 (for instance is there an equivalent to ocaml's exceptions?) 22:23:11 printing on stderr is good, i think. also exit(EXIT_FAILURE); is the portable way to do a failure exit, if i understand exit's manpage correctly. 22:25:47 on linux, other values are used by some programs, and anything not 0 is some kind of error. 22:25:55 (is_empty(q) && errorfunction("empty")); 22:25:56 afair 22:26:08 ok that may not be the best way to write that 22:26:16 heh 22:28:08 i don't think s != "" is the correct way to check for string emptyness. otoh you never _call_ matchwhat with an empty string so it doesn't matter. 22:28:42 oh, right 22:29:23 yesterday I tried to compare argv[1]'s content with a quote-enclosed string :-) 22:29:27 using == 22:31:59 !*s is the idiomatical empty-string test, I'd say. 22:33:14 I'm not sure I should take those habits 22:33:32 As for "tail-recursivity", no such thing in C. 22:33:39 oh 22:33:54 so how do I avoid a stack overflow or the like? 22:33:58 Unless you happen to get a really clever compiler, and turn enough optimization flags on. 22:34:03 You don't recurse infinitely. 22:34:04 Well yes !*s is a way to test empty string in C, and is what I use too. 22:34:34 don't we have a nice "strempty" function or somethign? 22:34:55 strcmp(s, "") == 0 is a possible semantically semantical way. 22:35:00 -!- copumpkin has quit (Ping timeout: 248 seconds). 22:35:18 FWIW, gcc -O2 makes your fueue.c not segfault in the oerjogram, for me. 22:35:19 I don't think so but I prefer !*s and I think is better way. 22:35:27 And the non-optimized build segfault is a stack overflow issue. 22:35:49 (Run in gdb, ask for backtrace, get a long list.) 22:36:57 aha 22:37:02 What sort of infinite recursion you have there, anyway? I didn't notice anything else than processFueue, with a self-call all the way in the end. 22:37:14 so then tail-recursiveness might be the problem 22:37:21 You can fix that by wrapping the entire thing inside a do { ... } while (!halts); 22:37:28 well processFueue is recursive and oerjan's program is an infinite loop 22:37:34 It even calls itself with the same arguments. 22:37:41 so processFueue won't stop calling itself until the program ends, which never happens 22:38:03 not quite - it calls itself with the same queue, but the queue has been slightly modified 22:38:19 Yes, but it's been modified even if you just loop. 22:38:32 It's the same 'q' in both cases. 22:38:36 yeah just turn that into a do while 22:38:45 ok :( 22:39:06 -!- copumpkin has joined. 22:39:09 You might need to do something about "Queue newq", though, if references to that are actually kept. 22:39:34 oh, right 22:39:53 well, I'd have to make it a Queue* instead 22:39:56 Where "something" might be e.g. Queue *newq and a newq = malloc(sizeof *newq) in the ( handler. But not necessarily. 22:40:08 It might not really be used. 22:40:34 it's used by the fueue function '(' 22:40:46 Yes, but since the queue elements have an actual "Queue" in them, so I suppose pushblock() makes a copy. 22:41:03 Instead of storing a pointer to newq itself anywhere. 22:41:20 I mean, it has to, it's even called-by-value by giving a newq. 22:41:34 yeaaaaaah more or less 22:41:41 the queue is copied 22:41:54 but Queue is a structure that basically contains a length and two pointers 22:42:02 That doesn't matter. 22:42:04 so these two pointers aren't modified by pushblock 22:42:07 if you make it nonrecursive then you don't need the halts variable, you can just do return directly 22:42:29 All that is in the stack (i.e. locals of processFueue) is the 'Queue' structure itself. 22:42:32 while(true)? that seems mean 22:42:39 while (1), you mean. 22:42:41 There is no 'true'. 22:42:52 uh, right 22:42:54 Though for (;;) is kind of common too. 22:43:10 I made a #define TRUE 1 though 22:43:18 I happen to like for(;;) 22:43:22 (after gcc told me he didn't know what true was) 22:43:38 (also he told me he didn't know a function named bool :) ) 22:44:07 What would that function even do? 22:44:20 zzo38: in english I'd tend to read "for(;;)" as "while no condition is true" 22:44:40 If you #include in a C99 system, you will get a type called 'bool', and constants 'true' and 'false'. 22:44:44 Arc_Koen: C is not English. 22:44:51 (Even if you don't, '_Bool' is a type in C99.) 22:45:06 Not that there's any particular reason to go for C99 features if you don't already. 22:45:11 do people use C99? 22:45:15 Yes. 22:45:17 I thought C89 was the reference 22:45:18 But not all people. 22:45:33 Some people even use some C11. 22:45:52 gcc and a few other compilers can also use GNU extensions, GNU89 and GNU99. (I prefer GNU89 for my own programs.) 22:45:56 C99 isn't terribly rare, though it suffers in popularity due to Microsoft's compiler not doing it. 22:45:58 someone developed a version of C in 1911? wow, they were ahead of their time! 22:48:32 According to valgrind, incidentally, the program still leaks memory. About a megabyte per second when running the oerjogram. 22:49:07 well, there's this immediate dereferencing of a function-returned pointer you mentioned 22:49:21 and probably others as well 22:49:49 -!- ais523 has quit (Ping timeout: 246 seconds). 22:49:56 also the queue is not emptied when the program halts, but I was told the OS would take care of that 22:50:07 Oh, that's still there? But that's fixable simply by changing copyQueue to return a Queue instead of a Queue*. 22:51:09 Queue copyQueue(const Queue *q) { Queue c; ...; return c; } c->block = copyQueue(...) and that should be it. Well, with some &s added in copyQueue. 22:51:28 ok, it's fixed 22:52:06 I think I'll do some sleeping now. But all the reported leaked blocks were from the malloc call in copyQueue, at least. 22:53:28 in my head it went "a Queue basically is a pointer, so using Queue* is silly" then "no, it makes a lot of sense to use Queue* in some cases" then "there's no reason why not to use Queue* everywhere" 22:54:00 can I put a return in a void function? 22:54:04 Yes. 22:54:12 As long as it's just a "return;". 22:54:15 -!- kinoSi has quit (Read error: Connection reset by peer). 22:54:17 ok 22:54:44 -!- kinoSi has joined. 22:54:49 You could use more Queue*s sensibly if your struct Token had a Queue* instead of a Queue, but I suppose that might make it easier to accidentally share Queues. 22:55:46 natural language is really bad at describing a large set of elements of the same type with different values 22:56:15 zzo38: Oh, since you asked: "A return statement with an expression shall not appear in a function whose return type is void. A return statement without an expression shall only appear in a function whose return type is void." 22:56:30 -!- nortti has joined. 22:57:09 such as a 10 by 10 grid of random colours from {red, green, blue, violet, orange} 22:57:47 That is why we have mathematics and computer files 22:58:37 -!- nooga has quit (Ping timeout: 268 seconds). 23:04:03 is it? they told me it was because wells were not hexagons 23:08:03 (now to write a book where wells are hexagons and mathematics don't exist) 23:08:33 * quintopia packs up to move to Arc_Koen's Well of Souls 23:09:48 RogueVM now includes a complicated instruction 0x11 which can be used inside of a string. 23:10:22 i should point out that my thue-morse program _does_ cause the queue to grow indefinitely, as every printed digit other than the first is accompanied by appending blocks for two later digits. 23:10:45 but i assume valgrind doesn't count that as leakage 23:11:34 fizzie: in case you're still here ^ 23:11:34 oerjan: I tried your program with fueue.c; as it didn't work I tried it with fueue.ml; as it didn't work I tried it with fueue.c using --print 23:11:46 ouch 23:11:55 well it worked for atriq 23:12:08 it was just the fflush problem 23:12:13 ok 23:12:26 is atriq's interpreter working? 23:13:04 (using --print the huge queue was all over the place) 23:14:02 fizzie: yeah, I'm convinced I don't need to do anything about newq 23:15:03 Arc_Koen: i think so, he also had a buffering problem but fixed it with hSetBuffering instead of hFlush 23:17:21 hypothesis: a ftack program can only run something like m*n steps before either halting, catting, or endlessly copying :'s; where m is the maximal number in the program and n is the program length. 23:19:39 -!- Sanqui has joined. 23:21:12 Now you have to prove it. 23:24:11 well it's basically (1) because all arithmetic results get immediately printed, a $ can never use higher numbers than those in the original program (2) every function other than : and $ shorten the program (3) everything you can copy other than : either goes into the three end states immediately or removes itself one copy per step 23:24:50 *shorten the queue 23:25:12 actually no, program, ) only shortens if you consider the length of the block contents 23:25:47 what if I produce a counter example 23:25:49 right now 23:25:52 -!- pikhq_ has quit (Ping timeout: 245 seconds). 23:25:54 -!- pikhq has joined. 23:26:15 * shorten the queue or goes into an end state 23:26:35 argh, *program 23:27:00 because ( lengthens but gives a block on top 23:27:02 )[)[)[)[)[)[)[)[)[)[)[)[)[)[)[0H]]]]]]]]]]]]]]] 23:27:27 as many steps as ')' (plus the 0 and H) 23:27:34 yet m is 0, so m*n is 0 as well 23:27:44 XD 23:28:11 that's why i said "something like", i expect there might need to be a small added constant. 23:28:31 or an extra factor/ 23:28:52 ( and < both produce immediate cat 23:28:58 yeah 23:29:23 because they are either lacking an argument (-> immediate cat) or they have correct arguments and produce a block (-> immediate cat) 23:29:45 quintopia: i _think_ that's unnecessary. 23:30:19 oerjan: can Arc_Koen's example be extended indefinitely? 23:30:41 quintopia: well sure. although it's the 0 that's the point, not the rest. 23:31:05 so (m+1)*n, or possibly (m+C)*n, is my guess 23:31:14 yeah i was gonna suggest the first 23:31:52 I'm starting to think it's dangerous to make jokes in front of religious or computerish people 23:32:08 i know a joke 23:32:12 it's good 23:32:14 it's so good 23:32:16 you want to hear it 23:32:19 ? 23:32:36 it may have been posted here before ... 23:32:42 oerjan: the point is that )[x] has always exactly one more step than x 23:32:51 I included the 0 to be sure what m was 23:33:08 quintopia: does your joke involve a duck? 23:33:19 Arc_Koen: no 23:33:36 -!- Nisstyre has quit (Read error: Connection reset by peer). 23:34:15 it's a proof that the cube root of 2 is irrational. :P 23:34:40 haha 23:34:49 * oerjan prepareth the swatter 23:34:58 (wait, was that not the joke?) 23:35:04 no 23:35:38 fizzie: even with copyQueue fixed and processFueue a while loop, I still get a segfault on oerjan's thuemorse program 23:35:43 okay, here it goes: If it were rational, then we could express it as a fraction p/q, p,q integers 23:36:02 so 2=p³/q³ 23:36:08 -!- nortti has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )). 23:36:13 so 2q³=p³ 23:36:29 so q³+q³=p³ 23:36:38 which contradicts the fermat-wile theorem 23:36:43 thus, cube root of 2 is irrational 23:36:49 oO 23:36:57 Arc_Koen: i don't think fizzie is listening at the moment 23:37:00 * oerjan swats quintopia -----### 23:37:17 q=1 p=1 doesn't violate Fermat 23:37:18 also it's wiles 23:37:18 oerjan: you don't like it? :P 23:37:24 sorry 23:37:34 ...I can't add 23:37:45 Apparently 1+1=1 in my world. 23:37:46 * Arc_Koen realizes he has a lot of friend whom it would make laugh 23:37:49 O, yes, it is the Fermat's Last Theorem. 23:37:59 quintopia: well i couldn't let a prepared swatter go wasted 23:38:01 I had the same thought as you Sgeo 23:38:31 (though I didn't go so far as to realize how wrong I was) 23:39:04 If p and q are not necessarily integers, p=cuberoot(2) 23:39:07 q=1 23:39:22 1^3 + 1^3 = cuberoot(2)^3 23:39:26 Sgeo can't read either. 23:39:28 That doesn't violate Fermet 23:39:44 or spell. 23:39:46 Does Fermat specify that the numbers need to be integers? 23:39:55 Yes that doesn't because Fermat's Theorem is for natural numbers only 23:40:00 Ok 23:40:18 also quintopia specified that p and q were integers. 23:40:38 oerjan, I was ignoring that because I was curious about non-integers and Fermat's Theorem 23:41:04 Sgeo: for any number a and non-negative number n, a^n + a^n = (nthroot(2)a)^n 23:41:06 Arc_Koen: you're right. you can't tell jokes to some people. 23:41:29 yes that was pretty conclusive I think 23:42:12 (that won't stop me from trying to prove oerjan's hypothesis about Ftack, though) 23:51:15 oh hm might need +2 23:51:23 because : doesn't need any number 23:51:38 haha 23:52:02 or max(3,m+1) 23:52:07 oerjan: but as I said, )[x] takes one more than x 23:52:23 so i'm pretty sure we have to use O(...) in your hypothesis 23:52:46 um i never said it couldn't be _less_ than (m+C)*n 23:53:02 oh 23:53:11 well i didn't mean to, anyway 23:53:46 yes, but what if we find something similar to )[x] but that adds more than the size it adds 23:53:59 (I'm not sure how much '[' is considered to add) 23:55:03 hmm 23:55:14 i don't think it's very important how much you count [ and ] as 23:55:34 * Arc_Koen tries to get explain his point clearly, succeeds, but doesn't because he realizes it doesn't make sense 23:55:47 the only thing that adds them is (, which causes immediate catting 23:56:04 yes but you can have them in the initial program 23:56:43 well yes. i think i'm sort of thinking of counting lexical tokens. 23:56:53 so [ and ] are one each 23:56:54 also, !! adds with a ratio of 1 23:57:08 )[x] adds with a ratio of one third then 23:57:30 Arc_Koen: er what the heck are you thinking, !! removes two elements 23:57:41 yes 23:57:46 I mean, the time it adds 23:57:56 before one of the three ending conditions is met 23:58:11 (cat, ::, H) 23:58:13 ...you don't need to consider things that remove _more_ than one token per step 23:58:42 oh, !! only adds one step 23:58:43 right 23:58:49 + removes three elements, anyway 23:58:58 uh? 23:58:58 er two 23:59:22 but it still proves that C must be more than 0.5