40

%BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

%BO

JFM�+BDL

TPO

.*5

�-BC

�GPS�$PN

QVUF

S�4DJFO

DF/"4"�"

NFT

�r�"VHV

TU��� ��

���

Page 2: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

2

VÀ�Ã�ÃÊ�vÊ`i

«i�`

>L���ÌÞ

8F�IBW

F�CFD

PN

F�EBO

HFSP

VTMZ�EFQ

FOEFO

U�PO�MBS

HF�TPGUXBS

F�TZ

TUFN

T�XIPTF

�CFI

BWJP

S�JT�O

PU�XFMM�VOEFS

TUPPE

��1*5

"$�SFQ

PSU �'

FCSVBSZ�����

TPGUXBS

F�JT

rVOSF

MJBC

MFGBJMT�JO

�VOQSF

EJDUB

CMF�X

BZT

rJOGMFY

JCMF

DIBO

HFT�N

BLF�JU�X

PSTF

rFYQFO

TJWF

OPU�N

VDI

�SFV

TF�PG�EFT

JHOT�PS�DP

EF

Page 3: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

3

ÌÀ>`

����>

�Ê>««

À�>V�i

Ã

UFTUJO

HrD

BO�U�SFQ

MJDB

UF�SFB

M�XPSME

rUJO

Z�QSP

QPSUJP

O�PG�DB

TFT�DP

WFSF

ErO

P�I

FMQ�X

JUI�JODP

NQMFUF

OFT

T�PG�TQ

FD

QSP

UPUZ

QJO

HrUPP�DPTUMZ�GPS�BMM�CVU�(6*

rUFN

QUB

UJPO�UP�CVJME�PO�QSP

UPUZ

QF

rOP�HVBS

BOUF

FT�GPS�GJOBM�QSP

EVDU

QSP

DFTT

rGPDV

T�PO�I

VN

BO�SFT

PVSD

FT�BMP

OF

rJOTF

OTJUJWF

�UP�O

BUVSF

�PG�TP

GUXBS

FrD

BO�CF�N

BKPS�CVSE

FO�IFO

DF�9

1 �F

UD

Page 4: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

4

>�i

ÜÊ>««

À�>V�

NPEFMT

rDBQ

UVSF

�FTTFO

DF�PG�TQ

FD��

�EFT

JHO

rNVDI

�TN

BMMFS�UI

BO�TUB

OEBS

E�EPDT

QBU

UFSO

TrSFD

PHO

J[F�SF

DVSSJO

H�UI

FNFT

rDPEJGZ�BO

E�SFV

TF�UIFN

FTDB

QJO

H�GSPN

�DPEF

rOPU�OJN

CMF�FOPVHI

�GPS�FY

QMP

SBUJPO

rQPPS�DP

NN

VOJDBU

JPO�N

FEJV

NrP

VS�CBT

JD�BTTFU

�CVU�B�IVHF

�MJBCJMJUZ

Page 5: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

5

Ü�Þ

Êv�À�>��Ã�¶

&OHMJTI��

�QJDUV

SFT

rBN

CJHVPVT���JN

QSF

DJTF

rOPU�BO

BMZ[

BCMF

GPSN

BM�O

PUB

UJPOT

rCBT

FE�PO�N

BUIFN

BUJDT

rPGGFS

�TJN

VMBUJPO �D

BMDV

MBUJPO �B

OBMZT

JTMJLF�DP

OWF

OUJPOBM�FOHJOFF

SJOH

1SB

YJT�T�$

%*4

�TZT

UFN

�GPS�6,�BJS�USB

GGJD

rPGGFS

FE�X

BSSB

OUZ

�UP�DMJFO

UrGPSN

BM�TQFD

JGJDBU

JPO���

��PG�UP

UBM�DP

TUrMPX�EFGFD

U�SB

UF �P

WFSB

MM�DPTU�TBW

JOH

Page 6: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

6

Ì�iÊ>���ÞÊ>««À�>

V�

BVUP

NBU

JPO

rTJN

VMBUJPO��

�DIFD

LJO

H�PG�N

PEFMT

rUSB

EFP

GG�GPS�GV

MM�BOBMZ[

BCJMJUZ

rFYQMP

JU�.

PPSF

�T�MBX

QSP

DFTT

rJODS

FNFO

UBM�BO

E�SJTL�E

SJWF

OrB

QQMZ�JO�BMM�QIBT

FT�PG�EFW

FMPQN

FOU

rBU�BMM�MFWF

MT�GSP

N�N

PEFMT�UP

�CZU

FDPEF

PSJHJOT

r;�GPSN

BMJTN

�0

YGP

SE

r4"5�TPMWJO

H�UF

DIOPMP

HZ�#FMM�-BC

T�FU

�BM

rTFN

BOUJD�EBU

B�N

PEFMT

expr

essi

vein

trac

tabl

e

trac

tabl

ein

expr

essi

ve

Page 7: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

7

>««��V>Ì���ÃÊ�vÊ>���Þ

DBTF

�TUV

EJFT

r*OUF

OUJPOBM�/

BNJO

H�4ZT

UFN

r$IPSE

�QFF

S�UP

�QFF

S�OBN

FTFS

WJDF

rSVMF�C

BTFE

�BDD

FTT�DP

OUSPM

r$0

.�JOUF

SGBD

F�SV

MFT

POHP

JOH�XPSL

rNPEFMT�PG�DP

OGMJDU�QSP

CF

rOFU

XPSL

�UPQPMP

HZ�QSP

UPDP

MTrTFD

VSF

�71/

rPCKFDU

�JOUF

SBDU

JPO�JO�+BW

B

Page 8: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

8

�>

ÌÊ�½��ÊÃ��

ÜÊÞ�Õ

B�UZ

QJDBM�QSP

CMFN

rGSP

N�B�UFY

U�QSP

DFTTJO

H�QSP

HSBN

rFYQSF

TT�FTTFO

DF�JO�"

MMPZ

rBQQMZ�BVUP

NBU

JD�BOBMZT

JT

XJE

FMZ�BQ

QMJDB

CMF

rCBT

FE�PO�DPN

NPO�QBU

UFSO

T�$

PN

NBO

E �0

CTF

SWFS

rTBN

F�BT

�PVS������EFT

JHO�PG�$5"4�$

.rB

WPJE

�GBJMV

SF�X

JUI�HFO

FSJD�EJTDJQMJOF

UXP�MFW

FMT��BCTUSB

DU�EFT

JHO��

�DPEF

rTBN

F�OPUB

UJPO �T

BNF�BO

BMZT

JT

Page 9: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

9

��ÜÊÌ�ÊÕÃiÊ����

Þ

wri

tem

inim

alm

odel

gene

rate

inst

ance

s

chec

kpr

oper

ty

tigh

ten

mod

el

loos

enm

odel

exte

ndm

odel

or s

top

pick

anal

ysis

none

none

som

e

som

e

Page 10: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

10

�i�i

ÞÊÌ�Ê�

���Þ

QBS

UJBMJUZ

rJG�N

Z�TZ

TUFN

�IBT

�QSP

QFS

UZ�1

�XJMM�QSP

QFS

UZ�2

�GPMMPX

rJT�FO

WJSP

ON

FOUB

M�BT

TVN

QUJPO�"

�FOPVHI

"MMPZ�JT�B�DPOTUSB

JOU�MBOHV

BHF�JF �B�MPHJD

rUIF�MFTT�ZPV�TBZ

�UIF�N

PSF

�DBO

�IBQ

QFO

rDBO

�FYQSF

TT�QSP

QFS

UZXJUIPVU�N

FDIBO

JTN

�UP�BDI

JFWF

�JU

QSP

HSBN

NJO

H�MBOHV

BHFT

rUIF�MFTT�ZPV�TBZ

�UIF�MFTT�DBO

�IBQ

QFO

rFWF

SZ�QSP

QFS

UZ�I

BT�UP�CF�BD

IJFWF

E

Page 11: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

11

iÝ>�

«�i\ÊÌ>}}i

ÀÊ«À�}

À>�

DPN

CJO

FrUZQ

PHS

BQIJD�RVBMJUZ���GMFYJC

JMJUZ�PG�2

VBS

L�9

QSF

TTrX

JUI�DPOWF

OJFODF

�PG�UF

YUV

BM�JOQVU�PG�5F9

tagg

erqu

ark

tagg

edte

xt

char

map

sour

cete

xt

type

set

outp

ut

styl

esh

eet

Page 12: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

12

Ã>�«�iÊÌÀ>�

�>���

sour

ce

���������� �����������������������������������������������������������

������� ������������!"#���������$�������%������

tagg

ed

r�"�DPOTUSB

JOU�TPMWJOH�UFDI

OJRVF��8

F�VTF�B�UFD

IOPMPHZ�EFW

FMPQFE

�QSFWJPVTMZ�

<�>�UP�BOBMZ[

F�UIF�TLFMFUPO

outp

ut

����������� ������� ���� �&��� �

char

map

����������������&������ �������� �������� ������� �

styl

e sh

eet

������'������������������������������'���������������������� ������� �

�����������!����(�����)��������*+#���������$�������%������

Page 13: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

13

>LÃÌÀ>VÌÊ`iÃ�}�

