rubymotionlisp 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rubylisp/cons_cell.rb +6 -5
- data/lib/rubylisp/environment_frame.rb +8 -1
- data/lib/rubylisp/prim_special_forms.rb +1 -1
- data/lib/rubylisp/tokenizer.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3074241e3075cf4d98eec6369b5cbd3bb058cbf
|
4
|
+
data.tar.gz: 72d9f6f5bf0f315c633cbfd4d699859754d10baa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a76c421a87391c26b343dcc197edc8d927e091155364b56d2c6a31ce9f867ba3b718f833d42971df623d7f97d74b3d9830c7197b32abdd3a1e3cfcf3f891ad2f
|
7
|
+
data.tar.gz: bb78a4223e8466102a327fb5b0edf5ca901e6d9e7cb1dcdf3d41f3c0fc645dcb6a5a3876956a31bf0e40bdb67505aa4cf92b374e326221ead929025aa8fddec6
|
data/lib/rubylisp/cons_cell.rb
CHANGED
@@ -187,11 +187,12 @@ module Lisp
|
|
187
187
|
end
|
188
188
|
|
189
189
|
def traverse(path)
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
190
|
+
next_cell = self
|
191
|
+
path.chars.each do |p|
|
192
|
+
return nil if next_cell.nil? || !next_cell.pair?
|
193
|
+
next_cell = ((p == ?a) ? next_cell.car : next_cell.cdr)
|
194
|
+
end
|
195
|
+
next_cell
|
195
196
|
end
|
196
197
|
|
197
198
|
def method_missing(name, *args, &block)
|
@@ -3,7 +3,7 @@ module Lisp
|
|
3
3
|
class EnvironmentFrame
|
4
4
|
|
5
5
|
attr_accessor :frame, :current_code, :previous, :name
|
6
|
-
attr_reader :parent
|
6
|
+
attr_reader :parent, :project_environment
|
7
7
|
|
8
8
|
def self.global
|
9
9
|
@@global_frame ||= EnvironmentFrame.new(nil, "GLOBAL")
|
@@ -25,6 +25,13 @@ module Lisp
|
|
25
25
|
@current_code = []
|
26
26
|
end
|
27
27
|
|
28
|
+
|
29
|
+
def clear
|
30
|
+
TopLevelEnvironments[@name] = nil if TopLevelEnvironments.has_key?(@name)
|
31
|
+
@bindings.keys.each {|k| @bindings[k] = nil}
|
32
|
+
end
|
33
|
+
|
34
|
+
|
28
35
|
def has_frame?
|
29
36
|
!@frame.nil?
|
30
37
|
end
|
data/lib/rubylisp/tokenizer.rb
CHANGED