Skip to content
This repository was archived by the owner on Jan 4, 2025. It is now read-only.

Commit 7ee6e37

Browse files
committed
add TODO
1 parent 30a540b commit 7ee6e37

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

TODO

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Sadly, all of the below is necessary to even think about running
2+
arc.arc. I might kludge in some things just so I can see arc.arc run,
3+
which would do a lot for my motivation to work on the project.
4+
5+
* Proper lexical scoping
6+
If possible, we'd like to push this to Python instead of building
7+
scope chains ourselves like PyScheme's environment.py. The current
8+
implementation's semantics are very likely to be bogus.
9+
10+
Python 3's nonlocal may help here, but I don't want to move to
11+
Python 3. We'll lose Unladen Swallow. OTOH, it looks impossible to
12+
hack nonlocal support together in a reasonable way in Python itself
13+
(changeset implementing nonlocal is at
14+
http://svn.python.org/view?view=rev&revision=53986). With nonlocal,
15+
I think we can push Scheme/Arc lexical scoping down to Python using
16+
Arc's trick of keeping a stack of names, although we'll have to
17+
distinguish the local environment.
18+
19+
* Quasiquote support
20+
Not implemented at all. Shouldn't be too bad, I think Arc has a full
21+
implementation.
22+
23+
* Simple expansion in the reader
24+
Support Arc's "~", "'", "`", ",", ",@" operators.
25+
26+
* More complicated expansion in the reader
27+
Support Arc's ":" operator.
28+
29+
* Macro expansion.

0 commit comments

Comments
 (0)