nydp 0.1.15 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lisp/core-015-documentation.nydp +11 -4
  3. data/lib/lisp/core-040-utils.nydp +3 -0
  4. data/lib/lisp/tests/builtin-tests.nydp +1 -1
  5. data/lib/lisp/tests/foundation-test.nydp +40 -0
  6. data/lib/lisp/tests/time-examples.nydp +21 -0
  7. data/lib/nydp.rb +10 -8
  8. data/lib/nydp/builtin.rb +3 -2
  9. data/lib/nydp/builtin/apply.rb +2 -2
  10. data/lib/nydp/builtin/car.rb +1 -1
  11. data/lib/nydp/builtin/cdr.rb +1 -1
  12. data/lib/nydp/builtin/cdr_set.rb +1 -1
  13. data/lib/nydp/builtin/comment.rb +2 -2
  14. data/lib/nydp/builtin/cons.rb +1 -1
  15. data/lib/nydp/builtin/date.rb +20 -0
  16. data/lib/nydp/builtin/divide.rb +2 -2
  17. data/lib/nydp/builtin/ensuring.rb +3 -3
  18. data/lib/nydp/builtin/error.rb +1 -1
  19. data/lib/nydp/builtin/eval.rb +2 -6
  20. data/lib/nydp/builtin/greater_than.rb +3 -3
  21. data/lib/nydp/builtin/handle_error.rb +2 -2
  22. data/lib/nydp/builtin/hash.rb +14 -20
  23. data/lib/nydp/builtin/inspect.rb +1 -1
  24. data/lib/nydp/builtin/is_equal.rb +10 -5
  25. data/lib/nydp/builtin/less_than.rb +3 -3
  26. data/lib/nydp/builtin/load_tests.rb +3 -7
  27. data/lib/nydp/builtin/millisecs.rb +1 -1
  28. data/lib/nydp/builtin/minus.rb +2 -2
  29. data/lib/nydp/builtin/modulo.rb +1 -1
  30. data/lib/nydp/builtin/parse.rb +3 -6
  31. data/lib/nydp/builtin/parse_in_string.rb +3 -6
  32. data/lib/nydp/builtin/plus.rb +3 -3
  33. data/lib/nydp/builtin/pre_compile.rb +2 -2
  34. data/lib/nydp/builtin/puts.rb +2 -2
  35. data/lib/nydp/builtin/random_string.rb +4 -4
  36. data/lib/nydp/builtin/sort.rb +1 -1
  37. data/lib/nydp/builtin/sqrt.rb +1 -1
  38. data/lib/nydp/builtin/string_match.rb +7 -10
  39. data/lib/nydp/builtin/string_replace.rb +1 -1
  40. data/lib/nydp/builtin/string_split.rb +1 -1
  41. data/lib/nydp/builtin/sym.rb +2 -6
  42. data/lib/nydp/builtin/thread_locals.rb +1 -1
  43. data/lib/nydp/builtin/time.rb +52 -0
  44. data/lib/nydp/builtin/times.rb +2 -2
  45. data/lib/nydp/builtin/to_string.rb +2 -2
  46. data/lib/nydp/builtin/type_of.rb +3 -7
  47. data/lib/nydp/builtin/vm_info.rb +1 -1
  48. data/lib/nydp/compiler.rb +2 -2
  49. data/lib/nydp/cond.rb +1 -1
  50. data/lib/nydp/core.rb +48 -48
  51. data/lib/nydp/function_invocation.rb +1 -1
  52. data/lib/nydp/helper.rb +5 -5
  53. data/lib/nydp/interpreted_function.rb +3 -3
  54. data/lib/nydp/lexical_context.rb +4 -4
  55. data/lib/nydp/lexical_context_builder.rb +2 -2
  56. data/lib/nydp/pair.rb +11 -11
  57. data/lib/nydp/runner.rb +2 -2
  58. data/lib/nydp/symbol.rb +2 -2
  59. data/lib/nydp/symbol_lookup.rb +1 -1
  60. data/lib/nydp/truth.rb +8 -11
  61. data/lib/nydp/version.rb +1 -1
  62. data/lib/nydp/vm.rb +4 -3
  63. data/spec/date_spec.rb +28 -20
  64. data/spec/error_spec.rb +1 -1
  65. data/spec/foreign_hash_spec.rb +12 -12
  66. data/spec/hash_non_hash_behaviour_spec.rb +8 -8
  67. data/spec/hash_spec.rb +14 -14
  68. data/spec/literal_spec.rb +2 -2
  69. data/spec/nydp_spec.rb +6 -6
  70. data/spec/pair_spec.rb +8 -8
  71. data/spec/parser_spec.rb +1 -1
  72. data/spec/spec_helper.rb +1 -1
  73. data/spec/string_atom_spec.rb +9 -9
  74. data/spec/string_token_spec.rb +1 -1
  75. data/spec/symbol_spec.rb +9 -9
  76. data/spec/thread_local_spec.rb +2 -6
  77. data/spec/time_spec.rb +48 -0
  78. metadata +7 -3
  79. data/lib/nydp/builtin/today.rb +0 -18
