fOOrth 0.6.9 → 0.6.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -1
- data/fOOrth.gemspec +1 -1
- data/lib/fOOrth/library/mutex_library.rb +6 -1
- data/lib/fOOrth/library/string_library.rb +3 -0
- data/lib/fOOrth/version.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dfd6771eb18fc86592d2a4b33e399645cb650c0
|
4
|
+
data.tar.gz: f77126f64fd1ee6304e353405c161ee872416075
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1af30311ef3fd32ab44da18c61aac59b065dd0a9723fa900cd1ef7bb2caaec2ea551cba4f5ca934b2c879660d5bcfaf21515ae1e9b4dbd8e9d879f0e113196a
|
7
|
+
data.tar.gz: a5d9c3c9c6e7374b541f8ed449d1447f7445b05b34b6a2e30f94964ddfa9807817a5f5cb4b7a60a875bcd0dd71293eb97175433dd1f28e0044842643744258f7
|
data/README.md
CHANGED
@@ -67,7 +67,27 @@ currently only available in Open Office and PDF formats. The guide tracks
|
|
67
67
|
changes in the language fairly closely. The most current guide in PDF
|
68
68
|
format may be found at the community web site above.
|
69
69
|
|
70
|
-
This code repo also has PDF formatted guides for
|
70
|
+
This code repo also has PDF formatted guides for major revisions.
|
71
|
+
|
72
|
+
### If you get stuck.
|
73
|
+
|
74
|
+
The fOOrth language REPL has several commands inspired by the APL interpreter
|
75
|
+
of the old PDP-10 system I used so many years ago. The commands take the form
|
76
|
+
of )command. That's a right paren then the command name. Some useful ones
|
77
|
+
to know are:
|
78
|
+
|
79
|
+
)"shell command" -- execute the specified command in the shell.
|
80
|
+
)classes -- list the system classes.
|
81
|
+
)globals -- list any global variables.
|
82
|
+
)load"filename" -- load the fOOrth file called filename.
|
83
|
+
)irb -- launch an interactive irb debug session.
|
84
|
+
)quit -- exit fOOrth.
|
85
|
+
)time -- display the current time.
|
86
|
+
)show -- after each command show the contents of the data stack.
|
87
|
+
)noshow -- don't do that.
|
88
|
+
)version -- display current language version info.
|
89
|
+
)words -- list all defined method names.
|
90
|
+
|
71
91
|
|
72
92
|
## Contributing
|
73
93
|
|
data/fOOrth.gemspec
CHANGED
@@ -36,5 +36,5 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_runtime_dependency 'full_clone'
|
37
37
|
spec.add_runtime_dependency 'safe_clone'
|
38
38
|
spec.add_runtime_dependency 'in_array'
|
39
|
-
spec.add_runtime_dependency 'mini_readline', ">= 0.
|
39
|
+
spec.add_runtime_dependency 'mini_readline', ">= 0.8.0"
|
40
40
|
end
|
@@ -9,7 +9,7 @@ module XfOOrth
|
|
9
9
|
# [Mutex] .do{{ ... }} [] (Releases a lock on the mutex)
|
10
10
|
Mutex.create_exclusive_method('.do{{', NosSpec, [], &lambda {|vm|
|
11
11
|
block = vm.pop
|
12
|
-
|
12
|
+
@foorth_shared_mutex.synchronize { block.call(vm, nil, nil) }
|
13
13
|
})
|
14
14
|
|
15
15
|
# [a_mutex] .lock [] (Acquires a lock on the mutex)
|
@@ -29,3 +29,8 @@ module XfOOrth
|
|
29
29
|
})
|
30
30
|
|
31
31
|
end
|
32
|
+
|
33
|
+
# Create a shared mutex instance.
|
34
|
+
class Mutex
|
35
|
+
@foorth_shared_mutex = Mutex.new
|
36
|
+
end
|
@@ -231,6 +231,9 @@ module XfOOrth
|
|
231
231
|
String.create_shared_method('+', NosSpec, [],
|
232
232
|
&lambda {|vm| vm.poke((self + vm.peek.to_s).freeze) })
|
233
233
|
|
234
|
+
# ["b", a] << [error]; Bug patch. Not fully understood.
|
235
|
+
String.create_shared_method('<<', NosSpec, [:stub])
|
236
|
+
|
234
237
|
# ["b"*, a] << ["ba"*]; "ba"* is the same object as "b"*
|
235
238
|
StringBuffer.create_shared_method('<<', NosSpec, [],
|
236
239
|
&lambda {|vm| vm.poke(self << vm.peek.to_s); })
|
data/lib/fOOrth/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fOOrth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Camilleri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -170,14 +170,14 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.
|
173
|
+
version: 0.8.0
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.
|
180
|
+
version: 0.8.0
|
181
181
|
description: An Object Oriented FORTHesque language gem.
|
182
182
|
email: peter.c.camilleri@gmail.com
|
183
183
|
executables:
|
@@ -377,7 +377,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
377
377
|
version: '0'
|
378
378
|
requirements: []
|
379
379
|
rubyforge_project:
|
380
|
-
rubygems_version: 2.2
|
380
|
+
rubygems_version: 2.5.2
|
381
381
|
signing_key:
|
382
382
|
specification_version: 4
|
383
383
|
summary: FNF == fOOrth is Not FORTH.
|
@@ -428,4 +428,3 @@ test_files:
|
|
428
428
|
- tests/monkey_patch/rational_test.rb
|
429
429
|
- tests/monkey_patch/string_test.rb
|
430
430
|
- tests/symbol_map_tests.rb
|
431
|
-
has_rdoc:
|