rTPVSD

F�DP

OWF

SUFE

�UP�TUSFB

N�PG�UP

LFO

TrF

BDI�UPLFO

�DPOTV

NFE

�CZ�FO

HJOF

rFOHJOF�FY

FDVUF

T�BMM�BD

UJPOT�SF

HJTUFS

FE�GPS�UP

LFO

�UZQ

FrB

DUJP

OT�N

BZ�SFB

E��

�XSJUF

�GJMFT

�SFH

JTUF

S�EFS

FHJTUF

S�BD

UJPOT

engi

ne

type

1a1

a2

type

2a3

a5a1

toke

nize

rto

kens

trac

k &

pla

nin

terp

rete

rev

ents

Page 14: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

14

Ü�Þ

Ê>ÀiÊ>VÌ���ÃÊ��Vi¶

rGMFYJC

MF �D

POUF

YU�TF

OTJUJWF

�CFI

BWJP

VS

rXJUIPVU�POF�IVHF

�NPOPMJUI

JD�QJFDF

�PG�DP

EF

rFBT

Z�UP

�UVSO

�CFI

BWJP

VST�PO��

�PGG

rDBO

�IBW

F�TV

CFO

HJOFT

��FH �GPS�OVN

CFS

JOH�TUSJOHT

FYBN

