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