DLS, Portland, 2006 – 10 – 23
Open, extensible dynamic programming systems
- r just how deep is the ‘dynamic’ rabbit hole?
Ian Piumarta
Viewpoints Research Institute
Open, extensible dynamic programming systems or just how deep is the - - PowerPoint PPT Presentation
DLS, Portland, 2006 10 23 Open, extensible dynamic programming systems or just how deep is the dynamic rabbit hole? Ian Piumarta Viewpoints Research Institute ian@squeakland.org dynamic dynamic? data? extending objects
Viewpoints Research Institute
2
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
3
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
4
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
5
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
6
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
7
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
8
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
9
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
10
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
lookup: -> <impl>
lookup: -> <impl>
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
12
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
15
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
16
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
17
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
18
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
19
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
20
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
21
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
22
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
23
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
24
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
25
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
26
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
27
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
28
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
29
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
30
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
31
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
32
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
reduce(tree, startSymbol) = foreach rule in startSets[startSymbol] if match(tree, rule.pattern) invoke rule.action return startSymbol match(tree, pattern) = if (isSymbol(pattern)) return reduce(tree, pattern) if (tree.first ~= pattern.first) return false return foreach treeElement, patternElement in tree.tail, pattern.tail match(treeElement, patternElement) ri4 :: (indiri4 (addp ri4 li2)) => $0 := $1 [ lwz r$1, $2(r$1) ] ri4 :: (addp ri4 li2) => $0 := $1 [ addi r$1, $2 ] ri4 :: (addi4 ri4 ri4) => $0 := $1 [ add r$1, r$1, r$2 ] ri4 :: (cvtu4 ri4) => $0 := $1 ri4 :: (indiri4 (vregp)) => $0 := $1.1 li2 :: (cnstu4) ? -32768 <= $1 <= 32767 => $0 := $1 (addi4 (indiri4 (vregp 1)) (indiri4 (addp (indirp (vregp 2))) (cnstu4 12))) => lwz r3, 12(r5) addi r3, r3, r4
33
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
34
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
35
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
36
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
37
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
38
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
39
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
40
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
41
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/
42
c
2006 Ian Piumarta. Some rights reserved.
For license terms see http://creativecommons.org/licenses/by-sa/2.5/