nydp 0.1.15 → 0.2.0
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-015-documentation.nydp +11 -4
- data/lib/lisp/core-040-utils.nydp +3 -0
- data/lib/lisp/tests/builtin-tests.nydp +1 -1
- data/lib/lisp/tests/foundation-test.nydp +40 -0
- data/lib/lisp/tests/time-examples.nydp +21 -0
- data/lib/nydp.rb +10 -8
- data/lib/nydp/builtin.rb +3 -2
- data/lib/nydp/builtin/apply.rb +2 -2
- data/lib/nydp/builtin/car.rb +1 -1
- data/lib/nydp/builtin/cdr.rb +1 -1
- data/lib/nydp/builtin/cdr_set.rb +1 -1
- data/lib/nydp/builtin/comment.rb +2 -2
- data/lib/nydp/builtin/cons.rb +1 -1
- data/lib/nydp/builtin/date.rb +20 -0
- data/lib/nydp/builtin/divide.rb +2 -2
- data/lib/nydp/builtin/ensuring.rb +3 -3
- data/lib/nydp/builtin/error.rb +1 -1
- data/lib/nydp/builtin/eval.rb +2 -6
- data/lib/nydp/builtin/greater_than.rb +3 -3
- data/lib/nydp/builtin/handle_error.rb +2 -2
- data/lib/nydp/builtin/hash.rb +14 -20
- data/lib/nydp/builtin/inspect.rb +1 -1
- data/lib/nydp/builtin/is_equal.rb +10 -5
- data/lib/nydp/builtin/less_than.rb +3 -3
- data/lib/nydp/builtin/load_tests.rb +3 -7
- data/lib/nydp/builtin/millisecs.rb +1 -1
- data/lib/nydp/builtin/minus.rb +2 -2
- data/lib/nydp/builtin/modulo.rb +1 -1
- data/lib/nydp/builtin/parse.rb +3 -6
- data/lib/nydp/builtin/parse_in_string.rb +3 -6
- data/lib/nydp/builtin/plus.rb +3 -3
- data/lib/nydp/builtin/pre_compile.rb +2 -2
- data/lib/nydp/builtin/puts.rb +2 -2
- data/lib/nydp/builtin/random_string.rb +4 -4
- data/lib/nydp/builtin/sort.rb +1 -1
- data/lib/nydp/builtin/sqrt.rb +1 -1
- data/lib/nydp/builtin/string_match.rb +7 -10
- data/lib/nydp/builtin/string_replace.rb +1 -1
- data/lib/nydp/builtin/string_split.rb +1 -1
- data/lib/nydp/builtin/sym.rb +2 -6
- data/lib/nydp/builtin/thread_locals.rb +1 -1
- data/lib/nydp/builtin/time.rb +52 -0
- data/lib/nydp/builtin/times.rb +2 -2
- data/lib/nydp/builtin/to_string.rb +2 -2
- data/lib/nydp/builtin/type_of.rb +3 -7
- data/lib/nydp/builtin/vm_info.rb +1 -1
- data/lib/nydp/compiler.rb +2 -2
- data/lib/nydp/cond.rb +1 -1
- data/lib/nydp/core.rb +48 -48
- data/lib/nydp/function_invocation.rb +1 -1
- data/lib/nydp/helper.rb +5 -5
- data/lib/nydp/interpreted_function.rb +3 -3
- data/lib/nydp/lexical_context.rb +4 -4
- data/lib/nydp/lexical_context_builder.rb +2 -2
- data/lib/nydp/pair.rb +11 -11
- data/lib/nydp/runner.rb +2 -2
- data/lib/nydp/symbol.rb +2 -2
- data/lib/nydp/symbol_lookup.rb +1 -1
- data/lib/nydp/truth.rb +8 -11
- data/lib/nydp/version.rb +1 -1
- data/lib/nydp/vm.rb +4 -3
- data/spec/date_spec.rb +28 -20
- data/spec/error_spec.rb +1 -1
- data/spec/foreign_hash_spec.rb +12 -12
- data/spec/hash_non_hash_behaviour_spec.rb +8 -8
- data/spec/hash_spec.rb +14 -14
- data/spec/literal_spec.rb +2 -2
- data/spec/nydp_spec.rb +6 -6
- data/spec/pair_spec.rb +8 -8
- data/spec/parser_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/spec/string_atom_spec.rb +9 -9
- data/spec/string_token_spec.rb +1 -1
- data/spec/symbol_spec.rb +9 -9
- data/spec/thread_local_spec.rb +2 -6
- data/spec/time_spec.rb +48 -0
- metadata +7 -3
- data/lib/nydp/builtin/today.rb +0 -18
data/spec/foreign_hash_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Nydp::Hash do
|
4
|
-
let(:vm) { Nydp::VM.new }
|
4
|
+
let(:vm) { Nydp::VM.new(ns) }
|
5
5
|
|
6
6
|
describe "foreign hashes" do
|
7
7
|
let(:ahash) { Hash.new }
|
@@ -11,7 +11,7 @@ describe Nydp::Hash do
|
|
11
11
|
k = Nydp::Symbol.mk "keysym", ns
|
12
12
|
v = Nydp::StringAtom.new "foobar"
|
13
13
|
args = pair_list [ahash, k, v]
|
14
|
-
Nydp::Builtin::HashSet.
|
14
|
+
Nydp::Builtin::HashSet.instance.invoke vm, args
|
15
15
|
|
16
16
|
expect(ahash[:keysym]). to eq "foobar"
|
17
17
|
expect(ahash[:keysym].class).to eq String
|
@@ -27,7 +27,7 @@ describe Nydp::Hash do
|
|
27
27
|
k = sym("keysym")
|
28
28
|
args = [ ahash, k ]
|
29
29
|
|
30
|
-
Nydp::Builtin::HashGet.
|
30
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
31
31
|
|
32
32
|
expect(vm.args.pop).to eq Nydp::StringAtom.new("avalue")
|
33
33
|
end
|
@@ -36,9 +36,9 @@ describe Nydp::Hash do
|
|
36
36
|
k = sym("keysym")
|
37
37
|
args = [ ahash, k ]
|
38
38
|
|
39
|
-
Nydp::Builtin::HashGet.
|
39
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
40
40
|
|
41
|
-
expect(vm.args.pop).to eq Nydp
|
41
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
42
42
|
end
|
43
43
|
|
44
44
|
it "converts ruby true to nydp value" do
|
@@ -46,9 +46,9 @@ describe Nydp::Hash do
|
|
46
46
|
k = sym("keysym")
|
47
47
|
args = [ ahash, k ]
|
48
48
|
|
49
|
-
Nydp::Builtin::HashGet.
|
49
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
50
50
|
|
51
|
-
expect(vm.args.pop).to eq Nydp
|
51
|
+
expect(vm.args.pop).to eq Nydp::T
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -58,18 +58,18 @@ describe Nydp::Hash do
|
|
58
58
|
k = sym("simon")
|
59
59
|
args = [ ahash, k ]
|
60
60
|
|
61
|
-
Nydp::Builtin::HashKeyPresent.
|
61
|
+
Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list(args)
|
62
62
|
|
63
|
-
expect(vm.args.pop).to eq Nydp
|
63
|
+
expect(vm.args.pop).to eq Nydp::T
|
64
64
|
end
|
65
65
|
|
66
66
|
it "returns nil when key is absent" do
|
67
67
|
k = sym("simon")
|
68
68
|
args = [ ahash, k ]
|
69
69
|
|
70
|
-
Nydp::Builtin::HashKeyPresent.
|
70
|
+
Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list(args)
|
71
71
|
|
72
|
-
expect(vm.args.pop).to eq Nydp
|
72
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
@@ -79,7 +79,7 @@ describe Nydp::Hash do
|
|
79
79
|
ahash[:k1] = 84
|
80
80
|
args = [ahash]
|
81
81
|
|
82
|
-
Nydp::Builtin::HashKeys.
|
82
|
+
Nydp::Builtin::HashKeys.instance.invoke vm, pair_list(args)
|
83
83
|
|
84
84
|
expect(vm.args.pop).to eq pair_list [sym("k0"), sym("k1")]
|
85
85
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Nydp::Hash do
|
4
|
-
let(:vm) { Nydp::VM.new }
|
4
|
+
let(:vm) { Nydp::VM.new(ns) }
|
5
5
|
|
6
6
|
describe "friendly non-hashes" do
|
7
7
|
let(:ahash) { TestThing.new 123, "hello there", "private" }
|
@@ -11,7 +11,7 @@ describe Nydp::Hash do
|
|
11
11
|
k = Nydp::Symbol.mk "a", ns
|
12
12
|
args = [ ahash, k ]
|
13
13
|
|
14
|
-
Nydp::Builtin::HashGet.
|
14
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
15
15
|
expect(vm.args.pop).to eq 123
|
16
16
|
end
|
17
17
|
|
@@ -19,7 +19,7 @@ describe Nydp::Hash do
|
|
19
19
|
k = Nydp::Symbol.mk "b", ns
|
20
20
|
args = [ ahash, k ]
|
21
21
|
|
22
|
-
Nydp::Builtin::HashGet.
|
22
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
23
23
|
expect(vm.args.pop).to eq Nydp::StringAtom.new("hello there")
|
24
24
|
end
|
25
25
|
|
@@ -27,7 +27,7 @@ describe Nydp::Hash do
|
|
27
27
|
k = Nydp::StringAtom.new "b"
|
28
28
|
args = [ ahash, k ]
|
29
29
|
|
30
|
-
Nydp::Builtin::HashGet.
|
30
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
31
31
|
expect(vm.args.pop).to eq Nydp::StringAtom.new("hello there")
|
32
32
|
end
|
33
33
|
|
@@ -35,8 +35,8 @@ describe Nydp::Hash do
|
|
35
35
|
k = Nydp::Symbol.mk "c", ns
|
36
36
|
args = [ ahash, k ]
|
37
37
|
|
38
|
-
Nydp::Builtin::HashGet.
|
39
|
-
expect(vm.args.pop).to eq Nydp
|
38
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
39
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -51,7 +51,7 @@ describe Nydp::Hash do
|
|
51
51
|
args = pair_list [ahash, k, v]
|
52
52
|
|
53
53
|
begin
|
54
|
-
Nydp::Builtin::HashSet.
|
54
|
+
Nydp::Builtin::HashSet.instance.invoke vm, args
|
55
55
|
rescue Exception => e
|
56
56
|
error = e
|
57
57
|
end
|
@@ -70,7 +70,7 @@ raised
|
|
70
70
|
args = [ ahash, k ]
|
71
71
|
|
72
72
|
begin
|
73
|
-
Nydp::Builtin::HashGet.
|
73
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
74
74
|
rescue Exception => e
|
75
75
|
error = e
|
76
76
|
end
|
data/spec/hash_spec.rb
CHANGED
@@ -15,7 +15,7 @@ describe Nydp::Hash do
|
|
15
15
|
def _nydp_safe_methods ; %i{ a b } ; end
|
16
16
|
end
|
17
17
|
|
18
|
-
let(:vm) { Nydp::VM.new }
|
18
|
+
let(:vm) { Nydp::VM.new(ns) }
|
19
19
|
|
20
20
|
describe "#to_ruby" do
|
21
21
|
it "converts ruby symbol key to nydp symbol key" do
|
@@ -62,7 +62,7 @@ describe Nydp::Hash do
|
|
62
62
|
describe "nydp hashes" do
|
63
63
|
describe "new hash" do
|
64
64
|
it "returns a new Nydp hash" do
|
65
|
-
Nydp::Builtin::Hash.
|
65
|
+
Nydp::Builtin::Hash.instance.invoke vm, Nydp::NIL
|
66
66
|
h = vm.args.pop
|
67
67
|
expect(h).to be_a Nydp::Hash
|
68
68
|
end
|
@@ -74,7 +74,7 @@ describe Nydp::Hash do
|
|
74
74
|
k = sym "keysym"
|
75
75
|
v = 42
|
76
76
|
args = Nydp::Pair.from_list([h, k, v])
|
77
|
-
Nydp::Builtin::HashSet.
|
77
|
+
Nydp::Builtin::HashSet.instance.invoke vm, args
|
78
78
|
|
79
79
|
expect(h.keys). to eq [k]
|
80
80
|
expect(h[k]). to eq v
|
@@ -90,7 +90,7 @@ describe Nydp::Hash do
|
|
90
90
|
h[k] = v
|
91
91
|
|
92
92
|
args = Nydp::Pair.from_list([h, k])
|
93
|
-
Nydp::Builtin::HashGet.
|
93
|
+
Nydp::Builtin::HashGet.instance.invoke vm, args
|
94
94
|
expect(vm.args.pop).to eq v
|
95
95
|
end
|
96
96
|
end
|
@@ -102,18 +102,18 @@ describe Nydp::Hash do
|
|
102
102
|
v = 42
|
103
103
|
h[k] = v
|
104
104
|
|
105
|
-
Nydp::Builtin::HashKeyPresent.
|
105
|
+
Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list([h, k])
|
106
106
|
|
107
|
-
expect(vm.args.pop).to eq Nydp
|
107
|
+
expect(vm.args.pop).to eq Nydp::T
|
108
108
|
end
|
109
109
|
|
110
110
|
it "returns nil when key is absent" do
|
111
111
|
h = Nydp::Hash.new
|
112
112
|
k = sym "benjamin"
|
113
113
|
|
114
|
-
Nydp::Builtin::HashKeyPresent.
|
114
|
+
Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list([h, k])
|
115
115
|
|
116
|
-
expect(vm.args.pop).to eq Nydp
|
116
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
@@ -124,23 +124,23 @@ describe Nydp::Hash do
|
|
124
124
|
h[sym "k1"] = 84
|
125
125
|
|
126
126
|
args = Nydp::Pair.from_list([h])
|
127
|
-
Nydp::Builtin::HashKeys.
|
127
|
+
Nydp::Builtin::HashKeys.instance.invoke vm, args
|
128
128
|
expect(vm.args.pop).to eq pair_list [sym("k0"), sym("k1")]
|
129
129
|
end
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
133
|
describe "get/set nil" do
|
134
|
-
let(:ahash) { Nydp
|
134
|
+
let(:ahash) { Nydp::NIL }
|
135
135
|
|
136
136
|
describe "hash set" do
|
137
137
|
it "does nothing, returns its value" do
|
138
138
|
k = Nydp::Symbol.mk "keysym", ns
|
139
139
|
v = Nydp::StringAtom.new "foobar"
|
140
140
|
args = pair_list [ahash, k, v]
|
141
|
-
Nydp::Builtin::HashSet.
|
141
|
+
Nydp::Builtin::HashSet.instance.invoke vm, args
|
142
142
|
|
143
|
-
expect(ahash). to eq Nydp
|
143
|
+
expect(ahash). to eq Nydp::NIL
|
144
144
|
expect(vm.args.pop).to eq v
|
145
145
|
end
|
146
146
|
end
|
@@ -150,9 +150,9 @@ describe Nydp::Hash do
|
|
150
150
|
k = Nydp::Symbol.mk "keysym", ns
|
151
151
|
args = [ ahash, k ]
|
152
152
|
|
153
|
-
Nydp::Builtin::HashGet.
|
153
|
+
Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
|
154
154
|
|
155
|
-
expect(vm.args.pop).to eq Nydp
|
155
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
156
156
|
end
|
157
157
|
end
|
158
158
|
end
|
data/spec/literal_spec.rb
CHANGED
@@ -9,13 +9,13 @@ describe Nydp::Literal do
|
|
9
9
|
|
10
10
|
describe "t" do
|
11
11
|
it "is #true in ruby" do
|
12
|
-
expect(Nydp
|
12
|
+
expect(Nydp::T.to_ruby).to eq true
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
describe "nil" do
|
17
17
|
it "is #nil in ruby" do
|
18
|
-
expect(Nydp
|
18
|
+
expect(Nydp::NIL.to_ruby).to eq nil
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
data/spec/nydp_spec.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Nydp do
|
4
|
-
let(:parser)
|
5
|
-
let(:vm)
|
4
|
+
let(:parser) { Nydp::Parser.new(ns) }
|
5
|
+
let(:vm) { Nydp::VM.new(ns) }
|
6
6
|
|
7
7
|
def run txt
|
8
8
|
Nydp.setup ns
|
@@ -46,10 +46,10 @@ describe Nydp do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should compare integers" do
|
49
|
-
expect(run "(> 13 17)").to eq Nydp
|
50
|
-
expect(run "(> 29 23)").to eq Nydp
|
51
|
-
expect(run "(< 13 17)").to eq Nydp
|
52
|
-
expect(run "(< 29 23)").to eq Nydp
|
49
|
+
expect(run "(> 13 17)").to eq Nydp::NIL
|
50
|
+
expect(run "(> 29 23)").to eq Nydp::T
|
51
|
+
expect(run "(< 13 17)").to eq Nydp::T
|
52
|
+
expect(run "(< 29 23)").to eq Nydp::NIL
|
53
53
|
end
|
54
54
|
|
55
55
|
it "should execute an inline list function" do
|
data/spec/pair_spec.rb
CHANGED
@@ -22,10 +22,10 @@ describe Nydp::Pair do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should be true for nested empty lists" do
|
25
|
-
e1 = Nydp::Pair.new(Nydp
|
26
|
-
e2 = Nydp::Pair.new(Nydp
|
27
|
-
e3 = Nydp::Pair.new(Nydp
|
28
|
-
e4 = Nydp::Pair.new(Nydp
|
25
|
+
e1 = Nydp::Pair.new(Nydp::NIL, Nydp::NIL)
|
26
|
+
e2 = Nydp::Pair.new(Nydp::NIL, Nydp::NIL)
|
27
|
+
e3 = Nydp::Pair.new(Nydp::NIL, Nydp::NIL)
|
28
|
+
e4 = Nydp::Pair.new(Nydp::NIL, Nydp::NIL)
|
29
29
|
expect(Nydp::Pair.new(e1, e2)).to eq Nydp::Pair.new(e3, e4)
|
30
30
|
end
|
31
31
|
|
@@ -70,11 +70,11 @@ describe Nydp::Pair do
|
|
70
70
|
p = p.cdr
|
71
71
|
expect(p.car).to eq :d
|
72
72
|
p = p.cdr
|
73
|
-
expect(p.car).to eq Nydp
|
74
|
-
expect(p.cdr).to eq Nydp
|
73
|
+
expect(p.car).to eq Nydp::NIL
|
74
|
+
expect(p.cdr).to eq Nydp::NIL
|
75
75
|
p = p.cdr
|
76
|
-
expect(p.car).to eq Nydp
|
77
|
-
expect(p.cdr).to eq Nydp
|
76
|
+
expect(p.car).to eq Nydp::NIL
|
77
|
+
expect(p.cdr).to eq Nydp::NIL
|
78
78
|
end
|
79
79
|
|
80
80
|
it "should convert to a ruby list" do
|
data/spec/parser_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/string_atom_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require "spec_helper"
|
|
3
3
|
describe Nydp::StringAtom do
|
4
4
|
let(:bar) { Nydp::StringAtom.new "BAR" }
|
5
5
|
let(:foo) { Nydp::StringAtom.new "FOO" }
|
6
|
-
let(:vm) { Nydp::VM.new
|
6
|
+
let(:vm) { Nydp::VM.new(ns) }
|
7
7
|
|
8
8
|
it "is not equal to a symbol with the same represenation" do
|
9
9
|
string = Nydp::StringAtom.new "harrypotter"
|
@@ -28,34 +28,34 @@ describe Nydp::StringAtom do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "works with builtin greater-than when true" do
|
31
|
-
f = Nydp::Builtin::GreaterThan.
|
31
|
+
f = Nydp::Builtin::GreaterThan.instance
|
32
32
|
|
33
33
|
f.invoke vm, pair_list([foo, bar])
|
34
34
|
|
35
|
-
expect(vm.args.pop).to eq Nydp
|
35
|
+
expect(vm.args.pop).to eq Nydp::T
|
36
36
|
end
|
37
37
|
|
38
38
|
it "works with builtin greater-than when false" do
|
39
|
-
f = Nydp::Builtin::GreaterThan.
|
39
|
+
f = Nydp::Builtin::GreaterThan.instance
|
40
40
|
|
41
41
|
f.invoke vm, pair_list([bar, foo])
|
42
42
|
|
43
|
-
expect(vm.args.pop).to eq Nydp
|
43
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
44
44
|
end
|
45
45
|
|
46
46
|
it "works with builtin less-than when true" do
|
47
|
-
f = Nydp::Builtin::LessThan.
|
47
|
+
f = Nydp::Builtin::LessThan.instance
|
48
48
|
|
49
49
|
f.invoke vm, pair_list([bar, foo])
|
50
50
|
|
51
|
-
expect(vm.args.pop).to eq Nydp
|
51
|
+
expect(vm.args.pop).to eq Nydp::T
|
52
52
|
end
|
53
53
|
|
54
54
|
it "works with builtin less-than when false" do
|
55
|
-
f = Nydp::Builtin::LessThan.
|
55
|
+
f = Nydp::Builtin::LessThan.instance
|
56
56
|
|
57
57
|
f.invoke vm, pair_list([foo, bar])
|
58
58
|
|
59
|
-
expect(vm.args.pop).to eq Nydp
|
59
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
60
60
|
end
|
61
61
|
end
|
data/spec/string_token_spec.rb
CHANGED
data/spec/symbol_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Nydp::Symbol do
|
4
4
|
let(:bar) { Nydp::Symbol.mk :BAR, ns }
|
5
5
|
let(:foo) { Nydp::Symbol.mk :FOO, ns }
|
6
|
-
let(:vm) { Nydp::VM.new
|
6
|
+
let(:vm) { Nydp::VM.new(ns) }
|
7
7
|
|
8
8
|
it "returns a ruby symbol in #to_ruby" do
|
9
9
|
sym = Nydp::Symbol.mk :foo, ns
|
@@ -43,35 +43,35 @@ describe Nydp::Symbol do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it "works with builtin greater-than when true" do
|
46
|
-
f = Nydp::Builtin::GreaterThan.
|
46
|
+
f = Nydp::Builtin::GreaterThan.instance
|
47
47
|
|
48
48
|
f.invoke vm, pair_list([foo, bar])
|
49
49
|
|
50
|
-
expect(vm.args.pop).to eq Nydp
|
50
|
+
expect(vm.args.pop).to eq Nydp::T
|
51
51
|
end
|
52
52
|
|
53
53
|
it "works with builtin greater-than when false" do
|
54
|
-
f = Nydp::Builtin::GreaterThan.
|
54
|
+
f = Nydp::Builtin::GreaterThan.instance
|
55
55
|
|
56
56
|
f.invoke vm, pair_list([bar, foo])
|
57
57
|
|
58
|
-
expect(vm.args.pop).to eq Nydp
|
58
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
59
59
|
end
|
60
60
|
|
61
61
|
it "works with builtin less-than when true" do
|
62
|
-
f = Nydp::Builtin::LessThan.
|
62
|
+
f = Nydp::Builtin::LessThan.instance
|
63
63
|
|
64
64
|
f.invoke vm, pair_list([bar, foo])
|
65
65
|
|
66
|
-
expect(vm.args.pop).to eq Nydp
|
66
|
+
expect(vm.args.pop).to eq Nydp::T
|
67
67
|
end
|
68
68
|
|
69
69
|
it "works with builtin less-than when false" do
|
70
|
-
f = Nydp::Builtin::LessThan.
|
70
|
+
f = Nydp::Builtin::LessThan.instance
|
71
71
|
|
72
72
|
f.invoke vm, pair_list([foo, bar])
|
73
73
|
|
74
|
-
expect(vm.args.pop).to eq Nydp
|
74
|
+
expect(vm.args.pop).to eq Nydp::NIL
|
75
75
|
end
|
76
76
|
|
77
77
|
end
|