Article View: fj.lang.functional
Article #14Re: q
From: Hiroshi NAKANO
Date: Mon, 27 Jan 1997 00:00
Date: Mon, 27 Jan 1997 00:00
66 lines
4159 bytes
4159 bytes
$BN6C+$NCfLn$H?=$7$^$9!#(B
In article <AKAMA.97Jan23162641@amsterdam.is.s.u-tokyo.ac.jp>
akama@is.s.u-tokyo.ac.jp (AKAMA Youji) writes:
| It is folklore (the authors know of no published proof) that
| neither exceptions nor continuations can be expressed as a
| macro in terms of the other (at least if no references are
| present), even though they are closely relate.
|
|$B$H(B$B$"$k$3$H$rCN$C$F!"!V$3$l$ONI$/CN$i$l$?(B folklore $B$J$N$+!)(B $B$9$0M}2r$G(B
|$B$-$k$b$N$+!)!W$H;d$,<aA3$H$7$J$+(B$B$C$?$3$H$G$9!#;d$O!";DG0$J$,$i(B call/cc
|$B$H$+(B exception $B$H$+$,?H$K$7$_$F$^$;$s!#(B
$B@N$N(B LISP $B$G$h$/;H(B$B$o$l$F$$$^$7$?$,!"JQ?t$N(B dynamic binding $B$H$$$&(B
semantics $B$,$"$j$^$9$h$M!#(B Common Lisp $B$@$HIaDL$O(B lexical binding $B$G$9(B
$B$,!"JQ?t$r(B special $B$H@k8@$9$k$H!"$?$7$+$3$N(B dynamic binding $B$b$G$-$k$s(B
$B$8$c$J$+$C$?(B$B$+$H;W$$$^$9!#(B
call/cc $B$H(B ML $B$N(B raise/handle $B$,$I$&$b$&$^$/3z$_9g$o$J$$$N$O!"(Bcall/cc
$B$,(B lexical binding $B$J$N$KBP$7!"0lJ}$N(B raise/handle $B$,(B dynamic binding
$B$@$+$i$G$9!#(B
$B$3$NFs$D$N0c$$$O(B scope $B$H(B extent $B$H$$$&8@MU$GI=8=$5$l$k$3$H$,B?$$$h$&(B
$B$G$9$,!"(Bcall/cc $B$H(B raise/handle $B$N4X78$rI=$K$9$k$H!"(B
\ $B7QB3(B $B$N(B scope |
\---------------+--------------+
$B7QB3$N(B extent \ lexical | indefinite |
\ (static) | (dynamic) |
----------------------------------+------------+--------------+
indefinite (static) | | |
($B$=$N7QB3$X$N;2>H$r;D(B$B$7$F$*$1$P(B | call/cc | ??? |
$B$$$D$G$b$=$l$r;HMQ$G$-$k(B) | | |
----------------------------------+------------+--------------+
dynamic | | |
($B7QB3$r@8@.$7$?9=J8MWAG$N<B9T$,(B | ??? | raise/handle |
$B=*N;$7$?$i$=$N<BBN$O<:$o$l$k(B) | | |
----------------------------------+------------+--------------+
$B$_$?$$$J46$8$8$c$J$$$+$H;W$$$^$9!#(B $BEvA3Fs$D$N(B ??? $B$KBP1~$9$k$b$N$bM-$j(B
$BF@(B$B$k$o$1$G$9$,!"$I$&$b(B($BH>(B)$B<BMQE*$J%W%m%0%i%_%s%08@8l$G$O$"$^$j8+$+$1$^(B
$B$;$s$M!#(B Common Lisp $B$N(B catch/throw $B$b(B dynamic binding $B$G$9$7!#(B
# C $B$N(B setjmp/longjmp $B$J$s$+$O!"(Blexical scope + dynamic extent $B$H9M$((B
# $B$k$3$H$b$G$-$^$9$,(B ... $B$D$$$G$K(B break $B$J$s$+$b(B ... :-)
|$B$=$N5U!V(BException $B$,(B Call/cc $B$r;H$C$F%^%/(B$B%m$H$7$FDj5A$G$-$J$$!W$K$D$$(B
|$B$F$O!"OC$7$,HyL/$G$9!#(B
|
|$B!z(B Mark Lillibridge, Exceptions Are Strictly More Powerful Than
|Call/CC, CMU-CS-95-178 $B!J$A$g$C$HFI$s$@!K!'(B
|
| $B$=$N$3$H$r%U%)!<%^%k$K>ZL@(B$B$7$F$$$k$3$H$K$J$C$F$$$k!#(B
$B$3$NO@J8$G$OFC$K?($l$F$$$J$+$C$?$+$bCN$l$^$;$s$,!"!V(BException $B$,(B
Call/cc $B$r;H$C$F%^%/%m$H$7$FDj5A$G$-$J$$!W$N$O!"7QB3$N(B extent $B$N0c$$$O(B
$B$I$&$G$b$h$/$F!"(Bscoping $B$,(B static $B$+(B dynamic $B$+$N0c$$$NJ}$,K\<AE*$G$9!#(B
scoping $B$,F1$8$J$i!"EvA3(B call/cc $B$G(B raise/handle $B$,=q$1$^$9!#(B
# $B$=(B$B$&$$$($P!"(Bcall/cc $B$,(B raise/handle $B$r;H$C$?%^%/%m$G=q$1$J$$$H$$$&$N(B
# $B$O!"$I$&<($7$?$i$$$$$s$G$7$g$&$+(B??? $B$b$C$H$b!"$=$N$?$a$K$O!"%^%/%m$H(B
# $B$O2?$+!"$H$$$&$3$H$r$O$C$-$j$5$;$H$+$J$$$H$$$1$J$$$s$G$7$g$&$1(B$B$l$I(B ...
--
Hiroshi Nakano <nakano@rins.ryukoku.ac.jp>
Ryukoku Univ., Seta, Otsu, Japan
Technical Details
Message-ID:
<NAKANO.97Jan27151745@dugong37.math.ryukoku.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<AKAMA.97Jan9005151@siena.is.s.u-tokyo.ac.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: f5c49,590ed48083e6216 X-Google-Attributes: gidf5c49,public From: nakano@math.ryukoku.ac.jp (Hiroshi NAKANO) Subject: Re: q Date: 1997/01/27 Message-ID: <NAKANO.97Jan27151745@dugong37.math.ryukoku.ac.jp> X-Deja-AN: 212649411 references: <AKAMA.97Jan9005151@siena.is.s.u-tokyo.ac.jp> organization: Ryukoku Univ., Seta, Otsu, Japan reply-to: nakano@rins.ryukoku.ac.jp newsgroups: fj.lang.functional