QMF��N

BUI�N

PEF

r��TUB

SUT�BO

E�FOET�AN

BUI�N

PEF���Q

VUT�BMM�MFU

UFST�JO�JUB

MJDT

rJN

QMFN

FOUF

E�BT���BDU

JPOT

GPS���UPLFO

��EPMMBS

@BDU

JPO

GPS�BMQIBC

FUJD�TUSJO

H�UP

LFO

��JUB

MJDJ[F

@BDU

JPO

rEPMMBS

@BDU

JPO

FODB

QTV

MBUF

T�N

PEF

SFHJTUFS

T�EFS

FHJTUF

ST�JUB

MJDJ[F

@BDU

JPO

Page 15: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

15

>���ÞÊL>

Ã�VÊV�

�Vi«ÌÃÊ­�

®

BUPN

rBO�JOEJWJTJC

MF �V

OJO

UFSQ

SFUF

E�FOUJUZ

B�UP

LFO

�B�UPLFO

�UZQ

F �B�QFS

TPO �B

�TUSJO

H �BO�BJSDS

BGU

TFU rBO�VOPSE

FSFE

�DPMMFD

UJPO�PG�BU

PN

T5PLFO

�5ZQ

F �1

FSTP

O �4

USJO

H �"

JSDS

BGU

SFMBUJPO

rB�TFU

�PG�UV

QMFT�PG�BU

PN

TUZ

QF��5

PLFO

����5

ZQF

NZ1

IPOF#

L��/

BNF���

�/VN

QIPOF#

L��/

BNF���

�/BN

F���

�/VN

Page 16: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

16

>���ÞÊ�«

iÀ>Ì�ÀÃ

TFU�PQFS

BUPST

T��

UVOJP

OT��

U�JO

UFSTFD

UJPO

T��U�

EJGGFSF

ODF

SFMBUJPO�PQFS

BUPST

T��S

JNBH

FQ��

�R�

VOJP

O �F

UD

myP

hone

Bk: N

ame

-> N

umm

yFrie

nds:

set

Nam

em

yFrie

nds.

myP

hone

Bk

phon

eBk:

Nam

e ->

Nam

e ->

Num

me:

Nam

em

e.ph

oneB

km

yFrie

nds.

phon

eBk

mot

her:

Nam

e ->

Nam

em

e.m

othe

r.ph

oneB

k(m

e +

me.

mot

her)

.pho

neBk

me.

phon

eBk

-m

e.m

othe

r.ph

oneB

k

Page 17: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

17

>Ê`i

�}�

��`

i�Ê�vÊ>�

Ê>VÌ���Ê�>V���i

sig

Toke

n {t

ype:

Typ

e}si

g Ty

pe {

}si

g A

ctio

n {r

egs,

der

egs:

Typ

e ->

Act

ion}

sig

Engi

ne {

tabl

e: T

ype

-> A

ctio

n}

fun

exec

ute

(e, e

’: En

gine

, t: T

oken

) {

doA

ctio

ns (

e, e

’, t.

type

.(e.

tabl

e))

}

fun

doA

ctio

ns (

e, e

’: En

gine

, act

ions

: set

Act

ion)

{e’

.tab

le =

e.t

able

-ac

tions

.der

egs

+ a

ctio

ns.r

egs

}

Page 18: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

18

���>���

Toke

n =

to1

, to2

Type

=

ty1

, ty2

Act

ion

= a

1, a

2En

gine

= e

1, e

2

type

= t

o1 -

> t

y1,

to2

-> t

y2

regs

= a

1 ->

ty1

->

a2,

a2

->

ty2

->

a1

dere

gs=

a1

-> t

y1 -

> a

1,

a1 -

> t

y2 -

> a

1 ta

ble

= e

1 ->

ty1

->

a1,

e2

->

ty1

->

a2

e=

e1

e’=

e2

t=

to1

Page 19: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

19

>Ê`i

�}�

ʵÕi

ÃÌ���

DBO�JN

QMFN

FOUB

UJPO�EP�BDU

JPOT�JO

�BOZ�PSE

FS

asse

rt {

all e

, ei,

e’, e

”: E

ngin

e, t

: Typ

e,ax

, ay:

set

t.(

e.ta

ble)

|do

Act

ions

(e,

ei,

ax)

&&

doA

ctio

ns (

ei, e

’, ay

)&

& d

oAct

ions

(e,

e”,

ax+

ay)

=>

e’.t

able

= e

”.ta

ble

}

Page 20: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

20

V�Õ�

ÌiÀiÝ>�«�i

UIF�TD

FOBS

JPrGJSTU�EP"DU

JPO

SFHJTUFS

T�BO

�BDU

JPO

rTFD

POE�EP"DU

JPO

EFS

FHJTUF

ST�JU

rCVU�BH

HSFH

BUF�EP"DU

JPO

DPMMFD

UT�EFS

FHJTUF

ST�VQGSPOU

Page 21: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

21

`i�}�

ÊV�>

��i�}

i

XIBU

�TUSBU

FHZ�GP

S�PSE

FS�JOEFQ

FOEFO

DF

rNVTU�CF�TJN

QMF�BOE�TUB

UJD

IFS

F�T�POF�TUSB

UFHZ

rHSP

VQ�BDU

JPOT�UI

BU�SFH

�EFS

FH�FBD

I�PUI

FSrTBZ

�UIBU

�≤��BDU

JPO�PG�B�HS

PVQ�N

BZ�SFH

JTUF

S�GP

S�UZ

QF�U

rSVMF�PVU�BS

CJUSB

SZ�JOJUJBMJ[B

UJPO�PG�FO

HJOF

UP�DIFD

L�JU

rXSJUF

�EFGJO

JUJP

O�PG�HS

PVQJO

HrX

SJUF

�SFH

JTUSBU

JPO�BOE�JOJUJBMJ[B

UJPO�SVMFT

rSFD

IFD

L�BTTFS

UJPO

Page 22: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

22

�>

ÌÊÌ�iÊÀiÃÌÊ��

��i`

���i

Êo

TJH�(SP

VQFE

"DU

JPO�FYUF

OET�"DU

JPO�\HS

PVQ��T

FU�"

DUJP

O^

GBDU

�\ MFU�EFQ

FOET���"

DUJP

O�SF

HT��

�"DU

JPO�EFS

FHT�]

"DU

JPO�HS

PVQ��

��E

FQFO

ET���_

EFQ

FOET

^GBDU

�\"DU

JPO��

�(SP

VQFE

"DU

JPO^

GBDU

�/P$MBTI

FT��\

BMM�U��5

ZQF�]�OP�B��"

DUJP

O �B

h��B�HS

PVQ��

B�]

B���Bh�JO�U�"

DUJP

O��S

FHT

^

GBDU

�/P"SC

JUSB

SZ*O

JUT��\BMM�F��&

OHJOF�]�F�UB

CMF�JO�"

DUJP

O�SFH

T^

Page 23: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

23

iÝ«iÀ�i�

Vi

rUPPL�N

F���I

PVST�UP�EFW

FMPQ�UIJT�TUSBU

FHZ

rMPUT�PG�GBMTF�BU

UFN

QUT�PO�UIF�XBZ

SBQJE

MZ�FYQPTF

E�CZ�UP

PM

rBCPVU�����MJO

FT�PG�"MMPZ�XSJUUFO

rGPS���BDU

JPOT ���?���DBT

FTDP

VOUF

SFYBN

QMF�����TFD

POE

FYIBV

TUJO

H�TQ

BDF�����N

JOVUF

Page 24: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

24

��Û

��}ÊÌ�ÊV�`

i

&OHJOF�DMBT

TrI

PME

T�BD

UJPO�MJTUT

rJO�BSSBZ

�JOEFY

FE�PO�UPLFO

�UZQ

F

DPOTV

NJO

H�UP

LFO

rDSF

BUFT

�JUF

SBUP

S�PCKFDU

rZJFME

T�FB

DI�BDU

JPO�JO�UVSO

BOE�QFS

GPSN

T�JU

Iter

ator

Engi

ne

List

Act

ion

Arr

ay

Page 25: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

25

V�`i

Ê�vÊi�

}��i

QSJWB

UF�-

JOLFE

-JTU�<>�UBC

MF�

y QVCMJD�WP

JE�SFH

JTUF

S�"

DUJP

O�BDU

JPO �JOU�UZ

QF�\

BDUJPOT<UZ

QF>�BEE�BD

UJPO�

^

QVCMJD�WP

JE�DPOTV

NF@

UPLFO

�5PLFO

�UPLFO

�\

*UFS

BUPS�J���UBC

MF<UPLFO

�UZQ

F>�JUF

SBUP

S��

XIJMF�J�IBT

/FY

U��\

"DU

JPO�B��

�"DU

JPO�J�OFY

U��

B�QFS

GPSN

�UP

LFO

�J�

^^

Page 26: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

26

v>��Õ

Àit

Engi

neLi

stIt

erat

orA

ctio

n

cons

ume

i = l.

iter

ator

()

a =

i.ne

xt()

a.pe

rfor

m()

e.re

gist

er(…

)

a =

i.ne

xt()

Arr

ay

l = t

able

[t.t

ype]

Page 27: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

27

V���`

�v�V>���

QSP

CMFN

rJUF

SBUP

S�TI

BSFT

�TUB

UF�X

JUI�MJTU

rIPME

T�DV

STPS�JO

UP�SFQ

SFTF

OUB

UJPO

rDBMM�UP

�MJTU�T�BE

EN

BZ�JOWB

MJEBU

F�DV

STPS

+BWB

�T�TPMV

UJPO

rJUF

SBUP

S�BO

E�MJTU�IBW

F�WF

STJP

OOVN

CFS

TrMJTU�T�JUFS

BUPS�DS

FBUF

T�JUFS

BUPS�XJUI�TBN

F�WF

STJP

OrMJTU�T�BE

E�SFN

PWF

JODS

FNFO

UT�MJTU�WF

STJP

OrB

U�TUBS

U�PG�JUFS

BUPS�T�OFY

UDI

FDL�WFS

TJPOT�N

BUDI

JG�O

PU �UISP

X�FYDF

QUJPO

Page 28: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

28

>««À�>

V�

CVJME�N

JOJN

BM�"

MMPZ�N

PEFMT

rPG�MJTU�BOE�JUF

SBUP

SrP

G�FO

HJOF�TUSV

DUVSF

USBO

TMBU

F�FO

HJOF�N

FUIPE

rJOUP

�"MMPZ�BT

TFSUJP

OrB

OE�BOBMZ[

F�JU

UP�GJY�QSP

CMFN

rEFW

FMPQ�HFO

FSBM�EJTDJQMJOF

rBEE�UP�N

PEFM�BOE�SFB

OBMZ[

FrDI

FDL�DPEF�BH

BJOTU�EJTDJQMJOF

Page 29: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

29

��`

i����

}ÊÌ�iÊ�i

UXP�LJO

ET�PG�"MMPZ�BU

PN

TrSFGFS

FODF

T��TMP

UT�UIBU

�IPME

�PCKFDU

TrP

CKFDU

T��WBMVFT

�UIBU

�HP�JO�TMP

UT

sig

Ref

{}

sig

Obj

{}

sig

Stat

e {

refs

: set

Ref

,ob

j: R

ef -

>?

Obj

}

Ref

Ref

Obj

Ref

Obj

Obj

Obj

Page 30: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

30

��`

i����

}Ê�ÌiÀ>Ì�ÀÃÊEÊ��ÃÌÃ

sig

Iter

ator

Ref

ext

ends

Ref

{}si

g It

erat

or e

xten

ds O

bj {

on: L

istR

ef,

left

: set

Ref

vers

ion:

Ver

sion

Ref

}

sig

List

Ref

ext

ends

Ref

{}si

g Li

st e

xten

ds O

bj {

elts

: set

Ref

vers

ion:

Ver

sion

Ref

}

Iter

ator

Ref

Iter

ator

List

Ref It

erat

or

Ver

sion

Ref

vers

ion

vers

ion

on

Page 31: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

31

��`

i����

}Ê�ÌiÀ>Ì�ÀÊ�

i��

fun

next

(s,

s’:

Stat

e, t

his:

Iter

ator

Ref

, x: R

ef)

{x

in t

his.

(s.o

bj).

left

this

.(s’

.obj

).le

ft =

thi

s.(s

.obj

).le

ft -

xth

is.(

s’.o

bj).

vers

ion

= t

his.

(s.o

bj).

vers

ion

mod

ifies

(s,

s’,

this

)}

fun

next

-pre

(s,

s’:

Stat

e, t

his:

Iter

ator

Ref

) {

this

.(s.

obj).

vers

ion

= t

his.

(s.o

bj).

on.(

s.ob

j).ve

rsio

n}

fun

mod

ifies

(s,

s’:

Stat

e, r

s: s

et R

ef)

{al

l x: s

.ref

s -

rs |

x.(s

’.obj

)=

x.(

s.ob

j)}

Page 32: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

32

��`

i����

}Ê��ÃÌÊ�iÌ��

fun

itera

tor

(s, s

’: St

ate,

thi

s: L

istR

ef, r

esul

t: It

erat

orR

ef)

{re

sult.

(s’.o

bj).

on =

thi

sre

sult.

(s’.o

bj).

vers

ion

= t

his.

(s.o

bj).

vers

ion

resu

lt.(s

’.obj

).le

ft =

thi

s.(s

.obj

).el

tsm

odifi

es (

s, s

’, {}

)}

fun

add

(s, s

’: St

ate,

thi

s: L

istR

ef, x

: Ref

) {

this

.(s’

.obj

).el

ts =

thi

s.(s

.obj

).el

ts +

xm

odifi

es (

s, s

’, th

is)

}

Page 33: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

33

��`

i����

}ÊÌ�iÊi�

}��i

sig

Engi

ne e

xten

ds O

bj {

tabl

e: T

ypeR

ef -

>!

List

Ref

}

fun

regi

ster

(s,

s’: S

tate

, thi

s: E

ngin

eRef

, a: A

ctio

nRef

, t: T

ypeR

ef){

let

l = t

.(th

is.(

s’.o

bj).

tabl

e) {

add

(s, s

’, l,

a)m

odifi

es (

s, s

’, l)

} }

Page 34: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

34

ÌÀ>�

Ã�>Ì��}Êi�

}��i

ÚV��

ÃÕ�i

asse

rt {

all s

0, s

1, s

2, s

3: S

tate

,e,

e’:

Engi

neR

ef, l

: Lis

tRef

, i: I

tera

torR

ef,

t: T

oken

Ref

, a: A

ctio

nRef

, a’:

a.gr

oup

|{ l =

t.(

s0.o

bj).

type

.(e.

(s0.

obj).

tabl

e)ite

rato

r (s

0, s

1, l,

i)ne

xt (

s1, s

2, i,

a)

regi

ster

(s2

, s3,

e’,

a’)

} =>

nex

t-pr

e (s

3, i)

}

Engi

ne

cons

ume

i = l.

iter

ator

()

a =

i.ne

xt()

a.pe

rfor

m()

a =

i.ne

xt()

Arr

ay

l = t

able

[t.t

ype]

Page 35: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

35

LÕ}t

UPPM�GJOET�B�DP

VOUF

SFYBN

QMF

rXIBU

�JG�POF�MJTU�GPS�UX

P�UZQ

FT

rGJY�N

VMUJQ

MJDJUZ

�PG�UB

CMF

rBO

E�DIFD

L�DPEF�

sig

Engi

ne e

xten

ds O

bj {

tabl

e: T

ypeR

ef ?

->!

List

Ref

}

Page 36: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

36

Ã�ÊÜ�>

̶

OJN

CMF�N

PEFMMJOH

rNPEFMT�BS

F�UJOZ

rBOBMZT

JT�JT�GBTU

rGFF

ECBD

L�JT�N

PUJWB

UJOH

MFWF

MT��

�QIBT

FTrB

CTUSB

DU��

�DPEF�EFT

JHO

rFBS

MZ�BOE�MBU

F

TZTUFN

BUJD

rEFW

FMPQFE

�HFO

FSBM�SVMFT

rEJTDJQMJOF�GP

S�GV

UVSF

�DIBO

HFT

Page 37: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

37

V��ÌiÝÌ

EFT

JHO�DPOGP

SNBO

DFr/

4'�*53�HSB

OU�XJUI�.

BSUJO�3

JOBS

ErD

PN

CJO

FT�"

MMPZ�XJUI�3

JOBS

E�T�TIBQ

F�BO

BMZT

JT

abst

ract

desi

gnw

orks

code

-lev

eldi

scip

line

wor

ks

code

sati

sfie

sdi

scip

line

syst

emw

orks

Page 38: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

38

Ài�>Ìi`ÊÀiÃi>ÀV�

WFSJGZJO

H�TUBU

F�N

BDIJO

FTr1

BUIGJOEFS

��BQQMJFT

�4QJO

�UP�+BW

B�"

NFT

r#

BOEFS

B��USB

OTMBU

FT�+BW

B�UP

�GJO

JUF�TUBU

F�N

PEFM�,BO

TBT

r4-".

��USB

OTMBU

FT�DPEF�UP

�ACPPMFBO

�QSP

HSBN

T��.

JDSP

TPGU

GPS�FW

FOUT�O

PU�IFB

Q�TUSVDU

VSF

MJHI

UXFJHI

U�DP

EF�BO

BMZT

JTr-

$-JO

U�.

BSZMBO

E �1

SF'*9

�.

TGU �&

4$�$PN

QBR

GP

S�TJN

QMFS�QSP

QFS

UJFT

�FH�OVMM�EFS

FGT

VOJGPSN

�BDS

PTT�DPEF

Page 39: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

39

>V��

��i`}

�i�

ÌÃ

"MMPZ�MBOHV

BHF�BO

E�UPPM

r*MZB�4IMZBL

IUF

Sr.

BOV�4SJEIBS

BOr#

SJBO

�-JO

"MMPZ�DB

TF�TUV

EJFT

r4BS

GSB[

�,ISV

TIJE

r.BO

EBO

B�7B[

JSJ

r(SF

HPSZ

�%FO

OJT

r.JDIBM�.

JSWJT

r)PFU

FDL�8

FF

5BH

HFS�FY

BNQMF

r"MBO�'FL

FUF

Page 40: %BOJFM+BDLTPO .*5-BCGPS$PNQVUFS4DJFODF /4NFTrVHVTUpeople.csail.mit.edu/dnj/talks/ames01/ames-01.pdf · v `iÊ vÊi } i qsjwbuf-jolfe-jtuubcmf y qvcmjdwpjesfhjtufs "dujpobdujpo

40

����Ã

IUUQ���TEH�MDT�N

JU�FEV�_

EOK�QVCMJDB

UJPOT

SFTF

BSDI

�QBQ

FST

BMMP

Z�MBOHV

BHF

BMMP

Z�BO

BMZT

JT�UFD

IOPMP

HZPCKFDU

�NPEFM�FYUSBD

UJPO

PCKFDU

�NPEFMT

MFDU

VSF

�OPUF

TTP

GUXBS

F�EFT

JHO�X

JUI�PCKFDU

�NPEFMT

IUUQ���TEH�MDT�N

JU�FEV�B

MMPZ

BMMP

Z�BO

BMZ[

FSOFX

�UPPM�SF

MFBT

FE�N

JE�TFQ

UFN

CFS