summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/doc/limitations.md
diff options
context:
space:
mode:
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby/doc/limitations.md')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/doc/limitations.md208
1 files changed, 0 insertions, 208 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/doc/limitations.md b/web/server/h2o/libh2o/deps/mruby/doc/limitations.md
deleted file mode 100644
index db8db9a5c..000000000
--- a/web/server/h2o/libh2o/deps/mruby/doc/limitations.md
+++ /dev/null
@@ -1,208 +0,0 @@
-# Limitations and Differences
-
-The philosophy of mruby is to be a lightweight implementation of
-the Ruby ISO standard. These two objectives are partially contradicting.
-Ruby is an expressive language with complex implementation details which
-are difficult to implement in a lightweight manner. To cope with this,
-limitations to the "Ruby Compatibility" are defined.
-
-This document is collecting these limitations.
-
-## Integrity
-
-This document does not contain a complete list of limitations.
-Please help to improve it by submitting your findings.
-
-
-## ```1/2``` gives ```0.5```
-
-Since mruby does not have ```Bignum```, bigger integers are represented
-by ```Float``` numbers. To enhance interoperability between ```Fixnum```
-and ```Float```, mruby provides ```Float#upto``` and other iterating
-methods for the ```Float``` class. As a side effect, ```1/2``` gives ```0.5```
-not ```0```.
-
-## ```Array``` passed to ```puts```
-
-Passing an Array to ```puts``` results in different output.
-
-```ruby
-puts [1,2,3]
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```
-1
-2
-3
-```
-
-#### mruby [1.3.0 (2017-7-4)]
-
-```
-[1, 2, 3]
-```
-
-## ```Kernel.raise``` in rescue clause
-
-```Kernel.raise``` without arguments does not raise the current exception within
-a rescue clause.
-
-```ruby
-begin
- 1 / 0
-rescue
- raise
-end
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```ZeroDivisionError``` is raised.
-
-#### mruby [1.3.0 (2017-7-4)]
-
-No exception is raised.
-
-## Check of infinite recursion
-
-mruby does not check infinite recursion across C extensions.
-
-```ruby
-def test; eval 'test'; end; test
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```SystemStackError``` is raised.
-
-#### mruby [1.3.0 (2017-7-4)]
-
-Segmentation fault.
-
-## Fiber execution can't cross C function boundary
-
-mruby's ```Fiber``` is implemented in a similar way to Lua's co-routine. This
-results in the consequence that you can't switch context within C functions.
-Only exception is ```mrb_fiber_yield``` at return.
-
-## ```Array``` does not support instance variables
-
-To reduce memory consumption ```Array``` does not support instance variables.
-
-```ruby
-class Liste < Array
- def initialize(str = nil)
- @feld = str
- end
-end
-
-p Liste.new "foobar"
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-``` [] ```
-
-#### mruby [1.3.0 (2017-7-4)]
-
-```ArgumentError``` is raised.
-
-## Method visibility
-
-For simplicity reasons no method visibility (public/private/protected) is
-supported.
-
-```ruby
-class VisibleTest
-
- def public_method; end
-
- private
- def private_method; end
-
-end
-
-p VisibleTest.new.respond_to?(:private_method, false)
-p VisibleTest.new.respond_to?(:private_method, true)
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```
-false
-true
-```
-
-#### mruby [1.3.0 (2017-7-4)]
-
-```
-true
-true
-```
-
-## defined?
-
-The ```defined?``` keyword is considered too complex to be fully
-implemented. It is recommended to use ```const_defined?``` and
-other reflection methods instead.
-
-```ruby
-defined?(Foo)
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```
-nil
-```
-
-#### mruby [1.3.0 (2017-7-4)]
-
-```NameError``` is raised.
-
-## ```alias``` on global variables
-
-Aliasing a global variable works in CRuby but is not part
-of the ISO standard.
-
-```ruby
-alias $a $__a__
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-``` nil ```
-
-#### mruby [1.3.0 (2017-7-4)]
-
-Syntax error
-
-## Operator modification
-
-An operator can't be overwritten by the user.
-
-```ruby
-class String
- def +
- end
-end
-
-'a' + 'b'
-```
-
-#### Ruby [ruby 2.0.0p645 (2015-04-13 revision 50299)]
-
-```ArgumentError``` is raised.
-The re-defined ```+``` operator does not accept any arguments.
-
-#### mruby [1.3.0 (2017-7-4)]
-
-``` 'ab' ```
-Behavior of the operator wasn't changed.
-
-## ```Kernel.binding``` missing
-
-```Kernel.binding``` is not implemented as it is not in the
-ISO standard.