00:00:00 --- log: started retro/12.06.14 00:44:19 --- quit: karswell (Remote host closed the connection) 00:54:35 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 01:56:54 --- quit: karswell (Remote host closed the connection) 02:07:07 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 03:20:44 --- quit: jyfl987 (Quit: leaving) 03:23:51 --- quit: karswell (Remote host closed the connection) 03:34:09 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 04:23:04 --- quit: karswell (Ping timeout: 265 seconds) 04:29:51 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 04:44:49 --- quit: karswell (Ping timeout: 265 seconds) 04:59:47 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 05:50:27 --- quit: karswell (Remote host closed the connection) 05:53:46 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 06:18:05 --- quit: docl (Quit: leaving) 09:18:50 --- join: Kumul (~Kumul@67.224.254.22) joined #retro 13:50:38 retro: 03crc  * rcrc@questor-20120614205010-aer49mpz6tnjvqwa 10rx/incoming/ (12 files in 6 dirs): add java sources from Mike Andrews 13:51:12 still working out how to build this, but it could be promising (passes tests, has file include support) 14:45:10 --- join: docl (~luke@unaffiliated/docl) joined #retro 15:10:02 --- quit: crc (Ping timeout: 244 seconds) 16:30:03 --- join: mra_ (60f25858@gateway/web/freenode/ip.96.242.88.88) joined #retro 16:30:15 howdy, anybody around? 16:44:40 --- quit: karswell (Remote host closed the connection) 16:54:55 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 16:55:31 --- join: crc (~crc@li125-93.members.linode.com) joined #retro 16:56:29 irssi crashed :( 16:57:00 hi mra_ 17:05:04 --- quit: karswell (Remote host closed the connection) 17:15:19 --- join: karswell (~coat@93-97-29-243.zone5.bethere.co.uk) joined #retro 17:21:06 hi there crc, just saw your message! 17:23:44 I have around 30 minutes if you have any questions 17:27:23 thanks, 17:27:32 question on creating images, 17:28:31 could you point me to file which expresses retro in pure ngaro assembly? wondering about image/meta.rx, but that's in retro! is that what you meant in your email? 17:28:31 and, 17:28:33 so 17:28:40 is retro sort of self-hosting now, 17:28:46 like how c-language compiler is written in c? 17:28:51 in other words, 17:29:00 a long time ago, you wrote raw ngaro assembly, 17:29:12 now you never do that anymore because ngaro is written in retro? 17:29:18 just trying to understand that part. 17:29:35 so i guess if all that's true, 17:29:41 image/meta.rx is the assemblr; it's written in retro 17:29:56 can you still point me to that historical "bootstrap"? where i can see you writing the beginnings of retro forth in ngaro assembly? 17:29:59 originally the assembler was separate, written in a defunct language called toka 17:30:43 http://rx-core.org/past.html 17:30:48 so basically what you're saying is, retrongaro is self-hosting, where retro image is created in retro. 17:31:01 10.3 was where I rewrote the assembler in retro 17:31:21 everything since then has been pure retro, apart from the vm 17:32:11 ok thanks, i think i can understand it more next round going through that. 17:32:12 another question is, 17:32:20 (I wanted self hosting for portability sake; the original assebler in toka required a c compiler to build toka, and not all of the machines I use have one) 17:32:22 and sort of reason why i want to understand that is, 17:32:36 yes, i think self-hosting is sort of sophisticated too. 17:32:41 i.e., 17:32:45 c-compilers are written in c. 17:32:53 is sort of the way to do it i've heard. 17:33:23 check out this nice paper on the topic if you haven't seen it before --- 17:33:24 http://cm.bell-labs.com/who/ken/trust.html 17:33:38 Reprinted from Communication of the ACM, Vol. 27, No. 8, August 1984, pp. 761-763. 17:34:00 (i used to work in bell labs too, but on the physics side, not computer science side) 17:34:37 so, continuing, 17:34:40 another question is, 17:34:44 and sort of reason why i want to understand that is, 17:35:18 i would like to create a retro image which starts off in another mode, like reading from memory, rather than reading from stdin. 17:35:52 so i guess i need to learn more details about image creation, so i can swap out the i/o reading loop mode with a mode which executes directly from memory or something like that. 17:36:01 is that the right way to think about attacking that problem? 17:37:20 [... btw, i've got 49/51 file tests run in NGaroVM now... last two failures have to do with delete's which i can't figure out yet...] 17:39:27 a lot of the assembler design is due to retro's original lack of i/o. The early builds had no file i/o, no includes, etc. so stdin was the only way to get anything into it 17:39:54 this is something I'd like to change in the future 17:41:01 looking at rxReadFile in retro.c... 17:41:22 weird how it returns "0" on EOF... how to distinguish that from a zero byte in file? 17:41:51 isn't that why java InputStream.read() returns -1 on EOF, positive 8-bit unsigned integer otherwise? 17:42:11 seems more geared to string i/o, like null-terminated? 17:42:18 rather than geared to binary i/o? 17:43:54 most of the i/o model needs to be redone 17:44:30 retro doesn't provide for detecting EOF; you have to check the file size and track bytes read manually 17:45:12 got it, thanks 17:45:43 so if i write a program in retro that does something i like, 17:45:46 is the idea that, 17:46:00 i run that program then saveImage? or i'm guessing instead, 17:46:14 i somehow need to relocate the code to start at memory address 0 first, before saving? 17:46:24 then when i saveImage, next time i loadImage, 17:46:27 it will run my code, 17:46:42 rather than starting off in REPL loop of reading commands from stdin? 17:46:47 there's a hook (boot) that is called on startup 17:47:02 you could do something like: 17:47:23 : hello clear "hello, world!\n" puts bye ; 17:47:27 &hello is boot 17:47:27 save 17:47:44 and hello will run when the image is loaded 17:48:24 got it , just tried it, that's beautiful! 17:48:26 so basically, 17:48:31 that's sort of a "compiler" 17:48:52 yes 17:48:54 and i guess i should see that pattern in image/* files? 17:48:57 i'll look/ 17:48:58 . 17:49:11 so i guess, before looking, that 17:49:17 the meta.rx and kernel.rx 17:49:26 set a REPL loop as the boot hook? 17:50:22 not quite. the default action is in kernel.rx: it calls the boot hook, then jumps to the repl (listen function) 17:50:31 got it. 17:50:53 main: run-on-boot jump: listen 17:51:09 yes. run-on-boot becomes boot in the dictionary 17:52:59 what's the reasoning behind separating code between meta.rx and kernel.rx? 17:53:12 and what's meta-alt.rx? 17:53:53 meta-alt.rx is the start of a second metacompiler that only needs the functions in the initial part of kernel.rx to run 17:54:06 it's not quite complete yet 18:00:23 got all 51 file tests to pass, will commit to my github repo asap and let you know! 18:00:40 thanks 18:01:19 my pleasure... actually, thanks to you because i think retro+ngaro is quit neat & fun.... i like the simplicity of 31 opcodes. 18:01:36 I'll have your implementation in my bzr repo tomorrow (I think I left out the dotfiles tonight) 18:01:37 i wanted to extend the opcodes, but realized new ones have to have negative values, 18:02:05 is there anything particularly excellent about bzr? or something that git is missing relative to bzr 18:02:05 ? 18:02:08 because if not, 18:02:21 i think it might be worth it to switch and host on github.com. 18:02:25 btw, 18:02:30 mostly I had problems with github repeatedly 18:02:35 i think the way to fix the git version is twofold: 18:02:52 yes --- your git repo is "corrupt", not data is bad, but badly formed author emails. 18:03:04 so i think the way to convert from bzr to git is a two stage process: 18:03:11 1. convert to subversion or csv, 18:03:20 2. then convert from that to git. 18:03:30 i think the straight bzr --> git process is causing the corruption? 18:03:40 in other words, conversion from csv to git is super robust, 18:03:56 but seems like your process of bzr -> git is creating the corruption in author emails, 18:04:02 that github refuses to accept 18:04:18 maybe i'll give it a shot, never worked with bzr before though. 18:04:27 I'll look into bzr->cvs->git this weekend if you think it'll work 18:04:37 i think it might, is just my guess at this point. 18:04:48 can't hurt to try :) 18:04:51 since i know cvs --> git is robust, no idea about bzr -> git though. 18:04:56 anyway, 18:05:11 i think its sort of "awful" of git to report the author format issue as "error". 18:05:16 anyway, we gotta deal with it! 18:05:26 otherwise, i sort of love git. 18:12:20 --- quit: mra_ (Quit: Page closed) 18:37:44 --- quit: docl (Ping timeout: 244 seconds) 19:06:51 --- join: docl (~luke@unaffiliated/docl) joined #retro 19:12:22 I was able to convert the bzr repo to git after I downloaded it using bzr. the repo I got from git clone could not be sent to github due to malformed emails. 19:25:04 http://blog.agoragames.com/blog/2010/03/08/bzr-to-git-migration/ 19:25:11 mkdir ~/project.git 19:25:11 cd ~/project.git 19:25:11 git init 19:25:11 bzr fast-export --plain ~/path/to/bzr/branch | git fast-import 19:25:14 git checkout master # only needed for a non-bare repository, like I made above 19:49:38 https://github.com/lsparrish/retro-language is the result 19:59:01 https://gist.github.com/2934446 is the script for it. 20:02:40 --- quit: Kumul (Ping timeout: 265 seconds) 20:07:27 --- join: Kumul (~Kumul@67.224.254.22) joined #retro 20:58:10 --- quit: Kumul (Ping timeout: 245 seconds) 21:23:59 --- join: Kumul (~Kumul@67.224.220.78) joined #retro 21:37:17 --- join: Kumool (~Kumul@173.215.128.105) joined #retro 21:38:41 --- quit: Kumul (Ping timeout: 244 seconds) 21:56:00 --- quit: Kumool (Quit: gone) 23:59:59 --- log: ended retro/12.06.14