Lists defined inductively ( A ) is the smallest set satisfying this - - PowerPoint PPT Presentation

lists defined inductively
SMART_READER_LITE
LIVE PREVIEW

Lists defined inductively ( A ) is the smallest set satisfying this - - PowerPoint PPT Presentation

Lists defined inductively ( A ) is the smallest set satisfying this equation: LIST LIST ( A ) f (cons a as ) j a 2 A ; as 2 LIST ( A ) g f () g = [ Equivalently, LIST ( A ) is defined by these rules: (E MPTY ) 2 List ( A ) () a 2 A as 2


slide-1
SLIDE 1

Lists defined inductively

LIST

(A ) is the smallest set satisfying this equation:

LIST

(A ) = f’()g [ f(cons a as) j a 2 A ;as 2 LIST (A )g

Equivalently, LIST

(A ) is defined by these rules:

’()

2 List (A )

(EMPTY)

a

2 A

as

2 List (A )

(cons a as)

2 List (A )

(CONS)

slide-2
SLIDE 2

One more inductive definition

A list of A is one of:

  • The empty list ’()
  • (cons a as), where a is an A and as is a list
  • f A
slide-3
SLIDE 3

Lists generalized: S-expressions

An ordinary S-expression is one of:

  • An atom (symbol, number, Boolean)
  • A list of ordinary S-expressions

Can write literally in source, with quote

slide-4
SLIDE 4 Scheme vs Impcore

(Names stand for mutable locations—more to come.) New abstract syntax: LET (keyword, names, expressions, body) LAMBDAX (formals, body) APPLY (exp, actuals) New concrete syntax for LITERAL: (quote S-expression) ’S-expression