00:00:00 --- log: started retro/10.09.14 00:03:52 --- quit: docl (Ping timeout: 245 seconds) 01:15:48 --- quit: crc (Ping timeout: 240 seconds) 03:30:20 --- join: crc (~charlesch@184.77.185.20) joined #retro 04:18:15 --- quit: erider (Quit: ChatZilla 0.9.86 [Firefox 3.6.9/20100824153629]) 04:38:27 --- quit: crc (Ping timeout: 245 seconds) 04:49:13 --- join: Mat2 (4d177cf6@gateway/web/freenode/ip.77.23.124.246) joined #retro 04:49:21 nabend 05:11:58 hi Mat2 05:12:09 how's going? 05:12:15 hi, how you're doing ? 05:12:41 fine, at the university, writing a paper... boring 05:12:42 fine, finsihed my diploma thesis 05:13:01 congratulations 05:13:08 thanks 05:13:30 what's new about your go port ? 05:13:38 not much, is stalled 05:13:54 i have to get up to date with the last changes to retro and go 05:14:06 i have been busy with gsoc during the summer 05:14:24 google summer of code ? 05:14:28 yep 05:14:33 ah, waht project ? 05:14:38 ups what 05:15:30 9vx, an implementation of plan 9 from bell labs as an unix user space program 05:15:40 lots of fun :) 05:16:09 yes, I know the sources of plan 9 a bit 05:16:31 --- join: crc (~charlesch@184.77.185.20) joined #retro 05:16:41 basicly, what i have done is to rewrite hardware drivers as unix programs 05:17:02 that's fun :) 05:17:57 what about your virtual machine? how is that going? 05:18:34 I had finished my AVM project and can say, it is one of the best vm designs I have ever written (fastest) 05:19:14 it is now used in one commercial project for 3D visualisation of geo data 05:19:47 great 05:20:00 can it run retro images now? 05:20:15 it run a functional colorforth dialect 05:20:43 interesting... 05:20:50 where can i find more info about it? 05:21:14 not at current, there have the copyright about it 05:21:22 only the vm is under a BSD licence 05:21:53 and you can find it's sources on my assembla repro 05:22:31 but at current I work slowly on a open source version of my colorforth dialect with some restrictions 05:23:27 ouch, copyright issues, that is a pity 05:23:45 yes, I think there will never release the code as open source 05:24:47 (and mor importent will never tell anyone there software is based on a Foth dialect) 05:25:02 Forth I mean :) 05:25:22 Do you know another sucessful Forth application ? 05:25:31 does chuck's colorforth even have a license? 05:25:44 I think not 05:26:07 there is a paga at nasa.gov with a long list of where they are using forth, i would call that a sucessful application 05:26:13 s/paga/page/ 05:26:48 There's a company here in Germany using PFE as base for there medicine instruments 05:27:04 and there are very succesful with it 05:28:00 i guess some cnc machines i have used run on forth too, some kind of restricted variant 05:28:31 forth inc have also used forth in many industrial applications 05:36:57 sure 05:38:38 I think modern multi-core cpu's would benefit from forth because it's word based UPN design is an easy path for automatic parallisation 05:39:12 (if you program functional) 05:39:34 the same with factor or joy 05:41:22 that's an davantage against haskell or the ml dialects, because these languages are more or less side-effect free but come with an fixed strategy for implementing parallel processes 05:42:04 the same with Erlang and it's message based "co-routine" concept 05:42:57 Erlang is a good example, there needed to rewrite the whole vm only to implement a better sheduler ! 05:43:47 and these vm is a huge one ! 05:44:15 i have never worked with erlang, though i have read a bit about it, i'd say it is gaining some momentum now 05:45:19 yes, the language is strong in the telecommunication sector 05:47:01 well, it has always been, maybe the reason its popularity is increasing is that the teleco sector is bigger than ever 05:47:14 I think so 05:48:39 another example for these would be Lua as scripting language in the game industry 05:49:28 (I have heard some games where written more or less completely in lua) 05:53:54 by the way, what's the status of retro ? 05:54:11 I see, new vocabulary support, prefixes and direct threading vm 05:54:20 10.7 should be released soon 05:55:53 crc is also writing a new toka like language in retro, parable 05:56:13 *have a spontan idea for a some performance optimisations of the C vm, yet the image utilities DTC 05:56:49 a good idea, I find 05:57:18 I like Toka 05:58:10 i want a simple language with good strings support, i'm not sure yet if parable could be it 05:58:38 i want something to replace my rc/sed/awk/ed/whatever environment, but i don't like python 05:59:24 hmm, it should not be work to implement flexible string handling like Perl in Forth or Toka or Factor .... 05:59:54 Factor have some nice string handling functionality 06:00:22 but the vm and the image is so huge :( 06:00:35 factor is overly complicated for what i want, i cannot understand it, too many features 06:00:45 it resembles me more of smalltalk as of Forth 06:01:27 probably if i'd find the good subset of factor it could be a nice language, but i don't feel like doing it any time soon 06:01:46 you can see Toka as one subset if you will 06:02:05 the closure support for example 06:02:54 ok, it is in some cases very differnet 06:02:57 different 06:03:17 yes, toka is nice, if i add support to the go vm to execute commands and regular expressions it could work 06:03:27 but i have not find the time to do it yet 06:04:02 if I found time, I will see at your sources 06:04:21 (but priour I should learn a bit the go sementics) 06:05:05 hmm, the DTC approach in the C vm is a fallback hack 06:06:02 I think it would be better to extend two opcodes for compiling TTC code into a DTC stream and one for executing it 06:06:12 I have done this before 06:06:35 in one ngaro vm 06:06:49 from me, sadly I don't have the sources any more 06:07:18 (HDD crash) 06:09:16 i don't think the go vm performance can be improved too much 06:09:36 the language is (intentionally) bad for dirty hacks 06:09:53 yes, I fear that the case 06:10:04 well, i'm sure *something* can be improved 06:10:22 but i would prefer a simpler implementation than a gain of a 0.0001% in performance 06:10:51 that vm is more useful to play with new (high level) features, the c vm is still there if you need performance 06:11:26 yes, I think the C vm is more preferable 06:11:56 the go vm lets me to play with concepts like concurrency in retro 06:12:09 another example: i plan to add regexp support for parable 06:12:17 but it is not intended for "production" 06:13:19 I think about DTC compilation support in ngaro (the C vm) 06:14:28 that can be implemented platform independent and would speed up the engine against the TTC interpreter about a factor of ~2 if clever implemented 06:14:46 because one indirection fall back 06:15:01 (getting the address of one opcode primitive) 06:15:44 and the interpreter can replicate the DTC stream so a bundle of addresses can be executed in one iteration 06:16:34 another optimisation I can implement is mapping the data stack onto a set of register 06:17:06 but that would be useless otherwise the retro compiler supporting these feature 06:18:06 and finally the generation of static super-instructions 06:18:21 well, go ahead, i'm sure crc will accept patches 06:19:39 one at a time, at first I will finish these restricted colorforth modell 06:28:04 --- join: docl (~luke@97-120-241-117.ptld.qwest.net) joined #retro 06:39:00 --- join: kouikaras (~nikos@neutron.gen.auth.gr) joined #retro 06:39:12 --- part: kouikaras left #retro 06:39:26 --- quit: crc (Ping timeout: 264 seconds) 07:09:46 --- join: crc (~charlesch@184.77.185.20) joined #retro 07:20:57 hello crc and all 07:21:01 (again) 07:22:04 @crc: when will 10.7 be released ? 07:22:25 I want to add some features to the C implementation of ngaro 07:23:32 an TTC -> DTC compiler for example 07:37:19 Mat2: sometime this week 07:41:16 --- quit: Mat2 (Ping timeout: 252 seconds) 08:11:45 --- join: Mat2 (4d177cf6@gateway/web/freenode/ip.77.23.124.246) joined #retro 08:13:47 wb Mat2 08:28:06 Hi ! 08:28:16 i fave cloned the fossil repro 08:28:35 (and hope that's the actual source code) 08:28:44 have I mean 08:29:50 my plan is to add two ports: one for compiling a DTC stream and one for calling it 08:30:46 its NEXT routine will be replicated 4 times so an iteration executes 4 DTC addresses 08:31:09 and I combine all ngaro instructions to 60 2x2 super-instructions 08:32:17 (I would call them combined opcodes but Anton Ertl call this static super-instruction because of one obscure reasen) 08:32:45 let's see how this speed up execution 08:53:24 ok 08:58:55 time for some work, ciao 08:58:59 --- quit: Mat2 (Quit: Page closed) 10:17:49 howdy folks 10:38:41 hi docl 10:39:33 hi crc 10:41:45 * docl is trying to hunt down the bug in tabcompletions that makes it exit when you hit escape twice 10:45:28 hmm, no wait the bug is that once you hit escape it won't let you start typing. the spontaneous quitting was something I had introduced by accident. 11:04:59 --- join: roarde (~sixforty@pdpc/supporter/active/sixforty) joined #retro 11:13:40 --- join: erider (~chatzilla@unaffiliated/erider) joined #retro 11:13:51 hello 11:14:22 hi erider 11:16:44 crcx: how are you doing today? 11:19:37 still alive, but blood sugar is high 11:21:32 are you taking anything to control your levels 11:44:43 crcx: did you copy last message ? 12:06:23 erider: erider: sorry; got busy at work 12:06:31 erider: I take several medications and insulin 12:09:00 If I learn retro using 10.5, how much will I have to unlearn to use 10.7? 12:15:20 roarde: only the vocabularies 12:15:48 everything else is minor IIRC 12:15:54 so, not just the vocabulary use or structure, but the vocabularies themselves? 12:18:13 roarde: just use 10.7: http://rx-core.org/retro-10.7.tar.gz 12:18:45 it's done, just not formally released at this point 12:30:39 I'll push it out tonight 13:47:30 --- join: alexshendi (~alexshend@178.2.210.147) joined #retro 13:50:18 hi alexshendi 13:51:17 Hi crcx, how is it going? 13:51:57 pretty good 13:52:40 Glad to hear that. Any retroforth news? 14:03:55 10.7 is being released tonight 14:07:03 --- quit: roarde (Quit: Leaving.) 14:08:58 Oh cool. What are the new features. I tried browsing the fossil repository but ended up confused :) 14:10:45 the biggest change is a completely rewritten vocabulary system 14:11:01 with selectable search order, etc 14:49:03 crcx: One more question? Is the retro dictionary a simple linked list? 14:52:59 yep 14:53:26 the chain vocabularies are separate though. 14:55:07 Thanks 15:00:39 Goodnight. Going to bed now :) 15:01:19 --- quit: alexshendi (Quit: Verlassend) 15:45:43 see you in a minute or so 15:45:53 --- quit: erider (Quit: ChatZilla 0.9.86 [Firefox 3.6.9/20100824153629]) 16:09:49 home now 16:10:30 wb crc 16:10:54 * docl is playing with c 16:30:50 --- join: erider (~chatzilla@unaffiliated/erider) joined #retro 16:32:39 wb erider 16:37:37 thanks docl 16:37:51 how is the vocab word coming along 16:38:02 plus how do you like the new house 16:39:27 docl? 16:39:29 hmm 16:41:01 I love the new house 16:42:47 crc has adapted the new vocab style into the later versions of retro. basically you would do something like chain: foo ... ;chain 16:43:06 it's pretty cool 16:43:22 I'm playing around with c right now, I want to diversify my skils a little 16:44:27 I have to admit, pointers in c do not make nearly as much sense to me yet as pointers in retro. 16:46:50 docl: there are about the same but different syntax 16:48:01 I am learning how to use ed standard Unix text editor. I is the only form I can use to program with over my iphone 16:51:19 docl: I really think C is worth the time 16:58:01 Yeah I guess it's just a matter of practicing until I am familiar enough with it. 16:59:57 docl: what do you hope to do with it 17:01:48 I don't know yet. I might make my own forth, or a mud server. 17:02:26 i'm writing a lot of c and ed lately. both of them are worth the time 17:03:07 yiyus you use ed? 17:03:20 I just started using it today :( 17:03:24 sure 17:03:53 i'm currently updating some ed scripts to rewrite c files 17:04:14 ed has scripts 17:05:01 once you learn the basics of ed, i'd recommend sam -d, same style but more powerful 17:05:54 it does not really have any special scripts support, but you can send your scripts to stdin 17:08:23 interesting 17:09:29 see: http://bytebucket.org/yiyus/vx32/src/tip/src/9vx/a/ 17:09:52 all those .ed files are "ed scripts" 17:09:59 cool 17:10:06 they are used by AUTOGEN 17:10:32 I need to use ed to code because vi doesn't render 17:11:51 yiyus do you code with ed with any issues ? 17:12:12 what do you mean? 17:14:22 moving around in the buffer is kind of weird for me. Going to one place to the next in the text is weird too 17:14:55 plus "y" doesn't cut it just copies 17:16:28 you have to forget everything you knew about cursors and selections and think in text editing as input commands, then it starts making sense 17:17:02 you can use d to delete if you want to cut 17:22:02 I haven't used ed in a long time 17:24:05 docl: C is definitely worth learning. I wrote the direct predecessor to ngaro while learning the basics of C. 17:25:30 woah ed is easier to use than I thought 17:38:11 yiyus any other tips 17:39:07 yiyus is ed your primary editor? 17:39:15 crc you are home 17:39:19 erider: yes 17:40:34 cool deal 17:42:32 wow yiyus you are using plan9? 17:43:50 http://gist.github.com/580046 17:47:29 http://gist.github.com/580054 17:49:08 nice 17:59:05 docl this looks like it could cause a bug: char *p=str; 17:59:06 p=str; 18:00:31 --- mode: ChanServ set +o crc 18:00:36 --- topic: set to 'Retro Forth | Logs @ http://bit.ly/ayTmLI | Stable Release 10.7 @ http://bit.ly/dlJq7V | Fossil Repo @ http://rx-core.org | http://retroforth.org' by crc 18:11:05 10.7 is out. 18:31:20 erider: the second line p=str is unneeded. 18:33:33 fixed 18:43:56 I would take out the first line 18:45:02 char *p; p=str; 18:46:50 hmm. I guess it is clearer that way. 18:47:53 so if you want to clear it then I would char *p = NULL; p=str; 18:50:20 why would that be helpful? 19:14:25 maybe it's a good practice to always initialize? 19:15:17 yes 19:15:31 though I think you could just do: char *p = str; 19:17:41 it's a little confusing that char *p=str means something different than *p=str in another context would. 19:18:31 is char *p the same as char* p? 19:18:41 it should be IIRC 19:18:53 ok 19:19:11 pointers in c can be a bit tricky 19:19:22 so char* is like a separate type from char 19:19:35 char* is a pointer to a char 19:19:50 so char *p = p being a pointer to a character/character array 19:20:09 char p = p is a variable sized to hold a single character 19:21:04 see http://en.wikipedia.org/wiki/Pointer_(computing)#C_pointers 19:36:06 docl: with moveTo: it's possible to nest chains 19:36:23 (now committed to the repo) 19:37:35 cool! 20:11:57 there is a different between p and *p 21:36:26 --- quit: crc (Ping timeout: 264 seconds) 21:36:58 --- join: crc (~charlesch@184.77.185.20) joined #retro 23:59:59 --- log: ended retro/10.09.14