blob: f4ed9b4ca89d95a1861025008a2678614ae68116 (
plain) (
blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
//: allow using literal strings anywhere that will accept immutable strings
:(scenario passing_literals_to_recipes)
def main [
1:num/raw <- foo [abc]
]
def foo x:text -> n:num [
local-scope
load-ingredients
n <- length *x
]
+mem: storing 3 in location 1
:(before "End Instruction Inserting/Deleting Transforms")
initialize_transform_rewrite_literal_string_to_text();
Transform.push_back(rewrite_literal_string_to_text); // idempotent
:(before "End Globals")
set<string> recipes_taking_literal_strings;
:(code)
void initialize_transform_rewrite_literal_string_to_text() {
recipes_taking_literal_strings.insert("$print");
recipes_taking_literal_strings.insert("$dump-trace");
recipes_taking_literal_strings.insert("$system");
recipes_taking_literal_strings.insert("trace");
recipes_taking_literal_strings.insert("stash");
recipes_taking_literal_strings.insert("new");
recipes_taking_literal_strings.insert("run");
recipes_taking_literal_strings.insert("memory-should-contain");
re
|