Skip to content

REPL: Improved REPL, redux #754

Open
@SethTisue

Description

@SethTisue

This ticket replaces #325 from 2017. Goals: omit completed tasks, omit less-likely todos, make it easier to see the big picture & see where things stand.

Note that all the t:repl JLine 3 upgrade (scala/scala#8036) tickets that we opened during the 2.13.3 cycle now live at t:repl JLine 3 upgrade (scala/scala#8036)

The prioritization here is based on part on the Twitter poll I did, as well as many years of discussions within the team and among the community.

Modest goals

More ambitious

These remain possibilities for Scala 2, but would need discussion/planning. It would make the most sense to land it in Scala 3 first, then backport.

  • Pretty-printing of results (like Ammonite? adopt their solution?)

Shelved waiting for JLine fix

Out of scope

  • Get rid of our own REPL, adopt Ammonite wholesale
    • Perhaps this could happen in Scala 3; I don't know. Certainly not happening in Scala 2: too much work, too disruptive.
    • I would encourage people to instead consider porting Ammonite features to the stock REPL, or to turn Ammonite into a wrapper or client of the stock REPL, to avoid code duplication.
  • other possibilities originally included on REPL: Improved REPL #325
    • ...are probably out of scope for the core team, but contributors might be interested?
  • "Magic imports" of dependencies, a la Ammonite's Ivy imports?
    • Overlaps with existing :require feature
    • Involves integrating with Coursier
    • May overlap with making our launchers Coursier-based
    • Moved to "out of scope" with the advent of https://scala-cli.virtuslab.org

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions