00:00:00 --- log: started retro/10.01.08 01:18:59 (( and )) are just blank stubs I put in for visual effect 01:19:48 but yeah that could work... 01:21:17 forget foo would delete foo and anything created after foo. in the current implementation that would leave the vocabulary words intact as they are defined beforehand 01:21:45 Yeah, that's why I was thinking making foo be defined before it's contents might make sense 01:22:15 even if you moved foo to a different dictionary position it would still have the same position on the heap if created beforehand, so your suggested approach would lead to forget foo deleting everything in the vocab. 01:23:56 that seems like a good thing to me, but I don't understand vocabularies and stuff very well. 01:24:12 I think it would be a good thing too 01:24:18 more intuitive 01:24:36 if you happened to wish to use forget foo on a vocabulary 01:53:10 it's a much bigger headache to write this way though 02:22:07 trick is with this method you need to know the name of the word defined after vocab. I'll have to make a word to look that up. 02:27:12 : after ( a-a ) last repeat @ 2dup @ =if nip ;then again ; 03:00:02 ok! http://gist.github.com/271895 03:00:24 new syntax is vocab foo (( ... )) 03:00:46 foo open foo shut 04:04:53 --- join: crcx (i=d8012b82@gateway/web/freenode/x-fdrxkbvfmvyibjde) joined #retro 05:25:42 --- quit: virl (Remote closed the connection) 05:40:39 docl: looks good 06:39:46 --- quit: crcx ("Page closed") 09:27:27 --- join: crcx (i=d8012b82@gateway/web/freenode/x-hmaimhldczuwatxd) joined #retro 09:34:23 * crcx is considering adding docl's vocab to stage2 09:51:53 [crcx/retro10] 7c17f7: use ++ in m, [meta] 10:00:54 [crcx/retro10] 9ef2a1: split stage3 into "editor" and "debug" files 11:45:51 --- quit: crcx ("Page closed") 12:05:17 --- join: crcx (i=d8012b82@gateway/web/freenode/x-ofyxonuzzthfuudq) joined #retro 13:11:19 --- join: erider (n=chatzill@unaffiliated/erider) joined #retro 13:13:58 hi all 13:16:15 hi erider 13:18:56 * crcx is testing docl's vocabulary code 13:19:31 vocabulary? 13:19:58 http://gist.github.com/271895 13:20:08 basically a subset of the dictionary 13:21:55 crcx: what is {{ doing 13:22:11 it that a scope thingy 13:22:47 yes 13:24:12 {{ --reveal--- }} are used to hide dictionary headers while allowing selected words to remain visible 13:24:47 bascically a private namespace visible only until }} is encountered. words after ---reveal--- and before }} are left visible in the main namespace 13:26:55 crcx what is the usefulness of that feature 13:29:01 it lets you factor out functionality while not exposing the factors 13:31:12 buzzword 13:31:19 factor out ? 13:32:07 in forth, factoring involves dividing words into smaller parts 13:32:44 what do you mean 13:32:51 you have an example 13:33:31 : foo ( a-a ) repeat dup 1+ swap @ 0; emit again ; 13:33:47 : @+ ( a-ac ) dup 1+ swap @ ; 13:34:00 : foo ( a-a ) repeat @+ 0; emit again ; 13:34:48 the second 'foo' has a reusable piece of code (fetch a value and return the next address) factored out into a new word '@+' 13:34:50 ah 13:35:15 you are talking about functional programming 13:35:17 but sometimes it's nice to factor out words for readability reasons, but not keep all the words visible 13:35:26 no, this is standard practice in forth 13:35:46 concatenative programming ;) 13:36:11 you are just hiding the details of the last word 13:36:21 yes 13:37:53 [crcx/retro10] ec380f: add vocab words from docl; editor now in a vocab 13:38:01 or making it easier to understand without knowing all of the details of every word that makes up the final word 13:42:19 crcx: example: : foo ( n -- n ) dup swap * ; 13:42:21 : bar ( n -- n ) dup swap * ; 13:42:23 : foo bar ; 13:48:00 the 'swap' isn't needed there 13:50:32 it was just and example of the factoring that I understand 13:51:33 ok 13:53:08 crcx: is that correct? 13:57:54 yes 14:04:15 crcx: there is another buzzword for that the OOP uses but I can't remember what it is 14:10:10 * crcx doesn't keep up with current buzzwords 14:10:14 bbl, going home 14:10:19 --- quit: crcx ("Page closed") 15:45:46 --- join: virl (n=virl__@chello062178085149.1.12.vie.surfer.at) joined #retro 16:24:07 hi 17:34:12 home now 17:34:24 cool 18:12:53 [crcx/wheke] 07a7d5: move words in forth94 into a vocab 18:47:55 --- quit: retro-commit (Remote closed the connection) 18:48:55 --- join: retro-commit (n=Karere@c-68-80-139-0.hsd1.pa.comcast.net) joined #retro 19:04:43 docl: I'm liking the vocab code :) 19:23:46 [crcx/forthlets] 03e29a: rem words now in a vocabulary; edit is visible in ... 19:28:47 [crcx/retro10] 70c2aa: fix a small bug in "see" 19:33:47 [crcx/forthlets] d2cfdb: chorder uses a vocab; $$q left visible; exits if r... 19:34:38 how do you define a chord in ngaro if you don't get independant up/down codes for the keys? 19:36:32 ask docl :) 19:36:50 it uses combinations of two keys, pressed in sequence 19:37:20 the combinations are listed in forthlets/doc/chorder.rst 19:37:55 but as to the actual workings, docl wrote the code so is best suited to explain it 19:38:09 ok, thanks 19:38:48 I've implemented chording input systems before and doe a *lot* of variations. I don't think there is a *right* way. 19:41:22 --- quit: erider (Read error: 113 (No route to host)) 19:42:11 woo hoo! ngaro.el can now save images. Let's see if it can meta-compile and build an image... 19:53:24 hmmm have to get input from a file working first... sigh... 20:28:33 That part was easy... but the place where the retro code just calls allot to get room for the new image... it's not talking to the VM. Just assuming it can get the space. Hmmm... 20:29:38 I can have it check to ensure enough memory is provided 20:33:01 I don't know what the *right* solution is. 20:33:19 how much memory does your implementation provide? 20:33:24 Right now the ngaro.el loads the image file and allocates an additional 25%. 20:34:17 it can read the results of --shrink stored images. But the default image is a bit big for it to be comfy. 20:35:33 you'll need about 6k extra cells beyond a shrunken image to build a new image (that gives a bit of room for the metacompiler to grow slightly in the future) 20:36:18 ok, I'll try +6K instead of +25% and see how it behaves... 20:37:43 the smallest amount provided in other ports (javascript, midp) is 36k cells, but that's not necessary 20:47:54 making it about 50% of the way through core now... 20:48:14 where does it fail? 20:48:36 On the line label: nums " 0123456789ABCDEF" $, 20:48:51 Right after nums. I am raising the memory to +16K just to see... 20:50:04 ^_^ 20:50:06 ok }} 20:50:06 ok save 20:50:06 ok bye 20:50:06 20:50:06 [Ngaro VM (Emacs Lisp) halted.] 20:51:08 does the new image work? 20:51:26 let's load it and see... 20:52:54 words runs... 20:53:10 The image is a different size, which bugs me.. 20:53:36 let me rebuild the image with the console vm... 20:53:48 then use that in emacs to do a meta compile 20:56:00 Oh I see... I had an image out of date with the sources. 20:56:11 Looks like emacs and console ngaro produce the same image file 20:58:09 good :) 20:58:36 Hmmm same *size* image... 20:58:52 bash-3.2$ cmp retroImage retroImageEmacs 20:58:52 retroImage retroImageEmacs differ: char 5145, line 9 21:00:09 Emacs can use it's meta compiled image to metacompile another... 21:03:18 console eats the emacs image fine and produces an image the same as if it ran on it's own output 21:03:35 Probably the difference is what the VM is reporting for image size to the forth 21:03:46 that's likely 21:04:21 well, given the images will each work on the other for metacompiling, I guess it's close enough to check in a first version. 21:04:38 * crc is ready to pull it in :) 21:04:47 Input is uh... not so nice in the emacs version right now. I need to create a retro/ngaro interaction mode. 21:05:53 Right now you have to eval either (ngaro-queue-input-file "c:/cygwin/home/Jay/src/forth/retro/git/retro10/source/meta.retro") or (ngaro-queue-input-byte "2 2 + . words ") for example 21:08:00 The compiled version is quite useable (ignoring the input issue), the interpreted version is too slow. Compiled version will meta compile an image in about 10-15 seconds. 21:15:46 crc: glad you like it! 21:16:13 meh, right now it is just a toy... with an interaction mode it might actually be useable. 21:16:40 is the el version in the repo now? 21:16:44 js4: that's ok 21:16:44 Also... I *could* make a version of retro that generates 'native' emacs byte code. 21:16:50 docl: not quite yet 21:16:57 js4: that would be very cool 21:17:02 no, hold on, I'll submmit it in a second. Adding a tiny bit of documentation. 21:26:51 What is "pristine" in the retro10 directory? 21:27:04 a backup copy of a working image file 21:27:50 ok, the directory... ngaro/emacs or ngaro/elisp ??? 21:28:04 ngaro/emacs 21:29:46 [js4/ngaro] 49f9fc: Ngaro VM in elisp for emacs 21:30:17 I'm on gnuemacs 22.3 21:30:35 I expect it will work on many other emacsen 21:30:47 [crcx/ngaro] 5ea167: Ngaro VM in elisp for emacs 21:33:24 I disassembeld the .elc, and the core interpreter (ngaro-continue) is doing the obvious and dumb if ... else if ... else if ... for all the opcodes. I'll look at doing something like (funcall (aref opcodes opcode)) and see if call/ret/aref overhead > if/elseif/elseif overhead. 21:40:13 works in Aquamacs 1.6 21:40:20 ^_^ 21:42:05 It really needs an interaction mode, and some moer attention to being polite about sharing the cpu. 21:49:31 it's still a nice start though 21:50:15 * crc has to go to bed now; work starts in about 5.5 hours... :( 21:50:37 : after ( a-a ) 21:50:37 last 2dup @ =if drop ;then 21:50:38 repeat @ 2dup @ =if nip ;; then again ; 21:51:08 safer, if the word being evaluated is last dictionary element 21:51:15 I *really* need to get a job v.v 21:51:25 where you located? 21:51:31 Sleep well crc! 21:51:47 I am in the greater seattle washington area. 21:51:47 'night crc 21:52:19 cool, not too far from oregon where I'm at 21:53:03 down where Gerald (Jerald?) is hacking muFORTH 21:53:40 Think he's in Protland OR area 21:53:46 oh, cool 21:53:47 Portland even 21:54:01 we also have a thriving cryonics community 21:54:24 docl: with your new 'accept', I get a crash with a simple test code 21:54:34 Linus Torvalds lives in Portland now I hear 21:54:43 crc: after you mean? 21:54:48 docl: yes 21:54:55 You mention that cause you know I am a cryonicist? 21:55:11 js4: are you? 21:55:14 docl: http://gist.github.com/272747 crashes with your new "after" 21:55:28 yep, alcor for many years now. Even frozen a few friends :-S 21:55:33 cool! 21:55:40 * docl is thinking of going with alcor 21:56:05 I have the distict pleasure of being able to say I have actually walked around with bucket of (human) blood. 21:56:14 buckets actually... 21:56:21 been on cases? 21:56:50 I used to help out in the OR on the perfusion machine. I've never been on standby with a person still alive soon to be 'dead' 21:57:23 Are you signed up? Or optimistic ^_^ 21:57:55 you could probably get in touch with my employer and see if he has a position for you. he needs a programmer, and is planning to branch into cryonics. 21:58:12 Oh... not yet... well, shop around. Personally I don't think anyone else is close to as good as alcor... but opinions vary. 21:58:19 I haven't signed up yet but have been planning to for some time now 21:58:46 CI seems to offer great rates but I'm not sure if the value is as good in the long run 21:58:50 cryocrastination... 21:58:55 yup 21:59:05 huge epidemic among potential cryonicists 21:59:18 I did get some life insurance though 21:59:58 I should probably shoot rudi hoffman an email and get set up 22:00:14 It is a very difficult call. Alcor is based on the premise, more or less, of minimize the damage now. Many others operate more on the principle of "what little we can do now is trivial compared to what's left to do in the future; so just chuck'em in the can." 22:00:34 I'm pretty sold on minimizing the damage now 22:00:43 So are you going whole body? 22:00:48 although the concept of better something than nothing has merit 22:01:11 Yep. Anything is better than the incinerator/worm-bin. 22:01:22 possibly for family/social reasons, not because I think it is needed 22:01:32 my wife wants full body 22:01:56 Sooner is better, insurance rates and all... 22:02:09 * docl is lucky to have married someone open-minded enough to consent to even that 22:02:13 I pay about 80/mo and will be paid up in full in a few years 22:02:20 cool 22:02:33 I signed up many years ago... like 15? Not sure... 22:03:23 If the question though is CI or "wait till I have the money" I say go with CI now. 22:03:25 well, I've been thinking of putting money into like a guaranteed annuity or something for the long term. but I'll need life insurance to cover myself while that builds up. 22:04:40 If you have the kind of personality that makes it possible, doing something like term life + personal investments is the way to go. I prefer the more expensive, less hassle of "whole life" insurance policy. 22:05:42 The original plan predicted I would be paid up in about 10 years. But there have been two big stock market crunches and I'm not fully paid up yet v.v. 22:09:15 If ther's anything I can do to help you get signed up, let me know. 22:09:30 I don't care which group... 22:10:33 I wonder how much more expensive whole life is? 22:11:06 how did you make your arrangements, did you have someone set it up for you? 22:11:59 I talked to a life insurance saleswoman. They drew blood. I signed some papers. Now each month 80 leaves my checking account. 22:12:23 cool 22:12:25 Depends how you count expensive. It is a very bad deal as far as an investment goes. 22:12:34 hmm 22:12:49 Think about it, they are making money on the deal. 22:12:55 they - ins company. 22:12:57 makes sense 22:13:20 their slice comes off the growth rate my 80/mo would have seen. 22:13:41 what was the cost of alcor membership again? 22:13:42 so if I could have gotten say 8% on the market, I am prolly getting like 4% 22:14:13 I don't know the current rates for freezing, but there is a yearly fee in addition that's around 400 USD. 22:14:18 my employer has a program where I can put up to 3% in an ira and they match it 22:14:31 ahh 22:15:01 maybe next paycheck I'll have enough buffer to sign up 22:15:12 * docl hates living too close to the wire 22:15:28 but cryocrastinating sucks. I need to quit. 22:16:14 yeah... 22:16:41 Adults pay $378.00 annual dues plus $120 annually for Comprehensive Member Standby, for a total of $598. Additional family members pay $239.00 annual dues plus $120 annually for Comprehensive Member Standby, for a total of $359. Annual dues for persons under age 18 are $120 (Comprehensive Member Standby fees are waived for minors). 22:17:27 yeah, so prolly you need a 'spare' 2K or so. 22:17:44 yeah 22:17:58 well I'll get there. barring freak accident. 22:18:10 but you can do it a step at a time. Buy term life. Then sign up. Then get better life insurance... 22:18:59 I wonder how many forthers are also cryonicists? 22:19:23 Or better yet -- do all the paper work with alcor *first*. You'll be signed up, but not funded. Then you can get life insurance second, it's the easier hurdle. 22:19:51 I dunno. 22:20:17 it's a kind of maverick idea 22:22:14 I've met all kinds of people in the cryonics world. There do seem to be a lot of tech/software types... but there are others too... 22:24:26 that's true 22:25:33 are you signed up for full body? 22:25:41 no, head only 22:25:56 I wonder if head only works better 22:26:16 if the future medics can "un-freeze" then giving me a prosthetic body seems like a small challenge. 22:26:27 yeah 22:26:45 There are some who argue head only is safer, and others feel some of their self is in their spinal colum and body. 22:27:18 the mind seems to be backed up pretty redundently 22:27:43 I dunno, I plan to someday upgrade to whole body, but never have gotten around to it. 22:28:36 it's hard to say really 22:29:13 my big worry is that since whole body is more complicated it might actually take longer or cause more damage to the brain to try and vitrify the whole body at once 22:29:42 Yes, that is the kind of thinking that sugests head only is 'safer'. 22:30:23 I have worked in the OR, it is definitely easier to perfuse only the head and not worry about the rest of the body. 22:30:48 but there are those who argue that you can neurovitrify without severing the body. just isolate the blood vessels to the brain, clamp out the ones in the body. the body gets straight frozen, the brain vitrified 22:31:18 yep, and you can prolly have alcor do that. 22:31:39 I think I will see if I can. that would make the most sense. 22:31:59 it also is more socially acceptable as it is not "decapitation" 22:33:08 yep. The most socially acceptable practice though is more like CI "Instead of putting them in dirt, we put them in LN" 22:35:05 ideal CI cases are neurovitrified by clamping off the blood vessels to the body... assuming you can get the volunteers and everything squared away 22:35:49 trouble is in sub-ideal cases the blood coagulates and you can't perfuse anymore 22:37:15 so they tend to use higher pressures, which results in edema due to leaky vessels... which is really ugly and probably hurts the brain a lot. 22:38:04 Anything other than being "frozen to death at Alcor" or similar organization, will have alkinds of sub optimal results. 22:38:30 Currently thought "being frozen to death" is considered murder, and not available :-S 22:39:17 another thought: slice into 1mm slices and vitrify them on slides 22:39:23 But that is the best way to go, terminal diagnosis, get on the OR table a live person with mostly intact circulatory system, and med people all well rested. 22:39:36 since that way you can get near 100% cellular viability 22:39:50 yeah 22:39:53 Dunno about slicing people up, the PR angle is pretty bad on that. 22:40:00 unfortunately 22:40:08 The PR for being frozen to death is worse ^_^ 22:40:48 But I trust the folks at alcor to do the best they can with what remain I present them and the technology at the time I die. 22:41:25 yeah. but I would like the technology when I die to be a LOT better than it is now. 22:43:40 Sure, I'd would too. But I can't predict the hour of my death. I can only select the people that will *probably* deal with my remains. 22:44:01 true 22:44:27 if I end up lying out on the street for three days it's still better to be frozen than not... 22:47:48 but I should fight such possibilities as best as is possible 22:48:18 I might come back from such an event, but with less memories and continuity with my current self 22:57:17 bed time for me I think, see y'all later 22:57:24 ok 22:57:38 * docl will try and find the bug in vocabs 22:58:01 it seems like there is an infinite loop created with open 22:58:33 shown is in two places in the dictionary... 22:58:39 that would do it 23:39:20 --- quit: probonono (Read error: 110 (Connection timed out)) 23:59:59 --- log: ended retro/10.01.08