summaryrefslogtreecommitdiffhomepage
path: root/doc/limitations.md
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2016-02-11 04:38:29 +0800
committerDaniel Bovensiepen <[email protected]>2016-02-11 04:38:29 +0800
commit3bbc486cf96684536184fe3da1677a286f5b7e91 (patch)
treef1cd544c88e186f1ac66184e24b3a8a483fbcd67 /doc/limitations.md
parent62b06ab4d428dec51a32d4da46e99206912141e7 (diff)
downloadmruby-3bbc486cf96684536184fe3da1677a286f5b7e91.tar.gz
mruby-3bbc486cf96684536184fe3da1677a286f5b7e91.zip
Add limitation file
Diffstat (limited to 'doc/limitations.md')
-rw-r--r--doc/limitations.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/limitations.md b/doc/limitations.md
new file mode 100644
index 000000000..006083eff
--- /dev/null
+++ b/doc/limitations.md
@@ -0,0 +1,59 @@
+# Limitations
+
+The philosophy of mruby is to be a lightweight implementation of
+the Ruby ISO standard. These two objectives are partially contradicting
+due to the reason that Ruby is a powerful language with complex
+implementation details which are difficult to implement in a lightweight
+manner.
+
+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.
+
+## Confirmed limitations
+
+### ```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.2.0 (2015-11-17)]
+
+```
+[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.2.0 (2015-11-17)]
+
+No exception is raised.