Liste des Groupes | Revenir à c arch |
Has there ever been a hardware architecture that managed the flow ofI want to simply ask WHY ??
control via “continuations”?
>You could learn to fly an airplane by coupling 16 or more electrodes
That is, you do away with the hardware concept of a stack. Instead, you
have call frames that, while defined to some extent by the architecture,
can be located anywhere in memory (allocation managed by the OS, runtime
etc as part of the ABI). A call frame has a current program counter, and
maybe some other context like local variables and a static link for
lexical binding. Instead of a “return from subroutine” instruction, you
have a “load new call frame” instruction.
>Block structured languages allow for this, they are not "in that great
You might have a location defined in a call frame for a “pointer to
parent
call frame” field, in which case “return from subroutine” just loads
this
pointer into the current-call-frame register. But you could just as
easily
have pointers to other call frames defining other kinds of
interrelationships between them. And note that transferring to a
different
call frame does not automatically invalidate the previous one. If it
stays
valid, then there is no reason why you couldn’t, at some point, come
back
to it and resume execution from where it left off.
>The ugliness is (as BGB indicates) their poor performance.
The beauty of continuations is that they are a single generalized
control
construct that can be used to implement specific language features like
regular routine calls, loops, exceptions and coroutines, all built from
the same common abstraction. One thing that is difficult to do with them
is arbitrary gotos. (I consider that a feature, not a bug.)
>
Very few high-level languages (outside of the Lisp family, anyway) seem
to
have implemented continuations as an explicit language concept. This is
an
integral part of Scheme, not so much it seems of non-Scheme Lisps. I
implemented it in my PostScript revival language
<https://bitbucket.org/ldo17/gxscript/>, and I am still trying to come
up
with a useful example, like for instance an implementation of
coroutines,
that doesn’t do my head in. ;)
Date | Sujet | # | Auteur | |
13 Jul 24 | Continuations | 138 | Lawrence D'Oliveiro | |
13 Jul 24 | Re: Continuations | 4 | BGB | |
14 Jul 24 | Re: Continuations | 2 | aph | |
15 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 1 | Anton Ertl | |
13 Jul 24 | Re: Continuations | 23 | John Dallman | |
14 Jul 24 | Re: Continuations | 21 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 20 | George Neuner | |
14 Jul 24 | Re: Continuations | 19 | John Levine | |
14 Jul 24 | Re: Continuations | 18 | Niklas Holsti | |
15 Jul 24 | Re: Continuations | 16 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | Terje Mathisen | |
15 Jul 24 | Re: Continuations | 1 | John Levine | |
15 Jul 24 | Re: Continuations | 9 | Niklas Holsti | |
16 Jul 24 | Re: Continuations | 8 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 7 | John Levine | |
16 Jul 24 | Re: Continuations | 1 | Chris M. Thomasson | |
16 Jul 24 | Re: Continuations | 5 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 4 | John Levine | |
16 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 1 | BGB | |
13 Jul 24 | Re: Continuations | 1 | BGB | |
14 Jul 24 | Re: Continuations | 10 | Lawrence D'Oliveiro | |
15 Jul 24 | Re: Continuations | 7 | Thomas Koenig | |
15 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
16 Jul 24 | Re: Continuations | 4 | Thomas Koenig | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 1 | John Dallman | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 1 | John Levine | |
14 Jul 24 | Re: Continuations | 1 | George Neuner | |
14 Jul 24 | Re: Continuations | 92 | John Savard | |
14 Jul 24 | Re: Continuations | 1 | BGB | |
15 Jul 24 | Re: Continuations | 90 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 89 | John Savard | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 86 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 69 | John Savard | |
17 Jul 24 | Re: Continuations | 68 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 67 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 1 | Michael S | |
17 Jul 24 | Re: Continuations | 37 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 36 | Stephen Fuld | |
17 Jul 24 | Re: Continuations | 35 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 22 | Stephen Fuld | |
18 Jul 24 | Re: Continuations | 8 | MitchAlsup1 | |
18 Jul 24 | Re: Continuations | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 6 | MitchAlsup1 | |
19 Jul 24 | Re: Continuations | 1 | Stephen Fuld | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 2 | Anton Ertl | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 1 | MitchAlsup1 | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 2 | MitchAlsup1 | |
22 Jul 24 | IPC (was: Reservation stations) | 1 | Anton Ertl | |
18 Jul 24 | Re: Continuations | 11 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 10 | Michael S | |
18 Jul 24 | Re: Continuations | 9 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 8 | Michael S | |
18 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 4 | Michael S | |
19 Jul 24 | Re: Continuations | 3 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 2 | Michael S | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
18 Jul 24 | Re: Continuations | 2 | John Savard | |
18 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 5 | Michael S | |
18 Jul 24 | Re: Continuations | 4 | Michael S | |
18 Jul 24 | Re: Continuations | 3 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Non-pipelined FDIV/SQRT (was: Continuations) | 3 | Stefan Monnier | |
18 Jul 24 | Re: Non-pipelined FDIV/SQRT | 1 | MitchAlsup1 | |
28 Jul 24 | Re: Non-pipelined FDIV/SQRT | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
28 Jul 24 | Re: Continuations | 2 | Paul A. Clayton | |
28 Jul 24 | Re: Continuations | 1 | Michael S | |
19 Jul 24 | Re: Continuations | 27 | Terje Mathisen | |
19 Jul 24 | Re: Continuations | 5 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 1 | Chris M. Thomasson | |
19 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
20 Jul 24 | Re: Continuations | 1 | Terje Mathisen | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 21 | MitchAlsup1 | |
19 Jul 24 | Re: Continuations | 8 | Terje Mathisen | |
22 Jul 24 | Re: Continuations | 7 | Michael S | |
22 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
22 Jul 24 | Re: Continuations | 2 | Michael S | |
23 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
23 Jul 24 | Re: Continuations | 3 | Terje Mathisen | |
19 Jul 24 | Faster div or 1/sqrt approximations (was: Continuations) | 12 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 12 | Stephen Fuld | |
17 Jul 24 | Re: fancy instructions, Continuations | 1 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | wolfgang kern | |
15 Jul 24 | Re: pessimal storage allocation, Continuations | 3 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lynn Wheeler |
Les messages affichés proviennent d'usenet.