[#92070] [Ruby trunk Feature#15667] Introduce malloc_trim(0) in full gc cycles — sam.saffron@...
Issue #15667 has been updated by sam.saffron (Sam Saffron).
3 messages
2019/04/01
[ruby-core:92112] [Ruby trunk Misc#15744] Improvement needed to documentation of 'Literals'
From:
cary@...
Date:
2019-04-02 17:34:47 UTC
List:
ruby-core #92112
Issue #15744 has been reported by CaryInVictoria (Cary Swoveland).
----------------------------------------
Misc #15744: Improvement needed to documentation of 'Literals'
https://bugs.ruby-lang.org/issues/15744
* Author: CaryInVictoria (Cary Swoveland)
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
Documentation of "Literals" for v2.6.0 is given here: https://docs.ruby-lang.org/en/2.6.0/syntax/literals_rdoc.html. (I don't think it has been changed for some time.) It gives examples of literals but does not provide a definition. It is comparable to defining an array by giving a few examples. I believe a definition is needed.
I would like to suggest a definition, but I confess I don't know what a Ruby literal is. A definition is attempted at this Wiki for computer programming generally: https://en.wikipedia.org/wiki/Literal_(computer_programming).
I suspect a Ruby literal is an object whose value is in some sense "known" at compile-time. For example, I would think `1`, `1.0` and `{ a: [1, 'cat', ['dog', ['pig', ..10]]] }` are literals but `{ v=>1, 2=>3 }` in `h = { v=>1, 2=>3 }`, `v` being a variable, is not. Or is it? If the previous line of code had been `v=3`, Ruby could, at compile-time, infer that the line could be replaced with `h = {3=>1, 2=>3}`, in which case it would be "known". This example is meant to illustrate why I earlier said "in some sense".
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>