←2007-08-29 2007-08-30 2007-08-31→ ↑2007 ↑all
00:06:23 -!- ehird` has quit.
00:28:26 -!- Tritonio has quit (Remote closed the connection).
01:15:16 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
03:03:31 -!- Sos`` has joined.
03:03:56 -!- Sos`` has left (?).
03:13:57 * pikhq returneth
03:15:09 <oerjan> where hast thou been, oh wretched knave?
03:15:28 <pikhq> School.
03:15:41 <pikhq> You know, the place that eats your soul away.
03:16:09 <pikhq> bsmntbombdood: Education promotes wisdom. Of course, schools rarely, if ever, promote education.
03:16:31 <oerjan> ay, there's the rub!
03:17:08 <pikhq> (Public schools do bullshit work in the name of education, and you learn in spite of it. Colleges say "Here's the information. Learn if you want, or blow several thousand if you want.")
03:19:07 <oerjan> *aye, even
03:24:15 * oerjan makes a note not to discuss school with anyone in it right after the end of summer break.
03:24:44 <pikhq> LMAO
03:25:31 <bsmntbombdood> :(
03:25:32 <oerjan> this, unfortunately, is the kind of information i _never_ remember.
03:25:49 <bsmntbombdood> at least i have only minimal school time this year
04:15:38 -!- calamari has joined.
04:29:45 -!- bsmntbom1dood has joined.
04:32:56 -!- poiuy_qwert has joined.
04:37:22 -!- kwertii has quit.
07:06:58 -!- oerjan has quit (heinlein.freenode.net irc.freenode.net).
07:08:50 -!- oerjan has joined.
07:25:14 -!- calamari has quit ("Leaving").
07:26:56 -!- oerjan has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:44 -!- GreaseMonkey has joined.
08:35:42 -!- poiuy_qwert has quit.
08:52:25 -!- okloTeX has quit (Read error: 104 (Connection reset by peer)).
10:16:19 -!- jix_ has joined.
10:35:11 -!- GreaseMonkey has quit ("night all").
10:44:38 -!- Tritonio has joined.
11:31:27 -!- ehird` has joined.
12:00:56 -!- ihope_ has joined.
13:17:31 -!- ehird`_ has joined.
13:30:36 -!- RedDak has joined.
13:40:31 -!- ehird`_ has quit.
14:01:51 -!- Figs has joined.
14:18:51 -!- Figs has left (?).
14:26:10 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)).
14:31:43 -!- Tritonio has joined.
14:43:46 -!- jix_ has quit ("CommandQ").
14:44:09 -!- jix_ has joined.
14:44:15 -!- Tritonio has quit ("Bye...").
14:47:38 -!- Tritonio has joined.
15:09:12 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
15:09:57 -!- ehird`_ has joined.
15:12:48 -!- ehird`_ has quit (Client Quit).
15:14:26 -!- ehird`_ has joined.
15:17:19 -!- ehird`_ has quit (Client Quit).
15:47:21 -!- oerjan has joined.
15:57:38 -!- sebbu has joined.
16:23:24 -!- Tritonio has joined.
16:44:06 -!- sebbu2 has joined.
17:02:32 -!- sebbu has quit (Success).
18:00:47 -!- zeb has joined.
18:04:27 -!- oerjan has quit ("Supper").
18:06:33 -!- jix_ has quit (Read error: 104 (Connection reset by peer)).
18:09:40 -!- ehird`_ has joined.
18:10:08 -!- ehird`_ has quit (Client Quit).
18:12:25 -!- jix_ has joined.
18:20:20 * zeb has never used IRC before
18:25:29 <pikhq> XD
18:26:12 <zeb> (the silence deafens)
18:26:17 <pikhq> Indeed.
18:26:51 <zeb> then again, this is quite an esoteric channel
18:27:09 <pikhq> ;)
18:30:32 <SimonRC> yes
18:42:18 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
18:45:58 <zeb> so I have this brainfuck variant...
18:46:27 <zeb> just finished proving it was turing complete
18:47:12 <Eidolos> how is it different?
18:47:19 <zeb> no > or <
18:47:32 <zeb> instead, there's a * command
18:47:41 <zeb> it jumps to the nth cell
18:47:59 <zeb> also, the values stored in cells are unbounded
18:48:06 <Eidolos> neat
18:48:45 <zeb> in theory, this could be faster than bf because it allows random access
18:49:06 <zeb> so you could do things like heapsort
18:49:49 <zeb> unfortunately, adding two numbers looks like this:
18:51:34 <zeb> ,++*+*,+[+*[-]+*+*[-]*--]+*---.
18:56:52 <ehird`> ouch
18:57:13 <sp3tt> very esoteric
18:57:35 <pikhq> Near as I can tell, it'd be impossible to leave something stored in a cell and then leave that cell. . .
18:57:38 <zeb> well, you can translate from brainfuck directly into this
18:57:57 <zeb> by starting with 256 +s, then a *
18:58:11 <zeb> then replace > with [*]*+*
18:58:18 <zeb> and < with [*]*-*
18:59:07 <ehird`> try hello world with those replacements
18:59:19 <sp3tt> I want to see that :D
19:00:19 <Eidolos> [*] makes me happy
19:01:00 <Eidolos> except it could easily infinitely loop, no?
19:01:05 <Eidolos> cell 1 has 2, cell 2 has 1
19:01:11 <zeb> not if the values are less than 256
19:01:29 <zeb> and cells 1-255 are empty
19:01:42 <Eidolos> ah
19:02:31 <ehird`> zeb: make the values unsigned
19:02:37 <zeb> yes that too
19:02:38 <ehird`> then -1 = first character of program, etc
19:02:47 <zeb> wait no
19:02:50 <ehird`> you could make INSANE self-modifying code and loops with that
19:02:51 <ehird`> :D
19:02:52 <zeb> doubly infinite tape
19:02:58 <zeb> hrm
19:03:00 <zeb> maybe
19:03:19 <ehird`> so, < and > wrap, but you can use * with negative numbers being program locations
19:03:25 <ehird`> and then, of course, a positive * to get back again
19:04:14 <zeb> but, there is no > and <
19:04:22 <ehird`> err true
19:04:22 <ehird`> ok
19:04:23 <ehird`> so just
19:04:29 <ehird`> >0 * = jump in tape
19:04:40 <ehird`> <0 * = jump in program (reversed -1 = first, -2 = second, etc)
19:04:52 <ehird`> and, of course, you can modify the program as well as read it in realtime
19:04:59 <ehird`> its like self-modifying brainfuck but more crazy
19:05:16 <zeb> but wouldn't that be... evil?
19:05:27 * SimonRC has dinner.
19:06:01 <ehird`> zeb: Yes.
19:06:52 <ehird`> You could make an infinite loop by going into your own sourcecode, going to the end, then appending the whole source code to it
19:06:54 <ehird`> Exponential quine!
19:06:57 <ehird`> CODE -> CODECODE
19:07:02 <ehird`> CODECODE -> CODECODECODECODE
19:07:07 <ehird`> CODECODECODECODE -> etc
19:07:10 <ehird`> err
19:07:10 <ehird`> not quine
19:07:11 <ehird`> loop
19:07:32 <zeb> alright, someone wanted hello world?
19:07:40 <zeb> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*[*]*+*+++++++++[[*]*-*++++++++[*]*+*-][*]*-*.[*]*+*+++++++[[*]*-*++++[*]*+*-][*]*-*+.+++++++..+++.[*]*+++*++++++++[[*]*-*++++[*]*+*-][*]*-*.[*]*+++*++++++++++[[*]*-*+++++++++[*]*+*-][*]*-*---.[*]*----*.+++.------.--------.[*]*++*+.
19:07:49 <zeb> (you asked for it)
19:08:51 <zeb> that could probably be shortened quite a bit, though
19:14:45 <zeb> for the self modifying one... I just realized how evilly that could work
19:22:45 <zeb> but then [-*+] creates an error
19:23:23 <zeb> sorry, meant +[--*+]
19:24:52 <zeb> argh
19:24:53 <zeb> no
19:25:05 <zeb> it should be +[---*+]
19:32:27 <ehird`> yeah, self-modifying evil is fun
19:32:36 <ehird`> quines, for instance, are /trivial/ :)
19:32:55 <zeb> -[.-]?
19:33:04 <ehird`> so . is indirect?
19:33:09 <zeb> er oops
19:33:18 <ehird`> it prints <stuff at <value of ptr>>?
19:33:22 <zeb> -[*.**-]
19:33:38 <zeb> no, it just prints
19:33:44 <ehird`> hm
19:33:46 <ehird`> .**
19:33:59 <ehird`> won't that go to the ascii value of the current peice of code?
19:34:00 <zeb> well, characters are usually positive
19:34:05 <ehird`> ah, i get it
19:34:10 <ehird`> and yeah
19:34:12 <ehird`> that should work
19:34:49 <zeb> but it doesn't wuit when it's supposed to
19:35:30 <ehird`> ?
19:35:49 <zeb> once it passes the end of the program, what does it do?
19:38:18 <zeb> ok ok I have another esolang
19:38:27 <zeb> (it's a turing tarpit)
19:39:11 <zeb> the gimmick this time is that it is only turing complete because of the comments
19:40:40 <ehird`> zeb: what do you mean what does it do?
19:41:52 <zeb> -[*.**-] won't quit when it finishes outputting it's code. It'll keep running, and possibly raping children
19:42:30 <zeb> that was a grammatical failure. I'm sorry
19:43:35 <ehird`> so make it:
19:43:41 <ehird`> hm
19:43:43 <ehird`> well
19:44:04 <ehird`> basically
19:44:07 <ehird`> after the *
19:44:10 <zeb> OH! A DO-WHILE LOOP
19:44:18 <ehird`> if (not blah) { [-] }
19:44:21 <ehird`> or rather
19:44:29 <ehird`> if (blah) { jump stuff[-] }
19:45:04 <zeb> *.**[-*.**] works! (assuming the cells other than the code are 0)
19:45:24 <zeb> soory, stick a - in the front of that
19:47:16 <ehird`> have you implemented it yet :(
19:47:25 <ehird`> *:)
19:47:26 <zeb> um not really
19:48:06 <zeb> unless "write out what happens by hand" counts
19:49:34 <zeb> plus, I don't see how the language should handle possibly missing [s and ]s
19:49:54 <zeb> especially if it's self modifying
19:51:56 * Eidolos wants zebfuck macros
19:52:06 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
19:52:25 * zeb would rather call it brain*
19:52:29 <pikhq> We'll call it the Practical Esoteric Zebfuck-Based Language, Eh?
19:52:34 <pikhq> PEZBLE.
19:53:26 <zeb> wait, how is it practical?
19:56:20 <Eidolos> random access makes it practical :)
19:56:49 <ehird`> zeb: it should just error out
19:56:56 <ehird`> zeb: use some kind of stack+instruction-based check
19:57:18 <ehird`> so removing an ] will work fine until it reaches the end of file, probably
19:58:19 <zeb> I dunno
19:59:11 <zeb> any selfmodifying language *shouldn't* have the possibility of syntax errors
20:00:56 <Eidolos> er
20:01:25 <pikhq> Then how, might I ask, does assembly get away with having just that?
20:01:46 <zeb> well, it might, but it shouldn't
20:02:04 <zeb> it... it just feels wrong
20:02:17 <ehird`> umm.
20:02:31 <Eidolos> are there any self-modifying languages that don't have syntax errors?
20:02:34 <ehird`> the only language without syntax errors will invariably be a forthoid
20:02:41 <ehird`> forth can self-modify. i think
20:02:49 <zeb> well
20:03:00 <zeb> we could just remove [ and ] from our instruction set
20:03:03 <ehird`> no
20:03:12 <zeb> maybe selfmodifyingness can save us?
20:03:22 <ehird`> maybe, but it's stupid
20:03:27 <ehird`> just let syntax errors happen when they happen
20:03:33 <ehird`> self-modifying is evil in the first place.
20:06:48 <zeb> I guess I can live with that... but only as a temporary solution
20:07:07 <zeb> how about this:
20:07:18 <zeb> if a [ doesn't have a matching ], ignore it
20:07:29 <zeb> same for ]
20:07:43 <zeb> no syntax errors!
20:09:22 <ehird`> :/
20:09:23 <ehird`> no
20:09:26 <ehird`> that will break a lot of hacks
20:10:26 <zeb> ooh
20:11:29 <ehird`> basically, keep a stack of loops
20:11:33 <ehird`> do a check each instruction
20:11:43 <ehird`> if you get to the end of the file, and the stack isn't empty, error out
20:11:50 <ehird`> if you try to pop from the stack and it's empty, error out
20:11:57 <ehird`> simple, and allows lots of leeway
20:20:32 <zeb> +*++++++[+**--- -----*[ -]+*--] *[**-*, ] ought to read a program and then execute it
20:21:32 <zeb> maybe... it probably needs to be tweaked
20:23:23 <ehird`> that'll interfere
20:23:31 <ehird`> minus numbers won't be the program itself, for example, in it
20:23:36 <ehird`> a self-interpreter for this would be... hard
20:24:04 <zeb> that's what the spaces are for
20:26:09 <zeb> wait how will it interfere? the input gets entered after the end of the program
20:26:58 <ehird`> oh
20:27:00 <ehird`> then cool
20:27:17 <ehird`> so you can run a quine in it?
20:27:25 <ehird`> wouldn't requests to -1 go to the source code of that interpreter?
20:28:00 <zeb> you want it to still work even with self-modifying input code?!
20:30:31 <zeb> oh, another point about self-modifyingness: should the program be terminated by an EOF?
20:30:53 <zeb> I say yes
20:32:08 <ehird`> ummmmmmm, what
20:32:11 <ehird`> there is no "EOF"
20:32:15 <ehird`> there is no EOF character
20:32:30 <zeb> um -1 then
20:33:19 <zeb> because otherwise the interpreter might go interpreting 0s on forever
20:40:30 <ehird`> no
20:40:35 <ehird`> interpret 0 = byebye
20:40:41 <ehird`> and you can't have -1 in a file..
20:40:52 <zeb> that works just as well
20:41:59 <zeb> but now my program above no longer works :(
21:05:27 -!- RedDak has joined.
21:29:24 -!- pikhq has quit ("Rebooting for kernel update.").
21:34:15 -!- pikhq has joined.
21:40:27 <zeb> hmm, I guess what I meant is that after the end of a source file, the next memory cell should contain -1
21:42:27 -!- kwertii has joined.
21:46:08 -!- kwertii has quit (Client Quit).
21:46:21 -!- kwertii has joined.
21:50:58 -!- jix_ has quit ("CommandQ").
22:08:21 -!- oerjan has joined.
22:47:55 -!- sebbu2 has quit ("@+").
23:28:32 -!- RedDak has quit (Remote closed the connection).
23:54:51 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
←2007-08-29 2007-08-30 2007-08-31→ ↑2007 ↑all