@@ -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.new.invoke vm, args
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.new(ns).invoke vm, pair_list(args)
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.new(ns).invoke vm, pair_list(args)
39
+ Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
40
40
 
41
- expect(vm.args.pop).to eq Nydp.NIL
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.new(ns).invoke vm, pair_list(args)
49
+ Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
50
50
 
51
- expect(vm.args.pop).to eq Nydp.T
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.new(ns).invoke vm, pair_list(args)
61
+ Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list(args)
62
62
 
63
- expect(vm.args.pop).to eq Nydp.T
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.new(ns).invoke vm, pair_list(args)
70
+ Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list(args)
71
71
 
72
- expect(vm.args.pop).to eq Nydp.NIL
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.new(ns).invoke vm, pair_list(args)
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.new(ns).invoke vm, pair_list(args)
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.new(ns).invoke vm, pair_list(args)
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.new(ns).invoke vm, pair_list(args)
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.new(ns).invoke vm, pair_list(args)
39
- expect(vm.args.pop).to eq Nydp.NIL
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.new.invoke vm, args
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.new(ns).invoke vm, pair_list(args)
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.new.invoke vm, Nydp.NIL
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.new.invoke vm, args
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.new(ns).invoke vm, args
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.new(ns).invoke vm, pair_list([h, k])
105
+ Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list([h, k])
106
106
 
107
- expect(vm.args.pop).to eq Nydp.T
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.new(ns).invoke vm, pair_list([h, k])
114
+ Nydp::Builtin::HashKeyPresent.instance.invoke vm, pair_list([h, k])
115
115
 
116
- expect(vm.args.pop).to eq Nydp.NIL
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.new(ns).invoke vm, args
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.NIL }
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.new.invoke vm, args
141
+ Nydp::Builtin::HashSet.instance.invoke vm, args
142
142
 
143
- expect(ahash). to eq Nydp.NIL
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.new(ns).invoke vm, pair_list(args)
153
+ Nydp::Builtin::HashGet.instance.invoke vm, pair_list(args)
154
154
 
155
- expect(vm.args.pop).to eq Nydp.NIL
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.T.to_ruby).to eq true
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.NIL.to_ruby).to eq nil
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) { Nydp::Parser.new(ns) }
5
- let(:vm) { Nydp::VM.new }
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.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
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.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)
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.NIL
74
- expect(p.cdr).to eq Nydp.NIL
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.NIL
77
- expect(p.cdr).to eq Nydp.NIL
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
@@ -43,7 +43,7 @@ describe Nydp::Parser do
43
43
  end
44
44
 
45
45
  it "should parse an empty expression" do
46
- expect(parse "()").to eq Nydp.NIL
46
+ expect(parse "()").to eq Nydp::NIL
47
47
  end
48
48
 
49
49
  it "should parse a lisp expression" do
data/spec/spec_helper.rb CHANGED
@@ -11,7 +11,7 @@ module SpecHelper
11
11
  Nydp::Parser.new(ns).expression(Nydp::Tokeniser.new reader)
12
12
  end
13
13
 
14
- def pair_list xs, last=Nydp.NIL
14
+ def pair_list xs, last=Nydp::NIL
15
15
  Nydp::Pair.from_list xs, last
16
16
  end
17
17
 
@@ -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.new
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.T
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.new
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.NIL
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.new
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.T
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.new
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.NIL
59
+ expect(vm.args.pop).to eq Nydp::NIL
60
60
  end
61
61
  end
@@ -14,6 +14,6 @@ describe Nydp::StringFragmentToken do
14
14
 
15
15
  it "is not equal to nil" do
16
16
  t1 = Nydp::StringFragmentToken.new "foo", "bar"
17
- expect(t1).not_to eq Nydp.NIL
17
+ expect(t1).not_to eq Nydp::NIL
18
18
  end
19
19
  end
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.new
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.T
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.new
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.NIL
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.new
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.T
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.new
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.NIL
74
+ expect(vm.args.pop).to eq Nydp::NIL
75
75
  end
76
76
 
77
77
  end