00:00:01 <SimonRC> how closely is the Halting problem related to Incompleteness?
00:00:31 <oerjan> well there is an implication at least one way i think
00:00:46 <SimonRC> 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 <oerjan> halting problem implies incompleteness
00:01:16 <SimonRC> that would proove that a program halts IFF it is possible with the given proof system
00:01:19 <oerjan> because a complete system could ask the question of whether a program halts
00:01:42 <oerjan> it could lie and say it halts even if it doesn't
00:02:10 <oerjan> because the halting time could be a non-standard integer, which doesn't actually exist
00:04:24 <oerjan> every logical system with infinite models has even larger ones, and an element of an extension is called non-standard
00:04:59 <oerjan> there is non-standard analysis which uses this to add infinitesimal reals
00:06:09 <oerjan> 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 <oerjan> 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 <SimonRC> kewl: http://www.crabfu.com/steamtoys/r2s2/
00:14:23 -!- BMeph has joined.
00:15:35 <oerjan> i just like to say things i don't know what mean :D
00:28:43 <SimonRC> WRU = "Who Are You?", from the teleprinter code
00:29:08 <SimonRC> some day someone who knows about teleprinters is just going to understand that one straight away
00:33:57 <oerjan> ic. now i just have to understand _why_ you would say "Who Are You?"
00:34:45 <oerjan> since i didn't see anyone unknown entering...
00:39:29 <olsner> 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 <SimonRC> 23:14:23 -!- BMeph [n=chatzill@adsl-76-212-192-106.dsl.sndg02.sbcglobal.net] has joined #esoteric
00:49:41 <oerjan> oh maybe BMeph hasn't been here before?
00:49:49 <oerjan> welcome to #esoteric :)
00:50:31 <BMeph> Hello - I channel hop a lot, so don''t mind me. :)
00:50:53 <oerjan> seen you in #haskell before
00:51:13 <oerjan> i don't - those are the only channels i'm in
00:51:37 <oerjan> and i can barely keep up with that sometimes :D
00:51:43 <ehird> BMeph has been here for yonks..
00:52:11 <ehird> i am generally in #esoteric, #ESO, and various channels for my lingua franca of the month
00:52:22 <BMeph> Yeah - as soon as I started fiddling w/ FALSE, I started popping up in #eso more. :)
00:53:46 <ehird> right now, it's Perl
00:59:02 -!- ais523 has quit ("Konversation terminated!").
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 <lament> we need a language with a good type system
03:17:36 <lament> do any esolangs have good type systems?
03:23:27 * oerjan considered something wicked with monads once. hardly got anywhere.
03:24:03 <oerjan> liMonadE = unlambda with monads
03:24:27 <Deformative> I think static typing is superior, so "good typing system" likely has a different meaning to me.
03:24:58 <lament> oerjan: monads are not good to have as a built-in feature of the type system
03:25:14 <lament> at least that part haskell got right :)
03:25:35 <lament> Deformative: turing-complete
03:25:51 <oerjan> ah but this was not a _sane_ monad system
03:26:39 <lament> is a type a boolean function on all possible values, or is it a way to generate new values?
03:27:30 <lament> i guess in haskell it's clearly the latter
03:28:57 <lament> to the programmer, it's the latter, but to the typechecker, it's more like the former...
03:32:24 <lament> 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 <pikhq> lament: Define all types in terms of Lisp code. :p
04:13:54 -!- adu has joined.
04:36:29 <lament> pikhq: that's what i'm saying!
04:42:25 -!- adu has quit ("Computer went to sleep").
05:08:09 -!- adu has joined.
05:26:07 -!- shinku has quit.
05:45:51 <RodgerTheGreat> new panels: http://www.nonlogic.org/dump/images/1205901932-preview3.png
05:49:02 <RodgerTheGreat> rather simple stuff today because I'm feeling really tired
05:54:10 -!- Sgeo has quit (Remote closed the connection).
05:56:41 <oerjan> heh, "All the prototypes had exploded at this point" :D
06:03:21 <RodgerTheGreat> incidentally, I think that last panel could make a nifty desktop: http://www.nonlogic.org/dump/images/1205902974-desk9.png
06:05:21 <oerjan> which reminds me, new xkcd and girl genius
06:06:18 <RodgerTheGreat> you really should- it's every bit as good as Phil's other work.
06:15:15 <RodgerTheGreat> 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:37:22 <RodgerTheGreat> moar dis? http://www.nonlogic.org/dump/images/1205901932-preview3.png
13:37:27 <SimonRC> and the hair colour in the second panel is still non-matching
13:39:45 <RodgerTheGreat> there will be at least 3 new panels by tonight, though
13:40:16 <AnMaster> has anyone written a brainfuck interpreter in befunge?
13:43:25 <Deewiant> http://www.geocities.com/nthern/esolangs/brainfuck.bf.txt, but befunge-93, and requires bignum-sized cells
13:45:19 <AnMaster> right, I guess BIGNUM would make befunge93 turing complete?
13:46:15 <AnMaster> Deewiant, also wtf is "Befunge97"?
13:46:25 <Deewiant> it's befunge-97, what about it
13:46:34 <AnMaster> Deewiant, where is it's specs?
13:47:14 <AnMaster> so how did it differ from befunge98?
13:47:21 <Deewiant> 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 <AnMaster> http://catseye.tc/projects/befunge93/eg/pi2.bf
13:48:12 <AnMaster> says it is written in befunge97 in the file
13:48:18 <Deewiant> it had some kind of header block
13:48:39 <Deewiant> yeah, in terms of instructions it seems to be pretty similar to -98
13:49:06 <Deewiant> ah, here we go, "befunge-97 directives" - lines starting with =
13:49:22 <Deewiant> http://www.nntp.perl.org/group/perl.perl6.internals/2004/10/msg26541.html
13:49:44 <Deewiant> like said there's no spec, the best I can do is random googling
13:49:58 <Deewiant> there was also a befunge-96 by the way
13:50:08 <Deewiant> I know practically nothing about that
13:50:47 <AnMaster> Deewiant, why on a perl6 list of some kind I wonder...
13:51:01 <Deewiant> 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 <Deewiant> AnMaster: looks like interpreter development, beats me
13:51:45 <AnMaster> anyway I'm soon ready for a new release I think
13:52:00 <AnMaster> just trying to make make install work correctly, and maybe add a man page
13:52:08 <Deewiant> 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:35 <AnMaster> Deewiant, I know about those, mentioned in befunge98 specs, one of the latter apendixes
13:53:04 <Deewiant> Other Funges, such as Honefunges (hex-net topology) and Kleinefunges (Klein-bottles) are certainly possible.
13:53:18 <Deewiant> so how about implementing one or both? ;-)
13:53:41 <AnMaster> Deewiant, nah, that's for CCBI ;P
13:54:12 <Deewiant> it'd probably run too slow, I think you should do it ;-)
13:54:51 <AnMaster> Deewiant, ever tried http://catseye.tc/projects/befunge93/eg/life.bf
13:55:16 <AnMaster> Deewiant, just with ccbi it is rather slow :P
13:55:41 <Deewiant> I can't be bothered to go scouting around for hash table libraries and garbage collectors
13:55:51 <AnMaster> Deewiant, so that show IO isn't everything ;P
13:56:21 <AnMaster> but indeed, I could probably speed mine up with a better hash library
13:56:59 <Deewiant> most of the time is probably spent in page faults and the like
13:58:11 <AnMaster> 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:26 <AnMaster> and since I got 1.5 GB I can't see why it would page fault a lot
13:58:31 <Deewiant> the fact is that the program doesn't fit in your L2 cache :-P
13:58:37 <AnMaster> it wouldn't be swapped out on disk
13:58:49 <AnMaster> Deewiant, but that isn't same as page fault still, right?
14:00:26 <Deewiant> it seems that CCBI generates 3854 page faults here
14:00:30 <AnMaster> Deewiant, does mycology wrap a lot? except when testing wrapping I mean
14:00:33 <Deewiant> or rather, generated as I just ran it.
14:00:44 <AnMaster> oh? how do you check how many page faults are generated?
14:00:47 <Deewiant> but of course that doesn't mean that it's swapped out to disk.
14:02:10 <AnMaster> yes but the program quits so fast when mycology ends.
14:02:23 <Deewiant> so pipe it into a file or something.
14:02:53 <Deewiant> what would you want with the cfunge output? :-P
14:03:21 <AnMaster> nothing, but point is, how do you check number of page faults at the point just before cfunge exits?
14:03:42 <Deewiant> ps's update frequency is too slow?
14:03:53 <AnMaster> ps is a one time command, and cfunge is too fast
14:04:03 <Deewiant> oh yeah, getting confused with 'top'.
14:04:17 <AnMaster> and even top updates once / second or so iirc
14:04:31 <AnMaster> cfunge finishes mycology in 0.078 seconds here
14:04:38 <Deewiant> one simple option: add getchar() just before your return from main.
14:05:05 <AnMaster> Deewiant, actually I don't return from main, I use exit() but I see what you mean
14:06:57 <Deewiant> or compile with profiling. :-P
14:07:45 <AnMaster> open("/home/arvid/local/emacs-cvs/lib/libcord.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
14:07:45 <AnMaster> open("/usr/lib64/libcord.so.1", O_RDONLY) = 3
14:09:31 <Deewiant> it goes through your LD_LIBRARY_PATH or whatever the envvar is
14:09:37 <AnMaster> not that I would gain a lot from unsetting LD_LIBRARY_PATH indeed
14:09:59 <AnMaster> Deewiant, I know that but I wonder, how much could one save in 0.0000000whatever seconds on unsetting it ;D
14:20:58 <AnMaster> weird, weird, under valgrind I enter an infinite loop after DIRF test, but under gdb or "freestanding" it works
14:23:30 <AnMaster> 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 <AnMaster> Deewiant, a question: is memory mapped IO faster than stream IO?
15:12:37 <Deewiant> 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:59 <CakeProphet> when you execute it... it outputs '("Love", "is", False)'
15:14:16 <AnMaster> CakeProphet, rewrite it in befunge?
15:14:52 <CakeProphet> ....you couldn't do that. Not with English... words.
15:15:03 <CakeProphet> unless you just use comments for everything... but that's gay.
15:16:04 -!- oklopol has quit (Connection timed out).
15:17:45 <Deewiant> CakeProphet: how about writing it in Shakespeare
15:18:11 <AnMaster> Deewiant, ever tried running the mycology readme in ccbi?
15:18:37 <AnMaster> Deewiant, at least in cfunge it prints a lot of "10"
15:18:44 <Deewiant> in general, running on plaintext isn't necessarily a smart idea :-P
15:18:52 <AnMaster> Deewiant, sand box mode of course
15:19:23 <Deewiant> if you still haven't implemented o I guess it's fine
15:19:43 <AnMaster> Deewiant, indeed I haven't yet
15:19:56 <AnMaster> Deewiant, and in sandbox mode it wouldn't be allowed
15:20:29 <Deewiant> unless you're very unlucky with something like "FRID" 4 (0'/R) but... how likely is that
15:20:36 <AnMaster> http://rafb.net/p/yZ3yEP70.html
15:20:56 <Deewiant> I meant, without sandbox mode and o
15:20:57 <AnMaster> Deewiant, well Frid is Swedish for peace so :D
15:22:16 <AnMaster> Deewiant, by the way what should ( and ) do when the count parameter is invalid/silly, ie, say, -23 for fingerprint length
15:22:47 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
15:23:00 <AnMaster> currently mine checks it is reasonable range for what the interpreter support (1-8 items from the stack), otherwise reflects
15:23:14 <Deewiant> maybe I should test that in Mycology :-P
15:23:22 <AnMaster> Deewiant, so what should it do?
15:23:30 <Deewiant> it should pop the requested number
15:23:40 <AnMaster> Deewiant, well you can't pop -2 items
15:23:47 <Deewiant> no, negative is messed up of course
15:24:03 <AnMaster> Deewiant, and above 8 wouldn't work considering how fingerprints are done
15:24:18 <Deewiant> it's just a matter of wrapping the ints around correctly.
15:24:39 <AnMaster> Deewiant, yes right you mean when the cell overflows?
15:25:04 <Deewiant> sure, but what if it first checks with y that the cell size is exactly 4
15:25:17 <AnMaster> Deewiant, and if it isn't it can't test it ;P
15:25:26 <AnMaster> + such a check would take a lot of time
15:25:32 <Deewiant> I suppose it's possible to generate such strings
15:25:44 <Deewiant> no it wouldn't, just find a 16-character string and use that
15:26:10 <Deewiant> and if done correctly it could be easy to add more strings depending on y's value
15:26:28 <AnMaster> 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:28:46 -!- oklofok has joined.
15:29:21 <Deewiant> an easy way to test would be just something like 8aaa**k1aaa**;v(;# <;8wna"DOOG">:#,_
15:30:18 <Deewiant> just check if it popped 10000 values or not
15:31:28 <Deewiant> that was the point - make sure it doesn't converge to a valid fingerprint
15:31:42 <Deewiant> and then just check for the pops
15:32:16 <AnMaster> Deewiant, it could be a valid fingerprint
15:33:02 <AnMaster> so if you got bignums all fingerprint names are valid in length
15:33:08 <Deewiant> in which case, replace one of the constants in the value tried
15:33:17 <Deewiant> i.e. instead of aaa** use baa**
15:33:28 <AnMaster> Deewiant, so you could implement that one too ;P
15:33:31 <Deewiant> and say, "hmm, looks like you loaded this fingerprint, that wasn't supposed to happen"
15:33:55 <Deewiant> AnMaster: yes, but fortunately we have loops, so we can loop through 222->fff
15:34:26 <AnMaster> and theoretically an interpreter could implement them all
15:34:40 <AnMaster> btw now I made mine just warn about it (assuming warnings are turned on)
15:34:56 <Deewiant> in that case, na"UOY WERCS">:#,_ and move on
15:36:07 <AnMaster> Deewiant, but what should happen at negative count I wonder
15:36:41 <AnMaster> Deewiant, however mycology fails to test the case of length == 0
15:36:54 <AnMaster> mine didn't before it does now
15:37:12 <AnMaster> instead it entered a infinite loop due to while (i--) thing
15:37:37 <AnMaster> as i was int64_t or something like that
15:37:43 <Deewiant> and testing for negatives didn't catch that?
15:38:09 <AnMaster> Deewiant, there is a subtle difference between: 1) i < 0 and 2) i<=0
15:38:24 <Deewiant> it's called your brain - learn it, use it, it's your friend :-P
15:38:36 <AnMaster> but IMO mycology should test it
15:39:02 <Deewiant> seriously, if you have if (i < 0) followed immediately by while (--i) then I blame you :-P
15:39:20 <AnMaster> indeed it is what I'd call a bug
15:40:05 <Deewiant> and besides, ( with 0 /is/ tested.
15:40:27 <Deewiant> because while (i--) does nothing if i is zero.
15:40:49 <Deewiant> the original tests for ( and ) popping correctly are both done with a zero count.
15:44:12 <AnMaster> but why did checking for 0 fix the bug in that other program then...
15:46:52 -!- CakeProphet has quit ("haaaaaaaaaa").
15:53:03 <AnMaster> anyway while threading in mycology worked perfectly, my program managed to segfault on a simple threaded hello world before
15:53:59 <AnMaster> 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:12 <vixey> Are there any esolangs based on π-calculus?
16:12:56 <oklofok> there are real languages based on it, though
16:13:02 <Deewiant> http://www.esolangs.org/wiki/Pict
16:13:28 <Deewiant> it says it's not 'intentionally esoteric', though :-P
16:14:48 <oklofok> hmm, it seems joy is functional, i must be confusing names again
16:44:24 -!- Tritonio_ has joined.
17:11:39 -!- jix has joined.
17:36:26 -!- Sgeo has joined.
18:07:20 <lament> factor is a functional forth
18:07:56 <lament> joy is "concatenative"
18:09:19 <lament> i thought concatenative had something to do with lists
18:26:55 <AnMaster> size-of-stack-stack cells containing size of each stack, listed from TOSS to BOSS (ip)
18:27:06 <AnMaster> that one, should TOSS be at top or should BOSS?
18:27:20 <Deewiant> the way I read "from a to b" is that a is at the top
18:29:45 <AnMaster> GOOD: y acts as pick instruction if given large enough argument
18:30:25 <AnMaster> oh wait, flying isn't one from MODE
18:30:31 <Deewiant> an IP is flying if its delta isn't (1,0) (0,1) (-1,0) (0,-1)
18:30:48 <AnMaster> Deewiant, right, hard to keep flying and hovering and what not apart :P
18:52:05 <AnMaster> Deewiant, anyway I need some test case for y returing multiple stack sizes correctly :/ guess I code to code that myself
18:53:57 <Deewiant> replace 9 with the correct index of the stack sizes in y
18:54:09 <Deewiant> that probably doesn't work but it's a start :-P
19:05:50 <AnMaster> Deewiant, in any case, ccbi and cfunge give different results
19:06:37 <AnMaster> as one goes up the other one down at the second w
19:06:54 <Deewiant> it should either be equal or not
19:07:07 <AnMaster> as far as I can find out, we want cell 23, right?
19:07:08 <Deewiant> the point being, test whether the stack size is equal to the expected.
19:07:44 <AnMaster> 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 <Deewiant> just write your own code if that was so hard :-P
19:08:11 <Deewiant> that was meant to help you, not confuse you >_<
19:08:27 <Deewiant> AnMaster: the point was, get all the correct values with only one call to y.
19:08:40 <Deewiant> pop the required number of cells to get to what we want.
19:08:53 <Deewiant> check that the stack stack size is correct, since it's first.
19:09:07 <Deewiant> store the two stack sizes somewhere.
19:09:25 <Deewiant> that's probably not necessary now that I think about it >_<
19:09:54 <Deewiant> I was thinking something about how it pushes the old stack size versus the new and wrote something overcomplicated
19:10:03 <Deewiant> but yeah, the pg stuff is unnecessary.
19:10:21 <AnMaster> <Deewiant> (it /is/ first isn't it?) <-- that I got no idea about
19:10:39 <AnMaster> 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:11:00 <AnMaster> "size-of-stack-stack cells containing size of each stack, listed from TOSS to BOSS (ip)"
19:11:17 <AnMaster> that would mean TOSS at bottom then?
19:13:04 <Deewiant> makes sense in a way, then you can do Xk$ where X is the index of the stack size you want
19:13:22 <AnMaster> Deewiant, looks to me like this is a... UNDEF ;)
19:13:31 <AnMaster> or "NOT VERY DEF" at least heh
19:14:00 -!- sebbu has joined.
19:14:01 <Deewiant> IMO, if every interpreter does it one way then that way is probably right
19:14:14 <Deewiant> so finish the test code already :-P
19:14:30 <AnMaster> anyway with a single stack it is the 23rd cell
19:15:44 <AnMaster> that means f7+k$ to leave it at top, hrrm
19:16:00 <AnMaster> the top one, whatever it is that is
19:18:30 <Deewiant> since it uses 'k' it prints one extra value due to the way some interpreters implement 'k'
19:19:13 <Deewiant> so it prints <ignore> <stack stack size> <stack size> <stack size> or <stack stack size> <stack size> <stack size> <ignore>
19:19:14 <AnMaster> 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 <Deewiant> CCBI prints 2 3 5 as does !Befunge
19:20:27 <AnMaster> Deewiant, looks like k popped one to few?
19:20:49 <Deewiant> AnMaster: no, it popped the correct amount
19:21:01 <Deewiant> if it popped the incorrect amount it'd be 2 5 3 <something>
19:21:04 <AnMaster> oh so why leave time value in there?
19:21:13 <Deewiant> because some interpreters pop the incorrect amount
19:21:19 <Deewiant> and then we'd only get the latter two values from them.
19:21:55 <Deewiant> first char of command line argument?
19:23:51 <AnMaster> Deewiant, well is the k of those other ones broken or not?
19:24:17 <Deewiant> since given 321 2k$ they return an empty stack
19:24:32 <AnMaster> Deewiant, well in the test case for my interpreter I don't need to care about that
19:24:35 <Deewiant> since they don't skip over the argument
19:24:54 <Deewiant> AnMaster: whatever, I just wrote the generic code so I can quickly test it against all interpreters
19:25:15 <Deewiant> and modifying it to be nongeneric is trivial so do whatever you want
19:25:41 -!- Corun has joined.
19:26:10 <AnMaster> Deewiant, well I plan to add unit testing
19:26:27 <AnMaster> ctest that comes with cmake look interesting
19:26:34 <Deewiant> I didn't bother, I just wrote mycology :-P
19:26:58 <Deewiant> there are a few unit tests in CCBI but nothing major
19:27:01 <AnMaster> 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:28:11 <AnMaster> Deewiant, actually you would need three stacks to test it correctly, hrm
19:28:23 <AnMaster> as I store top stack before I start pushing things in y
19:28:36 <Deewiant> why? do you expect 1 3 2 instead of 1 2 3 or 3 2 1? :-P
19:28:42 <AnMaster> so I push size of topstack before, then in a loop all but top stack
19:28:59 <AnMaster> StackPush(TOSSSize, pushStack);
19:28:59 <AnMaster> for (ssize_t i = ip->stackstack->current - 1; i >= 0; i--)
19:28:59 <AnMaster> StackPush(ip->stackstack->stacks[i]->top, pushStack);
19:29:29 <AnMaster> Deewiant, or gcc complains that i will always be >= 0
19:29:33 -!- Corun has quit (Client Quit).
19:29:48 <Deewiant> ptrdiff_t is the standard 'signed size_t'
19:30:22 <Deewiant> and also, switching to signed is not the solution to that problem :-P
19:30:37 <Deewiant> sorry, ISO/IEC 9899:1999 doesn't contain ssize_t
19:30:52 <Deewiant> AnMaster: your code isn't standard :-P
19:31:09 <AnMaster> Deewiant, It is POSIX probably
19:31:10 <Deewiant> but anyhoo, the way to write that loop is
19:31:18 <Deewiant> for (size_t i = ...; i-- > 0;)
19:32:09 <AnMaster> ssize_t exists in man 0p for sys/types.h
19:32:42 <AnMaster> Deewiant, look someone said even windows was POSIX
19:33:03 <Deewiant> whatever, I'm not having this argument again :-P
19:33:13 <Deewiant> in any case, ssize_t or ptrdiff_t or whatever is not a solution
19:33:22 <AnMaster> Deewiant, I'm trying to avoid gnu extensions, I rely on C99 and POSIX 1003.1-2001
19:34:15 <AnMaster> Deewiant, anyway would that loop push things in the correct order?
19:34:30 <Deewiant> I don't know, depends on how your stacks are laid out
19:34:56 <AnMaster> Deewiant, well it looks correct but problem is, it does the top stack separatly
19:35:13 <AnMaster> so I'd need 3 stacks to check *changes*
19:35:36 <Deewiant> it's trivial to make it 123 stacks if you want :-P
19:37:00 -!- tkr has joined.
19:37:28 <AnMaster> $ ./ccbi ~/src/cfunge08/tests/sysinfo-multi-stack-sizes.b98
19:37:29 <AnMaster> $ ./cfunge tests/sysinfo-multi-stack-sizes.b98
19:38:45 -!- oerjan has joined.
19:39:01 <AnMaster> $ ./ccbi ~/src/cfunge08/tests/sysinfo-multi-stack-sizes.b98
19:40:24 <AnMaster> $ ./cfunge tests/sysinfo-multi-stack-sizes.b98
19:48:30 <AnMaster> Deewiant, btw I actually think TOSS should be at the bottom, opposite of how ccbi does it
19:49:11 <AnMaster> Deewiant, so what do you think this should print: 120{1230{aaaaaa0y2a*1+k$....a,@
19:49:27 <AnMaster> assuming interpreter got k right
19:50:18 -!- Slereah has joined.
20:00:32 <AnMaster> 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 <Deewiant> AnMaster: I tried 3 random interpreters including FBBI and they all do it the way CCBI does it
20:13:33 <AnMaster> Deewiant, but what do you think the standard says about it?
20:13:55 <Deewiant> I think it can be interpreted either way, like many other things
20:14:35 <AnMaster> well I'll add both versions, in #ifdef
20:14:43 <Deewiant> since it's not written formally
20:15:04 <AnMaster> you mean not some IEEE standard, indeed
20:15:06 <Deewiant> it's written in english, and like all natural languages it's inherently ambiguous
20:15:20 <AnMaster> Deewiant, C99 standard is also in English
20:15:44 <Deewiant> there's no forth-like "$ (a b -- a)" notation or anything
20:15:53 <Deewiant> AnMaster: and it's also ambiguous in some cases :-P
20:16:05 <AnMaster> Deewiant, not as much as funge98 is
20:16:16 <AnMaster> and C99 standard is way larger
20:16:31 <Deewiant> 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 <Deewiant> whereas the funge-98 spec reads like an essay or something
20:17:12 <AnMaster> so funge08 should read more like a real standard
20:17:24 <AnMaster> 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 <AnMaster> 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:43:54 <AnMaster> 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 <AnMaster> Slereah, can't remember what one iota is
21:45:06 <Slereah> 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 <Slereah> Iota is the compressed unlambda.
21:45:45 <Slereah> Although it's *ii in actual iota
21:48:14 <AnMaster> Deewiant, nice, with the binary from that snapshot?
21:48:22 <AnMaster> even though I use -march=pentium2 when building it, I think my 32-bit glibc may be built with -march=k8 -m32
21:48:32 <AnMaster> so I got no idea if it will actually work on non-amd64 cpus
21:48:37 <Deewiant> I just did bzr pull, cmake, make
21:48:51 <AnMaster> Deewiant, right, but even then I wonder about binary on older systems too
21:49:16 <Deewiant> ideally don't use -march of any kind
21:50:27 <AnMaster> Deewiant, and I built low-march (i686) for static boehm-gc, but well static glibc is harder
21:51:08 <Deewiant> you can just dynamically link :-P
21:51:19 <oerjan> Slereah: Iota looks expanded not compressed to me ;)
21:52:02 <AnMaster> Deewiant, that causes issues as you can understand, I link statically to avoid those issues
21:52:18 <AnMaster> but I guess some mix could work
21:52:30 <Deewiant> with something as commonplace as glibc it should be fine
21:52:55 <Deewiant> but yes, ideally static link everything
22:01:00 <Slereah> Would a language without loops or conditional jumps but able to add code to itself be TC?
22:04:23 <Deewiant> you can't get far without conditionals...
22:04:27 <AnMaster> Deewiant, I made a script to build all possible 4 variants
22:05:52 <oerjan> Slereah: i think there is such a language on the wiki
22:07:23 <oerjan> http://esoteric.voxelperfect.net/wiki/SMITH
22:09:10 <AnMaster> www.esolangs.org == esoteric.voxelperfect.net
22:40:25 -!- jix has joined.
23:16:46 <AnMaster> 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.