00:00:00 --- log: started retro/10.10.16 04:54:16 --- join: docl (~luke@97-120-241-117.ptld.qwest.net) joined #retro 05:19:33 I added a bunch of combinators from joy and factor to the repo; now to see if they are actually useful anywhere :) 07:44:00 cool :) 07:46:35 I've been doing a lot of cleanup to the code today. quotes + combinators are nice 07:46:58 neat 07:47:05 which are combinators? 07:48:37 dip, sip, curry, take, tack, bi, tri, bi*, tri*, times, -times, +times, until, forever, choose, ifTrue, ifFalse 07:51:01 why do i get the feeling that dip/sip/curry are names that were picked for their cuteness, not for their readability? :P 07:51:25 foucist: names were taken from other languages using them; in this case joy and factor 07:51:42 ok, what does curry do? 07:51:46 or dip? 07:52:03 read the docs :) 07:53:05 curry returns a new quote, binding a data element and another quote together. 07:53:19 e.g., 5 &1+ curry == [ 5 1+ ] 07:53:38 dip runs a quote with a number temporarily removed from the data stack. 07:54:05 e.g., 3 5 &1+ dip == 3 5 push 1+ pop 09:18:03 foucist: any ideas for better names? 10:04:39 what's the quote about, and why ampersand instead of an actual quote 10:04:46 like '1+ or "1+ 10:05:02 hmm 10:05:32 so [ 1+ ] == &1+ ? 10:06:33 i guess << could be a good name for curry 10:06:55 in ruby it's like [ 1 ] << 2 #==> [ 1, 2 ] 10:07:57 maybe not though 10:08:12 well << also means something else in forth iirc 10:08:25 lshift? 10:08:27 yeah 12:03:00 --- join: roarde (~roarde@pdpc/supporter/active/sixforty) joined #retro 12:40:50 a quote is an anoymous function; &1+ gives an address for 1+, which is functionally the same as saying [ 1+ ] or ' 1+ 12:41:01 << is used for left shift 12:41:38 * crc just got home from work 12:47:13 foucist: the ' prefix is used for getting a character, so '1 would be the ascii code for 1. 12:49:26 ' for ascii characters, # for decimal, $ for hex, % for binary, " for strings, & for returning addresses, + for incrementing a variable, - for decrementing a variable, @ to fetch a value, and ! to store a value. I think that covers everything in the main dictionary 12:49:56 there are also > and < in the linkedList' vocabulary, for adding and removing values from a linked list 13:49:32 --- quit: roarde (Quit: Leaving.) 17:40:37 { } namespaces are gone; {{ }} now serve to replace them if used without ---reveal--- 19:10:41 that makes sense. we can use { } for other things now :) 19:10:52 yup. this was long overdue. 19:11:28 10.7.3 will have the new functionality in {{ }}, but still has { } for compatibility. now flagged as depreciated in the docs, and gone from the repo 23:59:59 --- log: ended retro/10.10.16