fOOrth 0.6.9 → 0.6.10
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.
- 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:
|