00:01:22 <oklopol> CakeProphet: it's possible if the language is reversible.
00:09:21 -!- GregorR has joined.
00:11:28 -!- tritonio__ has quit (Remote closed the connection).
00:13:04 <CakeProphet> GregorR, it is it "gregor er" or "Gregor arr"
00:13:26 <GregorR> ... R is the initial of my surname, it's Gregor R.
00:13:48 <GregorR> So, "Gregor arr" ... sort of.
00:13:58 <GregorR> Then it wouldn't be capitalized :P
00:14:28 <CakeProphet> psh, I only care about capitalization when I'm programming.
00:17:55 <GregorR> And yet you're correctly capitalizing 'I' :P
00:24:43 -!- CakeProphet has quit (Remote closed the connection).
00:37:47 -!- GregorR has quit ("Leaving").
00:38:05 -!- Corun has quit ("This computer has gone to sleep").
00:41:35 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | well then you would have made a super-turing machine, obviously :).
00:55:13 -!- twistle has joined.
00:56:25 <twistle> I just invented an esoteric language.
00:56:59 <twistle> It's called TRUE(a reference to FALSE), and I'd like someone to clean up the wiki page for me
00:57:39 <twistle> Also, whatcha think of it?
01:17:06 <dogface> Just what do "add 'n pop" and such do?
01:18:01 <dogface> Also, it doesn't look Turing-complete, as the only storage you have is a stack; I think using a queue instead of a stack would make it both Turing-complete and harder to use. :-)
01:27:31 -!- Sgeo has joined.
01:38:12 -!- jix has quit ("This computer has gone to sleep").
01:38:41 <twistle> add the two values on top of the stack, pop them, then push the result on
01:40:00 <twistle> the stack goes from 1 2 to 3
01:40:33 <psygnisfive> pops the top two values from the stack, adds them together, and then pushes the sum back onto the stack.
01:41:14 <psygnisfive> it doesnt add the two values then pop them
01:41:45 <psygnisfive> besides, why call it and and pop at all, why not just add?
01:43:09 <dogface> And what do rb and ra. do, exactly?
01:43:24 <dogface> "Subtract two numbers and tell me the result" is ambiguous.
01:50:50 <twistle> I added a hello world, by the way
01:54:36 <dogface> I think rb is b-a and ra. is b/a, or the other way around.
01:54:46 <dogface> Where b is the top element on the stack and a is under it.
01:55:12 <psygnisfive> then why not called them sub and div, respectively
01:56:57 <dogface> Because it's esoteric. :-)
01:58:25 <psygnisfive> someone should make a Fauxeteric language maker that will take a random normal language and assign random names and symbols to built in function names and keywords
01:58:35 <twistle> No, it has the Tan Rabbi Up Eckhebber format, because it's simple, and yet esoteric. :)
02:00:32 <twistle> You, sir, have just had what we folks call an "esopiphany"
02:01:08 <twistle> You sir..............................
02:01:37 * twistle becomes suddenly interested in his shoelaces
02:02:51 <twistle> BTW, Did anyone notice in the "documentation" goto go_collect200dollars?
02:03:14 <twistle> Originally it was going to be goto jail
02:03:53 <twistle> There's a nice ring to tntntntntntntntntnup.Hello world!u.pup
02:09:15 <twistle> Well, I'm off to the land of oz...I mean zig...
02:10:23 <twistle> Anyone is free to change the wiki page and morph TRUE into a completely different language
02:10:44 -!- twistle has quit ("sleeping. zzzzz...").
02:21:54 -!- CakeProphet has joined.
02:42:26 -!- CakeProphet_ has joined.
02:51:07 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
03:43:48 -!- CakeProphet_ has quit (Read error: 110 (Connection timed out)).
03:44:17 -!- CakeProphet_ has joined.
03:44:22 -!- CakeProphet_ has changed nick to CakeProphet.
04:15:27 <CakeProphet> GCC extends the C language with a unary && operator that returns the address of a label. This address can be stored in a void* variable type and may be used later in a goto instruction. For example, the following prints "hi " in an infinite loop:
04:20:09 <CakeProphet> (I'm sure if I were familiar with assembly I'd love its low-levelness more)
04:23:41 <CakeProphet> something that occupies the same niche, but it is actually a "better" language.
04:38:41 <dogface> Is a language considered low-level if and only if the most obvious way to compile it is also the most efficient?
04:40:13 <psygnisfive> for instance, a lot of people would say that Java is low level compared to Lisp.
04:41:29 <dogface> Is there a point where a language is too high-level to be considered a programming language rather than a description language?
04:42:27 <dogface> HTML doesn't describe the behavior of a program.
04:42:41 <CakeProphet> I thought by "description language" you meant
04:43:57 <CakeProphet> From what I understand, I believe low-level means that the data structures and operators are in some way or another closely tied to their implementation in hardware.
05:35:15 <psygnisfive> dogface: do you mean description language as in
05:35:27 <psygnisfive> some language in which you define a problem, not an algorithm?
05:35:46 <psygnisfive> because if so, that sounds a lot like logic and constraint programming.
05:36:21 <psygnisfive> well those are just different programming paradigms
05:36:25 <dogface> Time for me to go to bed. Good night.
05:36:42 <dogface> I haven't seen it taken as far as I'm taking it.
05:36:59 <dogface> Though it's likely Z-notation is exactly what I'm after.
05:37:18 <dogface> Well, ideally, it'll be perfectly easy to translate ZFC into this language.
05:37:41 * dogface begins catching (yes, ZFC) his Zs
05:38:50 <psygnisfive> im not sure how it would, but i think it can
05:39:29 <psygnisfive> maybe. prolog is all based around horn clauses, so the notation will be kind of less standard than, say, normal first order logic, etc.
06:05:07 -!- CakeProphet_ has joined.
06:22:54 -!- Sgeo has quit ("Ex-Chat").
06:25:41 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
06:29:57 -!- GreaseMonkey has joined.
06:41:35 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | 'python netpong.py thathostname' => clien.
06:58:12 -!- CakeProphet_ has quit (Read error: 110 (Connection timed out)).
06:58:20 -!- CakeProphet_ has joined.
06:58:27 -!- CakeProphet_ has changed nick to CakeProphet.
07:46:38 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc
07:47:20 -!- puzzlet_ has quit (Remote closed the connection).
07:47:24 -!- puzzlet has joined.
07:47:59 <fungot> Uryyb Jbeyq!.. ...out of time!
07:54:22 <fizzie> Well, it's a completely unoptimized ~12x70-character brainfuck interpreter that's running in a befunge interpreter. Cut it some slack.
07:55:24 <fizzie> It will probably be an order of magnitude faster once I get the "compiles bf to bytecode and combines consecutive +-<>" version done.
07:59:40 -!- Judofyr has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:25 -!- asiekierka has joined.
08:01:50 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc
08:01:54 -!- KingOfKarlsruhe has joined.
08:02:14 <fizzie> It will run out of time.
08:02:34 <asiekierka> also, any ideas what caused the problem(s)?
08:03:40 <fizzie> No clear bugs that I know of. It has the "zero on eof" behaviour which is perhaps not that common, and is slow as molasses, but those are more like features.
08:04:09 <asiekierka> the zero on eof is not a bug, but a feature, for sure
08:04:17 <asiekierka> Because it's really easy to use 0 on eof, actually
08:05:05 <fizzie> I'm going to replace the current unoptimized interpreter with one that compiles the brainfuck first to bytecode (combining runs of +-<>) and interprets that. It will probably be quite a bit faster.
08:05:24 <asiekierka> By bytecode, do you mean befungecode or executable?
08:05:46 <fizzie> Just a string of fungespace values, just easier to interpret.
08:06:34 <asiekierka> BFirc (latest revision) outputs a #13#10 after every message
08:06:54 <asiekierka> Thanks to it, Taking Over The World... works. :P
08:11:19 <asiekierka> I wonder how to make a BF ircbot that's good.
08:11:44 <asiekierka> BFirc basically inputs from a buffer and outputs to a buffer
08:11:59 <asiekierka> if #10 is output, it copies whatever's in the buffer as an irc message
08:12:42 <asiekierka> And who the heck uses #13 only should be thrown to the depths of hell. Twice.
08:15:32 <fungot> .............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ ...
08:17:00 <puzzlet> when would it is interrupted?
08:20:12 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc
08:22:39 <puzzlet> ^rot13 abcdefghijklmnopqrstuv
08:23:01 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc
08:23:23 <fungot> abcdefghijklmnopqrstuv
08:24:02 <asiekierka> ^bfcmd rot13 +[,+[-[>+>+<<-]>[<+>-]+>>++++++++[<-------->-]<-[<[-]>>>+[<+<+>>-]<[>+<-]<[<++>
08:24:03 <asiekierka> >>+[<+<->>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<[>>+>+<<<-]>>[<<+>>-]>>++++++++[<-------
08:24:03 <asiekierka> ->-]<->>++++[<++++++++>-]<-<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<<<<+>>>>++++[<++++++++
08:24:03 <asiekierka> >-]>-]<<-<-]>[<<<<[-]>>>>[<<<<->>>>-]]<<++++[<<++++++++>>-]<<-[>>+>+<<<-]>>[<<+
08:24:59 <puzzlet> ^bfcmd rot13 +[,+[-[>+>+<<-]>[<+>-]+>>++++++++[<-------->-]<-[<[-]>>>+[<+<+>>-]<[>+<-]<[<++>>>+[<+<->>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<[>>+>+<<<-]>>[<<+>>-]>>++++++++[<-------->-]<->>++++[<++++++++>-]<-<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<<<<+>>>>++++[<++++++++>-]>-]<<-<-]>[<<<<[-]>>>>[<<<<->>>>-]]<<++++[<<++++++++>>-]<<-[>>+>+<<<-]>>[<<+
08:25:00 <asiekierka> ^bfcmd rot13 +[,+[-[>+>+<<-]>[<+>-]+>>++++++++[<-------->-]<-[<[-]>>>+[<+<+>>-]<[>+<-]<[<++>>>+[<+<->>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<[>>+>+<<<-]>>[<<+>>-]>>++++++++[<-------->-]<->>++++[<++++++++>-]<-<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<<<<+>>>>++++[<++++++++>-]>-]<<-<-]>[<<<<[-]>>>>[<<<<->>>>-]]<<++++[<<++++++++>>-]<<-[>>+>+<<<-]>>[<<+>>-]+>>+++++[<-
08:25:16 <asiekierka> ^bfcmd rot13 +[,+[-[>+>+<<-]>[<+>-]+>>++++++++[<-------->-]<-[<[-]>>>+[<+<+>>-]<[>+<-]<[<++>>>+[<+<->>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<[>>+>+<<<-]>>[<<+>>-]>>++++++++[<-------->-]<->>++++[<++++++++>-]<-<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<<<<+>>>>++++[<++++++++>-]>-]<<-<-]>[<<<<[-]>>>>[<<<<->>>>-]]<<++++[<<++++++++>>-]<<-[>>+>+<<<-]>>[<<+>>-]+>>+++++[<-
08:25:19 <asiekierka> ^bfadd rot13 ---->-]<-[<[-]>>>+[<+<->>-]<[>+<-]<[<++>>>+[<+<+>>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<<[>>+>+<<<-]>>[<<+>>-]+>------------[<[-]>>>+[<+<->>-]<[>+<-]<[<++>>>+[<+<+>>-]<[>+<-]]>[<]<]>>[-]<<<<<------------->>[[-]+++++[<<+++++>>-]<<+>>]<[>++++[<<++++++++>>-]<-]>]<[-]++++++++[<++++++++>-]<+>]<.[-]+>>+<]>[[-]<]<]
08:26:38 <fungot> nopqrstuvwxyza ...out of time!
08:26:38 <fungot> +[,+[-[>+>+<<-]>[<+>-]+>>++++++++[<-------->-]<-[<[-]>>>+[<+<+>>-]<[>+<-]<[<++>>>+[<+<->>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<[>>+>+<<<-]>>[<<+>>-]>>++++++++[<-------->-]<->>++++[<++++++++>-]<-<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<<<<+>>>>++++[<++++++++>-]>-]<<-<-]>[<<<<[-]>>>>[<<<<->>>>-]]<<++++[<<++++++++>>-]<<-[>>+>+<<<-]>>[<<+>>-]+>>+++++[<----->-]<-[<[-]>>>+[<+<->>-]<[>+<-]<[<++>>>+[<+<+>>-]<[>+<-]]>[<]<]>>[-]<<<[[-]<<[>>+>+<<<-]>>[<<+>>-]+>------------[<[-]>>>+[<+<->
08:27:00 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc funkecho
08:27:27 <asiekierka> ^funkecho Get it now? ^bfcmd and ^bfadd are so useful on irc.
08:27:27 <fungot> eG ttin wo ?b^cfdma dn^ fbda dra eosu esuf lnoi cr..
08:28:03 <asiekierka> ^funkecho eG ttin wo ?b^cfdma dn^ fbda dra eosu esuf lnoi cr..
08:28:03 <fungot> Get it now? ^bfcmd and ^bfadd are so useful on irc..
08:29:02 <fungot> >,[>,]<[<]>[.>]<[<]++++++++++++++++++++++++++++++++.>[.>]
08:29:14 <asiekierka> ^partialecho testestestestestestestestestestestest
08:29:15 <fungot> testestestestestestestestestestestest testestestestestestestestestestestest
08:29:40 <fizzie> Yes, I just used partialecho for testing the multi-segment program thing.
08:30:35 <puzzlet> ^bfcmd echo >,[>,]<[<]>[.>]<[<]++++++++++++++++++++++++++++++++.>[.>]
08:31:28 <asiekierka> ^bfcmd kill ++++++++[>++++>+++++++++<<-]>>+++.--.+++..<.>>,[.,]<<+.
08:31:36 <optbot> asiekierka: i'm not actually sure whether you can just do infix alone with my current implementation... would be kinda sucky if you couldn't :P
08:31:37 <optbot> fungot: don't look at me i didn't do it
08:32:21 <fungot> KILL THE MAN! YEAH, KILL THE MAN!
08:32:38 <asiekierka> Another pointlesssssssssssssssssss commandddd.d.d.dddd.dd Added.
08:32:52 <optbot> fungot: hard to say, youngest from the active ones.
08:33:20 <asiekierka> ^kill OPTBOT. Yeah, optbot. Hide from the nuclear bombsssssssssss
08:33:20 <optbot> asiekierka: I think I continue more than I break
08:33:21 <fungot> KILL OPTBOT. Yeah, optbot. Hide from the nuclear bombsssssssssss!
08:33:21 <optbot> fungot: I think I got the BF indenter working
08:33:31 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
08:33:51 -!- jemarch has joined.
08:34:32 <KingOfKarlsruhe> ^bf +++++[->+++++++++++++++<]>.[-]<+++[->++++++++++++++++++++++++<]>+.[-]<++++++[->++++++++++++<]>++++.[-]<++++++[->++++++++++++<]>++++.[-]<++[->++++++++++++++++<]>.[-]<+++++++++[->++++++++<]>+++++++.[-]<++++[->++<]>[->++++++++++<]>.[-]<++++[->+++++++++++++++++++++<]>.[-]<++++++[->+++++++++++<]>.[-]<+++++++++[->++++++++<]>+++++++.[-]<++++[->+++++++++++++++++++++<]>.[-]<+[->++++++++++<]>.
08:36:20 <asiekierka> ^bfcmd test1 ++++++++[>++++++>++++++++++++++>++++++++++++<<<-]>-.>.>+.<++.++.
08:36:40 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc funkecho kill rev test1
08:37:00 <fizzie> There's no command-deletion as of yet. But you can always reuse command names by redefining them.
08:37:18 <fungot> Registered: reverb echo partialecho rot13 bfself dvorak bertram wc funkecho kill rev test1 bfcmd
08:37:29 <fizzie> It will apply built-in commands first.
08:38:00 -!- CakeProphet has quit (Remote closed the connection).
08:38:05 <fizzie> There have been quite a lot of bugs. And ! is handled pretty unintuitively in macros.
08:38:08 -!- puzzlet_ has joined.
08:38:15 -!- puzzlet has quit (Remote closed the connection).
08:38:19 <fizzie> ^bfcmd test1 ,[.,]!foo
08:38:59 <asiekierka> Should i get to making my Brainf**k IRCbot?
08:42:21 <asiekierka> I wonder what's the easiest way to do a check whether a character is equal... to something.
08:47:14 <asiekierka> Oh my god, wha----WHY I thought of this BFirc thing?
08:48:21 <Deewiant> in brainfuck? subtract 96 from it and check if it's zero
08:48:42 <asiekierka> I thought of using a flag to overcome some stuff.
08:58:17 -!- Slereah_ has joined.
09:17:36 <Slereah_> You sound like an electric line.
09:19:46 -!- puzzlet has joined.
09:20:07 <asiekierka> I wonder how to do a [ ] if the current cell is 0\
09:20:47 <asiekierka> I must check if cell2 is nonzero, if it is, zero cell4.
09:21:06 <asiekierka> Then, in both nonzero and zero cases, it should point at cell4
09:29:12 <asiekierka> ^bfcmd rot13 ,+[-->++++[>++++++++<-]<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>--[-[>
09:29:13 <asiekierka> -<[-]]]>+[-<+++++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>[-]+>[<--
09:29:13 <asiekierka> >-[<+>-]]<[<<<<+++++++++++++>>>>-]]<<[-]<<+.[-]<,+]
09:29:21 <asiekierka> ^bfadd rot13 -<[-]]]>+[-<+++++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>[-]+>[<--
09:29:26 <asiekierka> ^bfadd rot13 >-[<+>-]]<[<<<<+++++++++++++>>>>-]]<<[-]<<+.[-]<,+]
09:29:38 <asiekierka> ^rot13 i hope this works faster, actually
09:30:27 <asiekierka> ^bfcmd bubblesort >>>>>,+[>>>,+]<<<[<<<[>>>[-<<<-<+>[>]>>]<<<[<]>>[>>>+<<<-]<[>+>>>+<<<<-]<<]>>>[-.[-]]>>>[>>>]<<<]
09:30:53 <fungot> v ubcr guvf jbexf snfgre, npghnyyl............................................................................................................................... ...out of time!
09:31:33 <asiekierka> yes, it does do more, but the dots, the DOTS
09:31:38 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
09:32:14 <Slereah_> What does "asiekierkabuhh" mean
10:24:04 <asiekierka> >_______________________________________<
10:24:56 <asiekierka> <""""""""""""""""""""""""""""""""""""""">
10:25:42 <fizzie> It's still the good old interpreter, I haven't even reloaded yet, and the user commands need to be done.
10:43:27 -!- GreaseMonkey has quit ("Jesus loves you").
10:46:39 -!- Tritonio_ has joined.
11:22:13 -!- fungot has quit (Read error: 131 (Connection reset by peer)).
11:25:58 -!- asiekierka has quit (Read error: 60 (Operation timed out)).
11:27:26 -!- oerjan has joined.
12:00:45 -!- LinuS has joined.
12:19:24 -!- Sgeo has joined.
12:20:51 -!- oerjan has quit ("leaving").
12:31:05 -!- fungot has joined.
12:32:01 <fizzie> Well, according to fib.b, the new interpreter seems to be at least a bit faster than the previous one. But currently fungot has only ^bf, not the command-definition things, since I haven't reimplemented those yet.
12:32:06 <fizzie> ^bf >++++++++++>+>+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[[-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>]<<<]
12:32:08 <fungot> 0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459e ...
12:41:35 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | eggs with chipotle sauce.
13:08:36 <oklopol> asiekierka: Especially w/o a {} (whilezero) loop <<< you can substitute { and } for short pieces of bf code to do a whilezero loop just before running
13:08:55 <oklopol> substitute substitute's params there with each other
13:38:14 -!- sebbu2 has quit (Read error: 113 (No route to host)).
14:08:55 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
14:51:06 <optbot> KingOfKarlsruhe: By some guy, I mean NASA
14:51:20 <optbot> KingOfKarlsruhe: MISC VM?
14:51:26 <optbot> KingOfKarlsruhe: hehehe... I see wierd though. I never knew someone wrote Hello World in Wierd.
14:51:42 <optbot> KingOfKarlsruhe: note that it must not read/write the shell std streams
14:53:49 -!- jix has joined.
15:40:32 -!- dogface has quit (Read error: 110 (Connection timed out)).
15:45:25 -!- twistle has joined.
15:48:09 <twistle> how would you go about making a non-bootstrapping bf quine
15:49:31 <twistle> A BF program which prints its own source,
15:49:40 <twistle> and does not require any input
15:50:02 <oklopol> err so no-bootstrapping meant nothing
15:50:11 <oklopol> i can explain the common method
15:51:37 <oklopol> basically, the idea is, we create a piece of code that takes *encoded* program source as "argument", in bf's case it's on the tape when this program is run. it then prints this encoded source as bf code generating that data, then prints the source the encoded source represents
15:51:44 <oklopol> now, we take this program, and we encode it
15:51:53 -!- MikeRiley has joined.
15:51:58 <oklopol> we then take the encoded source, and the actual source, and we concatenate them.
15:52:24 <oklopol> does this do you any good? i can do it with examples, in case you need something more concrete
15:52:28 <oklopol> MikeRiley isn't a stranger
15:52:32 <oklopol> more of a regular nowadays
15:52:38 <oklopol> befunge-98's creator, afaik
15:52:57 <MikeRiley> or at least trying to be a regular!! eheheheh
15:53:37 <oklopol> well you have such distinguishing mannerisms you are quite easy to spot, which makes you feel regular quite fast :)
15:54:35 <oklopol> seriously its creator, yes, and also seriously that is your quine
15:54:37 <MikeRiley> yeah,,,i never can hide from people...change names and people still know who i am!!! eheheheh
15:56:19 <twistle> Can you give an annotated example?(Of a BF quine?)
15:56:37 <Deewiant> oklopol: not the creator of the language, of the first interpreter though
15:56:48 -!- sebbu has joined.
15:57:25 <oklopol> Deewiant: i see. thought both the language and the interp
15:57:41 <oklopol> twistle: sure, there was one around
15:57:43 <Deewiant> chris pressey made the language
15:58:09 <Deewiant> he's of the opinion that it was a joint effort of the mailing list at the time
15:59:09 <oklopol> http://esoteric.sange.fi/brainfuck/bf-source/quine/quine410_with_comments.b
15:59:23 <oklopol> oh, right, i've heard that name
15:59:31 <oklopol> but i prolly thought he was just 93
16:00:50 <twistle> I wish there was automated utility that would go through a wiki page and change 'push' to 'enqueue' and 'pop' to 'dequeue'
16:01:59 -!- dogface has joined.
16:03:57 <twistle> I was the lsat preosn to eidt the wkii lsat nghit!
16:04:23 <dogface> Why are you tklanig lkie tihs?
16:05:16 * dogface adiovs lnog wdors so as to not hvae to keep tcrak of it all
16:06:38 <twistle> bceuase I jsut fnuod out taht as lnog as you keep the frist and lsat ltetrers of a wrod in palce, you wlil sitll be albe to udnertsand it!
16:06:58 <MikeRiley> i read that somewhere,,,found it quite amazing
16:07:17 <oklopol> i've heard that so many times i don't belive anyone hasn't
16:07:55 <dogface> I've heard it so many times that I've heard it's actually not true.
16:11:07 -!- Slereah has joined.
16:11:07 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:11:53 <dogface> I did an experiment, though. I took one of those "Aoccdrnig to rscheearch at Cmabrigde uinervtisy" texts and reversed the order of the consonants and vowels, to get something like "Ainrdccog to rcrhaaecsh at Cdigrabme uisetvriny".
16:12:12 <dogface> I then showed the result to a cute female classmate. She said, "Ooh, I love these!"
16:12:31 <dogface> She found it more difficult than usual.
16:13:18 <twistle> On a completely different note, what's your favorite text-editor
16:14:17 <Deewiant> if you put a lot of vowels together it's usually fairly impossible to understand
16:15:39 <Deewiant> and also, the legibility depends on the language
16:16:00 <twistle> What's your favorite one with syntax coloring?
16:18:03 <twistle> I like vim too, but what's your favorite GUI text editor?
16:18:37 <Deewiant> I usually use it in GUI mode anyway
16:18:44 -!- asiekierka has joined.
16:19:14 <asiekierka> how to execute a piece of code if x == (somevaluehere) in BF
16:19:26 <asiekierka> then my IRCbot will be working, actually
16:20:00 <twistle> Or look at the page on the wiki 'BF algorithms'
16:20:39 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
16:20:47 -!- Slereah_ has joined.
16:20:48 <oklopol> asiekierka: just set a flag if it's true, negate the flag and check for zero
16:21:01 <oklopol> and i explained it to you a few days ago
16:21:29 <asiekierka> but, negate the flag? No negative values here
16:21:40 <oklopol> what do you mean no negative values?
16:21:58 <oklopol> for all intents and purposes
16:23:47 -!- Slereah has joined.
16:23:47 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:32:28 -!- Slereah_ has joined.
16:32:28 -!- Slereah has quit (Read error: 54 (Connection reset by peer)).
16:35:00 <asiekierka> Now i must do a detection for 3 variables
16:36:36 <asiekierka> So i don't need to copy a piece of code every time
16:37:06 <Deewiant> just write a perl script or some such that does that
16:38:04 <asiekierka> I will not break my BF experience! At all!
16:40:21 -!- Slereah has joined.
16:40:21 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:40:36 <oklopol> asiekierka: there are languages that compile to bf
16:41:09 <oklopol> but yeah, you can just have macros and always before running just substitute the correct code
16:41:42 <asiekierka> Nope, that's cheating. I said i'm going to make a BF ircbot.
16:42:08 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | actually I think that makes it worse.
16:42:19 <optbot> Deewiant: http://rafb.net/p/ubHcrP65.html Have fun!
16:42:42 <asiekierka> because it's really what the name of BF was made for.
16:43:58 <asiekierka> I already made a piece checking for the right header
16:44:08 <asiekierka> As BFirc (hopefully) appends a #13#10 after every message
16:45:01 <oklopol> optbot: that wasn't a very fun page!
16:45:02 <optbot> oklopol: okay. I guess it'll be set in stone now then.
16:45:20 <oklopol> optbot: yes, that's what happens to bad little pages.
16:45:20 <optbot> oklopol: except the parentheses are not quite right
16:45:30 <oklopol> optbot: there are no parens.
16:45:31 <optbot> oklopol: don't bother with them, the last one will wreck your life
16:45:41 <oklopol> optbot: i didn't say i was gonna add any.
16:45:50 <optbot> Deewiant: note that [[Savant]] is essentially nothing more than a redirect to [[Autistic savant]]
16:45:57 <optbot> Deewiant: yes, you haven't supplied yours yet :)
16:46:08 <oklopol> yeah, Deewiant, what is yours!
16:48:30 -!- Mony has quit ("À vaincre sans péril on triomphe sans gloire...").
16:49:28 -!- ais523 has joined.
16:51:29 <optbot> Deewiant: List is a type taking one argument
16:52:14 <twistle> Is there any category on the wiki for esolangs which compile into esolangs?(a la FRAK)
16:52:20 <oklopol> fizzie: tell me what is going on when you have the time
16:52:45 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
16:52:46 -!- Slereah_ has joined.
16:53:11 <oklopol> languages on the left and the top
16:53:23 <oklopol> and x's where there's a compiler from leftie to toppie
16:53:39 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
16:53:42 -!- ais523 has joined.
16:54:07 <ais523> twistle: http://esolangs.org/wiki/EsoInterpreters IIRC
16:55:32 <twistle> ais523: that isn't what I meant
16:55:46 <ais523> although it can at least be mentioned there
16:55:54 <twistle> Not one language written in another,
16:55:54 <ais523> apart from that, there isn't a cat for that I don't think
16:56:05 <twistle> One language compiled into another.
16:56:07 <ais523> twistle: EsoInterpreters includes compilers too IIRC
16:56:36 <Slereah_> They even include some strange stuff
16:56:50 <Slereah_> Like the UTM interpreter on BF, that's actually a tag system, IIRC
16:57:38 <ais523> but the universal turing machine interprets tag systems
16:57:47 <ais523> at least, the original one does
16:57:59 <ais523> so arguably it's an implementation of the UTM in BF
16:58:07 <ais523> just with different code
16:58:50 <Slereah_> Tag systems never struck me as similar to turing machines
16:59:24 <ais523> Slereah_: no, but they're both TC
16:59:30 <ais523> the point is that you can compile any turing machine into a tag system
16:59:39 <ais523> thus a turing machine that can interpret tag systems is a UTM
16:59:51 <Slereah_> ais523 : But then, all those languages are TC
17:00:03 <Slereah_> That doesn't mean that we can just put crosses everywhere
17:00:05 <asiekierka> Yay, hopefully i found out what's wrong
17:00:06 <ais523> but that's not the point I'm getting at
17:00:29 <ais523> I'm simply making a historical observation, which is that the first UTM interpreted tag systems
17:00:57 <Slereah_> You mean the "On computable number" one?
17:01:20 <ais523> the first published, I'm not sure which paper it was in, quite possibly that one
17:01:44 <Slereah_> I only remember a few programs in it, most notably the universal Turing machine
17:03:14 <twistle> Does anybody know of an esoteric language which looks like /d..s/./a..f/.s///s././f/s/g?
17:03:54 <ais523> twistle: Thutu looks a bit like that too, although /// looks like it more
17:04:01 <Slereah_> http://esolangs.org/wiki/Slashes
17:04:03 -!- MikeRiley has quit ("Leaving").
17:04:08 <ais523> except Thutu has significant whitespace the same way as Python
17:05:28 -!- ais523 has quit (Remote closed the connection).
17:06:04 -!- ais523 has joined.
17:06:32 <ais523> ugh, I have connection problems
17:06:48 <ais523> Thutu uses dots quite a bit because it's regex-based
17:07:04 <ais523> and no reason you can't use . in ///, most /// programs only use a few characters to make them easier to write
17:09:21 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:10:26 <dogface> /d..s/./a..f/.s///s././f/s/g, eh? In ///, /d..s/./ ends up being a nop, then it outputs a..f, then /.s// is a nop, then /s././ is a nop, then f is output, then it halts.
17:10:32 <dogface> Kind of a boring /// program, then.
17:10:44 <ais523> dogface: interesting /// programs are very hard to write
17:10:59 <ais523> I tried for a week and ended up believing that it was possible but that I couldn't do it in a reasonable length of time
17:11:10 <dogface> I don't think I've ever seen a non-trivial /// quine. Have you?
17:11:18 <ais523> no, that's what I was trying to write
17:11:27 <ais523> at least, I was trying to write an infinite loop
17:11:31 <dogface> Someone prove it Turing-complete already!
17:11:33 <ais523> which is very similar to writing a quine in ///
17:11:42 -!- Slereah has joined.
17:11:59 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:11:59 <ais523> I'm convinced it's possible, though; it's just my program was buggy and I couldn't find the bugs
17:11:59 <twistle> I like my own itflabtijtslwi,
17:12:16 <twistle> which is basically /// with input
17:12:50 <ais523> twistle: that would be an absolute nightmare to use unless you could control stdin somehow
17:14:46 <dogface> I'd kind of prefer something like /foo/./ meaning replace foo with one character of input, then having . escaped just like any other character.
17:15:04 <dogface> I don't suppose anyone's considered that /// might not be Turing-complete. :-)
17:15:15 <ais523> twistle: you have to allow for every possible character that might come in on stding
17:15:31 <ais523> dogface: I did consider that, but I'm pretty sure it is TC, just a nightmare to program in
17:15:53 <ais523> asiekierka: why? it's one of the easiest esolangs around
17:15:58 <twistle> GGkodvaGG in itflabtijslwi means "replace kodva with one charactr of input'
17:16:36 <dogface> How do you output GGkodvaGG, then?
17:16:55 <ais523> dogface: presumably by outputting the Gs one at a time
17:17:15 <dogface> I guess you can \GGkodvaGG or something.
17:17:35 -!- Slereah_ has joined.
17:17:37 <dogface> Yay, I can has cheezburger.
17:18:39 <asiekierka> And it only has a command to output a single character. Lawl.
17:19:05 <ais523> dogface: G/#comment#//GkodvaGG
17:21:21 <oklopol> twistle: what's it supposed to do?
17:21:29 <oklopol> it does nothing sensible really
17:22:55 <oklopol> loops ( print character in current cell, ask two characters, put the first character - 2 in the current cell, store the other one + 3 in another cell ) when a \x2 is given as input, it ends
17:23:09 <oklopol> just that does absolutely nothing
17:23:19 <oklopol> you need to have a nonzero initial value
17:23:38 <oklopol> as can ,+++ really, unless it's used for something later
17:23:51 <dogface> "In mathematics you don't understand things. You just get used to them." -Johann von Neumann
17:24:01 -!- fungot has quit (Read error: 131 (Connection reset by peer)).
17:24:24 <ais523> twistle: that code does nothing on its own because it's nothing but header comments
17:24:26 <twistle> Ok, ++++++[.,>>>>,+++<<<<--]
17:24:51 <oklopol> i dislike neumann somewhat, from what i've read he basically just commercialized turing's ideas
17:25:12 <dogface> Output, input, go there, input, add three, go back, subtract two, repeat until you've input character number 2.
17:25:22 <ais523> twistle: outputs /x6, then outputs every second character from stdin with 2 subtracted from its ascii code until you enter /x2
17:25:32 <ais523> it also updates cell 4 uselessly
17:25:47 <twistle> INFINITELOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOPLOOP
17:28:03 <twistle> /infiniteloop/infinitelooploop/
17:31:08 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
17:31:27 -!- asiekierka has joined.
17:31:44 <asiekierka> http://asiekierka.boot-land.net/bfirc_bot.zip - BFirc+my test script+bf filter thing+irclib for python
17:32:00 <asiekierka> Maybe you'll figure out what's wrongie wrong
17:32:42 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
17:33:54 -!- Slereah has quit (Read error: 110 (Connection timed out)).
17:35:07 <asiekierka> Anyone has a looping mechanism that jumps to the cell that is 1?
17:35:39 <ais523> twistle: calculates 5*2*5 (which is 50), then outputs it
17:36:41 <ais523> you generally need to rely on having some working space
17:36:48 <ais523> as in, knowing every other cell's blank
17:37:08 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
17:37:10 <ais523> you can make some yourself but then the rest of the program has to be designed around it
17:37:39 <ais523> generally in BF you should plan which cells you're using as working space beforehand, it saves time in the long run
17:37:54 <asiekierka> I could basically add the moving parts in the loops
17:38:56 <twistle> I'd say a sloppy solution would be [code]<[code]<[code]
17:38:57 <pikhq> Or at the *very* least write down the cells you're using as you work on things.
17:40:05 <ais523> twistle: if the current cell is nonzero, go left and run [code]
17:40:18 <ais523> it's an if not a while because once the inner loop exits the outer loop necessarily exits
17:41:11 <asiekierka> With basically adding right < amounts in right places
17:43:02 <asiekierka> ASIEBOT TEST 2 - #esoteric-blah exclusive
17:47:23 <asiekierka> I think i must write my own interp for this.
18:05:26 -!- Slereah_ has joined.
18:05:49 <Slereah_> http://membres.lycos.fr/bewulf/Divers5/greu.jpg <- this is my unhappy face >:|
18:12:20 -!- sebbu has quit (No route to host).
18:15:21 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
18:26:37 -!- dogface has quit (Remote closed the connection).
18:41:35 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | that could be fun :).
18:44:22 <fizzie> oklopol; What's going on is that I implemented the "^bf turns brainfuck into bytecode and combines consecutive +-<>, then interprets that" but then was too busy to implement the ^bfcmd macro part.
18:44:43 <fizzie> I will do them with a bit different syntax this time around, too.
18:56:44 <oklopol> or did you just explain that
18:58:20 <fizzie> The interpreter itself seemed to work, at least rot13 and fib ran on it. But it needs the glue for command registration, and I've been trying to write it so that I can more easily plug other languages in.
18:59:11 <fizzie> I'll see if I can get the basic ^bfcmd replacement done today. Just arrived back from our new apartment, lots of real-world things to take care of when trying to organize a move.
19:00:17 <Deewiant> fizzie: zem.fi still claims it's befunge.org
19:00:51 <fizzie> Right, I need to remove the text from there and deconfigure other stuff.
19:16:10 -!- dogface has joined.
19:18:32 -!- KingOfKarlsruhe has joined.
19:36:38 -!- sebbu has joined.
19:37:54 <oklopol> psygnisfive: cookies or not?
19:39:12 <oklopol> psygnisfive: boolean is the question do answer.
19:39:16 -!- CrapBot has joined.
19:39:39 <oklopol> CrapBot: you're one crappy bot
19:39:49 -!- CrapBot has quit (Remote closed the connection).
19:39:53 <ais523> asiekierka: optbot likes it, anyway
19:39:54 <optbot> ais523: the problem with it is that the graphics are 2D, and bf works in 1D
19:40:07 <asiekierka> At least connection/disconnection work
19:40:21 <asiekierka> oklopol>CrapBot: you're one crappy bot
19:40:22 <optbot> asiekierka: As in it isn't so, or what?
19:40:23 <optbot> asiekierka: the comments arent worth reading
19:40:24 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
19:40:43 -!- asiekierka has joined.
19:40:47 <optbot> asiekierka: Gregor is a person
19:40:55 -!- asiekierka has changed nick to asie[brb].
19:41:15 <oklopol> psygnisfive: okay can you at least just give me a random boolean value?
19:41:47 <oklopol> Deewiant: is that a "no"? :D
19:41:56 <optbot> oklopol: the evaluation part is top-down too.
19:42:06 <optbot> Deewiant: you need (null?) in (Con) as well
19:42:11 <oklopol> optbot: still not satisfied.
19:42:24 <optbot> oklopol: smart people are more likely to think before procreating, so more of them either become good parents or never have children. I somehow imagine the latter is more common.
19:42:25 <Deewiant> optbot: no, booleans are fine, we don't need nulls
19:42:25 <optbot> Deewiant: if it will replace all bots, one char is enough
19:42:33 <Deewiant> optbot: quite, but is it t or f
19:42:42 <Deewiant> optbot: that's not very helpful
19:42:42 <optbot> Deewiant: And yes, there is a solution.
19:42:56 <optbot> oklopol: and even when I do I often finish typing and press enter anyway, even if it's redundant
19:43:05 <Deewiant> optbot: how dare you laugh at me
19:43:06 <optbot> Deewiant: how does / split the list?
19:43:10 <optbot> oklopol: 34 ++++++++[>++++++++++++>>><<<<-]>+. [40]
19:43:11 <optbot> Deewiant: he use of runtime supplied hash functions via callback."
19:43:21 <Deewiant> oklopol: run that and see what it prints
19:43:21 <oklopol> i'm sure that was a question about Cise
19:43:30 <Deewiant> if it's 0, it's false, otherwise true
19:43:52 <oklopol> well that would be true then
19:43:58 <oklopol> which would not be very fair
19:44:07 <oklopol> optbot: i'm running out of time, true or false?
19:44:07 <optbot> oklopol: ie NMISC A B C 0 is forced to jump to the next instruction, and NMISC A B C 4 will skip the next instruction if bit33 is clear (ie no carry)
19:44:14 <optbot> Deewiant: the transition part will definitely change anyway, so no use explaining that
19:44:17 <oklopol> optbot: i'm running out of time, really, true or false?
19:44:17 <optbot> oklopol: now you're just pissing and moaning. I made a game for you guys to enjoy. Play it and have fun or do something else and shut the hell up.
19:44:41 <optbot> oklopol: even though you only need either of them
19:44:51 <Deewiant> optbot: we're not playing a game, this is a life/death situation
19:44:51 <optbot> Deewiant: hrm. there is sort of a band between esoteric and joke language... sort of an "I DARE you to implement this"...: *W, SARTRE, Magenta, Tamerlane, TURKEY BOMB, probably others... they could be jokes, or esolangs, depending on the weather... wonder if they deserve their own category...
19:44:54 <oklopol> please just fucking give it to me
19:44:58 <optbot> oklopol: i think i made a proof of some sort myself
19:45:01 <Deewiant> optbot: you're sidestepping the issue
19:45:10 <oklopol> optbot: well please step back
19:45:10 <optbot> Deewiant: char* doesn't support unary minus of course
19:45:10 <optbot> oklopol: it'd be a state with more than one transition to it
19:45:11 <ais523> oklopol: optbot said "yeah" to Deewiant, why not just use that?
19:45:44 <Deewiant> "yeah" could equally well be "yeah, I don't know" or something
19:45:52 <Deewiant> optbot: was that a sincere "yeah"?
19:45:57 <optbot> Deewiant: (Canvas is slow as shit and doesn't work on quite a number of browsers.)
19:46:00 <optbot> Deewiant: since when can you not repeat enumerator names in different enums >_<
19:46:14 <Deewiant> optbot: depends on the language
19:46:14 <optbot> Deewiant: but not 32-bit funge types on 64-bit
19:46:18 <optbot> Deewiant: ObjC is actually pretty esoteric in some ways. Probably due to SmallTalk.
19:46:21 <optbot> Deewiant: kala den pame kala edo mesa....
19:53:58 -!- asie[brb] has changed nick to asiekierka.
19:59:07 -!- CrapBot has joined.
20:00:56 -!- CrapBot has quit (Remote closed the connection).
20:03:12 -!- LinuS has quit (Connection timed out).
20:09:06 -!- CrapBot has joined.
20:09:19 -!- CrapBot has quit (Remote closed the connection).
20:10:27 -!- CrapBot has joined.
20:10:39 -!- CrapBot has quit (Remote closed the connection).
20:11:03 -!- CrapBot has joined.
20:11:14 <asiekierka> Whew. All the handling should be done.
20:11:14 -!- asiekierka has left (?).
20:11:18 -!- asiekierka has joined.
20:11:35 -!- CrapBot has quit (Remote closed the connection).
20:12:18 -!- CrapBot has joined.
20:12:27 -!- CrapBot has quit (Remote closed the connection).
20:12:50 -!- LinuS has joined.
20:13:21 <asiekierka> Yayz, the whole MSG handling for logs is done.
20:13:34 -!- olsner has joined.
20:13:37 <asiekierka> Now i must write the file-reading part, then the interpreter itself.
20:27:51 <asiekierka> or not, maybe the buffer implementation shall be better
20:29:51 <LinuS> i can't code at all at night :(
20:34:05 <LinuS> it seems so.. i lost concentration at all after 7 PM
20:34:37 <asiekierka> And i just can't think of more advanced stuff than +, -, >, < at that time
20:35:09 <LinuS> it's 9:34 there aswell
20:35:44 <asiekierka> But not as advanced as getting a whole buffer and i/o for it along with loops
20:36:02 <LinuS> i can when i'm in a study period at university
20:36:14 <LinuS> i also can study something at night
20:36:17 <LinuS> but now..in summer..
20:36:31 <LinuS> 13-19 is the only time in which i can do something.. :P
20:38:37 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:42:54 <ais523> TUSHO LOGREAD NOTICE: You fail at setting Anagolf Brainfuck problems.
20:53:10 -!- twistle has quit ("doing stuff").
20:55:40 <ais523> $/='!';eval join '',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord getc;','.','print chr $t[$p];'}}{split //,<>}
20:56:17 <ais523> $/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord getc;','.','print chr $t[$p];'}}{split//,<>}
20:59:44 <ais523> $/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord getc;','.','print chr$t[$p];'}}{split//,<>}
21:02:01 -!- MikeRiley has joined.
21:04:56 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
21:05:42 -!- MikeRiley has quit (Client Quit).
21:10:46 -!- fungot has joined.
21:11:02 <fizzie> There are probably still bugs in the fungot. And the syntax has changed.
21:11:17 <ais523> is fungot human or a bot?
21:11:51 <fizzie> ^def echo bf >,[>,]<[<]>[.>]<[<]++++++++++++++++++++++++++++++++.>[.>]
21:11:52 <ais523> fizzie: how is it operated?
21:11:56 <fungot> >1,[>1,]>999[>999]>1[.>1]>999[>999]+32.>1[.>1]
21:12:35 <ais523> fizzie: that tape seems to be hardcoded at length 1000
21:12:53 <ais523> also, that looks like Brainfuck not Funge-98
21:12:54 <fizzie> Yes, it is. And the bytecode decompiler doesn't bother changing 999 to -1 for display.
21:12:59 <fizzie> The bot is written in Funge-98.
21:13:07 <fizzie> And executes Brainfuck programs.
21:13:12 <ais523> ah, written in Funge but implements Brainfuck?
21:13:24 <ais523> does it do anything else?
21:13:50 <fizzie> http://zem.fi/~fis/fungot.b98.txt
21:13:56 <fizzie> Not yet, but it should be possible to add more languages.
21:14:10 <fizzie> It also has operator-only ^reload, ^code and ^raw commands, but those aren't exactly interesting.
21:14:14 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf
21:14:42 <ais523> fizzie: any way to define a command that's too long for one line of IRC?
21:15:11 <fizzie> Not currently. There was a ^bfcmd/^bfadd pair that could be used to append to a program, but it got scrapped when I wrote the bytecode-based brainfuck interpreter.
21:16:17 <fizzie> I'm planning to add something like "^str set 0 foo", "^str add 0 bar", "^def foobar bf str://0"; and maybe even "^def foobar bf http://..."
21:16:23 <ais523> that's a pity, really, I have a 984-char BF program (a slightly modified version of a program written by Keymaker) that inteprets Underload, in a way designed for use as an EgoBot daemon
21:16:31 -!- Corun has joined.
21:16:40 <ais523> and I think the original could work on fungot, the way its syntax seems to work
21:17:27 <fizzie> ^bf >,[>,]<[.<]!brainfuck takes input like this
21:17:27 <fungot> siht ekil tupni sekat kcufniarb
21:17:42 <fizzie> But with defined commands anything after the command name becomes the input.
21:20:41 <fizzie> Persistence is also missing, it could save the defined commands to a file or something.
21:21:05 <fizzie> (A simple ^reload won't kill them, but restarting the bot will.)
21:21:20 <fizzie> ^def rev bf >,[>,]<[.<]
21:21:32 <optbot> fungot: |0> and |0>/sqrt(2) are different thinges.
21:23:32 -!- RedDak has joined.
21:27:50 <oklopol> ^def cool bf ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
21:28:13 <oklopol> ^bf ++++++++[>++++++++<-]>+.
21:30:37 <fizzie> Only after handling built-ins does it go and check user-defined commands.
21:31:00 <fizzie> ^def cool bf ++++++++[>++++++++<-]>+.
21:31:15 <ais523> ah, it's the null string
21:32:26 <fizzie> It really should use <1 and -1 instead of >999 and +255, but the current ^show is so nice and simple.
21:33:31 <ais523> >>>+http://en.wikipedia.org/wiki/Special:Search?go=Go&search=-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>
21:33:31 <fungot> Usage: ^def <command> <lang> <code>
21:33:43 <ais523> whoops, stupid automatic substitution
21:34:08 <ais523> ^def dbfi >>>+[[ -]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[ >[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[ <+>-]>]<[[[
21:34:08 <ais523> -]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<http://en.wikipedia.org/wiki/Special:Search?go=Go&search=<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<]<]
21:34:08 <fungot> Usage: ^def <command> <lang> <code>
21:34:45 <ais523> ^def dbfi >>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<]<]
21:34:45 <fungot> Usage: ^def <command> <lang> <code>
21:34:48 -!- RedDak has quit (Read error: 113 (No route to host)).
21:34:51 <ais523> ^def dbfi bf >>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<]<]
21:35:17 <ais523> ^dbfi >,[>,]<.[<.]!testing
21:35:35 <ais523> ^dbfi >,[>,]<[.<]!testing
21:36:29 -!- Judofyr has quit.
21:36:56 <fizzie> There are some limits for amount of brainfuck instructions executed and amount of output generated.
21:37:12 <fizzie> ^bf ++++++++[>++++++++<-]>+[.]
21:37:12 <fungot> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[ ...
21:37:26 <ais523> why that [ at the end?
21:37:29 <fizzie> Hmm, that last [ there must be a bug.
21:37:46 <fizzie> Probably adds the " ..." in an incorrect location, or there's something extra in the stack.
21:37:53 <ais523> fizzie: add an Underload interp next, it's not too hard to write in most langs, although harder than BF
21:39:00 <fizzie> ^bf >++++++++++>+>+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[[-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>]<<<]
21:39:02 <fungot> 0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459[ ...
21:39:08 <fizzie> That one also has that [ in there.
21:39:23 <ais523> that's a pretty short BF program for what it does!
21:39:31 <ais523> are you using 32-bit cells?
21:39:37 <ais523> if so then that's simpler
21:39:46 <fizzie> No, the cells are one byte wide.
21:39:59 <fizzie> And the program is not mine. :/
21:40:02 <ais523> so it's bignum Fibonnacci
21:40:10 <ais523> probably harder to write than a BF interp, for that matter
21:40:32 <fizzie> Very possible. The interpreter just needed some persistence, not cleverness.
21:40:51 <ais523> I have a BF interp as my new quit message
21:40:52 -!- ais523 has left (?).
21:40:52 -!- ais523 has joined.
21:41:41 <ais523> but it didn't come up for some reason
21:42:42 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf
21:42:53 <fizzie> That limit does not generate any extra characters, even though the "append a message and quit" is done the same way.
21:42:58 <ais523> ^def hi dbfi ,[.,]!Hello, world!
21:42:59 <fungot> Usage: ^def <command> <lang> <code>
21:43:18 <ais523> fizzie: it doesn't allow def in defined languages?
21:43:59 <fizzie> Well, no. ^def is not really a simple macro thing, it keeps the brainfuck in the compiled bytecode form.
21:45:18 <fizzie> ^bf ,[.,]+[]!What about the "..." message this time?
21:45:59 <fizzie> Your '^hi' command killeded it. :p
21:46:04 -!- fungot has quit (Read error: 131 (Connection reset by peer)).
21:46:19 <ais523> fizzie: how did I manage that?
21:46:22 <ais523> it wasn't even defined...
21:46:30 <fizzie> Maybe it breaks on all undefined commands.
21:47:01 <fizzie> That doesn't seem to be the case.
21:48:07 <fizzie> Heh, it seems like it defines the "hi" command, and only after that checks if the lang is supported.
21:50:22 -!- fungot has joined.
21:50:41 <fizzie> ^def test nosuchlang sillycode
21:50:41 <fungot> Usage: ^def <command> <lang> <code>
21:51:25 <fizzie> Too tired to rearrange code, so I just made it an empty brainfuck command if the language is not recognized.
21:55:15 <fizzie> There seems to be another bug in there somewhere.
21:55:50 <fizzie> The output of '^show test' corrupted the next input message. I think I'll close that thing down before it dies and fix it later.
21:56:19 -!- fungot has quit ("Hit an @.").
22:04:17 -!- dogface has quit (Read error: 104 (Connection reset by peer)).
22:36:56 -!- tusho has joined.
23:02:06 -!- KingOfKarlsruhe has joined.
23:13:54 <tusho> bit slow though, ais523
23:13:56 <tusho> almost a whole hour
23:14:22 <ais523> I didn't expect you to be here tonight
23:14:39 <ais523> because it was so long before you turned up
23:14:48 <ais523> incidentally your BF-fixed thing on anagolf is also broken
23:14:53 <tusho> yes, I was out for the day
23:15:02 <tusho> (Got up at 5am. Only had like 2-3 hours of sleep. Yeaaah...)
23:15:04 <ais523> I have a new sig though
23:15:07 -!- ais523 has left (?).
23:15:07 -!- ais523 has joined.
23:15:24 <tusho> [23:15:07] ↠ais523 left the channel. ("$/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord ge)
23:15:40 <tusho> http://golf.shinh.org/p.rb?main <- lol wut
23:16:41 <ais523> $/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord getc;','.','print chr$t[$p];'}}{split//,<>}
23:17:01 <tusho> not what I'd have expected from you :D
23:17:02 <ais523> it was my attempt at your BF-golf thing
23:17:10 <ais523> but it's too slow on the second challenge
23:18:06 <ais523> I especially like the ',',',' bit, that's really hard to parse by eye
23:18:11 <tusho> ais523: you never seemed to take an interest in brainfuck, i guess
23:18:30 <ais523> tusho: nah, I'm interested in Brainfuck, although not fanatical about it
23:19:16 <ais523> also I accidentally said "moth languages" in #nethack due to a typo and everyone started laughing
23:23:45 <ais523> I was talking about inventing an esolang to rewrite nethack into
23:28:29 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:37:36 -!- ais523 has quit ("$/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord ge).
23:46:24 -!- olsner has quit ("Leaving").
23:55:09 -!- poiuy_qwert has joined.
23:59:38 -!- LinuS has quit ("Puzzi. Sì, parlo proprio con te. Puzzi.").