[#56965] [ruby-trunk - Bug #8852][Open] Synology build of ruby-2.0.0-p247 is failing — "barbecuesteve (Steve Sparks)" <sparks@...>

12 messages 2013/09/02

[#57051] [ruby-trunk - Bug #8872][Open] Case statements do not honor a refinement of the '===' method — "jconley88 (Jon Conley)" <schnozberries@...>

21 messages 2013/09/07

[#57058] [ruby-trunk - Bug #8875][Open] Select is not usable with SSLSocket — "headius (Charles Nutter)" <headius@...>

11 messages 2013/09/07

[#57074] [ruby-trunk - Bug #8879][Open] String#to_r fails after moving ruby to other OSX system — "mpapis (Michal Papis)" <mpapis@...>

12 messages 2013/09/08

[#57092] [ruby-trunk - Bug #8883][Open] Rational canonicalization unexpectedly converts to Fixnum — "melquiades (Paul Cantrell)" <cantrell@...>

16 messages 2013/09/09

[#57109] [ruby-trunk - Bug #8886][Open] TracePoint API inconsistence when raise used — deivid (David Rodríguez) <deivid.rodriguez@...>

14 messages 2013/09/10

[#57111] [ruby-trunk - Feature #8887][Open] min(n), max(n), min_by(n), max_by(n) — "akr (Akira Tanaka)" <akr@...>

13 messages 2013/09/10

[#57131] [ruby-trunk - Feature #8895][Open] Destructuring Assignment for Hash — "chendo (Jack Chen)" <ruby-lang@...>

19 messages 2013/09/11

[#57186] [ruby-trunk - Feature #8909][Open] Expand "f" frozen suffix to literal arrays and hashes — "headius (Charles Nutter)" <headius@...>

37 messages 2013/09/14

[#57262] [ruby-trunk - Feature #8921][Open] Allow select, reject, etc to accept a regex — "kyledecot (Kyle Decot)" <kyle.decot@...>

13 messages 2013/09/18

[#57273] [ruby-trunk - Feature #8923][Open] Frozen nil/true/false — "ko1 (Koichi Sasada)" <redmine@...>

13 messages 2013/09/19

[#57353] [ruby-trunk - Feature #8948][Open] Frozen regex — "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>

19 messages 2013/09/24

[#57385] [ruby-trunk - Bug #8953][Open] `str =~ /pattern/` does not call =~ method if (1) str is a String, (2) /pattern/ is a Regexp literal — "gfx (Goro Fuji)" <gfuji@...>

12 messages 2013/09/26

[#57396] [ruby-trunk - Feature #8956][Open] Allow hash members delimited by \n inside of {} — "adamdunson (Adam Dunson)" <adam@...>

20 messages 2013/09/26

[ruby-core:57130] [ruby-trunk - Feature #8892][Rejected] Documentation of Ruby at the level of S-expressions.

From: "naruse (Yui NARUSE)" <naruse@...>
Date: 2013-09-11 06:40:32 UTC
List: ruby-core #57130
Issue #8892 has been updated by naruse (Yui NARUSE).

Status changed from Open to Rejected

Why Ruby doesn't documantate its sexp is because we don't limit Ruby's future by its compatibility.

For version compatibility, Ruby's abstract syntax tree is internal expression and it may be changed suddenly.
If the syntax tree is published, people want the compatibility and it will limit future implementation.

For implementation compatibility, other than CRuby can use another internal expression for AST.
If the tree is published, the compatibility will disturb new parser implementations.

Anyway people can use AST as sexp with some gems or tools at their own risk.
This is considered the best situation.
----------------------------------------
Feature #8892: Documentation of Ruby at the level of S-expressions.
https://bugs.ruby-lang.org/issues/8892#change-41735

Author: boris_stitnicky (Boris Stitnicky)
Status: Rejected
Priority: Normal
Assignee: 
Category: 
Target version: 


Being a non-expert, I understood that Ruby is parsed into something like S-expressions. I am happy that Ruby allows me not to write in sexps. This buys ergonomy (code readability). I am also happy that Ruby allows me to write in sexps and even convert the sexp code to standard Ruby with tools such as Jim Weirich's Sorcerer. However, it seems to me that at the level of sexps, Ruby is underdocumented for us average users. I can only guess what :program, :stmts, :@int, :@float, :@ident etc. in Ripper.sexp output mean. Why not make the Ruby sexp documentation public?


-- 
http://bugs.ruby-lang.org/

In This Thread