Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #43823

Re: POSTPONE behaviour

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail
From "Rod Pemberton" <boo@fasdfrewar.cdm>
Newsgroups comp.lang.forth
Subject Re: POSTPONE behaviour
Date Thu, 26 Nov 2015 05:20:08 -0500
Organization Aioe.org NNTP Server
Lines 51
Message-ID <op.x8pdnuvdyfako5@localhost> (permalink)
References <49eeaf16-5bdf-449c-8278-59e2bb992441@googlegroups.com> <b4792de6-8408-4e0c-8d9d-ddc9558500ef@googlegroups.com> <7f06c60a-bc63-4aa3-adfc-877972fa9120@googlegroups.com> <98a20b8e-3531-4d97-9fbb-f16216edca0d@googlegroups.com> <86vb8qv9be.fsf@vps34351.public.cloudvps.com> <b18ae92a-815d-4c01-a570-052215b96346@googlegroups.com> <n33pnt$2tq$1@dont-email.me> <91b7cce8-9779-4ab4-84bf-6f4b04115189@googlegroups.com> <n33u8h$h4j$1@dont-email.me> <29d96442-5161-4d80-ae1a-5592f9509389@googlegroups.com> <n34ekq$con$1@dont-email.me> <b2aa6fed-18f7-4a4c-b478-7ca3d306cc6f@googlegroups.com> <n36d0u$22f$1@dont-email.me>
NNTP-Posting-Host n4wpt9zq8xR26Ttf9mo2BA.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:43823

Show key headers only | View raw


On Thu, 26 Nov 2015 02:42:48 -0500, Gerry Jackson <gerry@jackson9000.fsnet.co.uk> wrote:
> On 26/11/2015 06:11, Raimond Dragomir wrote:

>>> When the compiler encounters POSTPONE IF in a definition it doesn't
>>> cause the compilation semantics of IF to be executed, it compiles some
>>> code that causes the compilation semantics of IF (i.e. IF's special
>>> compilation semantics) to be executed when its enclosing definition is
>>> called in a later definition.
>>>
>>> When the compiler encounters POSTPONE DROP in a definition it doesn't
>>> cause the compilation semantics of DROP to be executed, it compiles some
>>> code that causes the compilation semantics of DROP (i.e. default
>>> compilation semantics) to be executed when its enclosing definition is
>>> called in a later definition.
>>>
>>> Apart from the bit in parentheses and the words IF and DROP, what's the
>>>    difference?
>>
>> The big difference is that postpone postpones the EXECUTION of immediate
>> words and postpones the COMPILATION of non-immediate words.
>>
>> Just trying to implement postpone and you will get the big difference.
>> Postponing EXECUTION of immediate words is very simple, just compile the
>> word like it is non-immediate. Postponing the COMPILATION of a word is not
>> like that.
>>
>
> That's the system implementer's problem. The user doesn't care when
> postponing words, that's what I'm talking about. Look at Bernd Paysan's
> examples.
>

Programmers need to understand what something does to use it.
Without understanding immediacy in an interpreted Forth, and
what COMPILE and [COMPILE] do, and seeing an implementation
of POSTPONE, you probably won't grasp that POSTPONE is a
poorly named, universal compile.  How else does someone
grasp the duality of POSTPONE without understanding immediacy?
Without the background, POSTPONE is a magical black box.
If all you know about is POSTPONE , then what would do you do
for the rare few instances where POSTPONE won't work?  I think
the established Forth programmers probably have a solid foundation
to work from based on history, whereas newer programmers don't.


Rod Pemberton


-- 
How to kill Facebook.  Tell a bunch of fourth graders that
only old people use Facebook.  Wait eight years.

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-24 21:18 -0800
  Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-24 22:00 -0800
    Re: POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-24 22:15 -0800
      Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-24 22:54 -0800
        Re: POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-24 23:09 -0800
        Re: POSTPONE behaviour Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-25 08:15 +0100
          Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-24 23:38 -0800
            Re: POSTPONE behaviour Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-25 08:46 +0100
              Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-25 00:04 -0800
            Re: POSTPONE behaviour rickman <gnuarm@gmail.com> - 2015-11-25 03:01 -0500
              Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-25 00:09 -0800
                Re: POSTPONE behaviour rickman <gnuarm@gmail.com> - 2015-11-25 03:23 -0500
                Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-25 01:09 -0800
                Re: POSTPONE behaviour rickman <gnuarm@gmail.com> - 2015-11-25 10:49 -0500
                Re: POSTPONE behaviour "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 09:10 -1000
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-25 09:18 +0000
                Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-25 02:21 -0800
                Re: POSTPONE behaviour Mark Wills <markwills1970@gmail.com> - 2015-11-25 02:47 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-25 13:58 +0000
                Re: POSTPONE behaviour Mark Wills <markwills1970@gmail.com> - 2015-11-25 06:35 -0800
                Re: POSTPONE behaviour Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-25 18:45 +0100
                Re: POSTPONE behaviour Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-11-25 22:11 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-26 07:42 +0000
                Re: POSTPONE behaviour "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-11-26 05:20 -0500
                Re: POSTPONE behaviour anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-26 16:50 +0000
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-26 17:59 +0000
                Re: POSTPONE behaviour Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-27 19:07 +0100
                Re: POSTPONE behaviour anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-28 11:24 +0000
                Re: POSTPONE behaviour hughaguilar96@gmail.com - 2015-11-26 12:29 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-27 09:53 +0000
                Re: POSTPONE behaviour hughaguilar96@gmail.com - 2015-11-29 21:48 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-30 12:18 +0000
                Re: POSTPONE behaviour Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-30 13:41 +0100
                Re: POSTPONE behaviour hughaguilar96@gmail.com - 2015-11-30 19:56 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-12-01 09:59 +0000
                Re: POSTPONE behaviour hughaguilar96@gmail.com - 2015-12-01 22:46 -0800
                Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-12-02 07:50 +0000
              Re: POSTPONE behaviour anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-25 13:45 +0000
                Re: POSTPONE behaviour rickman <gnuarm@gmail.com> - 2015-11-25 10:54 -0500
        Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-25 07:39 +0000
          Re: POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-24 23:48 -0800
            Re: POSTPONE behaviour Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-11-25 08:03 +0000
    Re: POSTPONE behaviour Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-25 18:37 +0100
  Re: POSTPONE behaviour "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-11-25 01:27 -0500
    Re: POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-24 22:51 -0800
  Re: POSTPONE behaviour Aliaksei Chapyzhenka <alex.drom@gmail.com> - 2015-11-25 21:19 -0800

csiph-web