Val on Programming: What makes a good REPL?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • evcxr

  • Something I've been thinking a lot about for Rust is what can and should a REPL experience be for a compiled language (ie what are reasonable compromises).

    There seem to be two repls that haven't gotten much traction:

    - https://github.com/google/evcxr/blob/main/evcxr_repl/README....

    - https://github.com/sigmaSd/IRust

    There have been little and big nits that have held me back from wanting to push these further, including

    - Bad defaults (having to opt-in to panic handling)

    - Command syntax feeling out of place and likely not beginner friendly

    - Limits on variable preservation

    - Lack of introspection (at least irust as `:type`)

    So far I've been punting on wanting to improve this area by instead focusing on polishing up a rust script solution in the hopes of getting it merged: https://github.com/epage/cargo-script-mvs

  • IRust

    Cross Platform Rust Repl

  • Something I've been thinking a lot about for Rust is what can and should a REPL experience be for a compiled language (ie what are reasonable compromises).

    There seem to be two repls that haven't gotten much traction:

    - https://github.com/google/evcxr/blob/main/evcxr_repl/README....

    - https://github.com/sigmaSd/IRust

    There have been little and big nits that have held me back from wanting to push these further, including

    - Bad defaults (having to opt-in to panic handling)

    - Command syntax feeling out of place and likely not beginner friendly

    - Limits on variable preservation

    - Lack of introspection (at least irust as `:type`)

    So far I've been punting on wanting to improve this area by instead focusing on polishing up a rust script solution in the hopes of getting it merged: https://github.com/epage/cargo-script-mvs

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cargo-script-mvs

    Pre-RFC for merging cargo-script into cargo

  • Something I've been thinking a lot about for Rust is what can and should a REPL experience be for a compiled language (ie what are reasonable compromises).

    There seem to be two repls that haven't gotten much traction:

    - https://github.com/google/evcxr/blob/main/evcxr_repl/README....

    - https://github.com/sigmaSd/IRust

    There have been little and big nits that have held me back from wanting to push these further, including

    - Bad defaults (having to opt-in to panic handling)

    - Command syntax feeling out of place and likely not beginner friendly

    - Limits on variable preservation

    - Lack of introspection (at least irust as `:type`)

    So far I've been punting on wanting to improve this area by instead focusing on polishing up a rust script solution in the hopes of getting it merged: https://github.com/epage/cargo-script-mvs

  • farolero

    Thread-safe Common Lisp style conditions and restarts for Clojure(Script) and Babashka.

  • True, the CL REPL is more useful than the Clojure REPL, but CL has a 20-30 year head start in development. Plus, Clojure was developed as a hosted language, and runs on .NET, Javascript, JVM, and even Dart (in-progress).

    Since exceptions are quite deeply integrated into those platforms (as opposed to conditions), it has "bled through" to the Clojure APIs, and, in turn, REPL.

    Folks have written a CL-style condition/restart library for Clojure (https://github.com/IGJoshua/farolero) too.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • IRust: Cross Platform Rust REPL

    1 project | news.ycombinator.com | 14 Jan 2023
  • Amazing git additional tool to install: git-interactive rebase-tool

    2 projects | dev.to | 24 Apr 2024
  • Spyglass: A Personal Search Engine

    1 project | news.ycombinator.com | 5 Mar 2024
  • Show HN: Now my pet programming language can run in the browser

    3 projects | news.ycombinator.com | 10 Feb 2024
  • Emacs boffins guide to reprogramming keyboard for EXWM?

    1 project | /r/emacs | 6 Dec 2023