Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail From: jacko Newsgroups: comp.lang.forth Subject: Re: How about helping optimization in language? Date: Sun, 8 Apr 2012 21:56:26 -0700 (PDT) Organization: http://groups.google.com Lines: 13 Message-ID: <16001987.117.1333947386765.JavaMail.geo-discussion-forums@vbex14> References: <30126800.1344.1332858395156.JavaMail.geo-discussion-forums@ynnk21> NNTP-Posting-Host: 92.40.253.77 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1333947387 20957 127.0.0.1 (9 Apr 2012 04:56:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 9 Apr 2012 04:56:27 +0000 (UTC) In-Reply-To: <30126800.1344.1332858395156.JavaMail.geo-discussion-forums@ynnk21> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=92.40.253.77; posting-account=kZanLQoAAABvNhBbAlX1SsCxeprjdiHJ User-Agent: G2/1.0 Xref: csiph.com comp.lang.forth:11015 : {>R} R> SWAP >R >R ; : {R>} R> R> SWAP >R ; This allows factoring R> and >R from one word definition into separate factor words. It may fail on some systems. : {{>R}} {R>} SWAP {>R} {>R} ; : {{R>}} {R>} {R>} SWAP {>R} ; Might be useful for further factoring. And maybe you could generate a recursive up level builder. Then expand all your definitions inline except for any RECURSE calls. Then factor the totality of code using a BWT and maximal saving match code generator, and maybe work out the {{}} needed. Cheers Jacko