←2006-01-13 2006-01-14 2006-01-15→ ↑2006 ↑all
00:22:05 * SimonRC investigates
00:22:11 -!- ihope_ has joined.
00:22:32 <SimonRC> hi
00:23:54 -!- ihope has quit (Nick collision from services.).
00:23:57 <ihope_> Hello
00:24:01 -!- ihope_ has changed nick to ihope.
00:25:40 <ihope> Hmm.
00:25:43 -!- ihope has changed nick to ihope_.
00:26:02 -!- ihope_ has changed nick to ihope.
00:26:28 -!- ihope has changed nick to ihope_.
00:26:34 <ihope_> What the...
00:26:47 -!- ihope_ has left (?).
00:27:32 <SimonRC> fizzie: Can you write predicates which take other predicates as arguments?
00:28:29 -!- ihope has joined.
00:28:38 <ihope> There we go.
00:29:46 <fizzie> Well, predicates are just data, so "sure", but the other predicates need to assert those before they can be used. (Alternatively you can pass the name of a predicate already existing in the program, which rather like function pointers in C.)
00:31:39 <fizzie> It's not good style, but you could generate a temporary name and that way use a predicate received as an argument, which would be like "eval"ing the argument in perl or some lisp-like thing.
00:31:47 <fizzie> There might even be a built-in "eval".
00:32:26 <fizzie> But you can't really pass "compiled" functions, just their "source code" or references (names).
00:32:44 <SimonRC> hmm
00:33:19 * SimonRC can't see how one could use prolog sensibly for "normal" programming.
00:33:53 <fizzie> Well, it's quite easy to do recursion, and there's a non-logical predicate called "is" to do arithmetic.
00:35:09 <fizzie> But not "normal functional programming", certainly. Although the built-in 'map' does automagical currying, so you can do something a bit like map(foo(a, b), c, d) and end up having it call foo(a, b, c, d), where 'd' is an output parameter of sorts.
00:37:16 <fizzie> For example, a plain old recursive Fibonacci is:
00:37:19 <fizzie> fib(0, 0).
00:37:19 <fizzie> fib(1, 1).
00:37:19 <fizzie> fib(N, X) :- N1 is N-1, N2 is N-2, fib(N1, X1), fib(N2, X2), X is X1 + X2.
00:37:30 <fizzie> --
00:37:30 <fizzie> ?- fib(10, X).
00:37:30 <fizzie> X = 55 ;
00:38:25 * ihope starts work on Sanity Check 1.0
00:40:37 <fizzie> My Scheme interpreter (which is written in Prolog) contains quite a bit of abusing Prolog in a non-logical-programming style.
00:46:45 <ihope> Dang, I can't read this code I just wrote.
00:47:05 <ihope> I think I need to substitute this for that, or maybe these for those...
00:47:09 <ihope> Aha!
00:47:35 <ihope> ...Never mind,
00:49:10 <ihope> Here we go. My ASCII printer function would be complete, if it weren't for the lack of whatevers.
00:51:10 <ihope> Plenty of OMGWTFBBQ!
01:03:10 <ihope> There we go. Now I just need to go in and replace all the question marks with ASCII.
01:11:02 <ihope> Done with the control characters :-P
01:17:39 <ihope> And she's done!
01:23:08 <ihope> Unlambda Sanity Check 1.0 is open and ready for business...
01:23:21 <ihope> ...if I didn't make some crazy booch along the way.
01:23:27 -!- ihope has quit ("Chatzilla 0.9.69.1 [Firefox 1.5/2005111116]").
01:26:13 -!- lirthy has quit (Read error: 104 (Connection reset by peer)).
01:27:18 * SimonRC goes to bed.
02:13:24 -!- CXI has quit (Connection timed out).
02:18:52 -!- CXI has joined.
02:33:47 -!- RoboGregorR has joined.
02:34:08 <RoboGregorR> The more mes the merrier.
02:54:41 <Keymaker> bye
02:54:44 -!- Keymaker has left (?).
03:39:58 -!- RoboGregorR has quit.
03:40:33 -!- fungebob has joined.
05:51:19 <GregorR> Ping.
05:52:12 -!- Sgeo has quit.
05:55:38 -!- CXI has quit (clarke.freenode.net irc.freenode.net).
05:55:38 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
05:55:38 -!- lament has quit (clarke.freenode.net irc.freenode.net).
05:55:54 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
05:55:54 -!- sp3tt has quit (clarke.freenode.net irc.freenode.net).
05:55:55 -!- tokigun has quit (clarke.freenode.net irc.freenode.net).
05:55:56 -!- tokigun has joined.
05:56:00 -!- mtve has joined.
05:56:03 -!- sp3tt has joined.
05:56:10 -!- puzzlet has joined.
05:56:22 -!- CXI has joined.
06:00:40 -!- lament has joined.
06:40:26 -!- lirthy has joined.
07:53:41 -!- fungebob has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:16:31 -!- CXI has quit (Connection timed out).
11:28:41 -!- jix has joined.
11:30:12 -!- jix has quit (Remote closed the connection).
11:30:32 -!- jix has joined.
11:30:59 -!- jix has quit (Remote closed the connection).
11:31:26 -!- jix has joined.
11:31:29 -!- jix has quit (Remote closed the connection).
11:36:17 -!- jix has joined.
12:04:55 -!- Keymaker has joined.
13:17:22 <pgimeno> Pong.
13:36:53 -!- Keymaker has left (?).
14:14:40 -!- jix has quit ("This computer has gone to sleep").
15:27:09 -!- {^Raven^} has joined.
15:44:07 -!- Sgeo has joined.
15:46:08 * SimonRC feels inclined to lean any language in which this is considered good coding style: http://www.kx.com/a/k/examples/xhtml.k
15:46:12 <SimonRC> ( http://en.wikipedia.org/wiki/K_programming_language )
15:46:23 <SimonRC> This is not a joke, AFAICT.
15:46:28 <SimonRC> allow me to quote you a line:
15:46:31 <SimonRC> tt:{co:{(+\-1_0,#:'x)+(*&:)'x}(oo:&(o:"<"=x)&~1!s:"/"=x)_ c:">"=x;a:-1+#x
15:46:40 <SimonRC> Learning that could spell profit in the 2020s and 2030s.
16:24:01 -!- ihope has joined.
16:27:27 <ihope> So how's the BF-PDA golf going?
18:29:29 -!- J|x has joined.
18:35:15 <SimonRC> yo
18:35:24 <SimonRC> ihope: have you seen K before?
18:35:35 <ihope> I don't think so.
18:36:02 <SimonRC> http://www.kx.com/a/k/examples/xhtml.k
18:36:13 <SimonRC> Learning that could spell profit in the 2020s and 2030s.
18:36:23 <SimonRC> Once everyone else has forgotten it.
18:36:51 <ihope> Omgwtfbbq.
18:36:57 <SimonRC> Wikipedia says: < http://en.wikipedia.org/wiki/K_programming_language >
18:37:03 <SimonRC> ihope: good, isn;t it.
18:37:19 <SimonRC> ?
18:37:20 <ihope> I'm not sure.
18:38:15 <SimonRC> The language J is almost as good.
18:38:33 <ihope> Then I'd like to learn L.
18:38:39 <SimonRC> heh
18:38:54 <ihope> I imagine, say, C must be very obfuscated!
18:39:00 <ihope> ;-)
18:39:10 <SimonRC> (almost) every punctuation mark in J is an infix operator, and a prefix operator.
18:39:41 <ihope> Whoo.
18:39:54 <SimonRC> Also, if x is a (pair of) operators, the x. and x: are usually also.
18:40:19 <ihope> Hmm.
18:40:31 <SimonRC> so, for each symbol you can get 6 operators.
18:41:02 <ihope> Cool
18:41:02 <SimonRC> J is related to APL, but uses ASCII.
18:42:02 <SimonRC> It works mostly with matrices, and has the interesting concept of "rank", which allows you to do stuff like 2 + 5 6 7 and get the result 7 8 9.
18:42:35 <ihope> Like Haskell, sorta?
18:42:47 <ihope> map (+2) [5,6,7]
18:42:56 <ihope> ...
18:42:58 <SimonRC> yes, but the mapping is implicit
18:43:03 <ihope> Or (2+), either way.
18:43:29 <SimonRC> Because you also write 2 + 3 to get 5.
18:43:44 <SimonRC> so + doesn;t have a Haskell type, really
18:44:55 <SimonRC> 1 2 3 + 10 20 30 results in 11 22 33, also
18:45:12 <fizzie> That's what matlab does, too.
18:45:25 <ihope> zipWith (=) [1,2,3] [10,20,30]
18:45:33 <SimonRC> s/=/+/
18:45:36 <fizzie> Adding a scalar to a matrix adds to all elements, adding two (compatible) matrices does element-wise addition.
18:45:38 <ihope> :-)
18:46:05 <ihope> Well, you could have a Mappable monad or something...
18:46:06 <SimonRC> if you want the 3x3 marix 11 12 13 21 22 23 31 32 33, then you have to use the " conjunction to fiddle with the rank of the + verb
18:46:19 <ihope> Sounds complicated.
18:46:23 <ihope> I like it,
18:46:32 <ihope> And I make too many typos.
18:47:05 * SimonRC vainly searches for the tutorial
18:47:39 <SimonRC> I read it once
18:49:50 -!- CXI has joined.
18:50:32 <ihope> Did you search for "j tutorial"?
18:51:14 <SimonRC> This is the particular thing I wanted: http://www.jsoftware.com/books/help/dictionary/vocabul.htm
18:51:23 <fizzie> If I'd want that in Matlab, I'd probably write something like "ones(3,1) * [1 2 3] + [10 20 30]' * ones(1,3)", but I'm sure there's a better way.
18:52:28 <fizzie> (Maybe [10;20;30] instead of [10 20 30]'.)
18:52:53 <ihope> I just found a big security vulnerability in Firefox.
18:53:03 <SimonRC> ihope: what?
18:53:27 <ihope> It allows web pages to effectively DoS Firefox for about 45 seconds.
18:53:41 <ihope> They do so by rendering themselves in Adobe Acrobat :-P
18:53:54 <SimonRC> heh
19:08:47 <ihope> Is there a word for people who won't eat some things, but not because they're meat/vegetables/whatever?
19:08:58 <ihope> ...Other than "omnivore"?
19:27:16 <fizzie> "picky".
19:28:23 <SimonRC> yes
19:34:17 <ihope> fizzie: what if there are only two things said person won't eat?
19:35:12 <fizzie> I guess they're just slightly picky, then.
20:58:42 -!- fungebob has joined.
21:01:12 <SimonRC> hi
21:05:10 <GregorR> If there are only two things someone won't eat, they're not picky enough.
21:05:23 <GregorR> They'll eat rocks and gravel, but not worms or sour cream?
21:06:18 <fizzie> Maybe they won't eat rocks and gravel, but will eat worms or sour cream. (Or lava!)
21:07:26 <GregorR> Or pure aids virus.
21:07:27 <GregorR> In a bottle.
21:07:30 <GregorR> They'll eat that.
21:07:38 <GregorR> HIV virus rather.
21:10:07 <GregorR> He is ... THE CONVERSATION KILLERRRR!!!!
21:10:20 <GregorR> So instead, let's talk about Glee, my Glass interface to C.
21:11:32 <GregorR> {M[m(_g)(Glee)!(fd)"test.a"<65>(_g)(open).?=(fd)*"Thisisatest\n"(_g)(write).?(fd)*(_g)(close).?"test.a"<420>(_g)(chmod).?]}
21:12:13 <ihope> It looks "cool".
21:12:30 <GregorR> Unfortunately, I can't seem to figure out how to make a generic interface :(
21:12:39 <GregorR> Clearly not something C was intended to do.
21:22:36 <ihope> I'd like to write Something Useful in an esoteric programming language
21:23:06 <GregorR> !glass {M[m(_o)O!"Something Useful"(_o)o.?]}
21:23:08 <EgoBot> Something Useful
21:23:15 <ihope> :-)
21:23:22 <ihope> I already wrote Unlambda Sanity Check 1.0, which does nothing too cool and probably doesn't work anyway.
21:23:25 <GregorR> !bf_txtgen Something Useful
21:23:47 <EgoBot> 128 ++++++++++++++[>++++++>++>++++++++>++++++++<<<<-]>-.>>-.--.--------.>++++.<+++.+.+++++.-------.<++++.<++.>>>-.<--.+.>++.<++++++. [453]
21:24:08 <ihope> !help
21:24:11 <EgoBot> help ps kill i eof flush show ls bf_txtgen
21:24:13 <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
21:24:18 <ihope> !unlambda ````````````.S.o.m.e.t.h.i.n.g. .U.s.e.f.u.li
21:24:22 <EgoBot> Something Us
21:24:28 <ihope> ...?
21:24:43 <lament> heh
21:24:44 <ihope> :-P
21:24:49 <ihope> !unlambda ````````````````.S.o.m.e.t.h.i.n.g. .U.s.e.f.u.li
21:24:53 <EgoBot> Something Useful
21:24:58 <GregorR> Wowzers.
21:25:03 <ihope> !unlambda ````````````````.S.o.m.e.t.h.i.n.g. .U.s.e.f.u.l
21:25:06 <EgoBot> ./unlambda/unlambda: file ./tmp/egobot.5dvKkm: parse error
21:25:24 <lament> !lambda "Something useful"
21:25:27 <EgoBot> Something useful
21:25:29 <lament> :P
21:26:08 <ihope> Hmm. Fission holes?
21:26:08 <lament> !lambda "Something" (ch3 " very " "useful")
21:26:12 <EgoBot> Parser error: Unbound variable: ch3
21:26:21 <lament> !lambda "Something" (c3 " very " "useful")
21:26:24 <EgoBot> Something very very very useful
21:26:29 <ihope> :-)
21:26:46 <ihope> !lambda "Something" (c3 " very" " useful")
21:26:49 <EgoBot> Something very very very useful
21:27:01 <lament> ihope: you know LC, right?
21:27:11 <ihope> I think so.
21:27:19 <ihope> ^x.[some expression involving x]
21:27:46 <GregorR> !glass {M[u"very "oo.?][mt$oO!aA!i<5>="Something "oo.?/itu.?ii*<1>as.?=\"useful."oo.?]}
21:27:48 <EgoBot> Something very very very very very useful.
21:28:06 <lament> ihope: then add stuff to the lambda calculus dictionary :)
21:28:17 <ihope> Dictionary?
21:28:19 <GregorR> !glass {M[u"very "oo.?][mt$oO!aA!i<60>="Something "oo.?/itu.?ii*<1>as.?=\"useful."oo.?]}
21:28:22 <EgoBot> Something very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very useful.
21:28:26 <lament> ihope: it has persistent definitions
21:28:30 <lament> !lambda #list
21:28:34 <EgoBot> [and c0 c1 c10 c2 c256 c3 c4 c5 c6 c7 c8 c9 exp fact false fr i if iszero k mult not or plus pred s show succ true y]
21:29:01 <ihope> ...Aha
21:29:06 <ihope> !lambda pred
21:29:10 <lament> !lambda #show pred
21:29:13 <EgoBot> \n,f,x.(n \g,h.(h g f) \u.x \u.u)
21:29:27 <lament> !lambda pred c4 "*" i
21:29:31 <EgoBot> ***
21:29:48 <lament> the cN things are some church numerals
21:30:03 <ihope> Aha
21:30:29 -!- Keymaker has joined.
21:30:38 <ihope> How about some for those numbers I invented, that are possible to decrement?
21:32:51 <lament> you can call those iN :P
21:32:57 <lament> how are they defined?
21:33:18 <ihope> Zero is ^ab.b
21:33:31 <ihope> Any other number is ^ab.a[predecessor]
21:34:11 <lament> so one is \ab.a(\ab.b) ?
21:34:27 <ihope> Yep.
21:34:40 <lament> okay so
21:34:49 <lament> !lambda i0 = \a,b.b
21:34:51 <lament> !lambda i0 = \a,b.b;
21:34:53 <EgoBot> Parser error: list index out of range
21:35:09 <lament> !lambda i1 = \a,b.(a\a,b.b);
21:35:11 <ihope> i0 and c0 are the same...
21:35:24 <lament> yeah
21:35:29 <lament> and 'false' is the same
21:36:15 <lament> so how do you do stuff with your numbers? :)
21:36:42 <lament> for now, the biggest thing in the dictionary is 'fact' :)
21:36:49 <lament> !lambda show facct
21:36:51 <lament> !lambda show fact
21:36:53 <EgoBot> Parser error: Unbound variable: facct
21:36:55 <EgoBot> \x.(\n.(n \x,x,y.y \x,y.x) x \f,x.(f x) \m,n,f.(n m f) x \x.(\f,x.(\n.(n \x,x,y.y \x,y.x) x \f,x.(f x) \m,n,f.(n m f) x f \n,f,x.(n \g,h.(h g f) \u.x \u.u) x) x x) \x.(\f,x.(\n.(n \x,x,y.y \x,y.x) x \f,x.(f x) \m,n,f.(n m f) x f \n,f,x.(n \g,h.(h g f) \u.x \u.u) x) x x) \n,f,x.(n \g,h.(h g f) \u.x \u.u) x)
21:37:04 <ihope> It's easy to convert these into Church numerals.
21:38:16 <ihope> fix \fa.a[\b.succ b](\bc.c)
21:41:43 <ihope> Successor function: \nab.an
21:42:25 <ihope> Predecessor: \n.ni[predecessor of zero]
21:46:06 * SimonRC goes to the pub
21:46:17 <Keymaker> bye
21:49:50 <ihope> Quite frankly, I would not like to be called "Ooeaeai".
21:50:00 -!- ihope has changed nick to Dnchssauoie.
21:51:04 <Dnchssauoie> I wouldn't want to be called "Sskrtm" either.
21:53:34 <Keymaker> i better keep that in mind, sskr--
21:55:29 -!- calamari has joined.
21:55:48 <Dnchssauoie> Ello
21:57:49 -!- Dnchssauoie has changed nick to ihope.
21:58:39 <GregorR> 'ello calamari.
21:58:48 <Keymaker> hi cal
21:59:54 <ihope> Omgwtfbbq it's a noisy banner ad.
22:01:26 -!- GregorR has changed nick to x477265676F7252.
22:01:34 <x477265676F7252> Man, this nick is so much cooler than GregorR.
22:01:41 <Keymaker> agree :P
22:02:03 -!- ihope has changed nick to GregorR.
22:02:07 -!- GregorR has changed nick to ihope.
22:02:13 <ihope> :-P
22:03:12 <Keymaker> oh no, now i'll never know which one is which one
22:03:21 <x477265676F7252> I could GHOST anybody who took my name.
22:03:28 <calamari> hi
22:03:33 <Keymaker> hey
22:03:53 <ihope> So could I...
22:04:01 -!- x477265676F7252 has changed nick to GregorR.
22:04:27 <Keymaker> wait, i'm confused.. how did gregorr had two nics at the same time?
22:04:39 <Keymaker> like you were that x477.. and ihope
22:04:48 <ihope> I'm not him.
22:04:55 <EgoBot> GregorR can have as many nicks as he wanted!
22:05:01 <ihope> :-D
22:05:06 <Keymaker> :D
22:05:06 <EgoBot> Wants, even.
22:05:12 <Keymaker> heh
22:05:30 <ihope> !help
22:05:33 <EgoBot> help ps kill i eof flush show ls bf_txtgen
22:05:35 <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
22:05:58 <ihope> He seems to be possessed...
22:06:05 <EgoBot> BY EVIL!
22:06:28 * ihope does some very secret ritual
22:06:40 <EgoBot> AHHHHHH, IT BURNS!
22:06:45 * ihope realizes it's not secret because he said he was doing it, so it won't work
22:07:02 -!- EgoBot has left (?).
22:07:09 <GregorR> Well now look what you've done.
22:07:36 * ihope sneezes, thus hopefully completing the ritual safely
22:07:43 -!- EgoBot has joined.
22:07:51 <GregorR> !raw PRIVMSG #esoteric :I am posessed!
22:07:52 <EgoBot> I am posessed!
22:09:55 <ihope> So was that stuff up there done via this !raw stuff, or was it some feature done "server-side"?
22:10:05 <GregorR> That would be !raw
22:10:20 <GregorR> I have no local control panel or something like that.
22:25:22 <ihope> I don't suppose there'd be...
22:25:25 <ihope> !help flush
22:25:29 <EgoBot> Use: flush Function: flush the output buffer, discarding any current output
22:25:34 <ihope> Oh.
22:25:37 <ihope> !help raw
22:25:40 <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.
22:25:47 <ihope> !help help
22:25:51 <EgoBot> Use: help [command] Function: displays help on a command, or lists commands
22:25:56 <ihope> Cool!
22:26:18 <GregorR> It has no !help on raw, since only I can use it :P
22:28:07 <ihope> :-)
22:28:32 <GregorR> I think I'd like to implement user triggers.
22:28:33 <GregorR> Maybe.
22:29:07 <ihope> ...HmM?
22:29:18 <GregorR> Something like !trig wiki glass {M[m(_o)O!"The EsoLangs wiki is at http://www.esolangs.org/wiki/"(_o)o.?]}
22:29:26 <GregorR> Then if somebody typed !wiki it would run that.
22:29:32 <GregorR> And say "The EsoLangs wiki is at http://www.esolangs.org/wiki/"
22:29:54 <ihope> Ah.
22:31:01 <ihope> !trig omgwtfbbq help omgwtfbbq
22:31:20 <ihope> !trig foo trig bar trig baz ...
22:32:29 <GregorR> Both terrible examples :P
22:33:45 <ihope> :-P
22:37:16 <pgimeno> can it do ctcp action?
22:38:12 <GregorR> !glass {M[m(_e)(Emote)!"can indeed!"(_e)e.?]}
22:38:15 <EgoBot> <CTCP>ACTION can indeed!<CTCP>
22:38:48 <ihope> ...Is it doing anything?
22:38:52 <pgimeno> almost
22:39:13 <GregorR> ...................did ihope not see the /me?
22:39:26 <ihope> I didn't see it.
22:39:42 <pgimeno> I've seen "[weird char]ACTION can indeed![weird char]"
22:40:01 * GregorR Does this show that too, pgimeno?
22:40:03 <pgimeno> it should be SOH AFAIK
22:40:20 <pgimeno> no, GregorR, that shows up a proper CTCP action
22:40:28 <GregorR> Dobleve te effe?
22:40:36 <GregorR> Worked for me XD
22:41:06 <pgimeno> what char doues it print?
22:41:10 <GregorR> \1
22:41:14 <pgimeno> s/doues/does/
22:41:32 <GregorR> !glass {M[m(_d)(Debug)!"Emote""e"(_d)(fc).?]}
22:41:35 <EgoBot> (_s)S!(_o)O!<1>(_s)(ns).?0(_o)o.?"ACTION "(_o)o.?1(_o)o.?(_o)o.?,
22:42:11 <pgimeno> someone please /me something
22:42:20 * GregorR /me's something.
22:42:32 <pgimeno> >> :GregorR!n=gregor@198.107.20.174 PRIVMSG #esoteric :+<CTCP>ACTION /me's something.<CTCP>
22:42:44 <pgimeno> the '+' may be the point
22:42:49 <GregorR> What's that +?
22:42:53 <GregorR> What is it actually?
22:42:56 <GregorR> It's certainly not a + ...
22:42:57 <pgimeno> dunno, it's in the rawlog
22:43:21 * pgimeno makes a experiment, sorry for the spam
22:43:34 <GregorR> I'm reading EgoBot's log, and it shows \1ACTION ...\1
22:44:10 * pgimeno asks GregorR if this shows up OK
22:44:16 <GregorR> Yup
22:44:48 <pgimeno> ihope: did my last ACTION show up as a /me to yo too?
22:44:59 <ihope> Yes.
22:45:37 <pgimeno> !glass {M[m(_e)(Emote)!"tries something"(_e)e.?]}
22:45:41 <EgoBot> <CTCP>ACTION tries something<CTCP>
22:45:57 <pgimeno> I'd say there's a space at the end
22:46:50 <pgimeno> after the second \1, that is
22:47:05 <GregorR> Looking at the code, I'm inclined to disagree.
22:47:11 <ihope> Well, I'm not recieving the EgoBot stuff at all.
22:47:21 <GregorR> !glass {(Emote)[e(_s)S!(_o)O!<1>(_s)(ns).?0(_o)o.?"ACTION "(_o)o.?1(_o)o.?(_o)o.?"\n"(_o)o.?,]}
22:47:25 <EgoBot> OK
22:47:39 <GregorR> !glass {M[m(_e)(Emote)!"tests."(_e)e.?]}
22:47:41 <EgoBot> <CTCP>ACTION tests.<CTCP>
22:47:45 <GregorR> Different?
22:47:50 <ihope> I got
22:47:52 <ihope> "OK".
22:47:59 <pgimeno> <EgoBot> <CTCP>ACTION tests.<CTCP>
22:48:08 <ihope> After the first !glass there. Nothing else.
22:48:10 <GregorR> Dobleve te effe.
22:48:54 <pgimeno> I still think there's a space there somehow
22:49:43 <pgimeno> <CTCP>ACTION thinks that this will be seen by GregorR as an ACTION but not at all by ihope<CTCP>
22:50:20 <pgimeno> ihope: did you see my last ACTION after my line "I still think there's a space there somehow"?
22:50:28 <ihope> No.
22:51:02 <GregorR> Umm, I didn't see an ACTION before that ...
22:51:07 <pgimeno> then I'm afraid there's the space also in EgoBot's output
22:51:25 <GregorR> Oh, after :P
22:51:27 <GregorR> Yeah, I saw that
22:51:36 <ihope> Maybe I can try a different client.
22:51:40 <GregorR> Nonono
22:51:41 <GregorR> Wait
22:52:02 <pgimeno> ihope, it's not a problem with your client
22:52:19 <ihope> Isn't GregorR getting the stuff?
22:52:36 <GregorR> Waitwait, I think I figured out the issue.
22:52:39 <pgimeno> it's wrong protocol
22:54:48 <GregorR> !reload
22:54:55 <GregorR> !glass {M[m(_e)(Emote)!"tests."(_e)e.?]}
22:54:59 * EgoBot tests.
22:55:04 <pgimeno> yeah :)
22:55:14 <ihope> Yep
22:55:24 <GregorR> OK, fixed :P
22:56:16 <pgimeno> that'd be a good use for a trigger
22:56:22 <ihope> Yeah.
22:56:28 <GregorR> What would?
22:56:34 <ihope> Hmm, what about a quiney trigger?
22:56:36 <pgimeno> !me says something
22:56:56 <GregorR> ihope: EgoBot doesn't parse its own output.
22:57:02 <ihope> Oh.
22:57:27 <ihope> So no !trig spam spam. That would be... "cool", though.
22:57:41 <ihope> But not really.
22:57:41 <J|x> !trig spam spam
22:57:42 <J|x> ?
22:57:54 <ihope> Yep.
22:58:00 -!- J|x has changed nick to jix.
22:58:02 <ihope> Then again, that wouldn't really do much.
22:58:04 <GregorR> That would do nothing though, since there's no spam command :P
22:58:35 <ihope> !bf_txtgen Woot !spam
22:58:51 <EgoBot> 85 +++++++++++[>++++++++>++++++++++>+++><<<<-]>-.>+..+++++.>-.+.<-.---.<++++++++++.>---. [146]
22:59:10 <ihope> Hmm, what's with the ><, eh?
22:59:28 <GregorR> Ask textgen.java
23:01:45 <ihope> I'll have to ask, since I can't exactly read its mind :-P
23:02:32 <Keymaker> ah, my new esolang is now somewhat ready
23:02:40 <Keymaker> i need to rewrite the specs
23:02:49 <Keymaker> and perhaps tweak it a bit more..
23:02:56 <GregorR> "I need to rewrite the specs" doesn't suggest ready to me at all :P
23:03:02 <Keymaker> write and interpreter (*dies*)
23:03:03 <Keymaker> :p
23:03:07 <Keymaker> i mean to better english
23:03:28 <Keymaker> and then write the traditional examples; hello world, cat, quine, digital root calculator..
23:03:34 <Keymaker> so, it should be out in few years ;)
23:03:55 <GregorR> OK, I'll be waiting!
23:04:00 <ihope> How soon without all the examples?
23:04:30 <Keymaker> probably a day.. but i want to do the examples! or at least some of them with the release and code more later
23:05:06 <pgimeno> and w/o the interpreter? :)
23:05:22 <Keymaker> dunno :)
23:05:50 <Keymaker> naturally it can take more than a day, depending if i get lazy or whatever happens
23:05:50 <pgimeno> and for those who are impatient and think they can read bad english?
23:06:03 <Keymaker> sorry, no dice!
23:06:14 <pgimeno> doh
23:06:37 <ihope> I can read extremely lucid Spanish.
23:06:57 <GregorR> I can read Español por Estupidos :)
23:07:30 <ihope> I can read Español por Gatos...
23:07:56 <pgimeno> por -> para, otherwise it's like 'by' rather than like 'for'
23:08:22 <pgimeno> or if you did mean that... ;)
23:08:39 <ihope> ...Oh
23:09:26 -!- jix has left (?).
23:09:37 -!- ihope has quit ("Chatzilla 0.9.69.1 [Firefox 1.5/2005111116]").
23:10:03 <GregorR> Blech
23:16:15 <Keymaker> hmm, i have one problem though.. the language is now Turing-complete as far as i know.. i wonder whether i should make it not-turing-complete and thus more crazy and a bit different than it is now, or keep it this way..
23:16:40 <Keymaker> on the other hand i'd like to have at least one turing-complete language, but on the other hand i love limited non-tc langs
23:18:19 <pgimeno> do you have three hands? :)
23:18:41 <Keymaker> hm?
23:18:45 <pgimeno> nm
23:18:54 <Keymaker> ok. five, to be exact.
23:19:31 <pgimeno> so you have two spare indecisions left
23:21:24 <pgimeno> decisions! decisions! well, if it works as it is now then don't touch it (the philosophy of a boss I had)
23:21:42 <Keymaker> :)
23:21:59 <Keymaker> well, it certainly works, but i'm not sure whether i want to make it crazier
23:22:23 <Keymaker> (with 'works' i mean that calculations are possible :))
23:23:13 <pgimeno> that's where the "decisions! decisions!" part comes
23:23:39 <Keymaker> :) yes..
23:24:19 <Keymaker> i need to think this over.. my thoughts are running wild (1 km/h)
23:31:49 <GregorR> !reload
23:32:02 <Keymaker> gregorr, what would you say?
23:32:02 <GregorR> !usertrig add test glass {M[m(_o)O!"This is a test!"(_o)o.?]}
23:32:06 <EgoBot> Trigger added!
23:32:10 <GregorR> !test
23:32:22 <GregorR> Dern.
23:32:24 <GregorR> Well, what would I say.
23:32:34 <GregorR> I can't judge without seeing what you have.
23:32:48 <Keymaker> ah, that's reasonable in a way
23:32:56 <Keymaker> :D
23:34:26 <GregorR> Oh, I know why it's broken >_<
23:36:23 <GregorR> !reload
23:36:27 <GregorR> !usertrig add test glass {M[m(_o)O!"This is a test!"(_o)o.?]}
23:36:28 <Keymaker> does world actually need any more turing-complete languages instead pointless chaos?
23:36:33 <GregorR> !test
23:36:35 <EgoBot> This is a test!
23:37:06 <GregorR> Hmm
23:39:49 <GregorR> !reload
23:39:51 <GregorR> !usertrig add test glass {M[m(_o)O!"This is a test!"(_o)o.?]}
23:39:54 <EgoBot> Trigger added (test)!
23:39:56 <GregorR> !test
23:40:00 <EgoBot> This is a test!
23:40:03 <GregorR> Cool :)
23:40:22 <Keymaker> what are you actually testing?
23:40:31 <Keymaker> i have no idea what's going ont!
23:40:34 <Keymaker> *on
23:40:38 <GregorR> Hah
23:40:52 <GregorR> I'm testing user triggers :)
23:41:09 <Keymaker> what are them?
23:41:26 <GregorR> Well, for example, when I type !test, it runs the trigger "glass {M[m(_o)O!"This is a test!"(_o)o.?]}"
23:41:32 <GregorR> And thus:
23:41:33 <GregorR> !test
23:41:36 <EgoBot> No repeats.
23:41:41 <GregorR> lol, well, you get the idea ;P
23:42:54 <Keymaker> hmm, not sure if i got it :P so, user can define something own stuff for the bot that can be ran easily that way..?
23:43:30 <GregorR> Here, let me implement a bit more of my idea and then show you a better example.
23:43:41 <Keymaker> ok
23:47:56 <GregorR> !reload
23:47:58 <GregorR> Lesse ...
23:48:44 <GregorR> Err, wait ...
23:49:05 <GregorR> !reload
23:49:21 <GregorR> !usertrig add me glass {M[m(_i)I!(_e)(Emote)!(_i)l.?(_e)e.?]}
23:49:24 <EgoBot> Trigger added (me)!
23:49:28 <GregorR> !me tests.
23:49:34 * EgoBot tests.
23:49:37 <GregorR> There we go :)
23:50:28 <Keymaker> i think i see it now
23:50:43 <GregorR> OH, I have an AWESOME example :)
23:50:43 <Keymaker> although i can't understand the actual glass program :)
23:50:49 <Keymaker> well, go ahead
23:51:00 <GregorR> !usertrig add numwarp bf file://bf/numwarp.b
23:51:04 <EgoBot> Trigger added (numwarp)!
23:51:06 <GregorR> !numwarp 123
23:51:09 <EgoBot> /\
23:51:17 <GregorR> Oh, grr, it's sending the rest to me :P
23:51:21 <Keymaker> :D
23:51:33 <Keymaker> heh, good o' numwarp.. awesome program
23:51:34 <GregorR> You do the trigger, it'll send it to you ^_^
23:51:48 <Keymaker> !numwarp 808
23:51:52 <EgoBot> /\
23:53:34 <GregorR> Anyway, there ya' go.
23:53:36 <GregorR> User triggers.
23:53:43 <GregorR> I'll fix it up later (it doesn't cache them right now)
23:53:47 <GregorR> But that was the basic idea.
23:53:51 <Keymaker> yeah
23:57:26 <GregorR> Oh, and also: Come on, Glass is so simple and intuitive to understand!
←2006-01-13 2006-01-14 2006-01-15→ ↑2006 ↑all