nydp 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lisp/core-060-benchmarking.nydp +92 -94
- data/lib/nydp.rb +1 -0
- data/lib/nydp/cond.rb +8 -9
- data/lib/nydp/function_invocation.rb +106 -10
- data/lib/nydp/literal.rb +0 -4
- data/lib/nydp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab2e8ff02992658d66f96d3744cf872ece5e0c6c
|
4
|
+
data.tar.gz: ca9cb9b175abd201e722d7f6a60a334d164bb442
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31f1534694189aaec724cf8f49c1de8a98c07c50d2a94fef0737d331f8f11b054d860c64fed579365f4715cb8c6b8f3dce8de896e243ebf577aa8dc826e72d03
|
7
|
+
data.tar.gz: e93101eeae01cbed4c07a051de5ff7bba66b9962e92636c349c934cb7f788e6c322b3c00a64c348bdbe027c64ae67e80e67b5eac44148d851d8e37f34669e966
|
@@ -1,104 +1,104 @@
|
|
1
|
-
(def bm-cond ()
|
2
|
-
|
1
|
+
;; (def bm-cond ()
|
2
|
+
;; (if (< 3 5) "less" "more"))
|
3
3
|
|
4
|
-
(def bm-cond-lex (var)
|
5
|
-
|
4
|
+
;; (def bm-cond-lex (var)
|
5
|
+
;; (if var "present" "absent"))
|
6
6
|
|
7
|
-
(def bm-cond-sym ()
|
8
|
-
|
7
|
+
;; (def bm-cond-sym ()
|
8
|
+
;; (if bm-cond-sym-value "present" "absent"))
|
9
9
|
|
10
|
-
(def bm-cond-3 ()
|
11
|
-
|
12
|
-
|
10
|
+
;; (def bm-cond-3 ()
|
11
|
+
;; (bm-cond-lex 1)
|
12
|
+
;; (bm-cond-lex nil))
|
13
13
|
|
14
|
-
(def bm-cond-4 ()
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
;; (def bm-cond-4 ()
|
15
|
+
;; (assign bm-cond-sym-value 1)
|
16
|
+
;; (bm-cond-sym)
|
17
|
+
;; (assign bm-cond-sym-value nil)
|
18
|
+
;; (bm-cond-sym))
|
19
19
|
|
20
|
-
(def bm-cond-LEX-LEX-LIT (a b)
|
21
|
-
|
20
|
+
;; (def bm-cond-LEX-LEX-LIT (a b)
|
21
|
+
;; (if a b nil))
|
22
22
|
|
23
|
-
(def bm-cond-LEX-CND-LIT (a)
|
24
|
-
|
23
|
+
;; (def bm-cond-LEX-CND-LIT (a)
|
24
|
+
;; (if a (if (< a 3) "yes" "no") "other"))
|
25
25
|
|
26
|
-
(def bm-cond-6 ()
|
27
|
-
|
26
|
+
;; (def bm-cond-6 ()
|
27
|
+
;; (if (< 3 5) (+ 3 5) (- 3 5)))
|
28
28
|
|
29
|
-
(def bm-cond-7 ()
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
;; (def bm-cond-7 ()
|
30
|
+
;; (bm-cond-LEX-CND-LIT nil)
|
31
|
+
;; (bm-cond-LEX-CND-LIT 1)
|
32
|
+
;; (bm-cond-LEX-CND-LIT 5))
|
33
33
|
|
34
|
-
(def bm-cond-5 ()
|
35
|
-
|
36
|
-
|
34
|
+
;; (def bm-cond-5 ()
|
35
|
+
;; (bm-cond-LEX-LEX-LIT 1 2)
|
36
|
+
;; (bm-cond-LEX-LEX-LIT nil 3))
|
37
37
|
|
38
|
-
(def bm-cond-OR (x)
|
39
|
-
|
38
|
+
;; (def bm-cond-OR (x)
|
39
|
+
;; (if x x "no"))
|
40
40
|
|
41
|
-
(def bm-cond-OR2 (x y z)
|
42
|
-
|
41
|
+
;; (def bm-cond-OR2 (x y z)
|
42
|
+
;; (if x x (if y y z)))
|
43
43
|
|
44
|
-
(def bm-cond-8 ()
|
45
|
-
|
46
|
-
|
44
|
+
;; (def bm-cond-8 ()
|
45
|
+
;; (bm-cond-OR 1)
|
46
|
+
;; (bm-cond-OR nil))
|
47
47
|
|
48
|
-
(def bm-cond-OR-LEX-LEX (x y)
|
49
|
-
|
48
|
+
;; (def bm-cond-OR-LEX-LEX (x y)
|
49
|
+
;; (if x x y))
|
50
50
|
|
51
|
-
(def bm-cond-9 ()
|
52
|
-
|
53
|
-
|
51
|
+
;; (def bm-cond-9 ()
|
52
|
+
;; (bm-cond-OR-LEX-LEX 1)
|
53
|
+
;; (bm-cond-OR-LEX-LEX nil))
|
54
54
|
|
55
|
-
(def bm-cond-10 ()
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
55
|
+
;; (def bm-cond-10 ()
|
56
|
+
;; (bm-cond-OR2 1 2 3)
|
57
|
+
;; (bm-cond-OR2 nil 2 3)
|
58
|
+
;; (bm-cond-OR2 nil nil 3)
|
59
|
+
;; (bm-cond-OR2 nil nil nil))
|
60
60
|
|
61
|
-
(def bm-cond-lex-lit-lit ()
|
62
|
-
|
63
|
-
|
61
|
+
;; (def bm-cond-lex-lit-lit ()
|
62
|
+
;; (no nil)
|
63
|
+
;; (no 1))
|
64
64
|
|
65
|
-
(def bm-faster-do ()
|
66
|
-
|
67
|
-
|
65
|
+
;; (def bm-faster-do ()
|
66
|
+
;; (each x '(0 1 2 3 4 5 6 7 8 9) ;; each uses 'do internally
|
67
|
+
;; x))
|
68
68
|
|
69
|
-
(def bm-pythag ()
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
;; (def bm-pythag ()
|
70
|
+
;; (for i 1 50
|
71
|
+
;; (for j 1 50
|
72
|
+
;; (sqrt (+ (* i i) (* j j))))))
|
73
73
|
|
74
|
-
(def bm-len-str ()
|
75
|
-
|
74
|
+
;; (def bm-len-str ()
|
75
|
+
;; (len "abcd"))
|
76
76
|
|
77
|
-
(def bm-len-pair ()
|
78
|
-
|
77
|
+
;; (def bm-len-pair ()
|
78
|
+
;; (len '(a b c d)))
|
79
79
|
|
80
|
-
(def bm-len-hash ()
|
81
|
-
|
80
|
+
;; (def bm-len-hash ()
|
81
|
+
;; (len {a 1}))
|
82
82
|
|
83
|
-
(def bm-len-fn ()
|
84
|
-
|
83
|
+
;; (def bm-len-fn ()
|
84
|
+
;; (len list))
|
85
85
|
|
86
|
-
(def bm-repeat (f n)
|
87
|
-
|
86
|
+
;; (def bm-repeat (f n)
|
87
|
+
;; (for b 1 n (f)))
|
88
88
|
|
89
|
-
(def bm (desc f repeats iterations)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
89
|
+
;; (def bm (desc f repeats iterations)
|
90
|
+
;; (p "\n================================================")
|
91
|
+
;; (p "Benchmark: ~desc - ~repeats runs of ~iterations iterations each")
|
92
|
+
;; (let times 0
|
93
|
+
;; (for reps 1 repeats
|
94
|
+
;; (let started (time)
|
95
|
+
;; (bm-repeat f iterations)
|
96
|
+
;; (let elapsed (- (time) started)
|
97
|
+
;; (assign times (+ elapsed times))
|
98
|
+
;; (p " took: ~elapsed ms, ~(/ elapsed iterations) ms per iteration"))))
|
99
|
+
;; (p "total ~(just times), average ~(/ times repeats) per run")
|
100
|
+
;; (p "================================================\n")
|
101
|
+
;; "~desc : total ~(just times), average ~(/ times repeats) per run"))
|
102
102
|
|
103
103
|
;; (assign a 1)
|
104
104
|
;; (assign b 1)
|
@@ -162,22 +162,17 @@
|
|
162
162
|
;; (for i 1 10
|
163
163
|
;; (pre-compile (dox-src rbs))))
|
164
164
|
|
165
|
-
;; (def bm-
|
166
|
-
;;
|
167
|
-
|
168
|
-
;;
|
169
|
-
;;
|
170
|
-
;; (=h.aa
|
171
|
-
;; (=h.ca
|
172
|
-
;; (=h.da
|
173
|
-
;; (
|
174
|
-
;;
|
175
|
-
;;
|
176
|
-
;; (list h.da h.db h.dc h.da h.db h.dc)
|
177
|
-
;; (list h.aa h.ab h.ac h.ba h.bb h.bc)
|
178
|
-
;; (list h.ca h.cb h.cc h.ca h.cb h.cc)
|
179
|
-
;; (list h.da h.db h.dc h.da h.db h.dc)
|
180
|
-
;; (list h.da h.ab h.ac h.ba h.bb h.bc))))
|
165
|
+
;; (def bm-sym-lex-lex-lex () (with (a 1 b 2 c 3) (+ a b c)))
|
166
|
+
;; (def bm-sym-lex-lit-lex () (with (a 1 c 3) (+ a 2 c)))
|
167
|
+
|
168
|
+
;; (def bm-hash-fill ()
|
169
|
+
;; (with (h {} v1 1 v2 2 v3 3 v4 4 v5 5 v6 6)
|
170
|
+
;; (= h.aa v1) (= h.ab v2) (= h.ac v3) (= h.ba v4) (= h.bb v5) (= h.bc v6)
|
171
|
+
;; (= h.ca v1) (= h.cb v2) (= h.cc v3) (= h.ca v4) (= h.cb v5) (= h.cc v6)
|
172
|
+
;; (= h.da v1) (= h.db v2) (= h.dc v3) (= h.da v4) (= h.db v5) (= h.dc v6)
|
173
|
+
;; (= h.aa v1) (= h.ab v2) (= h.ac v3) (= h.ba v4) (= h.bb v5) (= h.bc v6)
|
174
|
+
;; (= h.ca v1) (= h.cb v2) (= h.cc v3) (= h.ca v4) (= h.cb v5) (= h.cc v6)
|
175
|
+
;; (= h.da v1) (= h.db v2) (= h.dc v3) (= h.da v4) (= h.db v5) (= h.dc v6)))
|
181
176
|
|
182
177
|
(def rbs (name)
|
183
178
|
(let summary nil
|
@@ -186,7 +181,10 @@
|
|
186
181
|
;; (push (bm "cond with OR " bm-cond-lex-lit-lit 10 100000) summary)
|
187
182
|
;; (push (bm "optimise DO forms " bm-faster-do 10 10000) summary)
|
188
183
|
;; (push (bm "length of string " bm-len-str 10 40000) summary)
|
189
|
-
(push (bm "length of pair " bm-len-pair
|
184
|
+
;; (push (bm "length of pair " bm-len-pair 10 10000) summary)
|
185
|
+
;; (push (bm "sig opt 1" bm-sym-lex-lex-lex 10 100000) summary)
|
186
|
+
;; (push (bm "sig opt 2" bm-sym-lex-lit-lex 10 100000) summary)
|
187
|
+
;; (push (bm "hashing" bm-hash-fill 10 5000) summary)
|
190
188
|
;; (push (bm "length of hash " bm-len-hash 10 15000) summary)
|
191
189
|
;; (push (bm "length of uncountable " bm-len-fn 10 50000) summary)
|
192
190
|
;; (push (bm "cond " bm-cond-3 10 50000) summary)
|
data/lib/nydp.rb
CHANGED
data/lib/nydp/cond.rb
CHANGED
@@ -147,32 +147,31 @@ module Nydp
|
|
147
147
|
|
148
148
|
class Cond_LEX_LIT_LIT < CondBase # (def no (arg) (cond arg nil t))
|
149
149
|
def execute vm
|
150
|
-
|
151
|
-
vm.push_arg(
|
150
|
+
falsity = Nydp::NIL.is?(@condition.value vm.current_context)
|
151
|
+
vm.push_arg(falsity ? @when_false : @when_true)
|
152
152
|
end
|
153
153
|
end
|
154
154
|
|
155
155
|
class Cond_LEX_LEX_LIT < CondBase
|
156
156
|
def execute vm
|
157
|
-
|
158
|
-
vm.push_arg(
|
157
|
+
falsity = Nydp::NIL.is?(@condition.value vm.current_context)
|
158
|
+
vm.push_arg(falsity ? @when_false : (@when_true.value vm.current_context))
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
162
|
class Cond_LEX_CND_LIT < CondBase
|
163
163
|
def execute vm
|
164
|
-
if
|
165
|
-
@when_true.execute vm
|
166
|
-
else
|
164
|
+
if Nydp::NIL.is?(@condition.value vm.current_context)
|
167
165
|
vm.push_arg @when_false
|
166
|
+
else
|
167
|
+
@when_true.execute vm
|
168
168
|
end
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
172
|
class Cond_SYM < CondBase
|
173
173
|
def execute vm
|
174
|
-
|
175
|
-
vm.instructions.push (truth ? @when_true : @when_false)
|
174
|
+
vm.instructions.push (Nydp::NIL.is?(@condition.value) ? @when_false : @when_true)
|
176
175
|
vm.contexts.push vm.current_context
|
177
176
|
end
|
178
177
|
end
|
@@ -3,10 +3,19 @@ module Nydp
|
|
3
3
|
end
|
4
4
|
|
5
5
|
module Invocation
|
6
|
+
@@sig_counts = Hash.new { |h,k| h[k] = 0}
|
7
|
+
|
8
|
+
# def self.sig name ; @@sig_counts[name] += 1 ; end
|
9
|
+
|
10
|
+
# def self.whazzup
|
11
|
+
# puts @@sig_counts.to_a.sort_by { |c| c[1] }.map { |c| "#{c[1]}\t#{c[0]}"}
|
12
|
+
# end
|
13
|
+
|
6
14
|
class Base
|
7
15
|
include Helper
|
8
|
-
def initialize source_expression
|
16
|
+
def initialize source_expression, sig=nil
|
9
17
|
@source_expression = source_expression
|
18
|
+
@sig = sig
|
10
19
|
end
|
11
20
|
|
12
21
|
def handle e, f, invoker, *args
|
@@ -33,6 +42,7 @@ module Nydp
|
|
33
42
|
|
34
43
|
class Invocation_1 < Invocation::Base
|
35
44
|
def execute vm
|
45
|
+
# Invocation.sig @sig
|
36
46
|
f = vm.args.pop
|
37
47
|
f.invoke_1 vm
|
38
48
|
rescue StandardError => e
|
@@ -42,6 +52,7 @@ module Nydp
|
|
42
52
|
|
43
53
|
class Invocation_2 < Invocation::Base
|
44
54
|
def execute vm
|
55
|
+
# Invocation.sig @sig
|
45
56
|
arg = vm.args.pop
|
46
57
|
f = vm.args.pop
|
47
58
|
f.invoke_2 vm, arg
|
@@ -52,6 +63,7 @@ module Nydp
|
|
52
63
|
|
53
64
|
class Invocation_3 < Invocation::Base
|
54
65
|
def execute vm
|
66
|
+
# Invocation.sig @sig
|
55
67
|
arg_1 = vm.args.pop
|
56
68
|
arg_0 = vm.args.pop
|
57
69
|
f = vm.args.pop
|
@@ -63,6 +75,7 @@ module Nydp
|
|
63
75
|
|
64
76
|
class Invocation_4 < Invocation::Base
|
65
77
|
def execute vm
|
78
|
+
# Invocation.sig @sig
|
66
79
|
arg_2 = vm.args.pop
|
67
80
|
arg_1 = vm.args.pop
|
68
81
|
arg_0 = vm.args.pop
|
@@ -80,6 +93,7 @@ module Nydp
|
|
80
93
|
end
|
81
94
|
|
82
95
|
def execute vm
|
96
|
+
# Invocation.sig @sig
|
83
97
|
args = vm.pop_args @arg_count
|
84
98
|
args.car.invoke vm, args.cdr
|
85
99
|
rescue StandardError => e
|
@@ -98,6 +112,7 @@ module Nydp
|
|
98
112
|
end
|
99
113
|
|
100
114
|
def execute vm
|
115
|
+
# Invocation.sig self.class.name
|
101
116
|
@sym.value(vm.current_context).invoke_1 vm
|
102
117
|
rescue StandardError => e
|
103
118
|
handle e, @sym.value(vm.current_context), :invoke_1
|
@@ -112,6 +127,7 @@ module Nydp
|
|
112
127
|
end
|
113
128
|
|
114
129
|
def execute vm
|
130
|
+
# Invocation.sig self.class.name
|
115
131
|
@sym.value.invoke_1 vm
|
116
132
|
rescue StandardError => e
|
117
133
|
handle e, @sym.value, :invoke_1
|
@@ -127,6 +143,7 @@ module Nydp
|
|
127
143
|
end
|
128
144
|
|
129
145
|
def execute vm
|
146
|
+
# Invocation.sig self.class.name
|
130
147
|
fn = @lex0.value(vm.current_context)
|
131
148
|
a0 = @lex1.value(vm.current_context)
|
132
149
|
fn.invoke_2 vm, a0
|
@@ -144,11 +161,27 @@ module Nydp
|
|
144
161
|
end
|
145
162
|
|
146
163
|
def execute vm
|
147
|
-
|
164
|
+
# Invocation.sig self.class.name
|
148
165
|
a0 = @lex.value(vm.current_context)
|
149
|
-
|
166
|
+
@sym.value.invoke_2 vm, a0
|
150
167
|
rescue StandardError => e
|
151
|
-
handle e,
|
168
|
+
handle e, @sym.value, :invoke_2, a0
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
class Invocation_SYM_LIT < Invocation::Base
|
173
|
+
SIGS << self.name
|
174
|
+
def initialize expr, src
|
175
|
+
super src
|
176
|
+
@sym = expr.car
|
177
|
+
@lit = expr.cdr.car.expression
|
178
|
+
end
|
179
|
+
|
180
|
+
def execute vm
|
181
|
+
# Invocation.sig self.class.name
|
182
|
+
@sym.value.invoke_2 vm, @lit
|
183
|
+
rescue StandardError => e
|
184
|
+
handle e, @sym.value, :invoke_2, @lit
|
152
185
|
end
|
153
186
|
end
|
154
187
|
|
@@ -162,6 +195,7 @@ module Nydp
|
|
162
195
|
end
|
163
196
|
|
164
197
|
def execute vm
|
198
|
+
# Invocation.sig self.class.name
|
165
199
|
fn = @lex_0.value(vm.current_context)
|
166
200
|
a0 = @lex_1.value(vm.current_context)
|
167
201
|
a1 = @lex_2.value(vm.current_context)
|
@@ -181,12 +215,71 @@ module Nydp
|
|
181
215
|
end
|
182
216
|
|
183
217
|
def execute vm
|
184
|
-
|
218
|
+
# Invocation.sig self.class.name
|
185
219
|
a0 = @lex_0.value(vm.current_context)
|
186
220
|
a1 = @lex_1.value(vm.current_context)
|
187
|
-
|
221
|
+
@sym.value.invoke_3 vm, a0, a1
|
188
222
|
rescue StandardError => e
|
189
|
-
handle e,
|
223
|
+
handle e, @sym.value, :invoke_3, a0, a1
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
class Invocation_SYM_LEX_LEX_LEX < Invocation::Base
|
228
|
+
SIGS << self.name
|
229
|
+
def initialize expr, src
|
230
|
+
super src
|
231
|
+
@sym = expr.car
|
232
|
+
@lex_0 = expr.cdr.car
|
233
|
+
@lex_1 = expr.cdr.cdr.car
|
234
|
+
@lex_2 = expr.cdr.cdr.cdr.car
|
235
|
+
end
|
236
|
+
|
237
|
+
def execute vm
|
238
|
+
# Invocation.sig self.class.name
|
239
|
+
a0 = @lex_0.value(vm.current_context)
|
240
|
+
a1 = @lex_1.value(vm.current_context)
|
241
|
+
a2 = @lex_2.value(vm.current_context)
|
242
|
+
@sym.value.invoke_4 vm, a0, a1, a2
|
243
|
+
rescue StandardError => e
|
244
|
+
handle e, @sym.value, :invoke_4, a0, a1, a2
|
245
|
+
end
|
246
|
+
end
|
247
|
+
|
248
|
+
class Invocation_SYM_LEX_LIT_LEX < Invocation::Base
|
249
|
+
SIGS << self.name
|
250
|
+
def initialize expr, src
|
251
|
+
super src
|
252
|
+
@sym = expr.car
|
253
|
+
@lex_0 = expr.cdr.car
|
254
|
+
@lit_1 = expr.cdr.cdr.car.expression
|
255
|
+
@lex_2 = expr.cdr.cdr.cdr.car
|
256
|
+
end
|
257
|
+
|
258
|
+
def execute vm
|
259
|
+
# Invocation.sig self.class.name
|
260
|
+
a0 = @lex_0.value(vm.current_context)
|
261
|
+
a2 = @lex_2.value(vm.current_context)
|
262
|
+
@sym.value.invoke_4 vm, a0, @lit_1, a2
|
263
|
+
rescue StandardError => e
|
264
|
+
handle e, @sym.value, :invoke_4, a0, @lit_1, a2
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
class Invocation_SYM_LIT_LEX < Invocation::Base
|
269
|
+
SIGS << self.name
|
270
|
+
def initialize expr, src
|
271
|
+
super src
|
272
|
+
@sym = expr.car
|
273
|
+
@lit_0 = expr.cdr.car.expression
|
274
|
+
@lex_1 = expr.cdr.cdr.car
|
275
|
+
end
|
276
|
+
|
277
|
+
def execute vm
|
278
|
+
# Invocation.sig self.class.name
|
279
|
+
a1 = @lex_1.value(vm.current_context)
|
280
|
+
@sym.value.invoke_3 vm, @lit_0, a1
|
281
|
+
rescue StandardError => e
|
282
|
+
handle e, @sym.value, :invoke_3, @lit_0, a1
|
190
283
|
end
|
191
284
|
end
|
192
285
|
end
|
@@ -194,7 +287,6 @@ module Nydp
|
|
194
287
|
class FunctionInvocation
|
195
288
|
extend Helper
|
196
289
|
attr_accessor :function_instruction, :argument_instructions
|
197
|
-
@@put = nil
|
198
290
|
|
199
291
|
def self.build expression, bindings
|
200
292
|
compiled = Compiler.compile_each(expression, bindings)
|
@@ -202,6 +294,8 @@ module Nydp
|
|
202
294
|
|
203
295
|
cname = "Invocation_#{invocation_sig}"
|
204
296
|
|
297
|
+
# puts expression.inspect if cname == "Invocation_SYM_LEX_LIT_LEX"
|
298
|
+
|
205
299
|
exists = Invocation::SIGS.include? "Nydp::Invocation::#{cname}"
|
206
300
|
if exists
|
207
301
|
return Nydp::Invocation.const_get(cname).new(compiled, expression)
|
@@ -219,14 +313,16 @@ module Nydp
|
|
219
313
|
else
|
220
314
|
Invocation::Invocation_N.new(expression.size, expression)
|
221
315
|
end
|
222
|
-
new invocation, compiled, expression
|
316
|
+
new invocation, compiled, expression, cname
|
223
317
|
end
|
224
318
|
|
225
|
-
def initialize function_instruction, argument_instructions, source
|
319
|
+
def initialize function_instruction, argument_instructions, source, sig=nil
|
226
320
|
@function_instruction, @argument_instructions, @source = function_instruction, argument_instructions, source
|
321
|
+
@sig = sig
|
227
322
|
end
|
228
323
|
|
229
324
|
def execute vm
|
325
|
+
## Invocation.sig @sig
|
230
326
|
vm.instructions.push function_instruction
|
231
327
|
vm.contexts .push vm.current_context
|
232
328
|
vm.instructions.push argument_instructions
|
data/lib/nydp/literal.rb
CHANGED
data/lib/nydp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nydp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Conan Dalton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|