5. /

(on Scrapbox)

Twitter
: #sfcid2017

HyperCard
Macintosh


(1) 100
? ? ?
(2) /
? Makefile使?
(3)
?

/使

/
1, 2, 3 4

=
Programming by Example (PBE)
Programming by Demonstration (PBD)

/
使

()
if(/From: masui.*/){ ...

GUI
GUIGUI
e.g. GUI

/
Gyazo

/
Gyazo

/
Gyazo

Allen Cypher
20?
Gyazo

/

/
/

/

使
()
()
+

使
, ,

UNIX
Reactive Keyboard
Dynamic Macro
POBox
Eager
SnappingEditor

使
Gyazo

UNIXEmacs
% !!
% !c
(completion)
Dynamic abbreviation
/

Demo: Unix

Demo: Emacsdabbrev

e.g. ls -l l
PPM (Prediction by Partial Match)

PPM (Witten)
e.g. `abracadabra
a b 2, c , d 1
ra c 1
bra c 1

(LZ)
+
PPM
/

a , b , c , d 4
2
a 50%, b 25%, c , d 12.5\%
a0, b10, c100, d101
1*0.5 + 2 * 0.25 + 2 * 3 * 0.125 = 1.75/
=

Gyazo

Witten
PPM
1 + 2 = , 1 + 3 = , ... "1 + ", "="
() x * exp(1-x)
.1 mc m+= +/- + 1 = exp * mr =
.2 mc m+= +/- + 1 = exp * mr =
.3 mc m+= +/- + 1 = exp * mr =
.4 mc m+= +/- + 1 = exp * mr =

Dynamic Macro ()
Emacs

Demo: Dynamic Macro

Dynamic Macro
KeySnail
Firefox
mooz

Dynamic Macro
21
" abcabc " + REP " abcabcabc "
" abbabb " + REP " abbabbabb "

Dynamic Macro (Cont'd)
" abcdeab " + REP " abcdeabcde "
+ REP " abcdeabcdeabcde "

使 +
e.g.

POBox ()

POBox
/
使
使

POBox
Gyazo
Gyazo
Gyazo
Gyazo
Gyazo

Demo: POBox

Eager (Cypher)
Gyazo

Eager
HyperCard

Video: Eager

HyperSnapping ()
Dynamic Macro

Demo: HyperSnapping

Smart Make ()
/Makefile
=
/

Smart Make使
101% grep a /etc/passwd > passwd.a
102% grep b /etc/passwd > passwd.b
103% tar cvf passwd.tar passwd.a passwd.b
a passwd.a 2 blocks
a passwd.b 3 blocks
104% compress < passwd.tar > passwd.tar.Z
105% uuencode passwd.tar.Z passwd.tar.Z > passwd.UU
106% ls
passwd.UU passwd.a passwd.b passwd.tar passwd.tar.Z
107% mm
passwd.tar.Z: passwd.tar
   compress < passwd.tar > passwd.tar.Z
passwd.tar: passwd.a passwd.b
   tar cvf passwd.tar passwd.a passwd.b
passwd.b:
   grep b /etc/passwd > passwd.b
passwd.a:
   grep a /etc/passwd > passwd.a

()
Undo
:
10 10
× 10
9 9
90
5 5
18
32 32
50

退Undo使
- 50
退 32
退 5 退
退 9
退 10
20 20 (20)
68 20
30 30 (30)
86 30
...

Gyazo


Editing by Example
TELS
SmallStar
Triggers
Metamouse
Chimera
Mondrian
Layout by Example
KidSIM
Stagecast
Viscuit
CoScripter
Sicri

Editing by Example (Nix)
使
() @i[O.K.] O.K. @i[(1)] (1)

TELS (Mo)
GUI/
///4
222-3456234-5555
2**-**5*
使

/
John Bix, 2416 22 St., N.W., Calgary, T2M 3Y7. 284-4983
Tom Bryce, Suite 1, 2741 Banff Blvd., N.W., Calgary, T2L 1J4. 229-4567
Brent Little, 2429 Cherokee Dr., N.W., Calgary, T2L 2J6. 289-5678
Mike Hermann, 3604 Centre Street, N.W., Calgary, T2M 3X7. 234-0001
John Bix,
2416 22 St., N.W.,
Calgary,
T2M 3Y7.
Tom Bryce,
Suite 1,
2741 Banff Blvd., N.W.,
Calgary,
T2L 1J4.
Brent Little,
2429 Cherokee Dr., N.W.,
Calgary,
T2L 2J6.
Mike Hermann,
3604 Centre Street, N.W.,
Calgary,
T2M 3X7.

Gyazo

(Cont'd)
Gyazo

SmallStar (Halbert)
StarGUI
Gyazo
Gyazo

Triggers (Potter)
e.g. OK
()
&#147;-&#148;
Gyazo

Video: Triggers

Metamouse (Maulsby)
Gyazo
Gyazo

Metamouse
e.g.
rule

Chimera (Kurlander)
/
GUI(Storyboard)

Mondrian (Lieberman)
(Domino)
/

Layout By Example (Hudson)
23...

KidSIM (Cypher)

KidSIM
Graphical Rewrite Rule (GRR)

KidSIM


Viscuit ()
GRR


Agentsheets (Repenning)
GRR

GUI

Agentsheets

CoScripter (Cypher)
Firefox/
Wiki
Chickenfoot


GUI


!

()
(GA, SA)

(GA)
(SA)

GA(GASP)SA(TimberWolf)VLSI



:

AP+BP+CPAP+BP+CP

AP2+BP2+CP2AP^2 + BP^2 + CP^2




(ADD (SUB (ADD (MUL (MUL (MUL (ADD (ADD (ADD SUM(diry) SUM(minangle)) (ADD 44.00 69.00)) (MUL 43.00 MIN(diry))) 5.00) (ADD (ABS MAX(minangle) MIN(dist)) (ADD (ABS 74.00 MIN(dirx)) (ABS 15.00 SUM(locx))))) SUM(minangle)) (MUL 12.00 (CMP (DIV 57.00 MIN(locx)) (CMP 94.00 MIN(intersec))))) (DIV (ABS (MUL (SUB SUM(locy) 27.00) (CMP 28.00 65.00)) 62.00) SUM(dirx))) (CMP (ABS (DIV 67.00 SUM(locy)) (CMP (ABS (ABS 73.00 (CMP 67.00 SUM(dist))) MIN(intersec)) (ABS MIN(dist) MIN(diry)))) MIN(diry)))

使

Biomorph (Richard Dawkins)
Galapagos (Karl Sims)
sbart ()

Biomorph
Blind WatchmakerRichard Dawkins

Biomorph



Galapagos Sims
NTT Intercommunication Center()
9


sbart ()

/
/
/
使

/
使
使
/

Brooks
> /, 使

/

/
/

() PDA
//
使


PBE