←2008-06-30 2008-07-01 2008-07-02→ ↑2008 ↑all
00:03:14 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:24:25 -!- RedDak has quit (Remote closed the connection).
00:29:58 <tusho> happy 1 july
00:33:47 -!- tusho has left (?).
00:33:50 -!- tusho has joined.
00:33:50 -!- tusho has left (?).
00:34:01 -!- tusho has joined.
00:34:12 -!- tusho has left (?).
00:34:16 -!- tusho has joined.
01:13:16 <augur> its not july first yet here!
01:13:58 <tusho> yes it is
01:14:02 <tusho> now goodbye :)
01:14:07 -!- tusho has quit.
01:14:08 <augur> im in florida
01:59:49 -!- Judofyr has quit.
03:48:10 <Slereah> http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477/
03:48:16 <Slereah> A bargain!
05:21:20 -!- Corun has quit ("This computer has gone to sleep").
06:27:08 <augur> lol
06:59:20 -!- cc_toide has joined.
07:17:11 -!- cctoide has quit (Read error: 110 (Connection timed out)).
07:22:08 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:35:15 <AnMaster> augur, happy 1 July too
07:35:17 <AnMaster> no idea why
07:35:25 <augur> lolk
07:35:35 <AnMaster> but it is 1 July in Sweden
07:35:36 <augur> i leave or europe at 11
07:35:37 <augur> in oh
07:35:38 <augur> 8 hours
07:35:46 <AnMaster> hm why?
07:37:23 <augur> fun and profit
07:43:46 <Deewiant> AnMaster: see, good thing that I don't update the Mycology comparison, what with all these bugs still in your interpreter ;-)
07:44:04 <AnMaster> Deewiant, none of them affected current mycology
07:44:30 <AnMaster> Deewiant, anyway last was a pre-release so heh
07:44:33 <Deewiant> ah, but I'd do some extra bug hunting just to spite you, and then add anything I find to Mycology ;-)
07:44:58 <AnMaster> before next release I plan to create a test program for TURT on my own
07:45:02 <AnMaster> will do that later today
07:45:07 <AnMaster> going swimming shortly
07:47:37 <AnMaster> Deewiant, well I will be happy to accept any bug reports
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:40 -!- augur has quit (Read error: 110 (Connection timed out)).
08:10:11 -!- oklofok has joined.
08:14:31 -!- oklopol has quit (Read error: 110 (Connection timed out)).
08:38:01 -!- lament has quit (clarke.freenode.net irc.freenode.net).
08:38:01 -!- AAA_AAA has quit (clarke.freenode.net irc.freenode.net).
08:38:02 -!- bsmntbombdood has quit (clarke.freenode.net irc.freenode.net).
08:38:03 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
08:38:04 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- cherez has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- AnMaster has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- Ilari has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- cc_toide has quit (clarke.freenode.net irc.freenode.net).
08:38:06 -!- sebbu has quit (clarke.freenode.net irc.freenode.net).
08:38:07 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- dbc has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- SimonRC has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
08:38:10 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
08:38:11 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
08:38:11 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
08:38:12 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
08:39:08 -!- cc_toide has joined.
08:39:08 -!- AAA_AAA has joined.
08:39:08 -!- lament has joined.
08:39:08 -!- cmeme has joined.
08:39:08 -!- bsmntbombdood has joined.
08:39:08 -!- cherez has joined.
08:39:08 -!- dbc has joined.
08:39:08 -!- GregorR has joined.
08:39:08 -!- sebbu has joined.
08:39:08 -!- Dewi has joined.
08:39:08 -!- Polar has joined.
08:39:08 -!- AnMaster has joined.
08:39:08 -!- mtve has joined.
08:39:08 -!- shachaf has joined.
08:39:08 -!- jamesstanley has joined.
08:39:08 -!- atsampson has joined.
08:39:08 -!- Deewiant has joined.
08:39:08 -!- puzzlet has joined.
08:39:08 -!- fizzie has joined.
08:39:08 -!- lifthras1ir has joined.
08:39:08 -!- Ilari has joined.
08:39:08 -!- SimonRC has joined.
08:57:14 -!- Slereah_ has joined.
09:01:57 <Slereah_> ESOTERIA
09:52:07 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
10:22:52 -!- Judofyr has joined.
10:50:03 <AnMaster> Deewiant, there is some kind of error in ccbi TURT as well as cfunge TURT
10:50:05 <AnMaster> different errors
10:50:24 <AnMaster> but putting down pen and going forward by 10 pixels shouldn't result in a viewbox like this:
10:50:31 <AnMaster> viewBox="-163839.0999 -0.0010 327679.0998 0.0020"
10:50:34 <AnMaster> which it does for ccbi
10:50:39 <AnMaster> "TRUT"4( 1P 5F D 0P I @
10:50:41 <AnMaster> was the program
11:00:35 <AnMaster> Deewiant, also I get a closed path not an open one it seems
11:00:58 <AnMaster> closed and filled
11:32:01 <AnMaster> Deewiant, further: the instruction to clear the paper with some color doesn't work correctly
11:39:57 -!- Slereah_ has joined.
11:40:35 <Slereah_> GLORIA ESOTERIA
12:02:42 <AnMaster> Slereah_, ?
12:07:09 -!- cc_toide has changed nick to cctoide.
12:13:29 <Slereah_> Hello people
12:27:06 -!- ais523 has joined.
12:27:10 <AnMaster> hrrm
12:27:21 <AnMaster> well I found quite a few bugs in TURT, both CCBI's and mine
12:27:25 <AnMaster> mine is more or less fixed now
12:27:35 <AnMaster> still the margins in the generated file are quite weird
12:27:39 <AnMaster> but working on that now
12:28:01 <AnMaster> what to learn from this: fixed point sucks
12:28:17 <AnMaster> and hi ais523
12:28:22 <ais523> hi AnMaster
12:30:13 <AnMaster> Deewiant, why do you use fixed point in TURT btw?
12:30:42 <AnMaster> (p.d.p.x < 0) ? "-" : "", getInt(p.d.p.x), getDec(p.d.p.x) <-- seems quite messy to me
12:30:50 <AnMaster> just to print a fixed point number
12:31:18 * AnMaster added code to convert to a double
12:44:27 <ais523> floating-point suffers from rounding errors when large and small numbers are combined
12:44:59 <ais523> I've had that problem before; I was trying to cause something to change every second, but the time was in epoch-seconds and stored in a floating-point number
12:45:07 <ais523> it worked fine when I changed it to fixed-point
12:54:36 <AnMaster> wtf
12:54:44 <AnMaster> I think Deewiant confused turn right and turn left
12:54:51 <AnMaster> I can't explain it in any other way
12:54:54 <ais523> in TURT?
12:54:58 <AnMaster> yes
12:55:04 <ais523> I'm pretty sure Deewiant wouldn't confuse [ and ]
12:55:10 <AnMaster> well it is in TURT
12:55:14 <AnMaster> not normal funge
12:55:21 <AnMaster> void turnLeft() { turt.heading += toRad(ip.stack.pop); turt.normalize(); }
12:55:21 <AnMaster> void turnRight() { turt.heading -= toRad(ip.stack.pop); turt.normalize(); }
12:55:33 <ais523> is heading clockwise or anticlockwise?
12:55:38 <AnMaster> ais523, trying to figure out that
12:56:03 <AnMaster> ais523, problem it does it totally wrong anyway
12:57:06 <AnMaster> 0 is east
12:57:12 <AnMaster> is all the specs say
12:57:21 <ais523> when people set 0=east, then they tend to use anticlockwise angles
12:57:30 <ais523> that's mathematician angle measurement
12:57:41 <ais523> 0=east, pi/2=north, pi=west, 3*pi/2=south
12:57:41 <AnMaster> ais523, so 90 should be straight up?
12:57:47 <ais523> AnMaster: radians
12:57:48 <AnMaster> ais523, it is in degrees
12:57:51 <AnMaster> according to specs
12:57:54 <ais523> well, there's a toRad in that code
12:58:01 <ais523> so Deewiant's storing it in radians internally
12:58:06 <ais523> but 90 would be straight up in degrees, yes
12:58:10 <AnMaster> wtf
12:58:16 <AnMaster> ais523, the code treats that as downwards
12:58:37 <ais523> I suppose you have to look at the original code for TURT
12:58:41 <AnMaster> anyway 0 in his code is equal to going diagonally down
12:58:47 <ais523> that's wrong
12:58:48 <AnMaster> ais523, there is nothing but the specs
12:58:56 <AnMaster> ais523, yes
12:58:58 <AnMaster> http://catseye.tc/projects/funge98/library/TURT.html
12:59:04 <ais523> in that case, how did J^4 do the turt-quine?
12:59:11 <AnMaster> "H 'Set Heading' (angle in degrees, relative to 0deg, east)"
12:59:28 <AnMaster> ais523, well he implemented TURT in *his* way in *his own* interpreter
12:59:39 <ais523> ah
12:59:46 <AnMaster> problem is that no implementations agree on this simple test:
12:59:54 <AnMaster> "TRUT"4( 29*N 0H 1P 55*F 9a*H 5F 9a*L 5F 0P 5B 0a*R aB 1P I @
13:00:10 <AnMaster> 9a*L should turn 90 degrees to the left
13:00:14 * ais523 wonders what a non-esoprogrammer would think of your definition of a "simple test"
13:00:45 <AnMaster> ais523, if 90 is straight down then it should draw as the ascii art:
13:00:46 <AnMaster> ---.
13:00:48 <AnMaster> |
13:00:53 <AnMaster> ._
13:01:06 <AnMaster> and a dot a bit above the vertical line
13:01:29 <AnMaster> except no interpreter agrees about this
13:02:21 <AnMaster> ais523, the last direction change there, is 90 degrees to the left right?
13:02:41 <ais523> I don't know TURT
13:02:47 <ais523> what does H do?
13:02:49 <ais523> and B?
13:02:54 <AnMaster> H 'Set Heading' (angle in degrees, relative to 0deg, east)
13:02:57 <AnMaster> B 'Back' (distance in pixels)
13:03:01 <AnMaster> F 'Forward' (distance in pixels)
13:03:08 <ais523> I guessed F
13:03:09 <AnMaster> L 'Turn Left' (angle in degrees)
13:03:09 <AnMaster> R 'Turn Right' (angle in degrees)
13:03:22 <AnMaster> P 'Pen Position' (0 = up, 1 = down)
13:03:36 <ais523> N?
13:03:40 <AnMaster> N 'Clear Paper with Colour' (24-bit RGB)
13:03:43 <AnMaster> * I 'Print current Drawing' (if possible)
13:04:03 <AnMaster> anyway N is currently broken in both cfunge and ccbi
13:04:15 <AnMaster> it clears but doesn't set bg color at all
13:04:54 <ais523> 0a*R is a NOP, surely?
13:05:03 <ais523> should it say 9a*R?
13:05:07 <Deewiant> AnMaster: I think SVG is the reason for fixed point, I might misremember though
13:05:08 <AnMaster> yes it should
13:05:11 <Deewiant> in any case, accuracy
13:05:19 <AnMaster> but it breaks before that
13:05:39 <AnMaster> well I think ccbi is quite broken on "TRUT"4( 29*N 0H 1P 55*F 9a*H 5F 9a*L 5F 0P 5B 9a*R aB 1P I @
13:05:53 <ais523> I think 90's more likely to be straight up
13:06:01 <AnMaster> cfunge is slightly broken but not as broken
13:06:01 <ais523> but then, Befunge uses mathematical notation with up and down exchanges
13:06:07 <ais523> s/s$/d$/
13:06:11 <ais523> so maybe TURT does the same?
13:06:20 <AnMaster> Deewiant, should 90 degrees in TURT be up or down?
13:06:31 <AnMaster> I'm happy to use either but I need to know
13:08:27 <AnMaster> well now cfunge does the right if 90 is down
13:08:35 <AnMaster> still my margins are all messed up
13:10:35 <AnMaster> Deewiant, it is clear you haven't tested your TURT ;P
13:10:57 <AnMaster> as the generated paths are filled and closed and so on
13:11:01 <ais523> we need a Turt version of Acid2
13:11:20 <AnMaster> ais523, haha well mine test some stuff
13:11:36 <ais523> as for your statement about it working differently on every interpreter
13:11:48 <ais523> there's a bit of INTERCAL-72 that the original spec didn't define
13:12:09 <ais523> and it turned out that J-INTERCAL, C-INTERCAL, and CLC-INTERCAL (the three INTERCAL interps I could get hold of) all implement it differently
13:15:38 <AnMaster> hm
13:19:58 <ais523> so it's sort of a handprint for INTERCAL interps
13:20:16 <ais523> I've publically stated that I'd prefer it if all future INTERCAL interps do something different yet again upon encountering it
13:20:39 <AnMaster> heh?
13:20:41 <AnMaster> what is this thing
13:20:56 <ais523> basically when you STASH a variable, IGNORE it, then RETRIEVE that variable
13:21:02 <ais523> it's the interaction of read-only-ness and scoping
13:24:05 -!- oklofok has changed nick to oklopol.
13:25:30 <AnMaster> how can you figure out how to get a large number in befunge?
13:25:35 <AnMaster> I need 0xFF0000
13:25:44 <AnMaster> how do you write that out in Befunge...
13:25:53 <ais523> generally speaking, I factorise and multiply
13:25:58 <ais523> but there may be better ways
13:26:12 <AnMaster> $ factor $((0xFF0000 ))
13:26:12 <AnMaster> 16711680: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 5 17
13:26:12 <AnMaster> aha
13:26:26 <AnMaster> well 17 is too large so...
13:26:33 <AnMaster> add that up
13:26:34 <ais523> also 2s can be bunched into 8s
13:26:37 <AnMaster> yes
13:27:00 <ais523> 2f+8*8*8*8*8*6*5*
13:29:04 <AnMaster> well well
13:29:24 <AnMaster> Deewiant, your colors are broken
13:29:37 <AnMaster> 0xff0000 gets output as "#0000ff"
13:31:51 <AnMaster> blergh
13:31:56 <AnMaster> this is even more broken
13:32:18 <ais523> <tusho> I support that blergh
13:32:19 <ais523> sorry
13:41:57 <AnMaster> ok that is partly fixed now
13:42:19 <AnMaster> need to close a path correctly
13:51:57 <Slereah_> I found an old marble of mine :D
13:53:20 <cctoide> you lost them?
13:54:34 <Slereah_> I didn't even know I still had one.
13:55:38 <cctoide> that's because you don't keep them in your head, remember
13:57:07 <Slereah_> OR DO I
13:57:51 <Slereah_> "Remember Adolf Hitler, the most famous Black Magick wizard in modern history?"
13:57:56 <Slereah_> I'm not sure I do D:
14:00:20 -!- Corun has joined.
14:00:44 <AnMaster> Deewiant, ais523: well cfunge is more conforming to TURT specs than ccbi now :P
14:00:51 <AnMaster> still not perfect
14:00:54 <ais523> heh
14:01:59 <AnMaster> 1) margins totally messed up, 2) it sometimes misses to add path segments when outputting (but not as much as ccbi does) 3) adding dots after lines are even more random operation it seems
14:02:05 <AnMaster> is an even*
14:07:25 <AnMaster> well my test program works in cfunge now
14:07:45 <AnMaster> not saying that other programs will work
14:08:44 <AnMaster> ais523, you may want to pull
14:08:56 <ais523> did you update only TURT?
14:09:03 <AnMaster> yes
14:09:18 <AnMaster> well TODO and CMakeList.txt too
14:09:22 <AnMaster> as I added a man page
14:16:43 -!- Corun has quit ("This computer has gone to sleep").
14:18:00 -!- pikhq has joined.
14:32:35 -!- atsampson has quit ("back in a minute").
14:36:03 -!- atsampson has joined.
14:51:10 <AnMaster> ais523, there?
14:51:15 <ais523> yes
14:51:19 <AnMaster> I got ccbi to generate an invalid svg file
14:51:23 <AnMaster> at least according to inkscape
14:51:29 <AnMaster> and konqueror
14:51:39 <AnMaster> <path stroke="#000000" stroke-linecap="round" d=""
14:51:39 <AnMaster> L0.0020,0.0020
14:51:39 <AnMaster> "/>
14:51:40 <AnMaster> oh yes
14:51:44 <AnMaster> that isn't valid xml
14:51:52 <ais523> no, the quotes aren't matched properly
14:51:53 <AnMaster> cfunge does this right
14:51:56 <AnMaster> ais523, indeed
14:52:22 <AnMaster> Deewiant, http://rafb.net/p/tZQ61687.html <-- ccbi generates invalid code on that
14:52:31 <AnMaster> cfunge can handle it
14:53:24 <AnMaster> actually take http://rafb.net/p/o2X0l033.html, the ASCII art had an error
14:53:38 <ais523> it would be nice to get the v> trick working in a vertical column rather than drifting to the left
14:53:43 <ais523> I think it might be possible with flying IPs
14:54:01 <ais523> instead of v, set the IP going diagonally down and to the right
14:54:02 <AnMaster> ais523, well yes it would work in a jump table
14:54:09 <AnMaster> but that needs more code
14:54:22 <AnMaster> something like 11x instead of x
14:54:28 <AnMaster> err "instead of v"
14:54:47 <ais523> yep, 11x> at the end of each line should work
14:54:57 <ais523> to make Befunge work more-or-less like 1D programming languages
14:55:03 <AnMaster> haha
14:55:59 <AnMaster> well flying ip is slower I think because it needs complex checks for wrapping
14:56:00 <AnMaster> :P
14:56:17 <ais523> AnMaster: most people writing Befunge programs don't optimise for speed
14:56:19 <AnMaster> actually shouldn't matter as long as it doesn't actually wrap while flying
14:56:20 <AnMaster> :P
14:56:31 <AnMaster> but hehe
14:56:43 <AnMaster> ais523, well removing white spaces would help with that
14:59:23 <pikhq> All in favor of me writing a Brainfuck interpreter that runs on raw hardware?
14:59:37 <ais523> pikhq: you mean, creating hardware that runs BF natively?
14:59:41 <ais523> I think that's been done before
14:59:43 <ais523> but in favour anyway
14:59:49 <pikhq> ais523: No, just a kernel that runs Brainfuck.
15:00:06 <ais523> oh, in that case you'd just write a BF interp that was also an OS
15:00:09 <ais523> that isn't all that difficult
15:00:13 <AnMaster> pikhq, make it portable!
15:00:13 <AnMaster> ;P
15:00:18 <ais523> I/O would probably be the hardest part
15:00:19 <pikhq> ais523: You're right.
15:00:29 <pikhq> Especially since I already have half of a kernel written. ;)
15:04:11 <AnMaster> Deewiant, ais523: http://rafb.net/p/wPQrY673.html
15:04:14 <AnMaster> new version
15:04:22 <AnMaster> ais523, you will love that one ;P
15:04:41 <ais523> heh
15:04:50 <AnMaster> comments at the end too
15:05:18 <ais523> the 11x> looks so much neater than the v> IMO
15:05:43 <AnMaster> well since it stays in the same column it is useful indeed
15:05:56 <AnMaster> and for a test suite I don't have time write compact code
15:05:57 <AnMaster> I can do that too
15:05:59 <AnMaster> a sec
15:06:17 <AnMaster> ais523, http://rafb.net/p/t5usdB97.html
15:06:53 <AnMaster> $ ./cfunge examples/count.b98
15:06:53 <AnMaster> Enter a number: 34
15:06:53 <AnMaster> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
15:09:18 <AnMaster> http://rafb.net/p/rCRPk325.html
15:09:20 <AnMaster> ais523, Deewiant ^
15:10:18 <ais523> stroke-width:0.00005px
15:10:24 <ais523> that seems a bit small
15:10:34 <ais523> I would have expected 1px
15:11:39 <ais523> does TURT have a fill, by the way?
15:11:44 <ais523> and does the TURT quine work in cfunge yet?
15:17:01 <AnMaster> http://rafb.net/p/Haj5AB54.html <-- more extended
15:17:17 <AnMaster> ais523, as for stroke, it is correct because everything is too small scale
15:17:19 <AnMaster> it is a bug
15:17:25 <AnMaster> I plan to rescale everything btw
15:17:38 <AnMaster> ais523, as for turt quine I think it maybe be !Befunge specific
15:17:54 <AnMaster> iirc !Befunge's TURT isn't completely correct
15:17:59 <ais523> I don't think it uses any !Befunge-specific features except TURT
15:18:14 -!- Corun has joined.
15:18:15 <AnMaster> ais523, it depends on differing implementation of TURT
15:18:19 <ais523> yes
15:18:31 <AnMaster> also debugging that quine is not something I plan to do
15:18:47 <AnMaster> I make a test program, reason about it, then run it check if result is same
15:18:50 <AnMaster> if it isn't it is a bug
15:19:00 <AnMaster> or I reasoned wrongly
15:19:29 <AnMaster> (that happened just now, what if you change pen color when it is down and then use T to teleport to another location, logically you got to lift the pen
15:20:03 <AnMaster> anyway when Deewiant gets back I hope he can fix ccbi :)
15:20:12 * AnMaster ducks
15:20:55 <AnMaster> ais523, also my turt is likely to still have bugs apart from very bad margins and stupid scale
15:21:18 <ais523> well, most esocode has bugs
15:21:29 <ais523> even something as simple as the original Malbolge interp had lots of vunerabilities
15:24:14 <AnMaster> at least my margins doesn't cut off the image like ccbi does :P
15:28:40 <AnMaster> ais523, btw you asked for function to execute on a fingerprint being unloaded?
15:28:46 <AnMaster> that won't work
15:28:47 <ais523> I don't plan to use it
15:28:50 <ais523> I was just wondering
15:28:55 <AnMaster> you can unload a fingerprint that isn't loaded
15:29:01 <AnMaster> it is perfectly valid
15:29:24 <AnMaster> consider A-Z as a set of stacks of function pointers
15:29:27 <AnMaster> got that?
15:29:30 <ais523> oh, does that rollback all the fingerprint commands it would define if it were loaded?
15:29:41 <ais523> I think I get how fingerprints work
15:29:44 <AnMaster> now load: push on the relevant stacks
15:29:47 <ais523> the commands work the same way as variables in INTERCAL
15:29:58 <ais523> a different stack for each command
15:30:01 <AnMaster> but unload: pop *top item* if possible from the relevant stacks
15:30:18 <AnMaster> so there is no way to know if it is the same fingerprint in fact that is unloaded
15:30:26 <AnMaster> consider the NULL fingerprint for example
15:30:40 <AnMaster> you can unload that a few time to clear anything loaded
15:31:01 <AnMaster> so in effect "function on unload" is pointless
15:31:40 <ais523> yes, I suppose so
15:31:50 <ais523> unless you're using it as a 27th command rather than an unload hook
15:31:58 <AnMaster> eh?
15:32:06 <AnMaster> oh I see
15:32:13 <AnMaster> how would that work?
15:32:17 <AnMaster> Å?
15:32:31 <ais523> well, the unload would do something, as would all the commands in the fingerprint
15:32:51 <AnMaster> a fingerprint trying to unload itself in cfunge would cause havoc I bet
15:32:58 <AnMaster> or rather, that depends
15:33:09 <AnMaster> it couldn't even be sure it unloaded itself
15:33:52 <AnMaster> the opcode stacks are quite simple: struct with size, top used item, pointer to memory block
15:34:56 -!- tusho has joined.
15:35:02 <Slereah_> Dude fellows.
15:35:06 <Slereah_> I wonder
15:35:07 <tusho> hi ais523
15:35:08 <ais523> hi tusho
15:35:09 <tusho> ha
15:35:11 <ais523> you won
15:35:11 <tusho> I won that one any way you look at it
15:35:17 <ais523> hi Slereah_
15:35:22 <tusho> ais523: i noticed you were in #canada when connecting
15:35:23 <tusho> very amusing
15:35:24 <Slereah_> Was Brainfuck developed independently of P''?
15:35:25 <ais523> I was actually about to type hi to Slereah_ when you joined
15:35:30 <Slereah_> Because if it is.
15:35:33 <tusho> but I couldn't greet you until #esoteric was here, of course.
15:35:36 <ais523> it was a bit offputting
15:35:41 <tusho> Slereah_: i doubt it
15:35:48 <tusho> he probably knew of it
15:35:49 <Slereah_> With P'', BF and Spoon, it would have been invented three times D:
15:35:51 <tusho> and thought it could be a could basis
15:35:58 <Slereah_> So simple is the language.
15:36:06 <tusho> and uh Slereah_
15:36:08 <tusho> spoon was based on BF
15:36:12 <Slereah_> Was it?
15:36:16 <tusho> yes
15:36:19 <AnMaster> Slereah_, iirc BF was based on P''
15:36:22 <Slereah_> I seem to recall the guy saying that he did it independantly
15:36:36 <Slereah_> Lemme check
15:36:53 <Slereah_> "To be correct, I *re*discovered BrainF*** (known henceforth as simply 'Brain'). I thought wow! I thought oh! I thought damn - somebody's beaten me to it."
15:39:09 <AnMaster> ais523, btw I wrote a few other tests for things that ccbi doesn't test. they are in tests/ in cfunge repo
15:39:33 <AnMaster> some are cfunge specifc, like concurrent-issues.b98 iirc
15:39:57 <AnMaster> (specifc as no other interpreter is likely to ever have the same issue)
15:55:35 -!- Sgeo has joined.
15:55:49 <tusho> wowee
15:55:53 <tusho> zzo invented another language
15:55:59 <tusho> he's a machine
15:56:59 <tusho> ais523: lawl
15:57:07 <tusho> a guy on the esolang wiki talked about a language on the Inflection page
15:57:07 -!- ais523 has quit (Remote closed the connection).
15:57:13 -!- Corun has quit ("This computer has gone to sleep").
15:57:15 <tusho> without disclosing that it was his
15:57:17 <tusho> and he linked to a wikipedia page
15:57:20 <tusho> to add credibility I guess
15:57:22 <tusho> it's been deleted
15:57:22 <tusho> :p
15:57:24 -!- ais523 has joined.
15:57:30 <tusho> well, you missed all of that
15:57:52 <ais523> paste again?
15:57:54 <ais523> oh, and hi tusho
15:58:03 <tusho> lawl
15:58:04 <tusho> tusho: a guy on the esolang wiki talked about a language on the Inflection page
15:58:08 <tusho> tusho: without disclosing that it was his
15:58:08 <tusho> [15:58] tusho: and he linked to a wikipedia page
15:58:08 <tusho> [15:58] tusho: to add credibility I guess
15:58:08 <tusho> [15:58] tusho: it's been deleted
15:58:08 <tusho> [15:58] tusho: :p
15:58:26 <AnMaster> <tusho> zzo invented another language
15:58:29 <AnMaster> what language?
15:58:36 <tusho> AnMaster: see recent changes
15:58:36 <tusho> varsig
15:58:37 <tusho> i think
15:58:57 <tusho> the deletion debate is gold
15:58:59 <tusho> "The fact it exists makes it notable."
15:59:04 <ais523> false
15:59:08 <tusho> my right nostril's hairs are notable
15:59:08 <tusho> :D
15:59:14 * tusho creates seventy articles about them posthaste
15:59:25 <ais523> tusho: don't, that's probably speediable
15:59:33 <tusho> ais523: duh, really?? i would never have guessed
15:59:34 <ais523> under the "stop vandalising" criterion
15:59:36 <ais523> which actually exists
15:59:37 <Slereah_> I wish we were paid per pound of language.
15:59:44 <Slereah_> Imagine what we could earn!
15:59:50 <AnMaster> tusho, where on the esolang wiki?
15:59:59 <ais523> http://esolangs.org/wiki/varsig
16:00:03 <ais523> although I'm not tusho
16:00:11 <tusho> yeah ignore him
16:00:14 <tusho> he's an imposter
16:00:16 <tusho> because he's not me
16:00:20 <tusho> AnMaster: http://esolangs.org/wiki/varsig
16:00:22 <AnMaster> ah
16:00:23 <Slereah_> I am you.
16:00:24 <tusho> there, I properly answered your question
16:00:27 <Slereah_> Listen to me.
16:00:29 <AnMaster> hahah
16:00:35 <tusho> Slereah_: yes but you're the only one who's me
16:00:38 <tusho> ais523 isn't me
16:00:46 <tusho> if he was then we wouldn't argue so much
16:00:55 <tusho> unless i have multiple personality disorder
16:01:01 <ais523> I like the way varsig defines a convoluted way to do variables, but none of the examples use them, probably because they're not very easy to use
16:01:03 <tusho> but that would be multi-threaded multiple personality disorder
16:01:10 <tusho> which I don't think exists
16:01:17 <AnMaster> seems like a rather crazy language
16:01:28 <AnMaster> however what has this got to do with wikipedia I don't get
16:01:39 <ais523> oh, and is it just me and tusho, or is ESME just random ramblings of nonsense?
16:01:47 <tusho> ais523: yes
16:01:51 <tusho> that's why I put it in the shame category
16:01:58 <tusho> it's shameful
16:02:05 <ais523> shame category?
16:02:05 <tusho> Slereah_ suggested putting it in that category
16:02:06 <tusho> so I did it
16:02:11 <ais523> http://esolangs.org/wiki/ESME
16:02:12 <tusho> ais523: oh, and also
16:02:18 <tusho> he made a link like
16:02:20 <tusho> [[Wikipedia:foo]]
16:02:21 <tusho> or whatever
16:02:22 <tusho> which is valid
16:02:23 <tusho> then
16:02:24 <AnMaster> "There is currently no text in this page, you can search for this page title in other pages or edit this page."
16:02:24 <tusho> he changed it to
16:02:26 -!- Corun has joined.
16:02:29 <tusho> [[WikiPedia:foo]]
16:02:33 <tusho> i reverted, saying he was right the first time
16:02:38 <tusho> he re-reverted, saying "I prefer it this way"
16:02:43 <ais523> maybe it's http://esolangs.org/wiki/Esme
16:02:46 <tusho> That's Like The People Who Type Like This
16:02:49 <tusho> And If You Complain
16:02:50 <ais523> I'm not sure, HTTP just stopped working for me
16:02:54 <tusho> They Tell You To Stop Insulting Their Style
16:02:57 <ais523> for no apparent reason
16:03:21 * ais523 resets eir Internet connection
16:03:24 <AnMaster> ah yes that is it
16:03:26 -!- ais523 has quit ("resetting my Internet connection").
16:03:43 <tusho> http://esolangs.org/wiki/Esme
16:03:45 <tusho> i vandalised it a bit
16:03:48 <tusho> since it'll probably be deleted soon
16:04:30 <AnMaster> it lacks specs...
16:04:39 <tusho> wow really
16:04:41 <tusho> i didn't notice.
16:04:45 <tusho> your eye is keen, AnMaster.
16:04:55 <AnMaster> well wtf is it doing on the wiki without specs or link to specs?
16:05:07 <tusho> AnMaster: Someone added it.
16:05:08 <tusho> (WOW)
16:05:20 <AnMaster> well seems to be way below quality standard
16:05:22 <tusho> http://esolangs.org/wiki/Category:Shameful :D
16:05:24 <Slereah_> I think that he figured that, because it was a "joke language", it didn't need anything.
16:05:35 <tusho> AnMaster: So is FURscript, but we keep it because it's funny.
16:05:36 <Slereah_> "Boy I will be so random, and it will be amusing!"
16:05:37 <AnMaster> Slereah_, even they need specs
16:05:52 <AnMaster> "The structure is based off a mix of html, turbo pascal, and BASIC. "
16:05:54 <AnMaster> heheh!?
16:05:55 -!- ais523 has joined.
16:06:00 <tusho> AnMaster: furscript is totally serious
16:06:01 <tusho> :|
16:06:04 <tusho> read the talk page
16:06:15 <tusho> a guy transferred it to esolang because someone put it on their wiki
16:06:22 <tusho> but it was too bad to stay there.
16:06:27 <tusho> oh and none of the lesser known programming languages have specs
16:06:29 <tusho> they still have articles
16:06:33 <tusho> ais523: http://esolangs.org/wiki/Category:Shameful
16:06:46 <Slereah_> Well, the lesser known programming languages are somehow fun.
16:06:52 <ais523> tusho: VALGOL and SARTRE both have specs
16:06:54 <Slereah_> And they got sources, I think.
16:07:02 <tusho> ais523: after the fact
16:07:07 <ais523> tusho: yes
16:07:23 <ais523> btw last time someone tried to create categories on Esolang they got blocked for it, by Graue
16:07:27 <AnMaster> <tusho> oh and none of the lesser known programming languages have specs
16:07:27 <AnMaster> <tusho> they still have articles
16:07:29 <AnMaster> which ones?
16:07:33 <Slereah_> I love the edit summary.
16:07:34 <Slereah_> "(shame)"
16:07:39 <ais523> so we codified it into policy "don't create categories without discussion"
16:07:42 <AnMaster> either implementation, specs or link(s) to spec
16:07:46 <AnMaster> are needed
16:07:48 <tusho> ais523: i didn't create a category
16:07:51 <ais523> just a warning, I won't block you for it
16:07:51 <tusho> i never touched a category page
16:07:54 <tusho> I just added category links
16:07:55 <Slereah_> ais523 : Well, we discussed it here!
16:07:57 <ais523> tusho: well, adding a redlinked category
16:07:59 <tusho> so ha
16:08:03 <Slereah_> And we all agree and all.
16:08:16 <tusho> i'll revert "Esme is a shameful esoteric programming language created by User:Dagoth Ur, Mad God because he has no language creation talent." though
16:08:20 <tusho> because shame should be untarnished
16:08:22 <tusho> and authentic
16:08:35 -!- Slereah_ has set topic: Esme is a shameful esoteric programming language created by User:Dagoth Ur, Mad God because he has no language creation talent. | #esoteric - the international hub for esoteric language design, development and deployment | logs: http://tunes.org/~nef/logs/esoteric/.
16:08:44 <tusho> yes, it can stay there
16:10:45 <AnMaster> tusho, IMO every language on the esoteric wiki should have specs, links reference implementation(s) or links to specs to be useful
16:10:58 <tusho> AnMaster: uh what about unimplemented languages
16:10:59 <AnMaster> even HQ8++ or whatever they are called got that
16:11:05 <AnMaster> tusho, well then there are specs
16:11:08 <tusho> under-construction ones, underspecified ones that are still interesting,...
16:11:10 <AnMaster> or != and
16:11:15 <AnMaster> hm true
16:11:19 <AnMaster> but there is a limit for it
16:11:20 <tusho> it's pointless to specify such rigorous standards for bloomin' esoteric languages
16:11:27 <AnMaster> esme is way below that limit
16:11:34 <tusho> AnMaster: yes, but it's rather amusing
16:11:41 <tusho> it _should_ be deleted, but it's like a work of modern art
16:11:41 <AnMaster> not really
16:11:45 <AnMaster> hah
16:11:46 <tusho> you can sit there and admire it
16:11:55 <tusho> and try to take in the mental damage used to create it
16:11:56 <AnMaster> well how does the example work?
16:11:58 <tusho> but you can never envelop it all
16:12:03 <tusho> AnMaster: that's the zen part of it
16:12:11 <AnMaster> or what does the example do?
16:12:13 <tusho> you don't know until you forget
16:12:19 <Slereah_> Esme should stay there.
16:12:21 <ais523> I think it's a language with a concept but no spec
16:12:27 <Slereah_> And it should have the tag "NEVER FORGET"
16:12:33 <ais523> basically the author things that the example should be what an Esme program should look like
16:12:38 <tusho> ais523: not much of a concept
16:12:47 <tusho> i think we should protect it so he can't flesh it out
16:12:51 <Slereah_> Like a reminder for future generations.
16:12:51 <ais523> well, it's an idea for an art-language
16:12:52 <AnMaster> tusho, why?
16:12:54 <AnMaster> :(
16:12:56 <tusho> AnMaster: it would lose its appeal
16:12:58 <ais523> and tusho, that's against the idea of a wiki
16:13:03 <AnMaster> he should flesh it out IMO
16:13:21 <tusho> AnMaster: well, maybe he'd make it less shameful
16:13:24 <tusho> which would be a shame [ha]
16:13:31 <AnMaster> good idea if he did
16:13:51 <tusho> yeah but then Category:Shameful would only include furscript
16:13:56 <tusho> :p
16:14:05 <AnMaster> well furscript should be deleted
16:14:17 <tusho> no it shouldn't
16:14:17 <AnMaster> it isn't esoteric at all, it is just a bad failure
16:14:18 <tusho> it actually has a spec
16:14:24 <tusho> and it certainly is esoteric
16:14:28 <tusho> just not in a good way
16:14:35 <AnMaster> tusho, well less esoteric than the Perl entry
16:14:36 <tusho> ais523: http://esolangs.org/wiki/User:Dagoth_Ur%2C_Mad_God/monobook.js wtf? what does that do?
16:14:40 <tusho> change 'special page' to 'special'?
16:14:43 <tusho> AnMaster: hell no
16:14:45 <tusho> perl is just concise
16:14:52 <tusho> furscript is esoteric because it can't do anything useful
16:14:56 <tusho> but it can do really weird things
16:15:01 <AnMaster> tusho, http://esolangs.org/wiki/Perl
16:15:01 <tusho> and it does them in a strange, awkward, and crazy way
16:15:05 <tusho> i know
16:15:06 <tusho> i've seen
16:15:13 <AnMaster> it is very accurate
16:15:15 <AnMaster> and funny
16:15:21 <tusho> AnMaster: no it's not
16:15:28 <tusho> the Interpretation is funny
16:15:34 <tusho> but the program isn't funny
16:15:38 <tusho> and the implication isn't true
16:15:42 <AnMaster> tusho, well it is obscure
16:15:52 <tusho> so is furscript
16:16:03 <ais523> tusho: the interpretation is correct, you just don't understand the language it's written in
16:16:05 <AnMaster> and obfuscated
16:16:14 <ais523> it's a SARTRE-like language
16:16:15 <tusho> ais523: *g*
16:16:20 <AnMaster> and yes I know it counts lines in files and subtract files or something like that
16:16:23 <tusho> AnMaster: not intentionally obfuscated
16:16:26 <tusho> it looks pretty basic
16:16:30 <AnMaster> tusho, that perl?
16:16:32 <tusho> ais523: http://esolangs.org/wiki/Talk:Esme look, he actually tried to explain it
16:16:34 <tusho> zzo38 asked
16:16:58 <AnMaster> hah
16:17:10 <ais523> tusho: that explanation strikes me as being a joke, more or less, like the language
16:17:14 <AnMaster> oh I think I see
16:17:16 <ais523> it's clear to me he's describing a paradigm
16:17:22 <ais523> rather than an actual specced-out language
16:17:23 <AnMaster> it is *output* of the program
16:17:28 <Slereah_> Is he?
16:17:35 <AnMaster> so you can only type "esme" + some !
16:17:36 <tusho> ais523: the paradigm of 'lol, the name "esme" is funny and ESME!!esmeMEMEESMESMSME is funnier'
16:17:44 <tusho> ahh I see
16:17:46 <tusho> 'esme esme' is the program
16:17:50 <tusho> no wait
16:17:52 <tusho> nope
16:17:59 <tusho> it's on one line in the source
16:18:03 <AnMaster> tusho, I *think* it may be like this:
16:18:05 <AnMaster> emse 2
16:18:11 <AnMaster> ESME!!
16:18:12 <AnMaster> err
16:18:12 <ais523> tusho: I didn't say it was a good paradigm
16:18:14 <tusho> AnMaster: what does 'HE output' mean
16:18:15 <AnMaster> esme*
16:18:19 <Slereah_> Stop pondering, and let it remains in its category of SHAME
16:18:19 <AnMaster> tusho, no clue
16:18:26 <AnMaster> maybe THE output?
16:18:29 <AnMaster> could be a typo
16:18:45 <Slereah_> It's also the same "paradigm" as ook, cow or AAAAAAH
16:18:51 <AnMaster> <ais523> it's a SARTRE-like language <-- wtf is that?
16:19:08 <ais523> AnMaster: SARTRE was one of the lesser-known langs, but Chris Pressey specced it
16:19:13 <ais523> it's on catseye somewhere
16:19:17 <AnMaster> ais523, hm
16:19:40 <AnMaster> found it
16:19:47 <AnMaster> http://catseye.tc/projects/sartre/doc/sartre.html
16:20:55 <ais523> that's the first lang I've seen that mandates that comments must not be misspelled and allows compilers to spellcheck them
16:20:56 <tusho> ais523: you know wikipedia, can you tell me why tony sidaway never stops changing his name
16:21:04 <ais523> tusho: no, I can't
16:21:04 <tusho> and why is it always something strange
16:21:11 <ais523> I don't know
16:21:22 <tusho> it's very confusing
16:21:27 <AnMaster> ais523, haha
16:22:37 <ais523> "A special command which, due to the resignation of the programmer, is permitted to perform a wide variety of tasks, among them, alter the direction of program flow, execute a random function, terminate the program, or positionally invert the bits in the data region."
16:23:00 <ais523> that reminds me so much of the low-quality esolangs that some people turn out
16:23:06 <ais523> have a command that can do more or less anything at random
16:23:52 <AnMaster> has sartre ever been implemented?
16:24:27 <ais523> I doubt it
16:24:41 <ais523> normally there's an impl on catseye if it's been implemented and there's a spec
16:24:54 <ais523> however, looking at that lang, it looks like it might potentially be TC
16:24:57 <ais523> which disappoints me
16:25:08 <ais523> I wanted a lang where every possible program was a NOP
16:25:19 <ais523> that would be much more interesting IMO
16:25:33 <AnMaster> there is some such program
16:25:56 <ais523> oh, it wasn't Chris Pressey, apparently, even though it's on their website, it's John Colagioia
16:26:34 <AnMaster> their?
16:26:42 <ais523> singular they
16:26:48 <ais523> I'm not sure of Chris Pressey's gender
16:26:57 <tusho> ais523: i'm pretty sure he's a he.
16:26:57 <ais523> the name doesn't give a clue eitehr
16:27:01 <AnMaster> Chris is he isn't it?
16:27:03 <ais523> tusho: well, it would seem likely
16:27:05 <ais523> AnMaster: it's both
16:27:40 <tusho> ais523: i mean, it's an unfortunate but true fact that the number of females doing esolangs is quite a bit less than males
16:27:45 <tusho> and I'm sure he might refer to himself as male somewhere on his site
16:27:49 <tusho> either way, it seems very likely
16:27:54 <ais523> s/esolangs/programming/, probably, I suspect that's the reason
16:28:04 <tusho> ais523: but esolangs even more, I'd say
16:28:13 <ais523> but esolangs are an art form
16:28:15 <ais523> or at least can be
16:28:24 <tusho> most of the female programmers i've heard of generally program to get things done
16:28:29 <tusho> instead of messing around with esolangs and similar
16:28:32 <tusho> shrug
16:28:39 <tusho> there's always nerds :p
16:28:42 <pikhq> ais523: Programming is an art form, IMO.
16:29:03 <pikhq> Of course, it's an art form filled with people who don't know a damned thing about artistry.
16:29:16 <ais523> have you never seen a Perl koan?
16:29:23 <ais523> s/koan/haiku/
16:29:26 <ais523> sorry, wrong art form
16:29:30 <tusho> perl koan
16:29:31 <tusho> wow
16:29:36 <tusho> ais523: heh, pressey dislikes wolfram
16:29:36 <tusho> '# pedlars of profundity (Penrose, Wolfram, Hofstadter...)'
16:29:44 <tusho> (under Things I Could Do WIthout on his personal page)
16:29:53 <pikhq> I've seen quite a few gorgeous Perl hacks. . .
16:30:01 <pikhq> But not any haiku that I can think of.
16:30:25 <ais523> http://aspn.activestate.com/ASPN/Perl/Haiku/InPerl
16:30:26 <Slereah_> Well, Penrose is okay.
16:30:33 <Slereah_> His tensorial notation makes me smile
16:30:37 <ais523> that seems to have been a challenge to write haiku that was also legal Perl
16:31:07 <pikhq> :)
16:31:26 <tusho> ' no less can I say;
16:31:26 <tusho> require strict, close attention
16:31:26 <tusho> while you ... write haiku'
16:31:30 <tusho> can you get that to run?
16:31:43 <ais523> I suspect so
16:31:53 <ais523> the first line unloads a library called "less", with three string arguments
16:31:59 <tusho> yes
16:32:02 <ais523> then require strict verifies that use strict is possible
16:32:04 <ais523> which it is
16:32:05 <tusho> require strict loads strict.pm?
16:32:07 <tusho> ah, okay
16:32:07 <ais523> so no problems there
16:32:10 <tusho> close attention...
16:32:12 <tusho> we need an attention file
16:32:15 <tusho> but that should work
16:32:21 <tusho> and it requires strict and closes attention
16:32:25 <tusho> while you ... write haiku
16:32:30 <pikhq> My favorite one?
16:32:31 <tusho> you and write haiku must evaluate to something rangable
16:32:32 <ais523> wait, that's all one command
16:32:35 <tusho> ais523: no
16:32:36 <ais523> it repeatedly closes attention
16:32:38 <tusho> 'no less I can say;'
16:32:40 <tusho> two commands
16:32:41 <pikhq> $my_args = shift;system("gcc $my_args");print "I prefer C\n";
16:32:43 <ais523> that's what the while is doing
16:33:02 <AnMaster> "The Sartre scoping rules are somewhat complex in that it may only utilize data which has been accessed previously or any data which it makes up itself. Data which has not yet been accessed is unknown to the Sartre nihilist, however."
16:33:04 <AnMaster> well
16:33:14 <AnMaster> that means it is a NOP I think?
16:33:18 <ais523> and you ... write is rangable, presumably, because you can range two strings
16:33:30 <ais523> AnMaster: no, it can create variables and then access them
16:33:36 <AnMaster> hrrm
16:33:45 <ais523> ah, presumably write haiku has a return value?
16:33:49 <ais523> that would be rangeable
16:35:14 <ais523> presumably, programming language haiku only works properly in langs which allow lots of barewords
16:35:58 <tusho> ais523: ruby poems are nice
16:36:07 <ais523> does ruby have barewords too?
16:37:01 -!- timotiis has joined.
16:38:19 -!- augur has joined.
16:38:49 <pikhq> You know a package's build system is bad when you have to write a patch just to make the build system cross-compile. . .
16:38:56 <pikhq> Or use a different C compiler, for that matter.
16:39:07 <pikhq> ... Or use different *arguments* for said C compiler. . .
16:39:20 <ais523> pikhq: I wonder if C-INTERCAL cross-compiles, I've never tried
16:39:27 <pikhq> ais523: Do you use autotools?
16:39:29 <AnMaster> haha
16:39:35 <ais523> it would probably need different arguments for config.sh
16:39:37 <AnMaster> pikhq, autoconf but not automake iir
16:39:40 <AnMaster> irc*
16:39:41 <ais523> pikhq: autoconf but not the others
16:39:44 <pikhq> Ah.
16:39:49 <pikhq> That ought to suffice.
16:39:55 * tusho needs to get on his autotools-replacement thing sometime
16:40:10 <pikhq> Though using the rest of autotools would make it much easier.
16:40:10 <AnMaster> pikhq, well you need some other stuff in config.sh too
16:40:11 <ais523> tusho: what would you do differently from autotools?
16:40:19 <tusho> ais523: Not be insane? :p
16:40:27 <AnMaster> GET_CANNONICAL_TARGET or whatever it was
16:40:33 <pikhq> Just ./configure --target=some-other-target would work perfectly.
16:40:40 <ais523> I don't find autotools that insane, it appears insane because it's trying to do something insane
16:40:50 <AnMaster> pikhq, well you need that macro in configure.ac then
16:40:54 <AnMaster> whatever it was
16:40:57 <tusho> ais523: what it's doing isn't as insane as how insane it is, though
16:41:13 <ais523> hmm... I have a cross-compiler to ARM here, maybe I can try seeing if C-INTERCAL works with that
16:41:15 <pikhq> AnMaster: Fine, so I assume that you have used Autotools *right*.
16:41:24 <AnMaster> pikhq, a lot yes
16:41:30 <pikhq> Like, say, up to GNU's packaging standards. ;)
16:41:34 <ais523> one problem is that it isn't in my path
16:41:35 <AnMaster> pikhq, no
16:41:48 <pikhq> ... No?
16:41:52 <AnMaster> pikhq, I used it but not "up to gnu's packaging standards" whatever they are
16:41:53 <ais523> pikhq: well, C-INTERCAL had a configure script when I came to it but mostly ignored its output
16:42:06 <ais523> I've redone the build system at least twice since then
16:43:51 <AnMaster> ah wasn't it AC_CANONICAL_TARGET that was needed?
16:43:53 <AnMaster> pikhq, no?
16:43:59 <pikhq> Dunno.
16:44:04 <pikhq> I'm not an Autotools expert.
16:44:09 <pikhq> (I should learn it this summer)
16:44:21 <AnMaster> cmake is better
16:44:46 <pikhq> Probably.
16:44:47 <ais523> I don't have AC_CANONICAL_TARGET in my config.ac for C-INTERCAL
16:44:52 <pikhq> But Autotools is fairly ubiquitous.
16:45:50 <pikhq> Though Cmake is probably going to become much more so, now that KDE uses it.
16:46:12 <AnMaster> ais523, I may be wrong
16:46:40 <ais523> AnMaster: well, I haven't tried at all
16:46:45 <ais523> maybe I should persuade pikhq to try
16:46:56 <ais523> e'd get a top-tier modern INTERCAL compiler too
16:46:59 <AnMaster> <ais523> hmm... I have a cross-compiler to ARM here, maybe I can try seeing if C-INTERCAL works with that <-- good idea
16:47:09 <ais523> AnMaster: yes, but it was set up weirdly
16:47:15 <AnMaster> oh?
16:47:27 <pikhq> Lemme learn Autotools, and then I'll go ahead and try Autotoolising C-INTERCAL. :p
16:47:32 <ais523> I got it by building gcc from source in a subdir deep in my home dir
16:47:46 <ais523> pikhq: that could be fun, given the way the build system currently works
16:47:50 <AnMaster> it already uses autotools
16:47:55 <ais523> AnMaster: no, only autoconf
16:48:02 <AnMaster> I could probably change a sane build system to use automake
16:48:08 <AnMaster> I have a lot of experience with it
16:48:28 <AnMaster> ais523, however I'm not sure if c-intercal's build system qualify as sane
16:48:33 <ais523> AnMaster: well, does it deal with having to compile your own compilers to compile the source into C, then compile the C into the finished version?
16:48:51 <AnMaster> ais523, it can be done but not fun
16:49:07 <AnMaster> you can add custom targets easily enough
16:49:20 <ais523> also there's a point where one .oil file splits into lots of .c files
16:49:28 <ais523> all of which have to be compiled and linked back into one executable
16:49:29 <AnMaster> ais523, what sort of names?
16:49:44 <ais523> AnMaster: they follow a pattern, oilout00.c, oilout01.c, oilout02.c and so on
16:49:45 <ais523> in hex
16:49:51 <AnMaster> ok
16:50:09 <AnMaster> should be doable
16:50:39 <ais523> oh, I imagine it's all doable
16:50:43 <AnMaster> ais523, however I would begin with converting other directories
16:50:56 <ais523> what do you mean by that?
16:51:17 <AnMaster> ais523, you can use automake in one dir and just autoconf in another
16:51:31 <AnMaster> so you don't need to convert all at once
16:51:43 <ais523> well, all the source is in the same directory, /src
16:51:51 <ais523> it compiles into things in /tmp
16:51:59 <AnMaster> out of tree builds?
16:52:02 <ais523> and the output goes in /bin and /lib
16:52:03 <AnMaster> is that supported?
16:52:08 <ais523> AnMaster: it doesn't do out of tree at present
16:52:13 <AnMaster> ais523, ah
16:52:23 <AnMaster> ais523, why the compile into tmp?
16:52:24 <ais523> for much the same reason cfunge doesn't build if you lose the tree structure in its sources
16:52:26 <AnMaster> is there any reason
16:52:33 <ais523> AnMaster: because there are lots of temporary files that need to be created
16:52:39 <ais523> all the .o files are kept out of src
16:52:43 <AnMaster> ais523, cfunge builds out of tree however
16:52:45 <ais523> also there are .c files to be generated, and .h files
16:52:48 <AnMaster> or at least did recently
16:53:24 <ais523> well, arguably C-INTERCAL always builds out of tree because the src directory is untouched
16:53:39 <ais523> but it's always in the same out-of-tree place
16:53:44 <AnMaster> well I mean: mkdir build; cd build; cmake ..; make
16:53:47 <AnMaster> should work for cfunge
16:53:49 <ais523> mixing the results of compilation up with the sources is ugly IMO
16:54:15 <AnMaster> phone brb
16:55:21 -!- sebbu2 has joined.
16:57:25 -!- augur has quit (Read error: 113 (No route to host)).
17:02:56 <AnMaster> back
17:03:15 <AnMaster> ais523, well just do a true out of tree build IMO
17:03:47 <ais523> well, you can simply duplicate the tree, that's easy enough, right?
17:04:01 <AnMaster> hm?
17:04:05 <ais523> cp -r
17:04:18 <AnMaster> um I said out of tree build
17:04:23 * ais523 wonders if there's a way to do a recursive ln
17:04:29 <ais523> AnMaster: I'm talking about how to do the same thing
17:04:33 <AnMaster> you don't need to ln
17:04:45 <AnMaster> make will overlay the build dir and the real dir
17:04:48 <AnMaster> internally
17:04:51 <ais523> well, yes
17:04:57 <AnMaster> and you don't need to create any subdirs
17:05:04 <AnMaster> just an empty dir and run like:
17:05:09 <ais523> I'm trying to think of a simple way to do out-of-tree builds when the source wasn't set up for them
17:05:12 <AnMaster> ../ick/configure
17:05:24 <ais523> and I know how out-of-tree builds work normally
17:05:26 <AnMaster> ais523, well imo it should support it :)
17:05:51 -!- augur has joined.
17:05:56 <AnMaster> ais523, where is the makefile.in in subdirs!?
17:06:04 <ais523> probably in sr
17:06:05 <AnMaster> oh you only use one single top makefile?
17:06:06 <ais523> s/sr/src/
17:06:12 <ais523> if it isn't in the top
17:06:16 <ais523> yes, there's only one single makefile
17:06:20 <ais523> what subdirs are you thinking of?
17:06:21 <AnMaster> ah
17:06:25 <AnMaster> well src
17:06:30 <ais523> oh, there's a makefile in doc, but it's independent
17:06:33 * AnMaster is used to autotools + recursive make
17:06:44 <AnMaster> not autotools + one top makefile
17:07:02 -!- sebbu has quit (No route to host).
17:07:02 -!- sebbu2 has changed nick to sebbu.
17:08:25 <AnMaster> ais523, oh btw I can convert ick to use automake yes, however no idea about your @OBJEXT@ mess
17:08:36 -!- Corun has quit ("This computer has gone to sleep").
17:08:37 <AnMaster> doesn't automake handle that itself? I'm unsure
17:08:37 <ais523> AnMaster: that's simple enough
17:08:52 <ais523> object files end .o on Linux and .obj on DOS
17:09:00 <ais523> likewise for @EXEEXT@ which puts on the .exe extensions if needed
17:09:05 <AnMaster> right
17:09:09 <ais523> it's a feature built into autoconf
17:09:10 <AnMaster> what about .com then?
17:09:11 <Deewiant> AnMaster: your TURT working yet?
17:09:30 <ais523> AnMaster: gcc doesn't generate .com files
17:09:35 <ais523> and C-INTERCAL doesn't use them
17:09:48 <AnMaster> Deewiant, yes it does in trunk
17:09:56 <AnMaster> Deewiant, better than yours at least :P
17:09:58 <Deewiant> good
17:10:00 <Deewiant> yep
17:10:09 <Deewiant> like said, it was hardly tested at all :-)
17:10:13 <AnMaster> Deewiant, mine doesn't handle bg colors yet but nor does your
17:10:29 <AnMaster> Deewiant, see the link I gave earlier
17:10:38 <Deewiant> I'll see everything later
17:10:44 <Deewiant> can't be bothered today
17:11:08 <Deewiant> I'll fix it on the weekend the latest
17:11:46 <AnMaster> ais523, would this be correct for ick:
17:11:49 <AnMaster> bin_PROGRAMS = ick convickt ial
17:11:49 <AnMaster> noinst_PROGRAMS = oil
17:11:49 <AnMaster> lib_LIBRARIES = libick.a libickmt.a libyuk.a libickec.a
17:11:59 <ais523> yep, looks right
17:12:09 <AnMaster> ais523, what is ial?
17:12:13 <ais523> oh, no
17:12:17 <ais523> ial's a dummy target
17:12:21 <ais523> that handles the includes and libraries
17:12:24 <ais523> it isn't an executable
17:12:28 <ais523> apart from that it's right
17:12:29 <AnMaster> I see
17:12:44 <AnMaster> then apart from oil it should be pretty simple
17:13:16 <AnMaster> ais523, does SOURCES contain files for ick or for all?
17:13:29 <AnMaster> I need variables with source files for each target basically
17:13:38 <ais523> AnMaster: for everything
17:13:43 <ais523> some sources go in multiple targets
17:13:43 <AnMaster> hm
17:13:49 <AnMaster> ais523, right
17:13:53 <ais523> look at the link lines for each library and executable
17:13:57 <AnMaster> ah
17:13:58 <ais523> that'll explain what goes where
17:14:08 <AnMaster> temp/parser.o temp/lexer.o temp/feh2.o temp/dekludge.o temp/oilout-m.o temp/ick_lose.o temp/fiddle.o temp/perpet.o temp/uncommon.o
17:14:11 <AnMaster> that is all for ick?
17:14:18 <ais523> yes, looks like it
17:14:27 <ais523> oh wait, there's another noinst_PROGRAM
17:14:31 <ais523> that generates oilout-m.c
17:14:41 <ais523> I think I called it bin2c
17:14:53 <ais523> it just takes a binary file and converts it into a C file defining one variable
17:15:05 <AnMaster> ah I see
17:15:29 <AnMaster> what exactly is ial for?
17:15:33 <AnMaster> I don't get iot
17:15:34 <AnMaster> it*
17:15:48 <ais523> AnMaster: it's a dummy target that causes all the includes and libraries to be copied into appropriate locations in the tree
17:15:55 <AnMaster> I see
17:16:04 <ais523> ick runs straight from the tree, checking ../lib and so on if it can't find things in the PREFIX
17:16:19 <AnMaster> ais523, why the need to copy
17:16:31 <ais523> basically, there are three forms of the distribution
17:16:37 <ais523> before it's compiled, everything's in src
17:16:56 <ais523> once it's compiled, it builds in /lib and /include and /bin
17:17:00 <ais523> including copying things over if needed
17:17:03 <ais523> and it can run from those
17:17:07 <ais523> so that's a binary version in-tree
17:17:13 <ais523> then make install copies the files from there into the PREFIX
17:17:25 <ais523> basically it can run off a make with no make install
17:17:31 <AnMaster> hrrm does the top oil.c include all the other parts or?
17:17:32 <ais523> and there are cases in the code to check if that's happened
17:17:36 <AnMaster> temp/oil.c: src/oil.y temp/config.h
17:17:38 <AnMaster> you still got that
17:17:40 <ais523> AnMaster: oil.c is output from oil.y
17:17:46 <AnMaster> oh right
17:17:49 <AnMaster> that is simple :)
17:18:31 <ais523> yep, just a straightforward yacc parser that defines OIL, the translation, etc., is in the same source file
17:19:00 <AnMaster> temp/parser.h temp/parser.c
17:19:05 <AnMaster> how do you generate the header?
17:19:20 <ais523> AnMaster: yacc does it automatically when compiling
17:19:24 <ais523> it outputs both a .h and a .c
17:19:33 <ais523> with silly filenames IIRC but I mv them into the correct place
17:19:43 <AnMaster> aaargh
17:20:01 <ais523> AnMaster: that isn't even my silliness
17:20:05 <ais523> that's what yacc/bison do by default
17:20:13 <AnMaster> yes but moving it is silly
17:20:15 <ais523> and autoconf has checks to find out what filename it uses for its output
17:20:27 <ais523> AnMaster: not if you have two files to build, both using yacc
17:20:34 <ais523> moving it is not silly because it avoids name collisions
17:21:08 <AnMaster> well automake will keep track of how the files depend on each other for you
17:21:12 <AnMaster> no need to list headers
17:21:29 <ais523> even when the headers depend on other headers?
17:21:34 -!- sebbu2 has joined.
17:21:38 <ais523> and when the headers depend on config.h too?
17:21:45 <AnMaster> yep
17:21:51 <ais523> and which headers are included depends on config.h
17:21:53 <AnMaster> it uses the compiler to extract the info
17:22:04 <ais523> although admittedly that's system headers, not my headers
17:22:07 <AnMaster> on first time the file is built
17:22:13 <AnMaster> or after a re-configure
17:22:24 <ais523> also, I think some of the headers include different files based on which file they're included into
17:22:26 <AnMaster> so incremental builds work
17:22:55 <AnMaster> ais523, this will happen on a C file by C file basis
17:22:59 <ais523> ok
17:23:18 <AnMaster> what can cause trouble is the oil splitting thing
17:23:40 <ais523> I did that because not doing it was causing Debian trouble
17:23:47 <ais523> the files were getting to large to reliably compile
17:23:55 <ais523> s/to/too/
17:24:02 <ais523> that's not with /g so it only affects the first to
17:24:52 <AnMaster> ais523, I'm not sure how to express that a unknown set of files is generated from one file
17:25:04 <ais523> wildcards?
17:25:15 <ais523> besides, Info does that too
17:25:17 <AnMaster> not sure if they work at the time it is expanded
17:25:25 <AnMaster> ais523, wtf is lextest?
17:25:38 <ais523> AnMaster: it basically built the lexer with a main(), it's not used nowadays
17:25:43 <ais523> it was used early on to test the lexer
17:25:48 <ais523> INTERCAL is not trivial to lex...
17:26:05 <AnMaster> temp/oilout-m.o?
17:26:07 <AnMaster> what is that
17:26:22 <ais523> it's the main file
17:26:28 <ais523> that calls all the other oilout files
17:26:37 <ais523> each other file contains a function
17:26:44 <ais523> and oilout-m just calls all the functions in order
17:26:51 <ais523> to effectively make one big function
17:26:55 <AnMaster> hm
17:28:10 <AnMaster> lib/syslibc.c:pit/explib/syslibc.c
17:28:11 <AnMaster> -cp pit/explib/syslibc.c lib/syslibc.c
17:28:14 <AnMaster> what is that good for?
17:28:32 <ais523> AnMaster: basically, syslibc.c and some other files (like syslib.i) are used by the compiler
17:28:46 <ais523> but are also example INTERCAL programs, or examples of the syscall thing, or whatever
17:28:51 <ais523> basically, /src holds files for the compiler
17:29:00 <ais523> /pit holds example programs
17:29:06 <AnMaster> but why not just use it directly, why copy it around?
17:29:08 <ais523> but some of those programs, like the system library, are needed for compilation
17:29:21 <ais523> AnMaster: because eventually it has to be installed into /usr/share
17:29:42 <ais523> and because the /bin /lib /include form a working binary distribution
17:30:04 <ais523> basically, it's source distribution -make-> binary distribution -make install-> binary distribution in the correct place
17:30:13 <ais523> the binary distribution runs from /bin /lib and /include
17:30:14 <AnMaster> ah, you could just copy it directly, would be easier even with automake
17:30:19 <ais523> which means all the files have to be there
17:30:33 <ais523> and not requiring a make install is very useful for people just trying out INTERCAL
17:30:38 <ais523> saves having to use prefixes and all that
17:30:44 <ais523> besides, they used not to work
17:40:44 -!- sebbu has quit (No route to host).
17:41:00 -!- sebbu2 has changed nick to sebbu.
17:41:03 -!- tusho_ has joined.
17:41:31 <tusho_> stupid fucking router
17:47:53 -!- augur has quit (Read error: 113 (No route to host)).
17:51:45 <AnMaster> ais523, I can figure out how to express a fixed set of files for oil
17:52:00 <AnMaster> but not a variable set, wildcard doesn't work before the file is generated
17:52:06 <AnMaster> we got a bootstrap issue in fact
17:52:07 <ais523> AnMaster: well, the number of files used will increase over time as more idioms are added
17:52:19 <AnMaster> exactly
17:52:32 <AnMaster> ais523, apart from that I almost finished converting it
17:53:56 -!- timotiis has quit (Read error: 110 (Connection timed out)).
17:54:12 <AnMaster> ais523, I think this would work apart from install and from the oil thing: http://rafb.net/p/z5P3TG52.html
17:54:19 <AnMaster> maybe a few more variables but almost only that
17:55:09 <AnMaster> ais523, much shorter as you can see
17:55:26 <AnMaster> *.y -> *.c is handled automatically
17:55:28 <ais523> that doesn't handle the install of things like coopt.sh and syslib.i
17:55:31 <AnMaster> same for *.l
17:55:34 <AnMaster> ais523, indeed
17:55:40 <AnMaster> I said apart from install and oil
17:55:40 <ais523> does it handle *.y -> *.h too?
17:55:47 <AnMaster> ais523, well it should
17:56:09 <ais523> what about all the command-line args needed
17:56:20 <ais523> there are quite a few -Ds involved
17:56:23 -!- tusho has quit (Read error: 110 (Connection timed out)).
17:56:42 <AnMaster> ais523, aren't they defined CFLAGS?
17:56:44 <AnMaster> or such?
17:57:24 <ais523> AnMaster: I use CFLAGS as well
17:57:24 -!- tusho_ has changed nick to tusho.
17:57:37 <AnMaster> ah that would end up as:
17:57:37 <AnMaster> AM_CFLAGS = -O2 -W -Wall -DICKINCLUDEDIR=\"$(incdir)\" -DICKDATADIR=\"$(datadir)\" -DICKBINDIR=\"$(bindir)\" -DICKLIBDIR=\"$(libdir)\" -DYYDEBUG -DICK_HAVE_STDINT_H=@HAVE_STDINT_H@ -I./src -I./temp
17:57:46 <AnMaster> or CPPFLAGS for defines
17:57:56 <AnMaster> as CPPFLAGS = for precompiler and CFLAGS for compiler
17:57:56 <ais523> AnMaster: but things like $(incdir) rely on things higher up the makefile
17:58:00 <ais523> which are set by autoconf
17:58:00 <AnMaster> they should be split
17:58:04 <ais523> how does automake handle those
17:58:19 <AnMaster> well as autoconf is still used that will be set above
17:58:50 <AnMaster> ais523, automake doesn't replace the syntax of autoconf, it simply extends it quite a bit
17:59:06 <ais523> AnMaster: things like datadir are set in Makefile.in
17:59:09 <ais523> from autoconf variables
17:59:19 <ais523> I'm not sure if automake would have variables with the same name
17:59:20 <AnMaster> ais523, yes that will still work
17:59:22 <AnMaster> trust me
17:59:28 <ais523> I could have called it pinkfluffyponies and it would still work
17:59:45 <AnMaster> well if you had a line like: pinkfluffyponies = @pinkfluffyponies@
17:59:47 <AnMaster> then it would
17:59:50 <AnMaster> :P
18:00:00 <AnMaster> or whatever
18:00:02 <ais523> hm, ok
18:00:47 <AnMaster> ais523, automake will lump together lots of variables at the start (all those you don't explicitly define) and then put your defines and finally the targets
18:00:51 <AnMaster> mostly that is what happen
18:01:23 <AnMaster> ais523, anyway installing would take some time to convert
18:01:44 <ais523> well, it isn't that hard, just making dirs and copying files
18:01:53 <ais523> although I am disappointed that your way requires an install
18:02:01 <AnMaster> ais523, well that could be changed
18:02:14 <ais523> yes, I suppose so
18:02:19 <AnMaster> ais523, however it wouldn't be as trivial
18:02:24 <AnMaster> I'm not sure *I* could pull it off
18:02:27 <ais523> also, where does automake put the obj files?
18:02:31 <ais523> in the same place as the sources?
18:02:35 <ais523> that strikes me as a bad idea
18:02:39 <AnMaster> ais523, well I assume you will do a true out of tree build
18:02:44 <AnMaster> :P
18:02:46 <ais523> what if I have a .o in the sources with the same name as the .c
18:03:09 <AnMaster> ais523, why would you have that? and as I said: I assume true out of tree builds will be done
18:03:15 <AnMaster> or even enforced like gcc enforces it
18:03:47 <ais523> AnMaster: it's not beyond the realms of possibility that I might want a .c and a .i with the same name
18:03:51 <ais523> currently C-INTERCAL doesn't allow that
18:04:14 <AnMaster> well... no idea :P
18:04:42 <AnMaster> ais523, I have autotools on massive but *sane* projects, nothing like ick's all build system quirks
18:06:44 <AnMaster> *.c: *.bin
18:06:45 <AnMaster> ./bin2c blergh < $< > $@
18:06:50 <AnMaster> well blergh make that not work
18:06:53 <AnMaster> otherwise it would work
18:07:10 <AnMaster> ais523, see ?
18:07:14 <ais523> AnMaster: I have to specify the names of the character sets somehow
18:07:21 <ais523> as it happens, they're specified in the makefile
18:07:54 <AnMaster> xpm makes the name of the variable in the file dependant on the file name iirc
18:08:03 <AnMaster> something like that could make sense I guess
18:08:22 <ais523> yep, I do that somewhere too
18:08:33 <ais523> the .bin files are used for two things
18:08:41 <ais523> they're installed, and used as .bin files, by convickt
18:08:55 <ais523> but they're also converted into .c then .o and linked to the runtime libraries, for use by the I/O code
18:09:01 <AnMaster> LOADLIBS = @LIBS@ @LEXLIB@
18:09:03 <AnMaster> it is never used
18:09:06 <AnMaster> so what is it for?
18:09:29 <ais523> that's been there forever, more or less, probably something to do with the last-but-one build system
18:09:44 <AnMaster> ais523, well, it doesn't seem to be used at all?
18:10:11 <ais523> well, quite possibly it isn't at present
18:10:23 <ais523> I think it was probably used by an old install system, or something like that
18:10:39 <AnMaster> ais523, anyway I fail at expressing the mutli-unknown-file dependency on the generated oil files in a way that can be resolved in advance (which is needed)
18:11:12 <AnMaster> apart from that and some painful with with install my conversion probably works
18:12:24 <AnMaster> so I give up
18:13:00 <ais523> well, I'm not sure how much of an advantage automake would have over the current build system anyway
18:13:08 <ais523> the current system is at least nice and expressive of what it does
18:13:13 <ais523> showing all the steps explicitly
18:13:41 <AnMaster> ais523, it would be considerably shorter and take care of tracking dependency on headers automatically, also it would be easier to maintain
18:14:21 <AnMaster> ais523, most of the time you can shrink numbers of lines/chars/whatever considerably by using automake
18:14:34 <ais523> it needs automake, though. Does it run on DOS? (Last I tried, configure scripts had to be built seperately for DOS.) Does it run on systems which don't have automake?
18:14:52 <AnMaster> ais523, the files can be generated in advance
18:14:57 <ais523> what about systems where the default shell isn't sh-compatible? (I have sh -c at various points for that reason.)
18:14:58 <AnMaster> automake will generate autoconf files
18:15:06 <AnMaster> which then will be processed by configure
18:15:38 <AnMaster> ais523, also it should be as compatible as the generated configure
18:16:01 <AnMaster> which iirc is pretty well
18:16:24 <AnMaster> ais523, it does work on mingw+msys on windows too
18:16:31 <AnMaster> I used projects which had to do that
18:16:52 <AnMaster> ais523, as for DOS: no clue and I don't think anyone else knows either :P
18:17:19 <ais523> AnMaster: well, there's evidence in the autoconf changelog that they tried to fix it to run on DOS
18:17:25 <ais523> also in comments in the source code
18:17:31 <AnMaster> ais523, I assume you will put cfunge in some separate source directory?
18:17:32 <ais523> so I'm hopeful that it'll work next time I tried
18:17:41 <ais523> AnMaster: I haven't thought about how to distribute cfunge yet
18:17:53 <ais523> I'm thinking about distributing fffungi separately from ick
18:17:58 <AnMaster> oh?
18:18:03 <ais523> after all, different licences, different packaging, and so on
18:18:11 <AnMaster> if you distribute it separately you should probably use cmake
18:18:13 <AnMaster> I can help there
18:18:36 <AnMaster> ais523, I don't think cmake works on DOS, but it does for about everything else :P
18:18:49 <AnMaster> including MSVC project files
18:19:14 <AnMaster> but cfunge won't compile under MSVC as it lacks C99 and you would also need to remove some fingerprints that depend on fork() and such
18:19:26 <AnMaster> ais523, I guess ick has no problem with vfork() btw?
18:19:28 <AnMaster> or fork()
18:19:31 <AnMaster> forgot what one I use
18:19:37 <ais523> AnMaster: if followed by an exec, no
18:19:45 <ais523> otherwise yes
18:19:49 <AnMaster> it is indeed followed by an exec
18:20:11 <AnMaster> ais523, well a few pipe operations + an exec
18:20:17 <AnMaster> // Do the FD stuff.
18:20:18 <AnMaster> // Close unused end
18:20:18 <AnMaster> close(outfds[0]);
18:20:18 <AnMaster> // Dup the FD
18:20:18 <AnMaster> dup2(outfds[1], 2);
18:20:22 <ais523> yep, that's fine
18:20:23 <AnMaster> things like that in the forked side
18:20:35 <AnMaster> ais523, oh a strdup to build arguments array too it seems
18:20:37 <ais523> as long as the forked side never returns
18:20:41 <AnMaster> but that is a heap operation
18:20:49 <AnMaster> indeed, it doesn't return
18:20:54 <ais523> so no problem
18:21:25 <AnMaster> it either exec() or _Exit()s
18:21:38 <AnMaster> _Exit() in case of errors
18:21:43 <ais523> _Exit?
18:21:46 <ais523> I thought it was _exit
18:21:57 <AnMaster> The function _exit() terminates the calling process "immediately". Any open file descriptors belonging to the process are closed; any children of the
18:21:57 <AnMaster> process are inherited by process 1, init, and the process's parent is sent a SIGCHLD signal.
18:22:06 <AnMaster> _Exit is C99
18:22:11 <AnMaster> while _exit is POSIX
18:22:15 <ais523> what's the difference?
18:22:16 <ais523> anything?
18:22:18 <AnMaster> Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
18:22:18 <AnMaster> _Exit(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99
18:22:20 <AnMaster> ais523, only the name
18:23:12 <AnMaster> and that one is C standard while the other is POSIX standard
18:23:28 <AnMaster> "The function _Exit() is equivalent to _exit()."
18:23:28 <ais523> well, you need both, right?
18:23:34 <ais523> both C99 and POSIC
18:23:36 <AnMaster> ais523, no why would I?
18:23:38 <ais523> s/POSIC/POSIX/
18:23:41 <AnMaster> I'm C99
18:23:53 <AnMaster> and POSIX.1-2001 defines _Exit() too
18:23:54 <ais523> you use srandom() IIRC?
18:23:59 <ais523> I thought that was POSIX
18:24:02 <ais523> C has srand()
18:24:02 <AnMaster> ais523, yes I do. I need both yes
18:24:12 <AnMaster> I don't need both _exit() and _Exit()
18:24:17 <AnMaster> I thought that was what you said :P
18:24:46 <ais523> ah
18:25:07 <AnMaster> and yes environ is POSIX too
18:25:14 <AnMaster> there are a few more things like fork() and such
18:25:31 <tusho> ais523: you know, integrating ccbi would probably have been less crazy..
18:25:40 <AnMaster> tusho, ccbi is D....
18:25:42 <ais523> tusho: ccbi's written in D
18:25:47 <AnMaster> that would be painful and hard to compile
18:25:56 <ais523> also, I think cfunge works really well with this
18:25:59 <tusho> D isn't painful
18:25:59 <tusho> :p
18:26:07 <ais523> it's pretty well-behaved from ick's point of view
18:26:09 <AnMaster> tusho, to integrate into a C program? yes
18:26:09 <tusho> dunno how it interfaces with c, though
18:26:18 <tusho> ok then, someone needs to write a sane funge interp in c
18:26:19 <tusho> :P
18:26:37 <AnMaster> ais523, and yes cfunge is quite well behaved compared to ick
18:26:42 <AnMaster> tusho, look it is saner than ick
18:26:52 <AnMaster> I never do longjmp() or such
18:27:12 <ais523> AnMaster: well, longjmp() in C mirrors INTERCAL's FORGET perfectly
18:27:12 <tusho> longjmp() is pretty sane
18:27:15 <ais523> so how could I not use it?
18:27:19 <AnMaster> hah
18:27:24 <AnMaster> tusho, not really
18:27:25 <tusho> __posix_tell_fuzzy_logic_cpu_central_board ... not so much
18:27:44 <AnMaster> from man page:
18:27:47 <AnMaster> "longjmp() and siglongjmp() make programs hard to understand and maintain. If possible an alternative should be used."
18:27:47 <AnMaster> :P
18:27:57 * ais523 begins to wonder if C-INTERCAL could do with a few _posix_fadvises just to annoy tusho
18:28:07 <ais523> AnMaster: yes, I know that line's in the man page
18:28:09 <AnMaster> ais523, not _ in front iirc
18:28:18 <ais523> AnMaster: ok
18:28:31 <ais523> yep, no _
18:28:34 <ais523> otherwise I got the right name
18:28:34 <AnMaster> ais523, just check the #ifdef and such to see if it is supported, for example FreeBSD 6.2 doesn't support it
18:28:49 <ais523> AnMaster: I'd use autoconf to check if it's supported, it's simpler that way
18:28:59 <AnMaster> ais523, that isn't what the standard says
18:29:04 <ais523> you try to link it, and if it fails, it isn't supported
18:29:04 <AnMaster> #if defined(_POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
18:29:06 <AnMaster> code here
18:29:07 <AnMaster> #endif
18:29:22 <AnMaster> would be the correct way according to man posixoptions
18:29:23 <AnMaster> :P
18:29:23 <ais523> and the reason autoconf's useful is that it works even on things that don't obey the standards
18:29:25 <ais523> which is most of them
18:29:43 <AnMaster> ais523, well 1) only POSIX systems will ever define these
18:29:49 <tusho> AnMaster: what will you be optimizing for next? cpu cache?
18:29:59 <ais523> tusho: I thought you liked J
18:30:00 <AnMaster> tusho, ooh cachegrind from valgrind?
18:30:01 <AnMaster> :P
18:30:10 <tusho> ais523: yes I do and?
18:30:17 <ais523> well it's optimised for CPU cache
18:30:28 <tusho> that's not why I like it, though
18:30:34 <tusho> i like it for its paradigm & conciseness
18:30:37 <tusho> it's refreshing
18:31:03 <AnMaster> ais523, 2) then check using the way I suggested, as that is the correct way according to man page and a freebsd developer I asked
18:31:27 <ais523> IIRC some systems don't define those even though they have them
18:31:39 <AnMaster> ais523, well that is crazy
18:31:51 <AnMaster> why support broken systems though?
18:31:55 <ais523> not really, it's because they have to have C99-compatible headers too
18:32:09 <ais523> I've done that by mistake simply by using -ansi in a file which was actually POSIX
18:32:10 <AnMaster> eh?
18:32:16 <AnMaster> hm
18:32:27 <ais523> it went and turned off support for all the POSIX functions whose protos were in, say, string.h
18:32:32 <ais523> or other headers that exist in non-POSIX C
18:32:42 <AnMaster> ais523, if you write out a binary file and know how long it will be try posix_fallocate()
18:32:53 <AnMaster> that does actually have a use: helps against fragmentation
18:32:54 <ais523> AnMaster: I only write out text files of unknown length
18:32:59 <AnMaster> again see _POSIX_ADVISORY_INFO
18:32:59 <ais523> so not particularly helpful
18:33:01 <AnMaster> ais523, ah
18:33:02 <tusho> <AnMaster> why support broken systems though?
18:33:07 <tusho> why support any systems?
18:33:11 <tusho> good question!
18:33:20 <AnMaster> is it?
18:33:22 <ais523> tusho: well, CLC-INTERCAL and C-INTERCAL both still support EBCDIC
18:33:32 <ais523> and that's obsolete
18:33:39 <tusho> ais523: I was telling AnMaster that all systems are broken
18:33:40 <ais523> although for C-INTERCAL you need to use a conversion program
18:33:51 <AnMaster> ais523, how would the code for C-INTERCAL be compiled on that? you would need to convert to tri-graphs right?
18:34:03 <ais523> AnMaster: the C source code's ASCII
18:34:12 <ais523> it's INTERCAL source it accepts in EBCDIC
18:34:14 <AnMaster> yes but could it be converted?
18:34:17 <ais523> but yes, converting to trigraphs is trivial
18:34:27 <ais523> and any EBCDIC system should be capable of it nowadays
18:34:52 <ais523> int main(void)??<return 0;??>
18:34:57 <tusho> "and any EBCDIC system should be capable of it nowadays"
18:34:58 <tusho> *g*
18:35:11 <ais523> tusho: really, or they wouldn't be able to run most C
18:36:50 <AnMaster> EBCDIC systems still exist?
18:36:59 <ais523> AnMaster: probably not, but just in case...
18:37:15 <ais523> dd still handles EBCDIC IIRC
18:37:21 <AnMaster> hah
18:37:33 <AnMaster> dd does binary doesn't it?
18:37:36 <ais523> [[
18:37:38 <ais523> Each CONV symbol may be:
18:37:38 <ais523> ascii from EBCDIC to ASCII
18:37:38 <ais523> ebcdic from ASCII to EBCDIC
18:37:39 <ais523> ]]
18:37:41 <ais523> from man dd
18:37:43 <AnMaster> oh
18:37:44 <ais523> yes, it does binary
18:37:50 <AnMaster> man recode :P
18:37:51 <ais523> but also supports ascii/ebcdic conversion
18:37:58 <ais523> which is binary, I suppose
18:38:06 <ais523> because it isn't textmode from either system's point of view
18:38:09 <ais523> at least, not at both ends
18:38:39 <tusho> ais523: dd should not be doing that...
18:38:44 <tusho> it should be a seperate program..
18:38:55 <tusho> the unix way, etc
18:39:14 <AnMaster> tusho, yes like recode or such
18:39:22 <AnMaster> dd isn't very unixy
18:39:30 <AnMaster> dd if=foo of=blah bs=1234
18:39:31 <tusho> AnMaster: O RLY
18:39:34 <AnMaster> unixy would be
18:39:43 <AnMaster> dd -i foo -o blah -b 1234
18:39:45 <AnMaster> :P
18:39:52 <AnMaster> so not very unixy indeed
18:39:56 <tusho> AnMaster: dd itself isn't unix
18:40:01 <tusho> 'dd - convert and copy a file'
18:40:04 <AnMaster> it is older yes
18:40:06 <tusho> it has 'and' in the description of what it does
18:40:10 <tusho> instant unix fail
18:40:31 <AnMaster> tusho, ooh an idea:
18:40:46 <AnMaster> funtoken - execute commands of the funge
18:40:53 <AnMaster> funadd - add operand
18:40:54 <AnMaster> and so on
18:41:06 <AnMaster> so just one program calling one other program for each opcode!
18:41:07 <AnMaster> XD
18:41:11 <tusho> heh
18:41:14 <AnMaster> with data sent over stdio
18:41:20 <AnMaster> to handle changes to stack and such
18:41:27 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
18:41:27 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
18:41:30 <AnMaster> because main program would need to keep track of that
18:41:39 <AnMaster> oh no wait
18:41:49 <AnMaster> a separate daemon for funge space and one for stack
18:41:51 <AnMaster> tusho, XD
18:41:56 <ais523> hey, cmeme came back!
18:41:57 <AnMaster> talking over unix sockets
18:42:28 <tusho> yes
18:42:30 <tusho> you said that yesterday
18:42:35 <AnMaster> just a netsplit
18:42:45 -!- atsampson has joined.
18:42:45 <ais523> AnMaster: no, the netsplit caused it to leave
18:42:52 <ais523> which is when I noticed that it was here in the first place
18:42:54 <ais523> it was missing for weeks
18:43:02 <ais523> but must have come back or the netsplit wouldn't have made it leave
18:44:36 <ais523> oh, I have to go
18:44:39 <ais523> bye, everyone
18:44:40 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
18:44:40 -!- cmeme has joined.
18:45:09 -!- Judofyr has left (?).
18:45:19 -!- Polar has quit (Read error: 104 (Connection reset by peer)).
18:45:55 <AnMaster> why does he have to go
18:45:57 <AnMaster> he never said
18:48:38 -!- Polar has joined.
18:48:54 <tusho> who wants to hear about my evil project
18:49:03 <AnMaster> depends on what it is
18:49:08 <tusho> AnMaster: dude, the guy is at uni and has to go to cafes and stuff regularly to get to computers and stuff.
18:49:16 <tusho> why does it matter?
18:49:21 <AnMaster> hm ok
18:49:26 <AnMaster> what is your evil project then
18:49:32 <tusho> i think you've heard it
18:49:38 <AnMaster> not sure
18:49:44 <tusho> yeah
18:49:44 <tusho> you have
18:49:46 <AnMaster> what one is it
18:49:57 <AnMaster> you have so many evil projects
18:50:26 <AnMaster> ah I see
18:50:35 <AnMaster> well yes I heard about that one
18:56:13 -!- sebbu2 has joined.
19:11:53 -!- sebbu has quit (Connection timed out).
19:57:23 -!- RedDak has joined.
20:28:44 <Sgeo> Bye all
20:32:29 -!- Sgeo has quit (Remote closed the connection).
20:41:28 -!- timotiis has joined.
20:43:52 <AnMaster> tusho, where is ais I wonder
20:43:53 <AnMaster> :/
20:44:23 <tusho> AnMaster: at home
20:44:31 <tusho> i guess
21:14:06 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
21:14:06 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
21:15:34 -!- Dewi has joined.
21:15:34 -!- puzzlet has joined.
21:19:03 -!- pikhq has left (?).
22:06:13 -!- sebbu2 has changed nick to sebbu.
22:26:43 -!- cctoide has quit (clarke.freenode.net irc.freenode.net).
22:27:03 -!- cctoide has joined.
22:36:45 -!- sebbu2 has joined.
22:39:28 -!- sebbu2 has changed nick to sebbu3.
22:40:46 -!- sebbu has quit (Nick collision from services.).
22:43:27 -!- sebbu3 has changed nick to sebbu.
22:48:29 <jamesstanley> Is there anything you can do to force a brainfuck program to halt, apart from letting it run to the end of it's code?
22:48:52 <tusho> jamesstanley: no
22:48:56 <jamesstanley> OK, thanks
22:48:57 <tusho> + - < > , . [ ]
22:48:58 <tusho> that's it
22:49:01 <tusho> learn to use it :-P
22:49:17 <jamesstanley> I was wondering if you can do anything with those that causes an undefined state which would cause it to halt.
22:49:26 <Ilari> jamesstanley: Nope.
22:49:32 <jamesstanley> OK
22:50:05 <tusho> jamesstanley: Can I perhaps define each one for you? :P
22:50:17 <jamesstanley> I know what the commands do
22:50:25 <jamesstanley> I've written several small programs now
22:50:42 <tusho> jamesstanley: Then you'd know that the commands have nothing about halting..
22:50:42 <jamesstanley> I was just wondering if there was any way to make execution halt without letting it run to the end. Seems not.
22:51:02 <jamesstanley> Well, decrementing the memory pointer past 0 might make it stop
22:51:06 <jamesstanley> All sorts of undefined things like that
22:51:18 <jamesstanley> There are ways to terminate a C program without calling exit. ;)
22:51:40 <jamesstanley> Anyway, I'm going to bed now.
22:51:44 <tusho> jamesstanley: generally that wraps it to 255
22:51:47 <tusho> or whatever the max is
22:51:51 <tusho> but it's exactly that undefined
22:54:26 -!- sebbu2 has joined.
23:18:31 -!- olsner has joined.
23:18:45 <olsner> anyone know french? "Madame Camille obtient la crampe de chatte si vous ne mangez pas de tout son fromage."
23:19:20 <olsner> she contracted a cramp because someone didn't eat all the cheese?
23:21:17 -!- sebbu has quit (Connection timed out).
23:21:40 <tusho> olsner: hahahahahah
23:23:14 <olsner> or she *will* get a cramp *unless* you eat all the cheese?
23:26:18 <oklopol> jamesstanley: well, you can do beginning_of_code maybe_halt_code end_of_code ==> beginning_of_code {not halting_cond}[ end_of_code ]
23:27:23 <oklopol> and if you make an interp consider the end of the program an infinite supply of ]'s, you can have a "context-free" way to halt
23:27:32 <oklopol> hmm
23:27:44 <oklopol> actually not that simple in case you're inside a loop when you wanna halt.
23:27:56 <oklopol> sorry, i didn't think that through
23:28:43 <tusho> jamesstanley: oklopol always talks like this
23:30:59 <oklopol> yeah, he always fails
23:32:02 <tusho> hah
23:50:56 <oklopol> o
23:54:13 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:58:21 <GregorR> http://www.www.extra-www.org/
23:58:57 <tusho> GregorR: is this your response to no-www
23:59:03 <GregorR> Yes :P
23:59:04 <tusho> (that's my pre-click prediction)
23:59:06 <GregorR> Yes it is :P
23:59:42 <tusho> GregorR: you need a compliance checker
23:59:53 <GregorR> 'struth :P
23:59:57 <tusho> a four grade system:
←2008-06-30 2008-07-01 2008-07-02→ ↑2008 ↑all