Mercurial > repo
view paste/paste.9977 @ 6335:13b0867d7d25
<oerjan> ` sed -i \'s!autow!share/autow!g\' bin/autowelcome
author | HackBot |
---|---|
date | Sat, 28 Nov 2015 07:48:48 +0000 |
parents | 3b1b07d2b34c |
children |
line wrap: on
line source
2011-04-05.txt:19:06:09: <elliott> not having ZOMGMODULES? 2011-04-05.txt:19:08:17: <cpressey> from ZOMGMODULES import WINNING 2011-04-05.txt:19:33:14: -!- ph0ntohpiliac is now known as ZOMGMODULES. 2011-04-05.txt:19:33:23: <ZOMGMODULES> why are none of these fantastic nicks taken 2011-04-05.txt:19:33:54: <elliott> ZOMGMODULES: i propose you snatch up one-honking-great-idea while it's still available 2011-04-05.txt:19:35:09: -!- ZOMGMODULES is now known as EnjoyBeingLocked. 2011-04-05.txt:19:55:11: -!- EnjoyBeingLocked is now known as ZOMGMODULES. 2011-04-05.txt:19:56:12: <ZOMGMODULES> elliott: depends on the language 2011-04-05.txt:19:56:20: <elliott> ZOMGMODULES: C 2011-04-05.txt:19:56:29: <ZOMGMODULES> i dunno man, should be relaxing 2011-04-05.txt:19:56:47: <ZOMGMODULES> it's like drumming... it has a cadence 2011-04-05.txt:19:57:01: <ZOMGMODULES> THIS IS THE WISDOM OF ZOMGMODULES. HEED IT 2011-04-05.txt:19:57:37: <ZOMGMODULES> your grammar is pretty much established? 2011-04-05.txt:19:57:58: <ZOMGMODULES> you wrote it out? on paper? 2011-04-05.txt:19:58:04: <elliott> ZOMGMODULES: well, the bootstrap grammar is pretty much established. i'm not going to try fun stuff until i rewrite the compiler in the language. 2011-04-05.txt:19:58:41: <ZOMGMODULES> you need to write it out, preferably on paper but also in a comment block at the top of the source is acceptable, or it won't be relaxing. 2011-04-05.txt:19:59:10: <ZOMGMODULES> this is the wisdom 2011-04-05.txt:19:59:45: <elliott> ZOMGMODULES: pretty impressive ass you have there, with all the ideas you pull out of it ;;;;::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdddddddddddd 2011-04-05.txt:20:03:03: <elliott> ZOMGMODULES: with yacc-like things, if you have like, [a; b; c] and {a; b; c} both as blocks 2011-04-05.txt:20:04:56: * ZOMGMODULES ACKNOWLEDGES NOT THESE "YACC-LIKE THINGS" 2011-04-05.txt:20:05:15: <elliott> ZOMGMODULES: I WOULD LIKE TO SEE YOU WRITE THIS PARSER RECURSIVE-DESCENT 2011-04-05.txt:20:07:19: <ZOMGMODULES> void parse() { if(tokeq("["){expect("["); parse_list(); expect("]");} else if (tokeq("{"){expect("{"); parse_list(); expect("}");} else error(); } 2011-04-05.txt:20:07:28: <elliott> ZOMGMODULES: no i don't mean that 2011-04-05.txt:20:07:56: <ZOMGMODULES> void parse_list() { parse_elem(); while(tokeq(";")){ expect(";"); parse_elem(); } } 2011-04-05.txt:20:09:02: <ZOMGMODULES> i'd love to, it's very relaxing. unfortunately, can't spend all day here 2011-04-05.txt:20:09:19: <ZOMGMODULES> though 'dem smalltalk thangles' is a little underspecified for my taste 2011-04-05.txt:20:09:55: <elliott> ZOMGMODULES: message is expr messagepart* 2011-04-05.txt:20:12:29: <ZOMGMODULES> i would just accept ident or ident: interchangeably and filter out the bad stuff at the static analysis phase 2011-04-05.txt:20:12:33: <ZOMGMODULES> if that's legal 2011-04-05.txt:20:12:41: <elliott> ZOMGMODULES: oh that's not the problem 2011-04-05.txt:20:12:51: <ZOMGMODULES> hey,... ghci's "let" does something like that, right oerjan? 2011-04-05.txt:20:13:02: <ZOMGMODULES> if it's good enough for ghci it's good enough for me 2011-04-05.txt:20:13:19: <ZOMGMODULES> elliott: that's a dumb grammar 2011-04-05.txt:20:13:25: <elliott> ZOMGMODULES: that's smalltalk 2011-04-05.txt:20:13:33: <elliott> ZOMGMODULES: really :s are banned in identifiers altogether 2011-04-05.txt:20:13:36: <elliott> ZOMGMODULES: it's just that they're valid _symbols_ 2011-04-05.txt:20:13:37: <ZOMGMODULES> "That's our Smalltalk!" 2011-04-05.txt:20:13:43: * ZOMGMODULES canned laughter 2011-04-05.txt:20:14:19: <ZOMGMODULES> this is pretty much why i never got into smalltalk 2011-04-05.txt:20:14:30: <ZOMGMODULES> this very part of it seemed unnecessarily brutal 2011-04-05.txt:20:14:42: <ZOMGMODULES> :'s 2011-04-05.txt:20:14:58: <elliott> ZOMGMODULES: hmm, i dunno 2011-04-05.txt:20:15:34: <ZOMGMODULES> my brain just does not think like that 2011-04-05.txt:20:16:02: <elliott> ZOMGMODULES: well, it's nicer than /python's/ approach to the "argument positions are meaningless" problem. 2011-04-05.txt:20:16:05: <ZOMGMODULES> using the same label mechanism for all those things 2011-04-05.txt:20:16:26: <ZOMGMODULES> that's ok. it's been a long time and i don't remember 2011-04-05.txt:20:22:06: <ZOMGMODULES> I do not know if I agree with the sentiment that adding a random number to every character in your program and interpreting it as Perl counts as your language being "Turing-complete" 2011-04-05.txt:20:26:12: <oerjan> <ZOMGMODULES> hey,... ghci's "let" does something like that, right oerjan? <-- well that's what it looked like... 2011-04-05.txt:20:26:26: <elliott> ZOMGMODULES: look at dat lack of braces 2011-04-05.txt:20:27:57: <ZOMGMODULES> C needs a ";;" operator that is a high-precedence ";" to avoid the need for braces 2011-04-05.txt:20:28:10: <elliott> ZOMGMODULES: and we could call it ocaml 2011-04-05.txt:20:28:12: <ZOMGMODULES> if (x==y) printf("hi") ;; printf("there") 2011-04-05.txt:20:28:30: <ZOMGMODULES> oh uh 2011-04-05.txt:20:28:31: <ZOMGMODULES> SURWE 2011-04-05.txt:20:28:34: <ZOMGMODULES> *SURE 2011-04-05.txt:20:28:43: <ZOMGMODULES> the more ;'s the higher the precedence 2011-04-05.txt:20:29:11: <ZOMGMODULES> yeah that's not quite my vision 2011-04-05.txt:20:37:33: <ZOMGMODULES> they do research on viewpoints 2011-04-05.txt:20:37:56: <ZOMGMODULES> "We found that a certain percentage of the population hold one opinion, while the rest hold another." 2011-04-05.txt:20:38:14: <elliott> ZOMGMODULES: careful. alan kay might punch you 2011-04-05.txt:20:38:15: <Phantom_Hoover> Who's ZOMGMODULES 2011-04-05.txt:20:38:24: * ZOMGMODULES IS ZOMGMODULES 2011-04-05.txt:20:38:43: <ZOMGMODULES> Phantom_Hoover YOU ASK A LOT OF QUESTIONS 2011-04-05.txt:20:39:59: <ZOMGMODULES> Phantom_Hoover PERHAPS YOU SHOULD TRY /whois 2011-04-05.txt:20:40:25: <Phantom_Hoover> ZOMGMODULES! 2011-04-05.txt:20:40:25: <elliott> ZOMGMODULES: wait your name is Christopher? kinda assumed you were always just Chris THIS IS LOGICAL OK 2011-04-05.txt:20:41:11: <olsner> who's ZOMGMODULES? 2011-04-05.txt:20:42:35: <ZOMGMODULES> elliott: parents who put just "Chris" on a birth certificate are... like parents who put just "Bob" on a birth certificate. 2011-04-05.txt:20:42:35: <Phantom_Hoover> ZOMGMODULES, you're named after a werewolf. 2011-04-05.txt:20:42:44: <elliott> ZOMGMODULES: So, like your parents then? 2011-04-05.txt:20:42:52: <elliott> `addquote <ZOMGMODULES> elliott: parents who put just "Chris" on a birth certificate are... like parents who put just "Bob" on a birth certificate. 2011-04-05.txt:20:42:55: <HackEgo> 351) <ZOMGMODULES> elliott: parents who put just "Chris" on a birth certificate are... like parents who put just "Bob" on a birth certificate. 2011-04-05.txt:20:43:04: <ZOMGMODULES> that was quotable? 2011-04-05.txt:20:43:50: <ZOMGMODULES> elliott: Topher Grace? 2011-04-05.txt:20:44:31: <ZOMGMODULES> Phantom_Hoover: Which werewolf would that be? 2011-04-05.txt:20:44:52: <Phantom_Hoover> ZOMGMODULES, St. Christopher, saint and werewolf. 2011-04-05.txt:20:45:00: <ZOMGMODULES> Phantom_Hoover: this is news to me 2011-04-05.txt:20:45:16: <elliott> `addquote <Phantom_Hoover> ZOMGMODULES, St. Christopher, saint and werewolf. 2011-04-05.txt:20:45:17: <HackEgo> 352) <Phantom_Hoover> ZOMGMODULES, St. Christopher, saint and werewolf. 2011-04-05.txt:20:51:27: <ZOMGMODULES> Not Ørjanette? 2011-04-05.txt:20:52:43: <oerjan> ZOMGMODULES: hm that might also work 2011-04-05.txt:20:56:28: <elliott> ZOMGMODULES: IS THAT RIGHT, O WISE RECURSIVELY-DESCENDING MASTER 2011-04-05.txt:21:00:18: <ZOMGMODULES> elliott I AM STILL TRYING TO WRAP MY HEAD AROUND THE ENGLISH GROUP 2011-04-05.txt:21:01:56: <ZOMGMODULES> elliott: does your accept() have a side-effect 2011-04-05.txt:21:02:05: <elliott> ZOMGMODULES: accept() is 2011-04-05.txt:21:03:00: <ZOMGMODULES> huh. i always use expect(), and never accept() 2011-04-05.txt:21:03:12: <ZOMGMODULES> i use tokeq() which doesn't consume 2011-04-05.txt:21:03:17: <ZOMGMODULES> fewer side-effects in tests 2011-04-05.txt:21:03:18: <elliott> ZOMGMODULES: well i copied accept() from wikipedia :) but accept is actually quite nice i think 2011-04-05.txt:21:03:30: <ZOMGMODULES> if you like side-effects in tests, SURE 2011-04-05.txt:21:03:42: <elliott> ZOMGMODULES: if (ident() && accept(COLON) && expr()) return 1; 2011-04-05.txt:21:03:52: <elliott> ZOMGMODULES: (ok so that wouldn't be as nice-looking in practice cuz you have to build an ast, but that's not bad) 2011-04-05.txt:21:04:51: <elliott> ZOMGMODULES: PRETTY 2011-04-05.txt:21:08:00: <ZOMGMODULES> wow, I took almost all day to come up with two lines of code 2011-04-05.txt:21:08:49: <elliott> ZOMGMODULES: http://sprunge.us/iQeM hey this grammar is actually pretty simple 2011-04-05.txt:21:09:56: <ZOMGMODULES> if your tests consume tokens, you won't have infinite loops 2011-04-05.txt:21:10:24: <ZOMGMODULES> at least you have THAT assurance, with those side-effects 2011-04-05.txt:21:10:38: <elliott> ZOMGMODULES: i'm practically a nazi 2011-04-05.txt:21:10:50: <ZOMGMODULES> expects are... more like exit()s in C 2011-04-05.txt:21:11:05: <elliott> ZOMGMODULES: right but like if you have a 2011-04-05.txt:21:11:10: <ZOMGMODULES> unless you do some fancy catching thing with them 2011-04-05.txt:21:11:18: <ZOMGMODULES> in which case they're more like throw 2011-04-05.txt:21:11:52: <ZOMGMODULES> you will eventually run out of tokens 2011-04-05.txt:21:12:02: <elliott> ZOMGMODULES: accept doesn't consume if it doesn't match 2011-04-05.txt:21:12:12: <ZOMGMODULES> oh, right 2011-04-05.txt:21:12:46: <ZOMGMODULES> THAT IS WHY ZOMGMODULES USES IT ALMOST EXCLUSIVELY 2011-04-05.txt:21:12:53: <elliott> ZOMGMODULES: GOOD ADVICE 2011-04-05.txt:21:13:07: <ZOMGMODULES> I even do things like { if tokeq(";") { expect(";"); ... } } 2011-04-05.txt:21:13:22: <ZOMGMODULES> simplicity > efficiency 2011-04-05.txt:21:13:58: <elliott> ZOMGMODULES: um but that's exactly what accept is :D 2011-04-05.txt:21:14:06: <ZOMGMODULES> yes 2011-04-05.txt:21:14:22: <ZOMGMODULES> that's why accept is an UNNECESSARY 2011-04-05.txt:21:14:55: <elliott> ZOMGMODULES: BLAHHH 2011-04-05.txt:21:15:08: <ZOMGMODULES> also, ... 2011-04-05.txt:21:15:19: <elliott> ZOMGMODULES: so your routines, do they call the tokeniser or does the tokeniser call it? 2011-04-05.txt:21:15:35: <ZOMGMODULES> void parse_foo() { expect("foo"); } void parse_bar() { if (tokeq("foo")) parse_foo(); } 2011-04-05.txt:21:16:27: <elliott> ZOMGMODULES: actually with recursive descent the latter would only be possible with continuations i think :D 2011-04-05.txt:21:16:29: <ZOMGMODULES> elliott: I call the tokenizer, generally 2011-04-05.txt:21:16:34: <ZOMGMODULES> elliott: you got it 2011-04-05.txt:21:16:41: <ZOMGMODULES> elliott: with something continuation-like, anyway 2011-04-05.txt:21:16:44: <elliott> ZOMGMODULES: which means: we need that C continuation lib! 2011-04-05.txt:21:16:55: <elliott> ZOMGMODULES: I APPROVE OF MY PROBLEM-SOLVING METHOD 2011-04-05.txt:21:17:02: <ZOMGMODULES> once, in Erlang, I did neither. I had the lexer and parser be seperate processes which messaged each other 2011-04-05.txt:21:17:22: <elliott> ZOMGMODULES: that's ... almost beautifully hideous 2011-04-05.txt:21:21:56: <elliott> ZOMGMODULES: so does writing a compiler that compiles to machine code hurts? 2011-04-05.txt:21:29:58: <ZOMGMODULES> tswettbot: you rock 2011-04-05.txt:21:30:12: * ZOMGMODULES is hoping a dozen debug windows just opened up for tswett 2011-04-05.txt:21:30:47: <ZOMGMODULES> < elliott> ZOMGMODULES: so does writing a compiler that compiles to machine code hurts? <-- no, not really... depends, I guess 2011-04-05.txt:21:31:33: <elliott> ZOMGMODULES: yeah but my compiler has to have, liek, two backends! 2011-04-05.txt:21:31:42: <elliott> ZOMGMODULES: x86-64/linux and x86-64/NOTHING 2011-04-05.txt:21:32:23: <ZOMGMODULES> elliott: then it's not, generally speaking, that painful... everything is partitioned nicely. 2011-04-05.txt:21:32:31: <ZOMGMODULES> lexer, parser, ast, codegen. 2011-04-05.txt:21:32:42: <elliott> ZOMGMODULES: oh the compiler parts don't scare me. 2011-04-05.txt:21:32:53: <ZOMGMODULES> it's if you want to do it all "narrow" where it gets hairy 2011-04-05.txt:21:33:13: <ZOMGMODULES> nothing too painful about generating x86 code, is there? 2011-04-05.txt:21:33:21: <elliott> ZOMGMODULES: well no. but i want mnemonics! 2011-04-05.txt:21:33:36: <ZOMGMODULES> you want to generate assembler? 2011-04-05.txt:21:34:07: <elliott> ZOMGMODULES: no. 2011-04-05.txt:21:34:17: <elliott> ZOMGMODULES: i want to generate machine code using an assembler-ish dsl 2011-04-05.txt:21:34:20: <ZOMGMODULES> then you lost me at "mnemonics" 2011-04-05.txt:21:34:54: <ZOMGMODULES> then you (in effect) want to write an assembler, and generate assembly for that assembler 2011-04-05.txt:21:35:07: <elliott> ZOMGMODULES: yes. that's true. but i don't want to _generate_ it, i want to invoke its routines directly. 2011-04-05.txt:21:35:16: <elliott> ZOMGMODULES: and the assembler doesn't actually have to be convenient... 2011-04-05.txt:21:35:52: <ZOMGMODULES> elliott: then you are writing a codegen. 2011-04-05.txt:21:36:22: <ZOMGMODULES> a codegen with an API whose entry points have names that mnemonics. much like, well, every API 2011-04-05.txt:21:36:27: <ZOMGMODULES> *that are 2011-04-05.txt:21:37:12: <ZOMGMODULES> there are many codegens that let you switch out backends to target a different architecture. if that's what you're saying 2011-04-05.txt:21:37:21: <elliott> ZOMGMODULES: no no no. 2011-04-05.txt:21:38:22: <ZOMGMODULES> elliott: I've basically coded that API (in C, not Smalltalk) 2011-04-05.txt:21:38:50: <elliott> ZOMGMODULES: sure. it's easy enough for a subset. just IDEALLY i'd generate it from the big instruction table things :) 2011-04-05.txt:21:39:23: <ZOMGMODULES> generating it from an instruction table, yes: I've never done that and it would have some nice to it. 2011-04-05.txt:21:39:53: * ZOMGMODULES SAYS ONLY EXACTLY WHAT ZOMGMODULES MEANS 2011-04-05.txt:21:40:18: * ZOMGMODULES DISMISSES TSWETTBOT!!!! 2011-04-05.txt:21:40:25: <ais523> wow, ZOMGMODULES fits better in here than most of the regulars 2011-04-05.txt:21:52:54: <ZOMGMODULES> I dismiss you, livejournal. 2011-04-05.txt:21:53:17: <elliott> ZOMGMODULES: lots of cool people use livejournal. i'm not sure why. 2011-04-05.txt:22:01:36: <ZOMGMODULES> tswettbot8: HOW'S IT GOING, MAN 2011-04-05.txt:22:05:13: <elliott> ZOMGMODULES: please advise 2011-04-05.txt:22:08:39: <ZOMGMODULES> how can you expect a debugger to be bug-free 2011-04-05.txt:22:08:51: <ZOMGMODULES> at least smalltalk has the foresight to try to debug it 2011-04-05.txt:22:09:04: <ZOMGMODULES> with 2011-04-05.txt:22:09:06: <ZOMGMODULES> itself 2011-04-05.txt:22:09:19: <elliott> ZOMGMODULES: what do asts look like again 2011-04-05.txt:22:09:29: <ZOMGMODULES> elliott: ... 2011-04-05.txt:22:09:33: <ZOMGMODULES> TREES 2011-04-05.txt:22:09:36: <ZOMGMODULES> they look like TREES 2011-04-05.txt:22:10:09: <elliott> ZOMGMODULES: i'm only half joking, why doesn't c have support for data structures :/ 2011-04-05.txt:22:10:28: <ZOMGMODULES> C has fine support for sexprs once you code them up 2011-04-05.txt:22:10:43: <ZOMGMODULES> well 2011-04-05.txt:22:11:12: <ZOMGMODULES> i usually end up with a hideous enum and a union of structs, but I'm usually not aiming for the simplest kind of data structure 2011-04-05.txt:22:11:27: <elliott> ZOMGMODULES: well it's just... does that e-- 2011-04-05.txt:22:12:10: <ZOMGMODULES> elliott: if you are trying to code objects in C, that's your own damn fault 2011-04-05.txt:22:12:15: <elliott> ZOMGMODULES: i'm not i'm not 2011-04-05.txt:22:12:44: <ZOMGMODULES> struct expr { struct expr *lhs; struct expr *rhs; char *op; } 2011-04-05.txt:22:12:48: <ZOMGMODULES> there's your ast 2011-04-05.txt:22:13:04: <ZOMGMODULES> NULL 2011-04-05.txt:22:50:07: <ZOMGMODULES> hey tswettbot, 2011-04-05.txt:22:50:20: <ZOMGMODULES> hey tswettbot, say 2011-04-05.txt:22:50:35: <tswett> ZOMGMODULES: the space on the end is necessary. 2011-04-05.txt:22:50:43: <ZOMGMODULES> hey tswettbot, say I dismiss you, tswettbot. 2011-04-05.txt:22:51:03: <ZOMGMODULES> I made it ragequit! 2011-04-05.txt:22:53:41: <ZOMGMODULES> 1-based indexing, huh 2011-04-05.txt:22:53:57: <ZOMGMODULES> DOES IT CONFLATE THEM WITH DICTIONARIES LIKE LUA 2011-04-05.txt:22:54:05: <elliott> ZOMGMODULES: NO 2011-04-05.txt:22:54:05: <ZOMGMODULES> BECAUSE THAT IS SOOOOOO AWESOME 2011-04-05.txt:22:54:10: <elliott> ZOMGMODULES: hey wait 2011-04-05.txt:22:54:21: <ZOMGMODULES> YES 2011-04-05.txt:22:54:23: <ZOMGMODULES> YES YES YES 2011-04-05.txt:22:57:01: <ZOMGMODULES> THIS IS HOW CHILDREN LEARN 2011-04-05.txt:22:57:27: <elliott> everything cp... ZOMGMODULES says sounds better in caps 2011-04-05.txt:23:00:52: <ZOMGMODULES> soooooooooo........ there's this code, that is never called by these unit tests. but changing the code causes the unit tests to fail. 2011-04-05.txt:23:01:43: <ZOMGMODULES> oh, no. i had wrong method. whew. 2011-04-05.txt:23:02:01: <elliott> ZOMGMODULES: :D 2011-04-05.txt:23:15:40: <ZOMGMODULES> |help 2011-04-05.txt:23:15:41: <storkbot> ZOMGMODULES: Help is available for: assignment expressions print goto tell source errors 2011-04-05.txt:23:15:46: <ZOMGMODULES> |errors 2011-04-05.txt:23:15:47: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. 2011-04-05.txt:23:15:50: <ZOMGMODULES> |help errors 2011-04-05.txt:23:15:50: <storkbot> ZOMGMODULES: To get more interesting error messages, set ~/errmsgs=snark. 2011-04-05.txt:23:15:59: <ZOMGMODULES> |~/errmsgs=snark 2011-04-05.txt:23:16:00: <storkbot> ZOMGMODULES: snark 2011-04-05.txt:23:16:05: <ZOMGMODULES> |foo 2011-04-05.txt:23:16:06: <storkbot> ZOMGMODULES: That's wonderful for you! 2011-04-05.txt:23:16:23: <ZOMGMODULES> |poop 2011-04-05.txt:23:16:24: <storkbot> ZOMGMODULES: What is this I don't even 2011-04-05.txt:23:16:32: <ZOMGMODULES> |save 2011-04-05.txt:23:16:32: <storkbot> ZOMGMODULES: State saved. 2011-04-05.txt:23:16:35: <ZOMGMODULES> storkbot: YOU LIE 2011-04-05.txt:23:16:36: <storkbot> ZOMGMODULES: That's wonderful for you! 2011-04-05.txt:23:17:23: <ZOMGMODULES> and the scary thing is that that feature requires lua 5.1 2011-04-05.txt:23:17:26: <elliott> ZOMGMODULES: needs moar errors 2011-04-05.txt:23:17:30: <elliott> ZOMGMODULES: can you let us define our own errmsgs 2011-04-05.txt:23:17:52: <ZOMGMODULES> |~/errmsgs=('That's stupid.'; 'You''re stupid.') 2011-04-05.txt:23:17:53: <storkbot> ZOMGMODULES: ('That's stupid.'; 'You''re stupid.') 2011-04-05.txt:23:18:09: <ZOMGMODULES> |true that 2011-04-05.txt:23:18:09: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. 2011-04-05.txt:23:18:15: <ZOMGMODULES> not hard to implement 2011-04-05.txt:23:18:16: <ZOMGMODULES> ANYWAY 2011-04-05.txt:23:18:23: <ZOMGMODULES> storkbot: DIE DIE 2011-04-05.txt:23:18:24: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. 2011-04-05.txt:23:18:30: <ZOMGMODULES> storkbot: helllllp 2011-04-05.txt:23:18:31: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. 2011-04-05.txt:23:18:36: <ZOMGMODULES> storkbot: help 2011-04-05.txt:23:18:36: <storkbot> ZOMGMODULES: Help is available for: assignment expressions print goto tell source errors 2011-04-05.txt:23:18:44: <ZOMGMODULES> storkbot: help goto 2011-04-05.txt:23:18:44: <storkbot> ZOMGMODULES: To evaluate a string as a command, issue 'goto command'. This discards control context. 2011-04-05.txt:23:18:53: <ZOMGMODULES> storkbot: goto help 2011-04-05.txt:23:18:53: <storkbot> ZOMGMODULES: Help is available for: assignment expressions print goto tell source errors 2011-04-05.txt:23:18:58: <ZOMGMODULES> oh yeah, THIS bot. 2011-04-05.txt:23:19:02: <ZOMGMODULES> ok 2011-04-05.txt:23:19:12: * ZOMGMODULES shuffles over to the other monitor 2011-04-05.txt:23:19:26: <ZOMGMODULES> good night 2011-04-05.txt:23:19:35: -!- ZOMGMODULES is now known as storkbot. 2011-04-05.txt:23:56:16: -!- ZOMGMODULES has joined #esoteric. 2011-04-05.txt:23:56:21: <elliott> ZOMGMODULES: hi! 2011-04-05.txt:23:56:25: <ZOMGMODULES> ZOMG HI 2011-04-05.txt:23:56:28: <elliott> ZOMGMODULES: plz not to be suing me for what i've done 2011-04-05.txt:23:56:47: <ZOMGMODULES> WHAT HAVE YOU DONE 2011-04-05.txt:23:56:56: <elliott> ZOMGMODULES: DECIDED TO MAKE A BOT THAT'S ALL THAT STORKBOT COULD BE 2011-04-05.txt:23:57:01: <ZOMGMODULES> :( 2011-04-05.txt:23:57:08: <ZOMGMODULES> what does that mean, though? 2011-04-05.txt:23:57:19: <ZOMGMODULES> or when lambdabot's here, use it 2011-04-05.txt:23:57:46: <ZOMGMODULES> i nurture it... on and off 2011-04-05.txt:23:57:58: <ZOMGMODULES> i don't think it's a language yet exactly 2011-04-05.txt:23:58:19: <ZOMGMODULES> total agreement 2011-04-05.txt:23:58:46: <ZOMGMODULES> i was going to... implement persistence 2011-04-05.txt:23:58:59: <ZOMGMODULES> except now i look at its lua source code and i hate it... oh hi storkbot 2011-04-05.txt:23:59:09: <ZOMGMODULES> |~/ 2011-04-05.txt:23:59:10: <storkbot> ZOMGMODULES: 2011-04-05.txt:23:59:15: <ZOMGMODULES> |~/* 2011-04-05.txt:23:59:15: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. 2011-04-05.txt:23:59:21: <elliott> ZOMGMODULES: AWESOME Y/N 2011-04-05.txt:23:59:37: <ZOMGMODULES> i was thinking about how to distinguish commands from variables 2011-04-05.txt:23:59:45: <ZOMGMODULES> i have no idea 2011-04-06.txt:00:00:09: <ZOMGMODULES> yesh, it kind of drifting in that direction 2011-04-06.txt:00:00:17: <ZOMGMODULES> all variables are variables that can expand themselves 2011-04-06.txt:00:00:23: <ZOMGMODULES> said expansion is execution 2011-04-06.txt:00:01:09: <ZOMGMODULES> |goto ~/send 2011-04-06.txt:00:01:10: <storkbot> ZOMGMODULES: 2011-04-06.txt:00:01:21: <ZOMGMODULES> |~/send=help 2011-04-06.txt:00:01:22: <storkbot> ZOMGMODULES: help 2011-04-06.txt:00:01:26: <ZOMGMODULES> |~/send 2011-04-06.txt:00:01:26: <storkbot> ZOMGMODULES: help 2011-04-06.txt:00:01:32: <ZOMGMODULES> |goto ~/send 2011-04-06.txt:00:01:32: <storkbot> ZOMGMODULES: help 2011-04-06.txt:00:01:35: <ZOMGMODULES> :( 2011-04-06.txt:00:01:36: <elliott> ZOMGMODULES: that seems broken a bit to me 2011-04-06.txt:00:01:55: <ZOMGMODULES> i thought it did -- not with | though 2011-04-06.txt:00:02:11: <ZOMGMODULES> goto should totally derefence 2011-04-06.txt:00:02:28: <ZOMGMODULES> oh wait 2011-04-06.txt:00:02:30: <ZOMGMODULES> |help exp 2011-04-06.txt:00:02:30: <storkbot> ZOMGMODULES: All items in [brackets] are replaced by their value, in a recursive, depth-first manner. 2011-04-06.txt:00:02:46: <ZOMGMODULES> |[~/send] 2011-04-06.txt:00:02:46: <storkbot> ZOMGMODULES: Help is available for: assignment expressions print goto tell source errors 2011-04-06.txt:00:02:51: <ZOMGMODULES> see 2011-04-06.txt:00:02:57: <ZOMGMODULES> execute = [] 2011-04-06.txt:00:03:04: <elliott> ZOMGMODULES: but but 2011-04-06.txt:00:03:23: <ZOMGMODULES> |~/send=~/send 2011-04-06.txt:00:03:23: <storkbot> ZOMGMODULES: ~/send 2011-04-06.txt:00:03:27: <ZOMGMODULES> |[~/send] 2011-04-06.txt:00:03:27: <storkbot> ZOMGMODULES: ~/send 2011-04-06.txt:00:03:34: <ZOMGMODULES> |goto [~/send] 2011-04-06.txt:00:03:34: <storkbot> ZOMGMODULES: ~/send 2011-04-06.txt:00:03:43: <ZOMGMODULES> |~/send=goto ~/send 2011-04-06.txt:00:03:43: <storkbot> ZOMGMODULES: goto ~/send 2011-04-06.txt:00:03:46: <ZOMGMODULES> |[~/send] 2011-04-06.txt:00:03:46: <storkbot> ZOMGMODULES: goto ~/send 2011-04-06.txt:00:03:58: <ZOMGMODULES> |~/send=[goto ~/send] 2011-04-06.txt:00:03:59: <storkbot> ZOMGMODULES: goto ~/send 2011-04-06.txt:00:04:02: <ZOMGMODULES> |[~/send] 2011-04-06.txt:00:04:02: <storkbot> ZOMGMODULES: goto ~/send 2011-04-06.txt:00:04:04: <ZOMGMODULES> grrrr 2011-04-06.txt:00:04:24: <ZOMGMODULES> i think currently expansion is SOMETIMES 2011-04-06.txt:00:04:54: <ZOMGMODULES> i totally figured out how to do a loop in this, once 2011-04-06.txt:00:05:11: <ZOMGMODULES> |/global=hi 2011-04-06.txt:00:05:11: <storkbot> ZOMGMODULES: hi 2011-04-06.txt:00:05:15: <ZOMGMODULES> |/global 2011-04-06.txt:00:05:15: <storkbot> ZOMGMODULES: hi 2011-04-06.txt:00:05:19: <ZOMGMODULES> |ls 2011-04-06.txt:00:05:19: <storkbot> ZOMGMODULES: Unknown command. Type '|help' for help. [too many lines; stopping]