ãã®ã°ã«ãŒãéå€é³¥ãæ³£ããŠãã®ã§ãããã ãã¶åã«ããã€ã³ã¿ãšã¯
äœãè«çŸ©ããããŸããããçµå±ããã€ã³ã¿ããã/ãªãããšããã®ã¯äœ
ããã£ãŠãã€ã³ã¿ãšåŒã¶ããšããå®çŸ©ã®åé¡ã§ããããã®å®çŸ©ã®æåŸã®
ãšããã¯èªæãšãæãæ¹ãšãè¶£å³ã®åé¡ã®ãããªæ°ãããŠããŸãã
ã§ãããŸããŸãªèšèªã«ã€ããŠããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã
åœé¡ããçã ãš*æãã*ããããåœã ãš*æãã*ããããšãããµãŒãã€
ããã£ããé¢çœãããªãšæã£ãŠã
æ°ãåãããåå ããŠãã ãã>>çæ§ ä¹ é
---
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé çªã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y
C++ Y
Pascal Y
COBOL N
Fortran Y
Java N
Perl4 N
Perl5 Y
Lisp N
ML N
Haskell N
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
---
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com
;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing Is A Pointer)ã話é¡ã«ãªã£ãŠããŸãã
Java ã«ãã€ã³ã¿ããªããšããã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§
C ã¿ããã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®ããšãšããããŸãã
ãã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããªãã§ãã
(ãšããã§ãMLã®refã£ãŠä¹ éããã¯ãã€ã³ã¿ã ãšæããªãã®?)
ku...@gssm.otsuka.tsukuba.ac.jp writes:
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?
Perl5 Y ? ?
Lisp N Y Y
ML N ? Y
Haskell N ? Y
Prolog - - Y
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com
;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing Is A Pointer)ã話é¡ã«ãªã£ãŠããŸãã
Java ã«ãã€ã³ã¿ããªããšããã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§
C ã¿ããã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®ããšãšããããŸãã
ãã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããªãã§ãã
#m ma...@cc.tsukuba.ac.jp
ã«ãŒããã°ã©ããäœããã°ãã€ã³ã¿ããããšãã£ãŠããããããªãã®ããªã
åç°æŠåž
ma...@cc.tsukuba.ac.jpãã:
> Prologè¶³ããŸããã
ãããªãã»ã©ã
> (ãšããã§ãMLã®refã£ãŠä¹ éããã¯ãã€ã³ã¿ã ãšæããªãã®?)
ãããããã§ãããintãšref intããããã ãããã€ã³ã¿ããªããã£
ã±ããšããããšã§çŽããŸãã
> ã«ãŒããã°ã©ããäœããã°ãã€ã³ã¿ããããšãã£ãŠããããããªãã®
> ããªã
é åã®æ·»åã¯ãã€ã³ã¿ã? ã«ãŒããã°ã©ããäœããŸã :-) ä¹ é
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?
Perl5 Y ? ?
Lisp N Y Y
ML Y ? Y
Haskell N ? Y
Prolog N - Y
> > ã«ãŒããã°ã©ããäœããã°ãã€ã³ã¿ããããšãã£ãŠããããããªãã®
> > ããªã
>
> é
åã®æ·»åã¯ãã€ã³ã¿ã? ã«ãŒããã°ã©ããäœããŸã :-) ä¹
é
é
åãšæ·»åã®çµ(cursorãšããããã)ã¯ãã€ã³ã¿ãããªãããšæããŸãã
ã«ãŒããã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿(ããŒã¿æ§é ãããªããŠ) ãã
ãã°ãããã¯ãã€ã³ã¿ãšåŒãã§è¯ãããããªãããšæããŸãã
ããã巚倧ãªé
åã1åã ããã£ãŠãããã°ã©ã äžã®ã©ãã§ã(é
å, æ·»å)ã®
ãããã«æ·»åã ãã§ãå Žæããäžæã«ç€ºãããããªèšèªããã£ããšããã(ã¢
ã»ã³ããªèšèªã¯ãããŠãããã§ããã©)ããã®èšèªã§æ·»åã¯ãã€ã³ã¿ã ãšèšã£
ãŠè¯ããšæããŸããã
ãªã®ã§ãã¡ãã£ãšèšãåããèšæ£ã(ããšãPerl5ã«ã¯ãã®ãã®ãã°ã
reference ã£ãŠã®ããããããã§ãããPerl4ã¯ç¥ãããç¥ãããããªãã)
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?
Perl5 Y ? Y
Lisp N Y Y
ML Y ? Y
Haskell N ? Y
Prolog N - Y
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯ãã€ã³
ã¿ãšåŒãã§ããããããªãã®ããªã
åç°æŠåž
ma...@cc.tsukuba.ac.jpãã:
> é
åãšæ·»åã®çµ(cursorãšããããã)ã¯ãã€ã³ã¿ãããªãããšæããŸ
> ããã«ãŒããã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿(ããŒã¿æ§é ãã
> ãªããŠ) ãããã°ãããã¯ãã€ã³ã¿ãšåŒãã§è¯ãããããªãããšæã
> ãŸãã
ã»ãã»ãã
> ãªã®ã§ãã¡ãã£ãšèšãåããèšæ£ã(ããšãPerl5ã«ã¯ãã®ãã®ãã°ã
> reference ã£ãŠã®ããããããã§ãããPerl4ã¯ç¥ãããç¥ãããã
> ãªãã)
ã§ã¯æ¬¡ã®è³ªåã§ãããç¥ãããããªãPerl4ã§ãã¿ããªããã
$x = ...;
$y = '$x';
$z = eval($y);
ããŠãã®å Žåã®$yã¯ãã€ã³ã¿ãªã®? ä¹
é
> > é
åãšæ·»åã®çµ(cursorãšããããã)ã¯ãã€ã³ã¿ãããªãããšæããŸ
> > ããã«ãŒããã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿(ããŒã¿æ§é ãã
> > ãªããŠ) ãããã°ãããã¯ãã€ã³ã¿ãšåŒãã§è¯ãããããªãããšæã
> > ãŸãã
> $x = ...;
> $y = '$x';
> $z = eval($y);
>
> ããŠãã®å Žåã®$yã¯ãã€ã³ã¿ãªã®? ä¹
é
ããŒããããèªãããšãæååãšãã¡ã€ã«ã䜿ããèšèªã¯ãããŠããã€ã³ã¿ã
ããããšã«ãªã£ã¡ãããŸããªã
ãããããã£ãšå
·äœçã«ã
å€vãæ ŒçŽããã¡ã¢ãªé åãžã®ã¢ãã¬ã¹aãããŒã¿ãšããŠæ±ããaãçšããé
æ¥åç
§ã§vãåãåºãæäœãæã€èšèªã¯ãCã§ãããã€ã³ã¿ãšåçã®æ©èœãã
ã€(ããªãã¡ãã€ã³ã¿ããã)
ã§ã¯ïŒ
ïŒ ããã€ã³ã¿ããããã£ãŠã®ã¯ããCã®ãã€ã³ã¿ãšåçã®æ©èœããããã§è¯ã
ïŒ ãã§ããã?
åç°æŠåž
<m3ae0bz...@maedapc.cc.tsukuba.ac.jp>ã®èšäºã«ãããŠ
ma...@cc.tsukuba.ac.jpããã¯æžããŸããã
maeda> ïŒ ããã€ã³ã¿ããããã£ãŠã®ã¯ããCã®ãã€ã³ã¿ãšåçã®æ©èœããããã§è¯ã
maeda> ïŒ ãã§ããã?
C ã§ã¯ãã€ã³ã¿å€æ°ã®ã¢ãã¬ã¹ãåãããšãã§ãã (çµæãšããŠããã€
ã³ã¿ã®ãã€ã³ã¿ããšããããã®ãçãŸãã) ãã§ãã, ãããšåçã®æ
äœã¯ Fortran90 ã§ã¯ã§ããªãããããªãã§ãããã. ã³ãŒãã¯æžããŠã
ãŸããã, äºåæšã«ããŒã¿ãå
¥ããããšãèããŠãããšãã«ã¯ããšå°ã£
ãããšããããŸã.
ããèãããš, Fortran90 ã®ãã€ã³ã¿ã£ãŠ C ã®ãã€ã³ã¿ãšæ£ç¢ºã«åçã®
æ©èœã¯ãªããšæããŸã.
--
åå€å±å€§åŠ å·¥åŠéš é»åå·¥åŠç§ å¹³ç°ç 究宀
å°é åç·
ma...@cc.tsukuba.ac.jpãã:
> ããŒããããèªãããšãæååãšãã¡ã€ã«ã䜿ããèšèªã¯ãããŠãã
> ã€ã³ã¿ãããããšã«ãªã£ã¡ãããŸããªã
ã? evalããªãã£ããåç §ã§ããªããããã
> ãããããã£ãšå
·äœçã«ã
> å€vãæ ŒçŽããã¡ã¢ãªé åãžã®ã¢ãã¬ã¹aãããŒã¿ãšããŠæ±ããaãçšããé
> æ¥åç
§ã§vãåãåºãæäœãæã€èšèªã¯ãCã§ãããã€ã³ã¿ãšåçã®æ©èœãã
> ã€(ããªãã¡ãã€ã³ã¿ããã)
> ã§ã¯ïŒ
ãããåç°ããã®å¥œã¿æ¬¡ç¬¬ã§ãã
> ïŒ ããã€ã³ã¿ããããã£ãŠã®ã¯ããCã®ãã€ã³ã¿ãšåçã®æ©èœããããã§è¯ã
> ïŒ ãã§ããã?
ãããåç°ããã®å¥œã¿æ¬¡ç¬¬ã§ãã
ãã€ã³ã¿ã®å®çŸ©ã¯åã«ãã£ãã®ã§ãä»åã¯ãã©ãããã®ããã€ã³ã¿ã
ãšæãããããšãããããŸã§ãæããã§è¡ããŸãã
ã§ãåç°ããã®ãæãããã€ã€ããŠããã:-) ä¹ é
ta...@hirata.nuee.nagoya-u.ac.jpãã:
> C ã§ã¯ãã€ã³ã¿å€æ°ã®ã¢ãã¬ã¹ãåãããšãã§ãã (çµæãšããŠããã€
> ã³ã¿ã®ãã€ã³ã¿ããšããããã®ãçãŸãã) ãã§ãã, ãããšåçã®æ
> äœã¯ Fortran90 ã§ã¯ã§ããªãããããªãã§ãããã. ã³ãŒãã¯æžããŠã
> ãŸããã, äºåæšã«ããŒã¿ãå
¥ããããšãèããŠãããšãã«ã¯ããšå°ã£
> ãããšããããŸã.
ãªãã»ã©ãåçããŒã¿æ§é ã¯ããã«ããã®ãã
> ããèãããš, Fortran90 ã®ãã€ã³ã¿ã£ãŠ C ã®ãã€ã³ã¿ãšæ£ç¢ºã«å
> çã®æ©èœã¯ãªããšæããŸã.
ãã®çšåºŠã§ããã€ã³ã¿ãšèªãã§ãããã©ããã®ãæããã䌺ããã
ããã§ã
ããã£ãã衚ã«èšå ¥ããŠãã ããããŒã ä¹ é
> ïŒ ããã€ã³ã¿ããããã£ãŠã®ã¯ããCã®ãã€ã³ã¿ãšåçã®æ©èœããããã§è¯ã
> ïŒ ãã§ããã?
C ã®ãã€ã³ã¿ã£ãŠã¡ãã£ãšç¹æ®ãªããããŸãã
scanf("%d", &c);
ã§åºãŠãã c ãžã®ãã€ã³ã¿ &c ã£ãŠã
ãã€ã³ã¿ã£ãœããªãããããã«ãã«åããªãã®ã§ã
ãšããã§çãããsh ã® $1 ã£ãŠãã€ã³ã¿ãšæãŸããïŒ
% set foo $* # push foo
% set moo $* # push moo
% echo $1 # ref
moo
% shift # pop
% echo $1 # ref
foo
%
åã¯ããã€ã³ã¿ã«äŒŒãŠããšããããšã¯å€ãã®ã§ããã
ãã€ã³ã¿ãã©ããåããŸããã
æšæ æ 䌞
sk...@mac.comãã:
> scanf("%d", &c);
> ã§åºãŠãã c ãžã®ãã€ã³ã¿ &c ã£ãŠã
> ãã€ã³ã¿ã£ãœããªãããããã«ãã«åããªãã®ã§ã
ããŒãããã«ãã«åããªããšãã€ã³ã¿ã§ãªãã£ãŠããã®ã¯ç®æ°ããã£
ãã§ãã
> ãšããã§çãããsh ã® $1 ã£ãŠãã€ã³ã¿ãšæãŸããïŒ
ã©ã£ã¡ããšãããšãé
åèŠçŽ ãã¿ãããããªãã§ãã? Awkãªããã
ãšã$iããªããŠãããµãã«æ·»åã«å€æ°ã䜿ãããããã
ãããŸãç§ã«ãšã£ãŠã¯ç®æ°ãããæèŠã§ãã ä¹
é
衚ã«èšå ¥ããŠãã ããæ¹ãé æã¡ãªã®ã§è¡šã ãåãã¹ãããŸãã
---
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
---
> 衚ã«èšå ¥ããŠãã ããæ¹ãé æã¡ãªã®ã§è¡šã ãåãã¹ãããŸãã
åè¶ãªãããåå ãããŠããã ããŸãã
ku...@gssm.otsuka.tsukuba.ac.jp writes:
ver. 2001.9.4
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y YY
C++ Y ? YY
Pascal Y Y Y?
COBOL N ? NN
Fortran Y Y Y?
Java N Y YN
Perl4 N ? ?N
Perl5 Y ? YN
Lisp N Y YN
ML Y ? Y?
Haskell N ? Y?
Prolog N - YN
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯ãã€ã³
ã¿ãšåŒãã§ããããããªãã®ããªã
#n mu...@stg.co.jp
èªæçã«ã¯ãpointerã¯æŒç®ã§ãããã©ãreference ã¯æŒç®ã§ããªã
ãã®ã !!âŠãšãã颚ã«åŒã³ããæãã§ãã
---
⊠pascal ã fortran ããããããã³ãå¿ãã¡ãããŸãããïŒæžç¹å¯Ÿè±¡ã§ãããã
ïŒïŒ
--
e-mail : mu...@stg.co.jp
> > C ã§ã¯ãã€ã³ã¿å€æ°ã®ã¢ãã¬ã¹ãåãããšãã§ãã (çµæãšããŠããã€
> > ã³ã¿ã®ãã€ã³ã¿ããšããããã®ãçãŸãã) ãã§ãã, ãããšåçã®æ
> > äœã¯ Fortran90 ã§ã¯ã§ããªãããããªãã§ãããã. ã³ãŒãã¯æžããŠã
> > ãŸããã, äºåæšã«ããŒã¿ãå
¥ããããšãèããŠãããšãã«ã¯ããšå°ã£
> > ãããšããããŸã.
>
> ãªãã»ã©ãåçããŒã¿æ§é ã¯ããã«ããã®ãã
ãããããäºåæšã«åçã«ããŒã¿å ¥ããããããªããã¡ãããšã§ããŸããã
Cã®&æŒç®å(倿°ã®ã¢ãã¬ã¹)ã«ããããã®ã¯Pascalã«ãFortran90ã«ããããŸ
ããã(å±éºãªã®ã§ãæå³çã«é€ããããããã) Fortran90ã ãšããã€ã³ã¿ã®
ãã€ã³ã¿ã(éœã«ã¯)äœããŸãããã§ããäœãšããªãããã§ããã
module tree
type tree_node
integer :: data
type(tree_node), pointer :: left, right
end type tree_node
contains
recursive subroutine insert(tree, val)
type(tree_node), pointer :: tree
integer, intent(in) :: val
if (.not.associated(tree)) then
allocate(tree) !remember, pointer arg is always inout.
nullify(tree%left)
nullify(tree%right)
tree%data = val
else if (val .lt. tree%data) then
call insert(tree%left, val)
else
call insert(tree%right, val)
end if
end subroutine insert
recursive subroutine print_tree(tree)
type(tree_node), pointer :: tree
if (associated(tree)) then
call print_tree(tree%left)
print *, tree%data
call print_tree(tree%right)
end if
end subroutine print_tree
end module tree
program tree_test
use tree
type(tree_node), pointer :: root
integer :: d
nullify(root)
do
read *, d
if (d .eq. 0) then
exit
end if
call insert(root, d)
end do
call print_tree(root)
end program tree_test
;;; çæ³¢å€§åŠ é»åã»æ
å ±å·¥åŠç³»(åŠè¡æ
å ±åŠçã»ã³ã¿ãŒ)
;;; åç°æŠåž (MAEDA Atusi) ma...@cc.tsukuba.ac.jp
> > ããŒããããèªãããšãæååãšãã¡ã€ã«ã䜿ããèšèªã¯ãããŠãã
> > ã€ã³ã¿ãããããšã«ãªã£ã¡ãããŸããªã
>
> ã? evalããªãã£ããåç
§ã§ããªããããã
ããããæååãševalããèªãããããæååãšfopenãšreadãã§ã䌌ããã
ãªããã§ããã
> ãã€ã³ã¿ã®å®çŸ©ã¯åã«ãã£ãã®ã§ãä»åã¯ãã©ãããã®ããã€ã³ã¿ã
> ãšæãããããšãããããŸã§ãæããã§è¡ããŸãã
ãµãããHaskellã«ãJavaã«ãPrologã«ãLispã«ããã€ã³ã¿(ãšããæŠå¿µ)ã¯ãª
ãããšãããæãããäžæ¹ã§ã¯æã£ãŠããã§ããã©ãã
ã§ãèªå·±åç
§æ§é (ã€ãŸãç¡éã«ã§ãããªãããããŒã¿æ§é )ã説æãããšãã«
ã¯ãã£ã±ãç¢å°ã䜿ã£ãŠèª¬æããŸããããç§ã®æãã§ã¯ãç¢å°ãã£ãŠãã£ã±ã
ã€ã³ã¿ã§ããã
> Cã®&æŒç®å(倿°ã®ã¢ãã¬ã¹)ã«ããããã®ã¯Pascalã«ãFortran90ã«ããããŸ
> ããã(å±éºãªã®ã§ãæå³çã«é€ããããããã) Fortran90ã ãšããã€ã³ã¿ã®
> ãã€ã³ã¿ã(éœã«ã¯)äœããŸãããã§ããäœãšããªãããã§ããã
ããåã§ããããªãã®ã¯Pascalã§ããFortran90ã®ãã€ã³ã¿ã¯ãä»ã®å€æ°ãæ
ããŸãã(ãã ãããã€ã³ã¿å€æ°ã¯ãã¡ããŸããæããã倿°ã¯ããããã
ãæãããããšãããããšå®£èšããŠãããªããšãã¡ã)
On 5 Sep 2001 02:17:30 GMT,
"ä¹
é" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:
ä¹
é> ---
ä¹
é> ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ä¹
é> ver. 2001.9.4
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y
C++ Y ? Y Y
Pascal Y Y ? Y
COBOL N ? ? N
Fortran Y Y ? Y
Java N Y N Y
Perl4 N ? ? ?
Perl5 Y ? ? Y
Lisp N Y N Y
ML Y ? ? Y
Haskell N ? ? Y
Prolog N - ? Y
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯ãã€ã³
ã¿ãšåŒãã§ããããããªãã®ããªã
#d mor...@qc4.so-net.ne.jp
å㯠"Pointer is a iterator. Iterator is a reference." ãšæããŸãã
ã§ã以äžã® P, Q, R ãæºãããã®ã¯ãå埩å(iterator)ããšåŒã³ãP ã®ã¿
å㯠P ãš Q ã®ã¿ãæºãããã®ã¯ãåç
§(reference)ããšåŒã³ããã§ãã
P. ãããå€ããžã®åç
§ã衚ããåç
§å€ããããã
Q. åç
§å€ã«å¯ŸããŠè©äŸ¡æŒç®ãå¯èœã(e.g. eval)
(æŒç®çµæã¯ãããå€ã)
R. åç
§å€ã«å¯ŸããŠã€ãã¬ãŒã·ã§ã³æŒç®ãå¯èœã(e.g. ++, --)
(æŒç®çµæã¯ã次ãŸãã¯åã«å¯Ÿå¿ããåç
§å€)
---
ç¹ã«ãC ã®ãã€ã³ã¿ã¯ã
ãfirst-class object ãšããŠå®çŸããã iteratorãã®äžçš®
ã®ããã«æããŸãã
ããã°ã©ãã³ã°èšèªäžè¬ã®è©±é¡ã§ããã€ã³ã¿(pointer)ããšããçšèªãçšãã
ãšãã©ãããŠã C ã®ãã€ã³ã¿ãããã«é¡äŒŒãããã®ãæãããã®ã§ãã§ãã
ã°ãå埩å(iterator)ããšãåç
§(reference)ããšããçšèªã§åºå¥ããããšã
ãã®ãæ¬é³ã§ãã
--
ããã£ãŠãåèšèªã§ã®éçºçµéšãã®èª¿æ»ã«ããªã£ãŠããããªâŠã(^^;
ãã <mor...@qc4.so-net.ne.jp>
éå€é³¥ã鳎ããŠãã£ã€ã
ãšããããã fj.sci.infomatics ãšãã®æ¹ãå
ãŸãã£ãŠãæ°ãããã®ã ãâŠâŠ(^^;
> On 5 Sep 2001 02:17:30 GMT,
> "ä¹
é" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:
>
> ä¹
é> ---
> ä¹
é> ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
> ä¹
é> ver. 2001.9.4
--------------------------------------------
#__________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y
C++ Y ? Y Y Y
Pascal Y Y Y ? Y
COBOL N ? ? ? N
Fortran Y Y Y ? Y
Java N Y N N Y
Perl4 N ? ? ? ?
Perl5 Y ? ? ? Y
Lisp N Y N N Y
ML Y ? N ? Y
Haskell N ? ? ? Y
Prolog N - ? ? Y
Smalltalk - - N - -
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯ãã€ã³
ã¿ãšåŒãã§ããããããªãã®ããªã
#d mor...@qc4.so-net.ne.jp
å㯠"Pointer is a iterator. Iterator is a reference." ãšæããŸãã
ã§ã以äžã® P, Q, R ãæºãããã®ã¯ãå埩å(iterator)ããšåŒã³ãP ã®ã¿
å㯠P ãš Q ã®ã¿ãæºãããã®ã¯ãåç
§(reference)ããšåŒã³ããã§ãã
P. ãããå€ããžã®åç
§ã衚ããåç
§å€ããããã
Q. åç
§å€ã«å¯ŸããŠè©äŸ¡æŒç®ãå¯èœã(e.g. eval)
(æŒç®çµæã¯ãããå€ã)
R. åç
§å€ã«å¯ŸããŠã€ãã¬ãŒã·ã§ã³æŒç®ãå¯èœã(e.g. ++, --)
(æŒç®çµæã¯ã次ãŸãã¯åã«å¯Ÿå¿ããåç
§å€)
#9 tak...@aisoft.co.jp
{\Huge\gt\bf æ°åã§ãïŒ}
ã ã£ãŠãPascal ã®ãã€ã³ã¿ããã€ã³ã¿ãªã Java ã«ã ML ã«ããã€
ã³ã¿ãããã£ãŠã®ãçã®éã£ãè©±ã®æ°ãããããã©ãããããæ°ã«ãª
ããªããã ããã(^^;;
ã¡ãªã¿ã«ãäœæ
Pascal ã¯ãã€ã³ã¿ãããæ°åã«ãªããã£ãŠããšãã
ã㯠Pascal ãç¿ã£ããšãã«ããã€ã³ã¿ãããããšç¿ã£ãããããã
ã£ãŠå·ã蟌ã¿ãïŒ
ã€ãã§ã«ãSmalltalk ã远å ããŠã¿ãŸãããèšèªä»æ§ãããç¥ããªã
ã®ãšãçµéšãæµ
ãã®ã¯åœç¶ã©ã£ã¡ã®æ°åã«ããªããªãã®ã§ïŒã«ããŸã
ãã
---
C èšèªçãã€ã³ã¿ã£ãŠèгç¹ããã ãšãèåãªãšããã§ã¯ã¢ã»ã³ãã©ç³»ã®
ãã®ãš C ã®ç·å±ããããªãã®ã®æ°ããããªãã
ãã®ãäžæ§çãªããã€ã³ã¿ããšãã代ç©ã«åã§ä¿®é£ŸããŠå€æ°ããã»ãã»
ããã€ã³ã¿åãã«ææã§ããããã©ãããã§å·®ãããŠããå®äœãã»ãã»
ãåã«ææããªããããã¡ãããã£ã¹ãããã£ãŠå®äœãæ¬åœã«å倿ã
ãããããªãããã§ãåã«ã»ãã»ãã ãšæãããã§æ±ãã£ãŠã OS ãæž
ãããã®é«çŽã¢ã»ã³ãã©çã«ã¯äŸ¿å©ã ãã©ã巚倧ã¢ããªã±ãŒã·ã§ã³ãæž
ãã«ã¯ãããããªä»£ç©ã¯ã
>--
> ããã£ãŠãåèšèªã§ã®éçºçµéšãã®èª¿æ»ã«ããªã£ãŠããããªâŠã(^^;
> ãã <mor...@qc4.so-net.ne.jp>
ã©ããªæè²ãåããŠãããã£ãŠã®ã®èª¿æ»ããã(^^;;
--
æç° éè ïŒ ãšãŒã»ã¢ã€ã»ãœããæ ªåŒäŒç€Ÿ NB æšé²éš
E-mail tak...@aisoft.co.jp
ãååéã§æ±ºæããçãçç±ãæ·»ããã
> å°æ°ã®èšèªããç¥ããªãã®ã§ã»ãšãã© '?' ãªã®ã§ããã
> COBOL ã« 'Y' ã远å ããŸããã
ããããããã¯æ¥ç«ã® VOS3 COBOL85 ã«ããéçšããªã話ãã
ãããŸãããããäžè¬çã«ã¯ãã¯ã COBOL 㯠'N' ã§ããã
--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>
> ããããããã¯æ¥ç«ã® VOS3 COBOL85 ã«ããéçšããªã話ãã
> ãããŸãããããäžè¬çã«ã¯ãã¯ã COBOL 㯠'N' ã§ããã
ãããã
http://home.swbell.net/mck9/cobol/tech/cobolptr.html
ãèªããšãåç€Ÿåæ§ã®æ¡åŒµä»æ§ã§ COBOL ã§ãã€ã³ã¿ã
䜿ããããã«ããŠããæš¡æ§ã§ãã
ããããæè©®åç€Ÿåæ§ã®æ¡åŒµä»æ§ãªã®ã§ãèŠæ ŒãšããŠã¯
ãã¯ã COBOL 㯠'N' ãšèšããããããŸãããã
------------------------------------------------------------------
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y
C++ Y ? ? Y
Pascal Y Y Y Y
COBOL N ? Y N
Fortran Y Y ? Y
Java N Y ? Y
Perl4 N ? ? ?
Perl5 Y ? ? Y
Lisp N Y ? Y
ML Y ? ? Y
Haskell N ? ? Y
Prolog N - ? Y
--------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
--------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
#i i...@htk.hitachi-cable.co.jp
COBOL85 ã§ã¯
working-storage section.
01 a usage is address.
01 rec1 pic x(100).
01 rec2 pic x(100) addressed by p.
01 l pic s9(9) comp sync.
01 l2 pic s9(9) comp sync.
procedure division.
compute l = function length(rec1).
compute l2 = l * 2.
* æå®ããé·ãã®ã¡ã¢ãªãåçã«ç¢ºä¿ããŠãã®é åã®
* ã¢ãã¬ã¹ãè¿ããŠããããµãã«ãŒãã³ MALLOC ããããã®ãšããã
call 'MALLOC' using l2 a.
compute p = a.
move rec1 to rec2.
compute p = p + l.
move rec1 to rec2.
ãšãã£ãæžãæ¹ãã§ããã®ã§ãããã€ã³ã¿ãããããšèšã£ãŠãããš
æããŸãã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯ãã€ã³
ã¿ãšåŒãã§ããããããªãã®ããªã
--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>
> ãèªããšãåç€Ÿåæ§ã®æ¡åŒµä»æ§ã§ COBOL ã§ãã€ã³ã¿ã
> 䜿ããããã«ããŠããæš¡æ§ã§ãã
>
> ããããæè©®åç€Ÿåæ§ã®æ¡åŒµä»æ§ãªã®ã§ãèŠæ ŒãšããŠã¯
> ãã¯ã COBOL 㯠'N' ãšèšããããããŸãããã
COBOL2002 ã§ã¯ãã€ã³ã¿ãèŠæ Œã«å
¥ãããã§ãã
COBOL85èŠæ Œã«ã¯ãã€ã³ã¿ã¯ãããŸããã
http://www.cobolreport.com/columnists/don/08142000.htm
åç°æŠåž
æšæ¥ã®ããéšããæãã£ãã§ãããããŠããŸããã©ã¬ã«ã¯ãŒã«ã
ã«ãªã£ãŠãã®ãçµ±åããŸãããããšããããCOBOLã«ã€ããŠã®è°è«
å·®ãæ¿ããããã°æžãæããŠãã©ããŒããŠãã ããã
ããããã®ããã€ã³ã¿ãšã¯ã€ãã¬ãŒã¿ã§ããããšããã®ã¯é¢çœãèã
ã§ããããã¡ãã£ãšãããæ®éãããªããããªããªããšããããã€ãã¬ãŒ
ã¿ã¿ãããªæœè±¡åããªããã以åã®è£žã®ãã®ããã€ã³ã¿ã§ãããããªæ
ãã(ç§ã«ã¯)ããŠãŸãã
çµæ§ç¶ãããã§ãã⊠ä¹
é
---
------------------------------------------------------------------
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
Java N Y N N ? YN
Perl4 N ? ? ? ? ?N
Perl5 Y ? ? ? ? YN
Lisp N Y N N ? YN
ML Y ? N ? ? Y?
Haskell N ? ? ? ? Y?
Prolog N - ? ? ? YN
Smalltalk N - N - - --
---------------------------------------------
泚èš: COBOLâCOBOL85ãFortranâFortran90
---------------------------------------------
#0 ku...@gssm.otsuka.tsukuba.ac.jp
ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
#4 sk...@mac.com ;; æè¿ã® comp.lang.scheme ã§ EIAP (Every Thing
Is A Pointer)ã話é¡ã«ãªã£ãŠããŸããJava ã«ãã€ã³ã¿ããªããšã
ãã®ã¯ãã€ã³ã¿ãšæŽæ°ããã£ã¡ãã«ãªã£ãŠãªããšããããšã§C ã¿ã
ãã«ãã€ã³ã¿ã®ã¬ã³ãžãã§ãã¯ãåºæ¥ç¡ãããšãšåºå¥ããŠãã ãã®
ããšãšããããŸãããã€ã³ã¿ã®ãªãèšèªã§ããã°ã©ã ã¯çµã¿ãããª
ãã§ãã
{\Huge\gt\bf æ°åã§ãïŒ} ã ã£ãŠãPascal ã®ãã€ã³ã¿ããã€ã³ã¿
ãªã Java ã«ã ML ã«ããã€ã³ã¿ãããã£ãŠã®ãçã®éã£ãè©±ã®æ°
ãããããã©ãããããæ°ã«ãªããªããã ããã(^^;; ã¡ãªã¿ã«ã
äœæ
Pascal ã¯ãã€ã³ã¿ãããæ°åã«ãªããã£ãŠããšãããã¯
Pascal ãç¿ã£ããšãã«ããã€ã³ã¿ãããããšç¿ã£ããããããã£ãŠ
å·ã蟌ã¿ãïŒã€ãã§ã«ãSmalltalk ã远å ããŠã¿ãŸãããèšèªä»æ§
ãããç¥ããªãã®ãšãçµéšãæµ
ãã®ã¯åœç¶ã©ã£ã¡ã®æ°åã«ããªããª
ãã®ã§ïŒã«ããŸããã
#d mor...@qc4.so-net.ne.jp
å㯠"Pointer is a iterator. Iterator is a reference." ãšæããŸãã
ã§ã以äžã® P, Q, R ãæºãããã®ã¯ãå埩å(iterator)ããšåŒã³ãP ã®ã¿
å㯠P ãš Q ã®ã¿ãæºãããã®ã¯ãåç
§(reference)ããšåŒã³ããã§ãã
P. ãããå€ããžã®åç
§ã衚ããåç
§å€ããããã
Q. åç
§å€ã«å¯ŸããŠè©äŸ¡æŒç®ãå¯èœã(e.g. eval)
(æŒç®çµæã¯ãããå€ã)
R. åç
§å€ã«å¯ŸããŠã€ãã¬ãŒã·ã§ã³æŒç®ãå¯èœã(e.g. ++, --)
(æŒç®çµæã¯ã次ãŸãã¯åã«å¯Ÿå¿ããåç
§å€)
#i i...@htk.hitachi-cable.co.jp
COBOL85 ã§ã¯
working-storage section.
01 a usage is address.
01 rec1 pic x(100).
01 rec2 pic x(100) addressed by p.
01 l pic s9(9) comp sync.
01 l2 pic s9(9) comp sync.
procedure division.
compute l = function length(rec1).
compute l2 = l * 2.
* æå®ããé·ãã®ã¡ã¢ãªãåçã«ç¢ºä¿ããŠãã®é åã®
* ã¢ãã¬ã¹ãè¿ããŠããããµãã«ãŒãã³ MALLOC ããããã®ãšããã
call 'MALLOC' using l2 a.
compute p = a.
move rec1 to rec2.
compute p = p + l.
move rec1 to rec2.
ãšãã£ãæžãæ¹ãã§ããã®ã§ãããã€ã³ã¿ãããããšèšã£ãŠãããš
æããŸãã
â(ãã®åŸäžéšã¡ãŒã«æ¡åŒµããã³COBOL 2002ã§ã¯ããšããããšã«å€æŽ)
> çµæ§ç¶ãããã§ããâŠ ä¹ é
ä»åºŠã¯ãã¡ãããã€ã€ããŠã¿ãŸã:-)
> #0 ku...@gssm.otsuka.tsukuba.ac.jp
> ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
> ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
Javaã§ã¯(Lispã§ãPrologã§ã)ãå€ãçãã(equals)ããšãåç
§ãçãã(==)ã
ã¯åºå¥ãããŠããŸãããããã¯ããã€ã³ã¿ãããæãããããªããã§ããããïŒ
åç°æŠåž
<m3bskhj...@maedapc.cc.tsukuba.ac.jp>ã®èšäºã«ãããŠ
ma...@cc.tsukuba.ac.jpããã¯æžããŸããã
> ku...@gssm.otsuka.tsukuba.ac.jp writes:
:
> > #0 ku...@gssm.otsuka.tsukuba.ac.jp
> > ç§ã¯ãããå/å€ããšããããžã®åç
§ããåºå¥ãããŠããŠäœ¿ãåãã
> > ãããããªå Žåã«ããã€ã³ã¿ãããããšãããµãã«æããŸãã
>
> Javaã§ã¯(Lispã§ãPrologã§ã)ãå€ãçãã(equals)ããšãåç
§ãçãã(==)ã
> ã¯åºå¥ãããŠããŸãããããã¯ããã€ã³ã¿ãããæãããããªããã§ããããïŒ
ãæããã§ãã£ãŠããŠãã®ã§ããããŠèžã¿èŸŒã¿ã¯ããŠããªãã£ãã®ã§ããã
ã»åç
§å€ããåç
§å€ãžã®é¢æ°ããã
ã»åç
§å€ã®æŒç®ããã
çã«ãããäœããã®ãåç
§å€èªäœã®æäœãããããšãã€ã³ã¿ã£ãœãæã
ãããŠã¯æ¥ãŸãã
éã«ããããªããªãåãªãåç
§ã§çµãã£ã¡ãããããªãã ãã©ãPascal
ããªãâŠâŠ(^^;
C ã£ãœãã£ãŠãã ãšãäœã«ã§ãåç
§å€ããšãããªãããã£ãœãããã©ã
ãã㯠LISP ãšã Smalltalk ãšãããªãâŠâŠ(^^; ãã®ç¹ã§ã¯ Pascal
ã®ã¯ããã£ãœããªãã
ãïœããèªåãšããŠã¯ Pascal ã¯å€ç«ç¹ç°ç¹ãªã®ããã(^^;
ma...@cc.tsukuba.ac.jpãã:
> Javaã§ã¯(Lispã§ãPrologã§ã)ãå€ãçãã(equals)ããšãåç
§ãçãã(==)ã
> ã¯åºå¥ãããŠããŸãããããã¯ããã€ã³ã¿ãããæãããããªããã§ããããïŒ
ãåç
§ãçãããã§ã¯ãªããåäžãªããžã§ã¯ãã§ãããã§ã :-P ä¹
é
tak...@aisoft.co.jpãã:
> éã«ããããªããªãåãªãåç
§ã§çµãã£ã¡ãããããªãã ãã©ãPascal
> ããªãâŠâŠ(^^;
Pascalã«ã¯derefããããããªãã§ãããx^ã®ã^ããã
Javaã«ãLispã«ãSmalltalkã«ããããªãã®ã¯ãªãã ä¹
é
> COBOLã«ã€ããŠã®è°è«
> å·®ãæ¿ããããã°æžãæããŠãã©ããŒããŠãã ããã
COBOL ã«ã€ããŠã®ã³ã¡ã³ããæžãçŽããèšèªãšã㊠PL/I ã
远å ããŸããã
------------------------------------------------------------------
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
PL/I - - - - Y --
#i i...@htk.hitachi-cable.co.jp
COBOL85 ã®èŠæ Œã§ã¯ãã€ã³ã¿ã¯ãªãããããã€ãã®è£œåã§ã¯
åç€Ÿåæ§ã®æ¡åŒµä»æ§ã«ããããã€ã³ã¿ã䜿ããããã«ãªã£ãŠããã
COBOL 2002ã§ã¯èŠæ Œã«å
¥ããããã
ãªããCOBOL85 ã®èŠæ Œã«ã POINTER ãšããäºçŽèªã¯ååšãã
ããçš®ã®æååæäœã«ãããŠæåäœçœ®ãæã瀺ãã®ã«äœ¿ããããã
ããã€ã³ã¿ãããªãæãæ¹èª¿æ»ãã§ãããã€ã³ã¿ãšã¯æãã
éããããã®ã§ç¡èŠã
PL/I ã¯ããç¥ããªããããã€ã³ã¿ãããã®ã¯ç¢ºããããã
#m ma...@cc.tsukuba.ac.jp
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯
ãã€ã³ã¿ãšåŒãã§ããããããªãã®ããªã
#n mu...@stg.co.jp
èªæçã«ã¯ãpointerã¯æŒç®ã§ãããã©ãreference ã¯æŒç®ã§ããªã
ãã®ã !!âŠãšãã颚ã«åŒã³ããæãã§ãã
--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>
i...@htk.hitachi-cable.co.jpãã:
> COBOL ã«ã€ããŠã®ã³ã¡ã³ããæžãçŽããèšèªãšã㊠PL/I ã远å ããŸ
> ããã
ã©ããã©ãããPL/Iã¯ã¢ãã«ãããŸãããããããPOINTERããšãã
åã1ã€ã ããã! äœåãžã®ãã€ã³ã¿ãæå®ããªã! ã ããæŽæ°åã®ã¢
ãã¬ã¹ãšã£ãŠå®æ°åã®ãã€ã³ã¿ãšããŠäœ¿ããšãããæŸé¡!
ãšãŸããèªåã®é ç®ã«æžãè¶³ããŠãããŸã ä¹ é
------------------------------------------------------------------
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
PL/I Y - - - Y --
> ã©ããã©ãããPL/Iã¯ã¢ãã«ãããŸãããããããPOINTERããšãã
> åã1ã€ã ããã! äœåãžã®ãã€ã³ã¿ãæå®ããªã! ã ããæŽæ°åã®ã¢
> ãã¬ã¹ãšã£ãŠå®æ°åã®ãã€ã³ã¿ãšããŠäœ¿ããšãããæŸé¡!
PL/I ã远å ãããšããã§ãAda ãšããã®ãæãåºããŸããã
Ada ã«ã€ããŠã¯ãå
šãç¥ããªãã®ã§ãããããã«ããã€ã³ã¿ã
ãããããªã®ã§ãJIS ãã³ãããã¯ãçºããŠã¿ããšããã
Ada ã«ããã€ã³ã¿ããããšç¢ºä¿¡ããŸããã
------------------------------------------------------------------
ãã€ã³ã¿ãããªãæãæ¹èª¿æ»
ver. 2001.9.4
ãã®èª¿æ»ã¯ãããŸã§ããã®èšèªã«ã¯ãã€ã³ã¿ãããããšãã*æç« ã*
çã ãš*æãããã/ãããªã*ãã©ããã«ã€ããŠèª¿æ»ãããã®ã§ããã
ããŸã§æãæ¹ã§ããããæ£ãã/æ£ãããªãã«ãã ãããæ°æ¥œã«åå ã
ãŸãããæ¹æ³ã§ãããé©åœã«èªåã®#ãæ±ºããŠè¡šã«
Y: çã ãšæãããã
N: çã ãšæããããªã
?: ããããªã
-: æªèšå
¥(èšèªã远å ãããšãèªå以å€ã®æ¢åçè
ã®æ¬ãããã«)
ã®ãããããèšå
¥ããŸããããèšèªãå¢ããã®ãèªç±ã§ããã©ã®#ã誰
ã§ãããã«ã€ããŠã¯ãæ«å°Ÿã«ã¡ãŒã«ã¢ãã¬ã¹ã§ãäœã§ãããã®ã§èšããŸ
ãããã³ã¡ã³ããèšå
¥ããã®ãæè¿ããŸãã
--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
PL/I Y - - - Y --
Ada - - - - Y --
ä»»æã®æåã°ã©ãã®èŸºã衚ãããåäžã®ãããŒã¿ãããã°ãããã¯
ãã€ã³ã¿ãšåŒãã§ããããããªãã®ããªã
#n mu...@stg.co.jp
èªæçã«ã¯ãpointerã¯æŒç®ã§ãããã©ãreference ã¯æŒç®ã§ããªã
ãã®ã !!âŠãšãã颚ã«åŒã³ããæãã§ãã
--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>
èªåã¯mor...@qc4.so-net.ne.jpãããmu...@stg.co.jpãã
ãšåãããã«ãåç
§ãã§ãããã€æŒç®ãã§ãããã®ããã€ã³ã¿ããšæããŸãã
#ã€ãã¬ãŒã¿ãšã¯åŒã³ãããªãã®ãmori-dãããšéããã©
fj.comp.lang.misc ã® <9ns6c8$2s...@utogw.gssm.otsuka.tsukuba.ac.jp> ã®
èšäºã«ãã㊠2001幎09æ14æ¥(é) 05æ59å36ç§é ã
ku...@gssm.otsuka.tsukuba.ac.jpããã¯æžããŸããã
>i...@htk.hitachi-cable.co.jpãã:
>> COBOL ã«ã€ããŠã®ã³ã¡ã³ããæžãçŽããèšèªãšã㊠PL/I ã远å ããŸ
>> ããã
>
> ã©ããã©ãããPL/Iã¯ã¢ãã«ãããŸãããããããPOINTERããšãã
>åã1ã€ã ããã! äœåãžã®ãã€ã³ã¿ãæå®ããªã! ã ããæŽæ°åã®ã¢
>ãã¬ã¹ãšã£ãŠå®æ°åã®ãã€ã³ã¿ãšããŠäœ¿ããšãããæŸé¡!
ãã§ãæŒç®ã¯ã§ãããã§ããããïŒ
ãšããã§ãããäžå®æ°ã®äººãããã€ã³ã¿ãããããšæããäžçªå€ã
ïŒã¢ã»ã³ãã©ãé€ãïŒèšèªã£ãŠãªãã§ããããïŒ
#FORTRAN60ã§ããã€ã³ã¿ãããèšèªãšæã人ã¯ãçµæ§ãããããŠã
---
çš²è æµ©äºº in...@st.rim.or.jp
> PL/I ã远å ãããšããã§ãAda ãšããã®ãæãåºããŸããã
> Ada ã«ã€ããŠã¯ãå
šãç¥ããªãã®ã§ãããããã«ããã€ã³ã¿ã
> ãããããªã®ã§ãJIS ãã³ãããã¯ãçºããŠã¿ããšããã
> Ada ã«ããã€ã³ã¿ããããšç¢ºä¿¡ããŸããã
ãã®ãŒãèšèªã®èª¿æ»ãããªããŠæãæ¹ã®èª¿æ»ã ãšæããã§ãæãæ¹ã人ã«ãã£
ãŠå€ãããªããããªèšèªã¯ããããŸãè¶³ããªãããšã«ããŸããïŒ
åç°æŠåž
> ãšããã§ãããäžå®æ°ã®äººãããã€ã³ã¿ãããããšæããäžçªå€ã
> ïŒã¢ã»ã³ãã©ãé€ãïŒèšèªã£ãŠãªãã§ããããïŒ
Lispã§ã¯(1959ã1960幎)ã
åç°æŠåž
> > Javaã§ã¯(Lispã§ãPrologã§ã)ãå€ãçãã(equals)ããšãåç
§ãçãã(==)ã
> > ã¯åºå¥ãããŠããŸãããããã¯ããã€ã³ã¿ãããæãããããªããã§ããããïŒ
>
> ãåç
§ãçãããã§ã¯ãªããåäžãªããžã§ã¯ãã§ãããã§ã :-P ä¹
é
ããŒãšããããã
(1) Javaã®nullããªããžã§ã¯ããªãã§ãããã?
(2) Cã®ãã€ã³ã¿å士㮠== ã¯ãåç
§ãçããããã§ããããããåäžãªããžã§
ã¯ãã§ããããã§ããããïŒ
(以äžäœè«)
Javaã§ã==ã䜿ããã«äºã€ã®StringBufferãªããžã§ã¯ããåäžãã©ããã調ã¹
ãããã°ã©ã ãæžããªããã(10ç¹)
åç°æŠåž
> Javaã§ã==ã䜿ããã«äºã€ã®StringBufferãªããžã§ã¯ããåäžãã©ããã調ã¹
> ãããã°ã©ã ãæžããªããã(10ç¹)
ãããã¡ãã != ã䜿ããã«ã(fj.comp.lang.javaãã¿ããª? ã§ãä»ã®èšèªã§
ãã ããããããªãã)
åç°æŠåž
ma...@cc.tsukuba.ac.jpãã:
> (1) Javaã®nullããªããžã§ã¯ããªãã§ãããã?
ã¢ãã«çã«ã¯ãä»ã®ãã¹ãŠã®ãªããžã§ã¯ããšåºå¥å¯èœã§ãªããã€æäœ
ã¯çŠæ¢ãããŠãã(ãšãããNullPointerExceptionäŸå€ãæãããã)ãª
ããžã§ã¯ããã ãšèãããšãã:-)
> (2) Cã®ãã€ã³ã¿å士㮠== ã¯ãåç
§ãçããããã§ããããããå
> äžãªããžã§ã¯ãã§ããããã§ããããïŒ
Cã¯ãªããžã§ã¯ãæåèšèªã§ã¯ãªãã:-) :-)
> (以äžäœè«)
> Javaã§ã==ã䜿ããã«äºã€ã®StringBufferãªããžã§ã¯ããåäžãã©ã
> ãã調ã¹ãããã°ã©ã ãæžããªããã(10ç¹)
æäœ(æåã®æžãæãç)ãè¡ã£ãŠã¿ãŠå¯äœçšãåãã§ããããèŠãã®?
ããããã®ã³ãŒãã«ãåé¡ãåºãããåŽãå¥ã¹ã¬ããã§ãå¥ãªããžã§ã¯
ãã«ãé¢ãããåã广ãåã¶ãããã«çް工ããŠãããã? 確ççã«ã
ã®çް工ãæåãã確çã0ã§ãªãå Žåã©ãããã®?
ããæ£è§£ããé¡ãããŸãå
ç :-) ä¹
é
ma...@cc.tsukuba.ac.jpãã:
> ãã®ãŒãèšèªã®èª¿æ»ãããªããŠæãæ¹ã®èª¿æ»ã ãšæããã§ãæãæ¹ã
> 人ã«ãã£ãŠå€ãããªããããªèšèªã¯ããããŸãè¶³ããªãããšã«ããŸã
> ãïŒ
ãã確ãã«âŠããããç°è«ããªã(èšå
¥ãã人ããã¹ãŠYãŸãã¯Nã§æã£
ãŠãããå Žåã¯æã
æŽçããããšã«ããŸãããã
æ¬¡ã®æ©äŒã«ã ä¹ é
> > (以äžäœè«)
> > Javaã§ã==ã䜿ããã«äºã€ã®StringBufferãªããžã§ã¯ããåäžãã©ã
> > ãã調ã¹ãããã°ã©ã ãæžããªããã(10ç¹)
>
> æäœ(æåã®æžãæãç)ãè¡ã£ãŠã¿ãŠå¯äœçšãåãã§ããããèŠãã®?
> ããããã®ã³ãŒãã«ãåé¡ãåºãããåŽãå¥ã¹ã¬ããã§ãå¥ãªããžã§ã¯
> ãã«ãé¢ãããåã广ãåã¶ãããã«çް工ããŠãããã? 確ççã«ã
> ã®çް工ãæåãã確çã0ã§ãªãå Žåã©ãããã®?
ãããããã¯ããªããšããºã€ã§ãããã
static Object global_lock = "ignore me";
static boolean eq(StringBuffer a, StringBuffer b) {
synchronized (global_lock) {
synchronized (a) {
synchronized (b) {
int len1 = a.length();
boolean value;
if (len1 != b.length()) {
return false;
}
a.append('x');
value = (b.length() == len1 + 1);
a.deleteCharAt(len1);
return value;
}
}
}
}
ãŸããå®éã¯ãããªããã¯ããã¡ãã¡ã§ç¡ç¯æã«ãã£ãããããããã¯ãèµ·ã
ãã§ããããã©ã
åç°æŠåž
ma...@cc.tsukuba.ac.jpãã:
> ãããããã¯ããªããšããºã€ã§ãããã
ããããã
> ãŸããå®éã¯ãããªããã¯ããã¡ãã¡ã§ç¡ç¯æã«ãã£ããããããã
> ã¯ãèµ·ããã§ããããã©ã
ãã¡ãã¡ã§ãããªãã2人ã®äººã«å¥ã
ã«æžããããã®ãåæã«(åŒæ°ã®
é åºãå
¥ãæãããããŠ)åŒãã ãããŠã
ãŸãããã¯æå°æªãããšããŠããããã§Javaããããã¯ã¯äœéã«æã
ãŠãããããšããŠãã®ãå¹ããŠãŸãããã
ãªããªãé¢çœãã£ãã§ã :-) ä¹ é
fj.comp.lang.misc ã® <m3wv31h...@maedapc.cc.tsukuba.ac.jp> ã®
èšäºã«ãã㊠2001幎09æ15æ¥(å) 02æ13å35ç§é ã
MAEDA Atusi (åç°æŠåž)ããã¯æžããŸããã
ããŒããLispã¯å人çã«ãã€ã³ã¿ã®ãããªãã®çŒäžã«ãªãã£ãã®ã§ããã
確ãã«ã
---
çš²è æµ©äºº in...@st.rim.or.jp
ãããšã C ãªã©ã¯æŽçããããã®ã®çé ã«ãªã£ãŠããŸããããã
ãŸãå€ã§ãªãã§ãããããæãæ¹ã«ç°è«ããªããã®ã®ååšã«ãã£ãŠ
ç°è«ããããã®ã®ååšãããã ã€ã®ã§ããããæŽçã®ãããã
ãããããªããšæããŸãã
ãã€ã³ã¿ã®æç¡ã誰ãèŠãŠãæããã§ãã£ãŠããèåãªèšèªã¯
èšèŒãããŠããŠãããšæããŸãã
--
*******************************************************************
Ito Kazumitsu Hitachi, Ibaraki, JAPAN
> > > ãã®ãŒãèšèªã®èª¿æ»ãããªããŠæãæ¹ã®èª¿æ»ã ãšæããã§ãæãæ¹ã
> > > 人ã«ãã£ãŠå€ãããªããããªèšèªã¯ããããŸãè¶³ããªãããšã«ããŸã
> > > ãïŒ
> ãããšã C ãªã©ã¯æŽçããããã®ã®çé ã«ãªã£ãŠããŸããããã
> ãŸãå€ã§ãªãã§ãããããæãæ¹ã«ç°è«ããªããã®ã®ååšã«ãã£ãŠ
> ç°è«ããããã®ã®ååšãããã ã€ã®ã§ããããæŽçã®ãããã
> ãããããªããšæããŸãã
ãããæåã«ãã£ããã®ããæžããå¿
èŠã¯ãªããšæããã§ããããŸãã人ã«ãã£
ãŠæãæ¹ãéããããªãã®ã¯è¶³ãã°è¯ããšæããŸããã©ããããŸãå¢ãããŠã
ããšçããã®ã倧å€ã«ãªã£ãŠããŸããŸããã
> ãã€ã³ã¿ã®æç¡ã誰ãèŠãŠãæããã§ãã£ãŠããèåãªèšèªã¯
> èšèŒãããŠããŠãããšæããŸãã
ããŒããããã¯ãŸãå¥ã®ãªã¹ãã«ãããã©ãã§ãããïŒ
(ãèåãªèšèªãã®å®çŸ©ãåé¡ã«ãªãã...æ¥æ¬ã§äœ¿ã£ãŠãäººã®æ°ãšãèšèªã®æ
æ³ãæ©èœãã¡ãããšç¥ã£ãŠãäººã®æ°ã§ããã°ãAdaãªããŠããããã€ããŒã§ãããã)
åç°æŠåž
> ãŸãããã¯æå°æªãããšããŠããããã§Javaããããã¯ã¯äœéã«æã
> ãŠãããããšããŠãã®ãå¹ããŠãŸãããã
>
> ãªããªãé¢çœãã£ãã§ã :-) ä¹
é
ããŒã¿ãªããžã§ã¯ãã®åäžæ§ã£ãŠãå¯äœçšããããšã以å€ã¯ç¡æå³ã§ãããã
ã ããHaskellã«ã¯ããããæŠå¿µããªãããISO-Prologã«ããªããã§ããLisp
ã®eq颿°ã¯åäžæ§ã詊ã颿°ã ãšèšã£ãŠè¯ããšæããCã®ãã€ã³ã¿ã®==ã¯ããš
ãããšåŸ®åŠã ãã©ã
åç°æŠåž
ma...@cc.tsukuba.ac.jpãã:
> ããŒã¿ãªããžã§ã¯ãã®åäžæ§ã£ãŠãå¯äœçšããããšã以å€ã¯ç¡æå³ã§ãããã
> ã ããHaskellã«ã¯ããããæŠå¿µããªãããISO-Prologã«ããªããã§ããLisp
> ã®eq颿°ã¯åäžæ§ã詊ã颿°ã ãšèšã£ãŠè¯ããšæããCã®ãã€ã³ã¿ã®==ã¯ããš
> ãããšåŸ®åŠã ãã©ã
埡æããšèšãããšããã®ã ããµãšãå¯äœçšã®ãªããªããžã§ã¯ãæåèš
èªã¯ããã?ããšããçåãæãæµ®ãã³ãŸãããæ²³éãããããã¯ãªã
ãžã§ã¯ãã®åäžæ§ããªããªããžã§ã¯ãæåèšèªã¯èš±å®¹ããªãã ãããã©ã
ã©ãã§ãããã? ä¹ é
> 埡æããšèšãããšããã®ã ããµãšãå¯äœçšã®ãªããªããžã§ã¯ãæåèš
> èªã¯ããã?ããšããçåãæãæµ®ãã³ãŸãããæ²³éãããããã¯ãªã
> ãžã§ã¯ãã®åäžæ§ããªããªããžã§ã¯ãæåèšèªã¯èš±å®¹ããªãã ãããã©ã
è¯ãç¥ããŸããããåä»ãλèšç®ã«ãªããžã§ã¯ããå ããObject Calculusã
ãšããªããžã§ã¯ãã«äŸãã° set_x(3)ãªããŠããã¡ãã»ãŒãžãéããšãxãã£ãŒ
ã«ãã®å€ã3ã«ãªã£ãæ°ãããªããžã§ã¯ããè¿ã£ãŠããŸããããããã®ã¯å¯äœ
çšãšã¯èšããªãã§ãããããobject identityã®æŠå¿µãç¡ãã§ãããã
ç§ãèªãã ã®ã¯ã
Pietro Di Gianantonio, Furio Honsell, and Lugi Liquori: A Lambda
Calculus of Objects with Self-Inflicted Extension, Proc. OOPSLA '98,
pp.166-178
ãããã
Ïèšç®ãå ã«ããã¢ãã«ãªããã ãšããŸãéãã®ããç¥ããŸããã
åç°æŠåž