From: "mame (Yusuke Endoh) via ruby-core" Date: 2023-08-24T10:52:38+00:00 Subject: [ruby-core:114484] [Ruby master Misc#19772] API naming for YARP compiler Issue #19772 has been updated by mame (Yusuke Endoh). We discussed How to merge YARP to Ruby 3.3 at the dev meeting. Here is what @matz approved: * MRI will use parse.y by default. Using an option (not concretely decided yet), it will use the built-in YARP. * We introduce `::Ruby` module. * This namespace is owned and predefined by the Ruby interpreter. * Any gem must not define any constants under the namespace. * Built-in YARP can use used from Ruby in `Ruby::Parser`. * `Ruby::Parser` is not loaded by default. `require 'ruby/parser'` will define `Ruby::Parser`. * `lib/ruby/parser.rb`, etc. will be part of the standard library (it will not be part of default/bundled gems). * `Ruby::Parser` should not be defined/modified by any gem (= gem cannot replace `Ruby::Parser`). * yarp/prism gem will use a different namespace than `Ruby::Parser`. * We haven't decided whether to bundle the yarp/prism gem. * The name of the gem can be either yarp or prism. * yarp's implementation for multi-version support is up to yarp maintainers. (Anyone who was at the meeting, please point out if I'm wrong) ---------------------------------------- Misc #19772: API naming for YARP compiler https://bugs.ruby-lang.org/issues/19772#change-104270 * Author: jemmai (Jemma Issroff) * Status: Open * Priority: Normal ---------------------------------------- We are working on the YARP compiler, and have [the first PR ready](https://github.com/ruby/ruby/pull/8042) which introduces the YARP compile method. Our only outstanding question before merging it is about naming. How should we expose the public API for YARP's compile method? Potential suggestions: 1. YARP.compile 2. RubyVM::InstructionSequence.compile(yarp: true) 3. RubyVM::InstructionSequence.compile_yarp 4. Any of the above options, with a name other than yarp (please suggest an alternative) Regarding option 1, which would mirror `YARP.parse`, is the top level constant `YARP` acceptable? cc @matz @ko1 -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/