nydp 0.1.15 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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