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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 077b2a26486139e757aa126f2baef39fd727f773
4
- data.tar.gz: 8d06e885b72918c5061f29422a906136e752d4a3
3
+ metadata.gz: 4dfd6771eb18fc86592d2a4b33e399645cb650c0
4
+ data.tar.gz: f77126f64fd1ee6304e353405c161ee872416075
5
5
  SHA512:
6
- metadata.gz: f2f18a3ce3b5079b10f713b2d47b1895d8d1aa695a77b8ce3c608da2cd96af0a1394bcdd7a43886cc682f06f5d9850f42a242a247d3a0f4d542973bac52bd1da
7
- data.tar.gz: 09dc8053a52a818d354decfe72e8a8c3ed4cd1a61207410e0115dae3f8872e1476e454b222f5b2191aca328e72c3280cf791c29e44b16cc6a46f83b420ed28b6
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 majot revisions.
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
 
@@ -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.7.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
- Thread.exclusive { block.call(vm, nil, nil) }
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); })
@@ -3,5 +3,5 @@
3
3
  #* version.rb - The version string for fOOrth.
4
4
  module XfOOrth
5
5
  #The version string for fOOrth.
6
- VERSION = "0.6.9"
6
+ VERSION = "0.6.10"
7
7
  end
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.9
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: 2016-11-03 00:00:00.000000000 Z
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.7.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.7.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.3
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: