00:00:01 how closely is the Halting problem related to Incompleteness? 00:00:14 olsner: actually yeah 00:00:31 SimonRC: not 00:00:31 well there is an implication at least one way i think 00:00:46 I mean, it is possible to create a program that enumerates all possible proofs until it finds one that proves that its input program halts... 00:00:53 halting problem implies incompleteness 00:01:16 that would proove that a program halts IFF it is possible with the given proof system 00:01:19 because a complete system could ask the question of whether a program halts 00:01:24 or wait 00:01:30 actually no 00:01:42 it could lie and say it halts even if it doesn't 00:02:01 huh? 00:02:10 because the halting time could be a non-standard integer, which doesn't actually exist 00:02:25 * SimonRC hasn't hears of NISs 00:02:28 *NSIs 00:04:24 every logical system with infinite models has even larger ones, and an element of an extension is called non-standard 00:04:59 there is non-standard analysis which uses this to add infinitesimal reals 00:06:09 but that may be overkill here. rather, if the halting problem for an algorithm is undecidable, then it is consistent to add the axiom that it _does_ halt, although it "really" cannot 00:06:54 and any model with that axiom must contain an element that is claimed to be the stopping time... 00:10:12 -!- timotiis has quit ("leaving"). 00:10:57 kewl: http://www.crabfu.com/steamtoys/r2s2/ 00:14:23 -!- BMeph has joined. 00:14:27 hi 00:14:29 WRU? 00:14:47 GNPE 00:14:52 oerjan: ?? 00:15:35 i just like to say things i don't know what mean :D 00:28:07 oerjan: me tooo 00:28:43 WRU = "Who Are You?", from the teleprinter code 00:29:08 some day someone who knows about teleprinters is just going to understand that one straight away 00:33:57 ic. now i just have to understand _why_ you would say "Who Are You?" 00:34:45 since i didn't see anyone unknown entering... 00:39:29 SimonRC: the probability of that happening is probably getting lower by the minute :P 00:45:48 -!- olsner has quit ("Leaving"). 00:48:30 -!- Corun has joined. 00:49:03 23:14:23 -!- BMeph [n=chatzill@adsl-76-212-192-106.dsl.sndg02.sbcglobal.net] has joined #esoteric 00:49:06 23:14:26 < SimonRC> hi 00:49:09 23:14:29 < SimonRC> WRU? 00:49:41 oh maybe BMeph hasn't been here before? 00:49:49 welcome to #esoteric :) 00:50:31 Hello - I channel hop a lot, so don''t mind me. :) 00:50:53 seen you in #haskell before 00:51:13 i don't - those are the only channels i'm in 00:51:37 and i can barely keep up with that sometimes :D 00:51:43 BMeph has been here for yonks.. 00:52:11 i am generally in #esoteric, #ESO, and various channels for my lingua franca of the month 00:52:22 Yeah - as soon as I started fiddling w/ FALSE, I started popping up in #eso more. :) 00:52:24 of the month? 00:52:46 whence Volapük? 00:53:34 oerjan: haha 00:53:46 right now, it's Perl 00:58:18 ais523: hi 00:59:02 -!- ais523 has quit ("Konversation terminated!"). 01:01:00 hah 01:23:37 -!- pikhq has joined. 01:54:44 -!- ehird has quit ("Konversation terminated!"). 02:18:14 -!- dbc has quit (Client Quit). 02:39:09 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 02:42:27 -!- slereah_ has joined. 02:48:02 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 03:00:18 -!- Corun has quit ("This computer has gone to sleep"). 03:17:29 we need a language with a good type system 03:17:36 do any esolangs have good type systems? 03:23:23 Explain good. 03:23:27 * oerjan considered something wicked with monads once. hardly got anywhere. 03:24:03 liMonadE = unlambda with monads 03:24:27 I think static typing is superior, so "good typing system" likely has a different meaning to me. 03:24:58 oerjan: monads are not good to have as a built-in feature of the type system 03:25:14 at least that part haskell got right :) 03:25:35 Deformative: turing-complete 03:25:51 ah but this was not a _sane_ monad system 03:26:39 is a type a boolean function on all possible values, or is it a way to generate new values? 03:27:30 i guess in haskell it's clearly the latter 03:28:57 to the programmer, it's the latter, but to the typechecker, it's more like the former... 03:32:24 we could have a value be represented by any sexpr, and have types be boolean functions on sexprs... sounds like XML validation 03:44:18 -!- shinku has joined. 03:52:54 lament: Define all types in terms of Lisp code. :p 04:13:54 -!- adu has joined. 04:36:29 pikhq: that's what i'm saying! 04:40:16 :) 04:40:22 :) 04:41:03 :[] 04:42:25 -!- adu has quit ("Computer went to sleep"). 05:08:09 -!- adu has joined. 05:13:03 :heh 05:26:07 -!- shinku has quit. 05:45:51 new panels: http://www.nonlogic.org/dump/images/1205901932-preview3.png 05:48:18 pikhq: attention 05:49:02 rather simple stuff today because I'm feeling really tired 05:54:10 -!- Sgeo has quit (Remote closed the connection). 05:56:41 heh, "All the prototypes had exploded at this point" :D 05:57:29 :D 06:03:21 incidentally, I think that last panel could make a nifty desktop: http://www.nonlogic.org/dump/images/1205902974-desk9.png 06:05:21 which reminds me, new xkcd and girl genius 06:05:41 I, too, am a reader of GG. 06:05:47 do you read Buck Godot? 06:06:00 no 06:06:18 you really should- it's every bit as good as Phil's other work. 06:07:52 Brilliant. 06:07:57 :) 06:15:15 well, another day, another three panels. I'm out, folks 06:15:49 -!- RodgerTheGreat has quit. 06:24:30 -!- adu has quit (Remote closed the connection). 06:33:01 -!- BMeph has quit ("calls it a night"). 07:49:26 -!- adu has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:08:04 -!- adu has quit (Read error: 104 (Connection reset by peer)). 09:10:31 -!- oerjan has quit ("leaving"). 11:19:57 -!- oklofok has joined. 11:52:00 -!- Tritonio_ has joined. 12:48:53 -!- oklofok has quit (Read error: 113 (No route to host)). 13:13:33 -!- oklofok has joined. 13:24:33 -!- RodgerTheGreat has joined. 13:24:45 howdy 13:34:40 hi 13:36:35 RodgerTheGreat: moar 13:37:06 moar wut? 13:37:11 comic 13:37:22 moar dis? http://www.nonlogic.org/dump/images/1205901932-preview3.png 13:37:27 and the hair colour in the second panel is still non-matching 13:39:30 I suppose I could do a little moar this morning 13:39:45 there will be at least 3 new panels by tonight, though 13:40:16 has anyone written a brainfuck interpreter in befunge? 13:40:24 assuming befunge98 of course 13:43:25 http://www.geocities.com/nthern/esolangs/brainfuck.bf.txt, but befunge-93, and requires bignum-sized cells 13:45:19 right, I guess BIGNUM would make befunge93 turing complete? 13:46:00 unbounded storage in a sense... I'd presume so 13:46:15 Deewiant, also wtf is "Befunge97"? 13:46:25 it's befunge-97, what about it 13:46:34 Deewiant, where is it's specs? 13:46:42 nowhere 13:46:50 oh? 13:46:58 not sure if it ever had any 13:47:14 so how did it differ from befunge98? 13:47:21 the few references to it I can find are from the esolang mailing list 13:47:39 -!- oklofok has changed nick to oklopol. 13:48:02 http://catseye.tc/projects/befunge93/eg/pi2.bf 13:48:12 says it is written in befunge97 in the file 13:48:18 it had some kind of header block 13:48:21 it runs under cfunge though 13:48:39 yeah, in terms of instructions it seems to be pretty similar to -98 13:49:06 ah, here we go, "befunge-97 directives" - lines starting with = 13:49:16 Deewiant, link? 13:49:22 http://www.nntp.perl.org/group/perl.perl6.internals/2004/10/msg26541.html 13:49:44 like said there's no spec, the best I can do is random googling 13:49:58 there was also a befunge-96 by the way 13:50:08 I know practically nothing about that 13:50:14 ah 13:50:47 Deewiant, why on a perl6 list of some kind I wonder... 13:51:01 The original Befunge-93 language implementation was developed by a small but dedicated user base; the result was Befunge-96 (with concurrency), and then Befunge-97, which added a batch of new features. By 1998, a new language was born: Funge-98, which took Befunge out of two dimensions and into Hilbert space. Development of Befunge-100 (presumably the victim of an un-patched Y2K bug) allegedly continues. 13:51:18 AnMaster: looks like interpreter development, beats me 13:51:45 anyway I'm soon ready for a new release I think 13:52:00 just trying to make make install work correctly, and maybe add a man page 13:52:08 It could be worse; proposals for basing a Funge derivative on the surface of a Klein bottle or hex net have been mooted, but never implemented. 13:52:13 AnMaster: how about that? ;-) 13:52:13 oh and update README and such 13:52:35 Deewiant, I know about those, mentioned in befunge98 specs, one of the latter apendixes 13:52:59 later* 13:53:02 "Other Topologies" 13:53:04 yeah 13:53:04 Other Funges, such as Honefunges (hex-net topology) and Kleinefunges (Klein-bottles) are certainly possible. 13:53:18 so how about implementing one or both? ;-) 13:53:41 Deewiant, nah, that's for CCBI ;P 13:54:12 it'd probably run too slow, I think you should do it ;-) 13:54:51 Deewiant, ever tried http://catseye.tc/projects/befunge93/eg/life.bf 13:54:56 quite amazing 13:54:59 in befunge93 even 13:55:01 yeah, it's nice 13:55:16 Deewiant, just with ccbi it is rather slow :P 13:55:20 * AnMaster runs 13:55:41 I can't be bothered to go scouting around for hash table libraries and garbage collectors 13:55:51 Deewiant, so that show IO isn't everything ;P 13:55:55 shows* 13:56:05 well, in a way it still is 13:56:08 because it's memory-IO 13:56:21 but indeed, I could probably speed mine up with a better hash library 13:56:59 most of the time is probably spent in page faults and the like 13:57:34 hm for ccbi or cfunge? 13:57:39 both 13:58:11 anyway I don't think it is, I mean cfunge + mycology fits into 12 MB RAM here when optimized, tested with ulimit -v 13:58:23 that doesn't matter 13:58:26 and since I got 1.5 GB I can't see why it would page fault a lot 13:58:31 the fact is that the program doesn't fit in your L2 cache :-P 13:58:37 it wouldn't be swapped out on disk 13:58:49 Deewiant, but that isn't same as page fault still, right? 14:00:26 it seems that CCBI generates 3854 page faults here 14:00:30 Deewiant, does mycology wrap a lot? except when testing wrapping I mean 14:00:33 or rather, generated as I just ran it. 14:00:44 oh? how do you check how many page faults are generated? 14:00:47 but of course that doesn't mean that it's swapped out to disk. 14:00:52 process explorer, on windows. 14:00:55 don't know about *nix. 14:01:09 hah 14:01:53 it looks like ps shows them 14:02:10 yes but the program quits so fast when mycology ends. 14:02:23 so pipe it into a file or something. 14:02:37 hm, ps? or cfunge? 14:02:53 what would you want with the cfunge output? :-P 14:03:21 nothing, but point is, how do you check number of page faults at the point just before cfunge exits? 14:03:42 ps's update frequency is too slow? 14:03:53 ps is a one time command, and cfunge is too fast 14:04:03 oh yeah, getting confused with 'top'. 14:04:17 and even top updates once / second or so iirc 14:04:31 cfunge finishes mycology in 0.078 seconds here 14:04:38 one simple option: add getchar() just before your return from main. 14:05:05 Deewiant, actually I don't return from main, I use exit() but I see what you mean 14:06:57 or compile with profiling. :-P 14:07:45 open("/home/arvid/local/emacs-cvs/lib/libcord.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 14:07:45 open("/usr/lib64/libcord.so.1", O_RDONLY) = 3 14:07:47 interesting 14:07:49 from strace 14:09:31 it goes through your LD_LIBRARY_PATH or whatever the envvar is 14:09:37 not that I would gain a lot from unsetting LD_LIBRARY_PATH indeed 14:09:59 Deewiant, I know that but I wonder, how much could one save in 0.0000000whatever seconds on unsetting it ;D 14:10:33 you worry too much :-P 14:12:29 you know, it was a joke 14:14:35 yep, but even so, you do ;-) 14:20:58 weird, weird, under valgrind I enter an infinite loop after DIRF test, but under gdb or "freestanding" it works 14:23:30 ok... if I change a calloc to a malloc it works. weird 14:35:47 -!- Corun has joined. 15:05:54 -!- CakeProphet has joined. 15:11:55 Deewiant, a question: is memory mapped IO faster than stream IO? 15:12:37 I believe it depends, but I'm not sure on what. 15:13:19 -!- Corun has quit ("This computer has gone to sleep"). 15:13:23 hm 15:13:31 ....I wrong a poem in Python. 15:13:37 http://pastebin.org/24426 15:13:59 when you execute it... it outputs '("Love", "is", False)' 15:14:16 CakeProphet, rewrite it in befunge? 15:14:52 ....you couldn't do that. Not with English... words. 15:15:03 unless you just use comments for everything... but that's gay. 15:16:04 -!- oklopol has quit (Connection timed out). 15:17:45 CakeProphet: how about writing it in Shakespeare 15:18:11 Deewiant, ever tried running the mycology readme in ccbi? 15:18:16 quite interesting 15:18:19 no? :-P 15:18:37 Deewiant, at least in cfunge it prints a lot of "10" 15:18:44 in general, running on plaintext isn't necessarily a smart idea :-P 15:18:52 Deewiant, sand box mode of course 15:18:59 so wouldn't do any harm 15:19:23 if you still haven't implemented o I guess it's fine 15:19:43 Deewiant, indeed I haven't yet 15:19:56 Deewiant, and in sandbox mode it wouldn't be allowed 15:20:29 unless you're very unlucky with something like "FRID" 4 (0'/R) but... how likely is that 15:20:36 http://rafb.net/p/yZ3yEP70.html 15:20:40 Deewiant, see? 15:20:42 :P 15:20:56 I meant, without sandbox mode and o 15:20:57 Deewiant, well Frid is Swedish for peace so :D 15:21:13 yeah, but... 15:21:15 all caps 15:21:16 in quotes 15:21:19 followed immediately by a 4 15:21:21 not likely 15:21:23 followed immediately by a ( 15:21:28 exactly :-P 15:21:29 indeed not likely 15:22:16 Deewiant, by the way what should ( and ) do when the count parameter is invalid/silly, ie, say, -23 for fingerprint length 15:22:19 or 184753 15:22:47 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 15:23:00 currently mine checks it is reasonable range for what the interpreter support (1-8 items from the stack), otherwise reflects 15:23:06 uh, that's crap 15:23:14 maybe I should test that in Mycology :-P 15:23:22 Deewiant, so what should it do? 15:23:29 and what does CCBI do 15:23:30 it should pop the requested number 15:23:40 Deewiant, well you can't pop -2 items 15:23:47 no, negative is messed up of course 15:23:55 but anything > 0 is fine 15:24:03 Deewiant, and above 8 wouldn't work considering how fingerprints are done 15:24:05 afaik 15:24:07 yes, it would. 15:24:18 it's just a matter of wrapping the ints around correctly. 15:24:39 Deewiant, yes right you mean when the cell overflows? 15:24:44 yes. 15:24:45 that would break for bignum 15:24:52 which is valid 15:24:57 so you can't test it 15:25:04 sure, but what if it first checks with y that the cell size is exactly 4 15:25:07 then, it is valid 15:25:17 Deewiant, and if it isn't it can't test it ;P 15:25:26 + such a check would take a lot of time 15:25:32 I suppose it's possible to generate such strings 15:25:44 no it wouldn't, just find a 16-character string and use that 15:26:10 and if done correctly it could be easy to add more strings depending on y's value 15:26:21 for 4, 8, 2, 1, etc. 15:26:28 I added the range check because of a issue with unloading fingerprint, when I had not popped enough items from stack to get back to the original stuff ( pushed 15:26:31 took some time to debug 15:28:46 -!- oklofok has joined. 15:29:21 an easy way to test would be just something like 8aaa**k1aaa**;v(;# <;8wna"DOOG">:#,_ 15:30:04 Deewiant, what would that do? 15:30:16 also, it could reflect 15:30:18 just check if it popped 10000 values or not 15:30:28 if it lacks the fingerprint 15:30:33 Deewiant, ugh 15:31:28 that was the point - make sure it doesn't converge to a valid fingerprint 15:31:42 and then just check for the pops 15:31:47 hence, "easy way". 15:32:16 Deewiant, it could be a valid fingerprint 15:32:33 someone could make one 15:32:37 it all depends on cell size 15:32:47 yes, it could 15:33:02 so if you got bignums all fingerprint names are valid in length 15:33:08 in which case, replace one of the constants in the value tried 15:33:17 i.e. instead of aaa** use baa** 15:33:28 Deewiant, so you could implement that one too ;P 15:33:31 and say, "hmm, looks like you loaded this fingerprint, that wasn't supposed to happen" 15:33:55 AnMaster: yes, but fortunately we have loops, so we can loop through 222->fff 15:34:26 and theoretically an interpreter could implement them all 15:34:40 btw now I made mine just warn about it (assuming warnings are turned on) 15:34:56 in that case, na"UOY WERCS">:#,_ and move on 15:35:34 hahah 15:36:07 Deewiant, but what should happen at negative count I wonder 15:36:16 reflect. 15:36:18 undefined. 15:36:22 tested in mycology. 15:36:30 ah right yep 15:36:41 Deewiant, however mycology fails to test the case of length == 0 15:36:50 IMO that should reflect too 15:36:54 mine didn't before it does now 15:37:12 instead it entered a infinite loop due to while (i--) thing 15:37:19 or not infinite 15:37:22 just very very large 15:37:37 as i was int64_t or something like that 15:37:43 and testing for negatives didn't catch that? 15:38:09 Deewiant, there is a subtle difference between: 1) i < 0 and 2) i<=0 15:38:10 :P 15:38:24 it's called your brain - learn it, use it, it's your friend :-P 15:38:28 yep indeed 15:38:36 but IMO mycology should test it 15:39:02 seriously, if you have if (i < 0) followed immediately by while (--i) then I blame you :-P 15:39:20 indeed it is what I'd call a bug 15:39:44 anyway it was i-- not --i 15:39:48 but that hardly matters 15:40:05 and besides, ( with 0 /is/ tested. 15:40:14 sure it is? 15:40:16 i-- does matter. 15:40:22 Deewiant, ah hm 15:40:27 because while (i--) does nothing if i is zero. 15:40:49 the original tests for ( and ) popping correctly are both done with a zero count. 15:43:45 hm true 15:44:12 but why did checking for 0 fix the bug in that other program then... 15:44:22 I don't know... 15:46:52 -!- CakeProphet has quit ("haaaaaaaaaa"). 15:53:03 anyway while threading in mycology worked perfectly, my program managed to segfault on a simple threaded hello world before 15:53:19 #vt"drwolH">:#,_ @ 15:53:19 >"lo le">:#,_a,@ 15:53:59 when the IP that eneded first ended, cfunge ended up accessing the IP array out of bounds, (now fixed) 15:58:44 -!- timotiis has joined. 16:11:58 -!- vixey has joined. 16:12:00 Hi 16:12:12 Are there any esolangs based on Ď€-calculus? 16:12:34 not that i know of :\ 16:12:56 there are real languages based on it, though 16:13:02 http://www.esolangs.org/wiki/Pict 16:13:02 Joy, iirc 16:13:19 oh 16:13:28 it says it's not 'intentionally esoteric', though :-P 16:14:48 hmm, it seems joy is functional, i must be confusing names again 16:15:29 joy is a functional forth 16:25:14 yarrrr 16:44:24 -!- Tritonio_ has joined. 17:11:39 -!- jix has joined. 17:36:26 -!- Sgeo has joined. 18:07:20 factor is a functional forth 18:07:56 joy is "concatenative" 18:08:13 forth is concatenative. 18:08:27 as are factor and joy. 18:09:10 oh right, good point 18:09:19 i thought concatenative had something to do with lists 18:26:53 Deewiant, there? 18:26:55 size-of-stack-stack cells containing size of each stack, listed from TOSS to BOSS (ip) 18:27:06 that one, should TOSS be at top or should BOSS? 18:27:20 the way I read "from a to b" is that a is at the top 18:27:48 hrrm 18:27:55 but I don't know. :-P 18:29:45 GOOD: y acts as pick instruction if given large enough argument 18:29:45 GOOD: ] turns flying IP right 18:29:50 wtf, I don't do flying ips?! 18:29:55 I don't implement MODE 18:30:18 uh? 18:30:25 oh wait, flying isn't one from MODE 18:30:29 hover is? 18:30:31 an IP is flying if its delta isn't (1,0) (0,1) (-1,0) (0,-1) 18:30:48 Deewiant, right, hard to keep flying and hovering and what not apart :P 18:31:33 no it's not ;-P 18:52:05 Deewiant, anyway I need some test case for y returing multiple stack sizes correctly :/ guess I code to code that myself 18:53:41 n{aa y9k$2w00p01pn00g01g2w0w 18:53:57 mhm 18:53:57 replace 9 with the correct index of the stack sizes in y 18:54:01 something like that 18:54:09 that probably doesn't work but it's a start :-P 18:55:52 * AnMaster tries 19:05:50 Deewiant, in any case, ccbi and cfunge give different results 19:06:17 you have working test code? 19:06:19 Deewiant, at the second w 19:06:22 Deewiant, not sure 19:06:27 probably not 19:06:29 :-P 19:06:37 as one goes up the other one down at the second w 19:06:50 that shouldn't matter 19:06:54 it should either be equal or not 19:06:57 indeed 19:07:07 as far as I can find out, we want cell 23, right? 19:07:08 the point being, test whether the stack size is equal to the expected. 19:07:44 Deewiant, yes and that is painful, and so is understanding your code, ie, what is all the p and g stuff in it for 19:08:05 just write your own code if that was so hard :-P 19:08:11 that was meant to help you, not confuse you >_< 19:08:14 true 19:08:27 AnMaster: the point was, get all the correct values with only one call to y. 19:08:34 so, call y. 19:08:40 pop the required number of cells to get to what we want. 19:08:46 yep 19:08:53 check that the stack stack size is correct, since it's first. 19:08:58 (it /is/ first isn't it?) 19:09:07 store the two stack sizes somewhere. 19:09:12 clear the rest of the stack. 19:09:19 make sure they're correct. 19:09:25 that's probably not necessary now that I think about it >_< 19:09:35 aha 19:09:54 I was thinking something about how it pushes the old stack size versus the new and wrote something overcomplicated 19:10:03 but yeah, the pg stuff is unnecessary. 19:10:09 I'm fairly certain, anyway. 19:10:21 (it /is/ first isn't it?) <-- that I got no idea about 19:10:34 AnMaster: it's in the spec 19:10:39 In this document, short stacks are generally notated left to right to mean bottom to top. The leftmost values listed in the documentation are the bottommost and the first to be pushed onto the stack. Long stacks are notated top to bottom, to mean precisely that, top to bottom.. 19:10:42 hrm 19:11:00 "size-of-stack-stack cells containing size of each stack, listed from TOSS to BOSS (ip)" 19:11:05 that is a short one? 19:11:17 that would mean TOSS at bottom then? 19:12:20 shrug 19:13:04 makes sense in a way, then you can do Xk$ where X is the index of the stack size you want 19:13:22 Deewiant, looks to me like this is a... UNDEF ;) 19:13:31 or "NOT VERY DEF" at least heh 19:14:00 -!- sebbu has joined. 19:14:01 IMO, if every interpreter does it one way then that way is probably right 19:14:14 so finish the test code already :-P 19:14:30 anyway with a single stack it is the 23rd cell 19:15:44 that means f7+k$ to leave it at top, hrrm 19:16:00 the top one, whatever it is that is 19:17:55 alright, so here 19:17:55 1230{aaa0y2a*k$....a,@ 19:18:30 since it uses 'k' it prints one extra value due to the way some interpreters implement 'k' 19:18:44 Deewiant, err what? 19:19:13 so it prints or 19:19:14 as long as it works in cfunge and ccbi I'm happy, I just want a test case for my interpreter in fact 19:19:33 CCBI prints 2 3 5 as does !Befunge 19:19:55 $ ./cfunge tmp.b98 19:19:56 1184561 2 5 3 19:19:56 heh? 19:20:27 Deewiant, looks like k popped one to few? 19:20:37 * AnMaster looks 19:20:49 AnMaster: no, it popped the correct amount 19:21:01 if it popped the incorrect amount it'd be 2 5 3 19:21:04 oh so why leave time value in there? 19:21:13 because some interpreters pop the incorrect amount 19:21:19 and then we'd only get the latter two values from them. 19:21:27 oh god 19:21:36 FBBI prints 2 3 5 97 19:21:45 97 from? 19:21:55 first char of command line argument? 19:22:12 ok 19:22:16 like said, 19:22:17 :-P 19:23:37 yeah 19:23:51 Deewiant, well is the k of those other ones broken or not? 19:23:56 or is it a UNDEF case? 19:24:04 it's broken, of course 19:24:07 ah 19:24:17 since given 321 2k$ they return an empty stack 19:24:32 Deewiant, well in the test case for my interpreter I don't need to care about that 19:24:35 since they don't skip over the argument 19:24:39 it passes mycology so :D 19:24:54 AnMaster: whatever, I just wrote the generic code so I can quickly test it against all interpreters 19:25:01 true 19:25:15 and modifying it to be nongeneric is trivial so do whatever you want 19:25:41 -!- Corun has joined. 19:26:10 Deewiant, well I plan to add unit testing 19:26:27 ctest that comes with cmake look interesting 19:26:28 go ahead 19:26:34 I didn't bother, I just wrote mycology :-P 19:26:58 there are a few unit tests in CCBI but nothing major 19:27:01 Deewiant, true, but for those special cases that mycology doesn't notice, either becase bugs are unusual or it just for some reason didn't test it 19:27:12 $ ls tests/ 19:27:12 jumpwrap.b98 ystack-size.b98 19:28:11 Deewiant, actually you would need three stacks to test it correctly, hrm 19:28:23 as I store top stack before I start pushing things in y 19:28:36 why? do you expect 1 3 2 instead of 1 2 3 or 3 2 1? :-P 19:28:42 so I push size of topstack before, then in a loop all but top stack 19:28:59 StackPush(TOSSSize, pushStack); 19:28:59 for (ssize_t i = ip->stackstack->current - 1; i >= 0; i--) 19:28:59 StackPush(ip->stackstack->stacks[i]->top, pushStack); 19:28:59 break; 19:29:04 * AnMaster wonders if that is correct 19:29:13 ssize_t? 19:29:29 Deewiant, or gcc complains that i will always be >= 0 19:29:33 -!- Corun has quit (Client Quit). 19:29:35 ssize_t is signed size_t 19:29:37 sigh 19:29:43 GNU extension? 19:29:46 Deewiant, nop 19:29:48 see C99 19:29:48 ptrdiff_t is the standard 'signed size_t' 19:30:04 Deewiant, err, look at C99 19:30:19 I think it comes from there 19:30:22 and also, switching to signed is not the solution to that problem :-P 19:30:22 or maybe POSIX 19:30:37 sorry, ISO/IEC 9899:1999 doesn't contain ssize_t 19:30:39 it's POSIX 19:30:42 (probably) 19:30:48 ah yes 19:30:51 because freebsd got it 19:30:52 AnMaster: your code isn't standard :-P 19:31:09 Deewiant, It is POSIX probably 19:31:10 but anyhoo, the way to write that loop is 19:31:18 for (size_t i = ...; i-- > 0;) 19:32:09 ssize_t exists in man 0p for sys/types.h 19:32:11 so POSIX 19:32:12 :D 19:32:42 Deewiant, look someone said even windows was POSIX 19:32:44 so... 19:33:03 whatever, I'm not having this argument again :-P 19:33:13 in any case, ssize_t or ptrdiff_t or whatever is not a solution 19:33:22 Deewiant, I'm trying to avoid gnu extensions, I rely on C99 and POSIX 1003.1-2001 19:33:27 Deewiant, probably indeed 19:34:15 Deewiant, anyway would that loop push things in the correct order? 19:34:30 I don't know, depends on how your stacks are laid out 19:34:32 compile it and try 19:34:56 Deewiant, well it looks correct but problem is, it does the top stack separatly 19:34:57 :/ 19:35:11 why is that a problem? 19:35:13 so I'd need 3 stacks to check *changes* 19:35:36 it's trivial to make it 123 stacks if you want :-P 19:37:00 -!- tkr has joined. 19:37:21 hrrm 19:37:28 $ ./ccbi ~/src/cfunge08/tests/sysinfo-multi-stack-sizes.b98 19:37:28 3 3 4 5 19:37:29 $ ./cfunge tests/sysinfo-multi-stack-sizes.b98 19:37:29 3 5 3 116 19:37:33 indeed something breaks there 19:38:45 -!- oerjan has joined. 19:39:01 $ ./ccbi ~/src/cfunge08/tests/sysinfo-multi-stack-sizes.b98 19:39:02 3 6 5 4 19:39:03 hm ok 19:40:24 $ ./cfunge tests/sysinfo-multi-stack-sizes.b98 19:40:24 3 5 4 6 19:40:28 better but not perfect 19:40:29 hehe 19:48:30 Deewiant, btw I actually think TOSS should be at the bottom, opposite of how ccbi does it 19:48:39 considering the standard 19:49:11 Deewiant, so what do you think this should print: 120{1230{aaaaaa0y2a*1+k$....a,@ 19:49:27 assuming interpreter got k right 19:49:48 3 4 5 6 or 3 6 5 4 19:50:18 -!- Slereah has joined. 19:57:52 gah 20:00:32 Deewiant, no idea if you are still there, but if you figure out what version is correct of those two tell me, I got no clue 20:12:47 AnMaster: I tried 3 random interpreters including FBBI and they all do it the way CCBI does it 20:13:33 Deewiant, but what do you think the standard says about it? 20:13:55 I think it can be interpreted either way, like many other things 20:14:23 another undef sigh 20:14:35 well I'll add both versions, in #ifdef 20:14:35 the whole spec is an undef 20:14:43 since it's not written formally 20:14:50 Deewiant, oh? 20:15:04 you mean not some IEEE standard, indeed 20:15:06 it's written in english, and like all natural languages it's inherently ambiguous 20:15:20 Deewiant, C99 standard is also in English 20:15:44 there's no forth-like "$ (a b -- a)" notation or anything 20:15:53 AnMaster: and it's also ambiguous in some cases :-P 20:16:05 Deewiant, not as much as funge98 is 20:16:16 and C99 standard is way larger 20:16:31 not as much, because like most ISO/IEEE/ANSI/other standards it's written in as non-natural a manner as possible 20:16:50 whereas the funge-98 spec reads like an essay or something 20:16:59 indeed 20:17:12 so funge08 should read more like a real standard 20:17:24 or 09 considering much work it seems to be 20:43:59 -!- tkr has left (?). 21:29:29 -!- olsner has joined. 21:37:20 -!- jix has quit (Read error: 113 (No route to host)). 21:41:22 http://rage.kuonet.org/~anmaster/cfunge/snapshots/cfunge_r107.tar.bz2 <-- new snapshot, if everything goes well I will make 0.2.0 release next 21:41:39 * AnMaster looks for ehird 21:43:54 Deewiant, if you are there, tell me if things work for you using last revision 21:44:34 * Slereah is trying to do formal logic in iota 21:45:02 Slereah, can't remember what one iota is 21:45:06 The excluded middle should be something like ```J`J`J`JJ```J`J`J`JJ`JJ```J`J`J`JJ```J`J`J`JJ`JJ``J`J`JJ`JJ``J`J`JJ`JJ``J`J`JJ`JJ, if I'm not mistaken 21:45:17 Iota is the compressed unlambda. 21:45:32 With only one combinator 21:45:45 Although it's *ii in actual iota 21:46:15 ah 21:47:18 AnMaster: appears to 21:48:14 Deewiant, nice, with the binary from that snapshot? 21:48:22 even though I use -march=pentium2 when building it, I think my 32-bit glibc may be built with -march=k8 -m32 21:48:24 er, don't know about that 21:48:32 so I got no idea if it will actually work on non-amd64 cpus 21:48:37 I just did bzr pull, cmake, make 21:48:51 Deewiant, right, but even then I wonder about binary on older systems too 21:49:16 ideally don't use -march of any kind 21:49:25 in binaries you distribute 21:49:47 Deewiant, exactly 21:50:27 Deewiant, and I built low-march (i686) for static boehm-gc, but well static glibc is harder 21:51:08 you can just dynamically link :-P 21:51:19 Slereah: Iota looks expanded not compressed to me ;) 21:52:02 Deewiant, that causes issues as you can understand, I link statically to avoid those issues 21:52:18 but I guess some mix could work 21:52:30 with something as commonplace as glibc it should be fine 21:52:55 but yes, ideally static link everything 21:53:30 hope libm is ok then too 21:55:51 oerjan: In size maybe! 22:01:00 Would a language without loops or conditional jumps but able to add code to itself be TC? 22:04:23 you can't get far without conditionals... 22:04:27 Deewiant, I made a script to build all possible 4 variants 22:04:33 dynamic/static 32/64 22:05:52 Slereah: i think there is such a language on the wiki 22:07:23 http://esoteric.voxelperfect.net/wiki/SMITH 22:09:10 www.esolangs.org == esoteric.voxelperfect.net 22:09:12 oerjan, ? 22:09:28 ah yes 22:09:37 those are equivalent 22:40:25 -!- jix has joined. 23:13:38 cfunge 0.2.0 released 23:16:46 http://rage.kuonet.org/~anmaster/cfunge/ 23:51:13 -!- BMeph has joined. 23:57:25 -!- jix has quit (Nick collision from services.). 23:57:33 -!- jix has joined.