Much progress, but bad regression in parsing M-Expressions.
This commit is contained in:
parent
1dbc57efff
commit
cde3d79ff3
44 changed files with 451 additions and 347 deletions
5
resources/mexpr/search.mexpr.lsp
Normal file
5
resources/mexpr/search.mexpr.lsp
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# page 63
|
||||
|
||||
search[x; p; f; u] = [null[x] -> u[x];
|
||||
p[x] -> f[x];
|
||||
T -> search[cdr[x]; p; f; u]]
|
||||
|
|
@ -7,4 +7,19 @@ sub2[a; z] = [null[a] -> z;
|
|||
T -> sub2[cdar[a]; z]]
|
||||
|
||||
sublis[a; y] = [atom[y] -> sub2[a; y];
|
||||
T -> cons[]]
|
||||
T -> cons[sublis[a; car[y]];
|
||||
sublis[a; cdr[y]]]]
|
||||
|
||||
;; this is the version from page 61
|
||||
|
||||
sublis[x;y] = [null[x] -> y;
|
||||
null[y] -> y;
|
||||
T -> search[x;
|
||||
λ[[j]; equal[y; caar[j]]];
|
||||
λ[[j]; cdar[j]];
|
||||
λ[[j]; [atom[y] -> y;
|
||||
T -> cons[sublis[x; car[y]];
|
||||
sublis[x; cdr[y]]]]]]]
|
||||
|
||||
;; the test for this is:
|
||||
;; (SUBLIS '((X . SHAKESPEARE) (Y . (THE TEMPEST))) '(X WROTE Y))
|
||||
Loading…
Add table
Add a link
Reference in a new issue