view paste/paste.9977 @ 12257:1924fe176291 draft

<fizzie> ` sed -e \'s|wisdom|bin|\' < ../bin/cwlprits > ../bin/cblprits; chmod a+x ../bin/cblprits
author HackEso <hackeso@esolangs.org>
date Sat, 07 Dec 2019 23:36:53 +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]