Ruby 3.4.0
ruby-lang.org
Ruby 3.4.0
1–10 of 282 posts
Re: Ruby 3.4.0
#2https://news.ycombinator.com/item?id=36310130 - Rewriting the Ruby parser (2023-06-13, 176 comments)
I remember being taught to use yacc in our compiler course because "writing it by hand is too hard". But looks like Ruby joins the growing list of languages that have hand-written parsers, apparently working with generated parsers turned out to be even harder in the long run.
That said, replacing a ~16k line parse.y[1] with a 22k line prism.c[2] is a pretty bold move.
Re: Ruby 3.4.0
#3I am most excited about the parser change, previously discussed here: https://news.ycombinator.com/item?id=36310130 - Rewriting the Ruby parser (2023-06-13, 176 comments) I remember being taught to use yacc in our compiler course because "writing it by hand is too hard". But looks like Ruby joins the growing list of languages that have hand-written parsers, apparently working with generated parsers turned out to be e…
Re: Ruby 3.4.0
#4Re: Ruby 3.4.0
#5Re: Ruby 3.4.0
#6I am most excited about the parser change, previously discussed here: https://news.ycombinator.com/item?id=36310130 - Rewriting the Ruby parser (2023-06-13, 176 comments) I remember being taught to use yacc in our compiler course because "writing it by hand is too hard". But looks like Ruby joins the growing list of languages that have hand-written parsers, apparently working with generated parsers turned out to be e…
I'm pretty sure the only reason people ever used parser generators is that it allows a language that vaguely resembles the formal description of the target language. I always found them very confusing to write, confusing to debug, and much less efficient than writing your own. It's actually pretty straightforward once you get the tokenization and lookahead working.
Re: Ruby 3.4.0
#7Re: Ruby 3.4.0
#8What does ruby do well that other languages don't? What is the niche it's trying to fill?
I don’t think it needs a niche. :)
Re: Ruby 3.4.0
#9‘it’ is a welcome addition!
Re: Ruby 3.4.0
#10If I cannot refactor my services, I shall refactor Ruby instead.