Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.stack.nl!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: does VFX have the same bug as Gforth? Date: Sun, 24 Aug 2014 15:55:59 -0400 Organization: Aioe.org NNTP Server Lines: 27 Message-ID: References: <7f2a965b-6053-44c4-ac8c-5c977f197de8@googlegroups.com> <2014Aug19.111459@mips.complang.tuwien.ac.at> <2014Aug19.173925@mips.complang.tuwien.ac.at> <2014Aug20.094606@mips.complang.tuwien.ac.at> <2014Aug22.171358@mips.complang.tuwien.ac.at> NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:33032 On Fri, 22 Aug 2014 12:47:39 -0400, Bernd Paysan wrote: > If you look at the definition of [COMPILE] in Gforth, you see that > there's an obvious way to fix [COMPILE] in VFX: > > : [compile] ( compilation "name" -- ; run-time ? -- ? ) > \ core-ext bracket-> compile > comp' drop > dup [ comp' exit drop ] literal = if > execute \ EXIT has default compilation semantics, perform them > else > compile, > then ; immediate > > Yeah, there's a special casing for EXIT, because people using [COMPILE] > will assume EXIT to be non-immediate, so we "cheat". This makes no sense to me. If "people using [COMPILE] will assume EXIT to be non-immediate" and "all [compile] does is to undo the immediate flag" (BP in a later post), why would anyone ever use [COMPILE] on an assumed, non-immediate EXIT ? There would be absolutely no point in doing that, right? Rod Pemberton