01:08:44 <SimonRC> GregorR: Without looking, I can tell that Egobot is written in Perl.
01:09:30 <SimonRC> I has to be high-level, because you are able to add features so fast.
01:10:09 * SimonRC wouldn't fancy writing anything in C++.
01:10:33 <GregorR> Anything that can be written in Perl can be written maintainably in C or C++.
01:11:13 <SimonRC> I would have thought it would be harder work, though.
01:11:34 <SimonRC> how do arguments to triggers work?
01:11:37 <GregorR> Yes, but it's worth it because you can read it ten days later :P
01:11:44 <GregorR> They go as input to the function
01:11:44 <EgoBot> To use an interpreter: <interpreter> <program> Note: <program> can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem.
01:11:48 <GregorR> There's no help on it yet :P
01:11:50 <EgoBot> To use an interpreter: <interpreter> <program> Note: <program> can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem.
01:11:53 <GregorR> Because I'm not even done with it yet.
01:12:08 <GregorR> I just got the basic functionality and then became temporarily apathetic.
01:12:17 <SimonRC> How would usertriggers in, say, befunge work?
01:12:43 <GregorR> Well, I have !numwarp working.
01:12:58 <GregorR> !numwarp does the BF numwarp program, and the args to !numwarp are the input.
01:13:14 <GregorR> Wait, you have to type it, since it gives the results to whoever typed it :P
01:14:26 <GregorR> I guess I'll finish that feature now :P
01:16:04 <SimonRC> WIBNI you could integrate the languages more closely, so that arguments are actual arguments to a function, or the initial tape contents or whatever.
01:16:37 <SimonRC> For that, you would need some kind of standard for the lowest level of esolangs, though.
01:16:46 <GregorR> EgoBot uses external interpreters.
01:16:50 <GregorR> So that would be a huge PITA.
01:17:27 <SimonRC> I mean, that would be a good name for it.
01:18:42 <GregorR> Approximately http://www.esolangs.org/files/egobot/
01:18:48 <GregorR> If I remember my URLs right.
01:19:08 <SimonRC> Add a !URLs command to deal with that.
01:20:40 <Keymaker> i'm going to make my language non turing-complete, and crazier
01:21:27 <SimonRC> GregorR: idea: "!urls" "* Egoboit has URLs for: esolanger_map, forum, wiki, egobot_source_code" "!url map" "map is at: http://www.frappr.com/esolang"
01:22:00 <GregorR> SimonRC: That would be pretty cool.
01:22:53 <SimonRC> GregorR: even better: "/topic #esoteric, the international hub for esoteric programming language design and deployment -- use !urls to get useful urls"
01:23:20 <SimonRC> Keymaker: is it possibly useful like, say, SADOL?
01:23:38 <SimonRC> or is it just weird and useless?
01:23:56 <Keymaker> simonrc: hopefully weird and useless
01:24:04 <Keymaker> since i decided to make it not tc, and replan it
01:24:14 <Keymaker> but i don't think it's interesting enough
01:24:52 <Keymaker> i'll make some tc later.. in the distant future
01:25:14 <Keymaker> although there is no need for them since there is brainfuck ;)
01:25:47 <EgoBot> Use: usertrig <command> <trig-command> Function: manage user triggers. <command> may be add, del, list or show.
01:27:23 <GregorR> !usertrig add urls glass {M[m(_o)O!"Test"(_o)o.?]}
01:28:08 <Keymaker> it's a nice idea, that url thing
01:28:15 <Keymaker> gonna add there all the sites?
01:28:44 <Keymaker> of course i mean every page there is in internet.
01:29:05 <GregorR> One last fix I need - usertrigs needs to cache.
01:29:13 <SimonRC> GregorR: is glass specially integrated into egobot?
01:29:52 <GregorR> SimonRC: No. The standard Glass interpreter has the capacity to use caches.
01:37:40 <GregorR> OK, now it should be able to save user triggers :)
01:39:01 <GregorR> Now I just need to make a Glass class for URLs :)
01:44:42 <Keymaker> i think i'll terminate for this "evening"
01:44:56 -!- Keymaker has left (?).
01:44:59 <GregorR> !glass file://glass/urls.glass
01:45:06 <EgoBot> Available URLs: egobot_source
01:45:12 <EgoBot> http://www.esolangs.org/files/egobot/
01:47:33 <GregorR> !glass file://glass/urls.glass
01:47:44 <EgoBot> Available URLs: egobot_source logs map wiki
01:47:50 <EgoBot> http://www.esolangs.org/wiki
01:57:31 <GregorR> What other useful things could EgoBot do I wonder ...
01:59:43 <GregorR> What other useful things could EgoBot do written in an esoteric programming language which cannot maintain state I wonder ...
01:59:52 <GregorR> What other useful things could EgoBot do written in an esoteric programming language which cannot maintain state *over invocations* I wonder ...
02:00:43 <GregorR> Maybe I need to make superstatic variables in Glass, so I could implement a randomiser with a lifespan ...
02:02:40 <GregorR> Or maybe I can do it a far more obvious way by just having a daemon :P
02:03:41 -!- Arrogant has joined.
02:03:52 <GregorR> Hello Not Particularly Arrogant.
02:04:51 <GregorR> Look at this awesome nonsense:
02:04:56 <EgoBot> (urls): glass {M[m(_u)(URLs)!(_i)I!(_i)l.?(_u)u.?]}
02:05:05 <EgoBot> http://www.esolangs.org/files/egobot/
02:08:40 <GregorR> OOOOOOOOOOH, I've got it 8-D
02:09:25 <Arrogant> Woah, the folder is all SVNified.
02:09:54 <GregorR> Err, guess I didn't get rid of .svn :P
02:10:09 <GregorR> OK, I'll implement OMGAWESOME daemon mode user triggers when I get back from dinner.
02:10:31 <GregorR> It'll rock ... you'll see :)
02:10:36 <Arrogant> This guy knows a lot of languages.
02:13:20 <SimonRC> Does glass have conditionals?
02:13:49 <GregorR> It's all on the Glass wiki page ...
02:14:48 <SimonRC> And you can avoid all the horrible run-times that come from only having equality-to-zero testing.
02:16:24 <GregorR> Oh, I just upgraded the Glass interp in EgoBot, so I'll bet my BF interpreter in Glass finally works.
02:16:51 <EgoBot> 118 +++++++++++[>+++++++>+++++++++>+++>++++<<<<-]>-----.>++.+++++++..+++.>>.<-.<<+++++++++++++++.>.+++.------.--------.>+. [213]
02:17:04 <GregorR> !glass {M[m(_b)(BF)!"+++++++++++[>+++++++>+++++++++>+++>++++<<<<-]>-----.>++.+++++++..+++.>>.<-.<<+++++++++++++++.>.+++.------.--------.>+."(_b)b.?]}
02:17:12 <GregorR> !glass {M[m(_b)(BF)!"+++++++++++[>+++++++>+++++++++>+++>++++<<<<-]>-----.>++.+++++++..+++.>>.<-.<<+++++++++++++++.>.+++.------.--------.>+."(_b)(bf).?]}
02:17:34 <Arrogant> Should I be worried about a project whose version # is 0.0.0.2
02:17:57 <GregorR> I would be worried about anyone willing to use three .s in a version number :P
02:18:20 <Arrogant> That's what had me worried initially. Then I saw there were 3 0's
02:18:38 <GregorR> Trying to write competition for EgoBot? :P
02:18:56 <Arrogant> Anything written in Ruby would be too slow
02:18:57 -!- CXII has joined.
02:21:26 <Arrogant> I'm trying to see why people use Ruby and it just gets harder every day
02:22:22 <Arrogant> I compared the speeds between two very simple Ruby and Python scripts and Python was noticably faster
02:22:52 <GregorR> That's a difficult test to make legitimately ...
02:23:06 <Arrogant> All it did was create an array containing the lines of a file...
02:23:09 <GregorR> Maybe the startup time of Ruby is worse, but then Ruby interprets faster, for example.
02:23:39 <Arrogant> Maybe. Doesn't make me happy though.
02:26:18 <Arrogant> Computer Language Shootout shows Python to be significantly faster though.
02:27:34 <GregorR> I'm not actually advocating anything, just being devil's advocate :)
02:27:41 <GregorR> Well that was a stupid statement.
02:28:11 <Arrogant> I really want to like Ruby but its speed is comparable to Javascript.
02:28:38 <Arrogant> Although it's much better than Javascript
02:33:46 <SimonRC> One of the problems of programming languages based on function calls is the bracketing problem.
02:34:44 <lament> ((((((((((()))))))))))
02:35:11 <SimonRC> Either you have an apply operator, like unlambda, resulting in huge numbers of ````````````, or you have brackets, like LISP, but these look *realy* bad when all identifiers are one character (as I plan to have).
02:35:51 <SimonRC> SADOL gets round it by not having first-class functions, but it isn;t functional.
02:35:58 <lament> i think lambda calculus solution is not all that bad
02:36:11 <SimonRC> I shall have to invent some bizzare precedance system or something.
02:36:26 <lament> do your functions take many arguments?
02:36:59 <SimonRC> probably only a couple in most cases.
02:37:15 <SimonRC> I will want currying, though, like Haskell has.
02:37:21 <SimonRC> But first bed, as it is 2:36am.
02:39:13 -!- CXI has quit (Connection timed out).
03:22:26 -!- Sgeo has quit (Remote closed the connection).
03:24:02 -!- Sgeo has joined.
03:38:03 -!- Arrogant has quit ("I AM QUIT HAVE A NICE DAY").
04:30:32 -!- CXII has changed nick to CXI.
04:45:04 <GregorR> !usertrig add urls glass {M[m(_u)(URLs)!(_i)I!(_i)l.?(_u)u.?]}
06:34:47 -!- GregorR has quit (Remote closed the connection).
06:35:18 -!- Sgeo has quit (clarke.freenode.net irc.freenode.net).
06:35:18 -!- calamari has quit (clarke.freenode.net irc.freenode.net).
06:35:18 -!- EgoBot has quit (clarke.freenode.net irc.freenode.net).
06:36:15 -!- Sgeo has joined.
06:36:15 -!- EgoBot has joined.
06:36:15 -!- calamari has joined.
06:36:57 -!- GregorR has joined.
06:41:30 -!- calamari has quit (clarke.freenode.net irc.freenode.net).
06:41:30 -!- EgoBot has quit (clarke.freenode.net irc.freenode.net).
06:41:30 -!- Sgeo has quit (clarke.freenode.net irc.freenode.net).
06:44:01 -!- Sgeo has joined.
06:44:03 -!- EgoBot has joined.
06:44:03 -!- calamari has joined.
06:49:03 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
06:54:10 <fungebob> http://esoteric.voxelperfect.net/wiki/Main_Page
06:54:24 -!- calamari has joined.
06:56:13 <GregorR> fungebob: Yes, that's the main page ...
06:56:57 <fungebob> sorry man, i was trying to paste that into an im to a friend
06:58:16 <GregorR> I'm trying to figure out a good way to make EgoBot support daemons ...
06:58:17 -!- CXI has quit (Connection timed out).
06:58:25 <GregorR> Without it ending up as a quick and handy way to flood.
07:09:00 -!- calamari has quit ("Leaving").
07:14:57 -!- Sgeo has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:11:28 -!- fungebob has quit (Read error: 110 (Connection timed out)).
09:32:14 -!- lirthy has quit ("you should feel more feel you should take more take").
09:36:57 -!- lirthy has joined.
10:31:08 -!- J|x has joined.
11:55:06 -!- CXI has joined.
12:00:56 <SimonRC> GregorR: maybe add passwords?
23:01:02 -!- clog has joined.
23:01:02 -!- clog has joined.
23:27:45 -!- GregorR-L has joined.
23:28:08 <GregorR-L> So, shall we allow !urls to usurp the URLs in the topic?
23:28:37 <EgoBot> http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric
23:31:58 <GregorR-L> That would probably be best, but sort of defeats the community spirit :P
23:32:59 <GregorR-L> OH, I've got it! If a line of input is given on the channel, it can give a line of output on the channel.
23:33:10 <GregorR-L> So you can't just make a spam loop, because it would need input.
23:38:46 -!- ihope has joined.
23:39:15 <EgoBot> 60 +++++++++++++[>+++++>++++++++>><<<<-]>.>.+++++++.++++++++++. [762]
23:40:02 <ihope> !bf_txtgen ................................................................
23:40:29 <GregorR-L> It would get better if I let it go for more generations, too.
23:40:47 <GregorR-L> But I can't predict, so I just set it to 1000
23:40:58 <EgoBot> 119 +++++++++++++++[>+++>+++>+++>+++<<<<-]>+.....>>+......<+....>.........<<.......>..<.....>...>>+...............<........ [900]
23:42:09 <ihope> So what's the Church numeral for 256, in Unlambda format?
23:45:38 <GregorR-L> I think I need to continue work on crosslibc.
23:49:10 <ihope> !bf_txtgen ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:
23:49:43 <ihope> Hmm, didn't mean to stop in the middle. Ah well.
23:50:00 <EgoBot> 237 ++++++++++++++[>++++++++>+++++++++>+++>+<<<<-]>>.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.<---.-.-.-.>-----.-.<---.>--.-.<---.-.-.-.-.>------.-.-.<----..-.-.-.-.>------.-.-.-.-.-.-.<--------.-.-.>----.<--.>--.-.<---.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. [947]
23:52:08 <ihope> ...That looks like Morse code!
23:54:55 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig
23:54:56 <EgoBot> 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lambda lazyk malbolge pbrain rail sadol sceql trigger udage01 unlambda
23:56:06 <GregorR-L> Don't ask me to repro a unicode char BTW :P
23:56:26 <ihope> Hmm... /me looks up
23:56:53 <ihope> Will you ever make the bot able to output all 18446744073709551616 possible characters?
23:57:15 <GregorR-L> If you organized the code carefully, it could.
23:57:29 <ihope> Just what is a BFI?
23:57:31 <GregorR-L> And it would take a long time, since there's a 1.5 second gap between lines.
23:58:09 <GregorR-L> EgoBF also has a compiler and a JIT compiler.
23:58:57 <ihope> It's attacking me!
23:59:11 <GregorR-L> Don't abuse the bot if you don't know how to flush the output buffer :P