summaryrefslogtreecommitdiffstats
path: root/notes/execution
blob: e3433b3966e32551347cffb45c1fa10e7d4872f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
execution path:

parse the entire file recursively
	imports are definitely inline



what I'm trying to resolve is:
	can the entire thing be parsed and then executed, or do the objects
	need to be able to take into account the results of execution?
		most other languages make a clear differentation between values
		and executables, so why shouldn't we?  as long as we support some
		kind of executable, it should be fine
	i need to keep in mind that the definitions of operations and objects
	will not actually change as a result of execution, merely the details
		does this matter?

objects are created during parsing
	this means that i have the choice of:
		--not creating operations at parse time
		--dealing with this nasty interface to parse-time operations
			if we don't have this nasty interface, then execution can't affect
			the contents of operations
				would that make sense? a file with multiple operations whose
				different operations can change the values

here's the crucial question:
	is there a difference between executing the code and performing the operations?