Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Idea]: building a better Node.js REPL #1

Closed
kgryte opened this issue Jan 11, 2023 · 2 comments
Closed

[Idea]: building a better Node.js REPL #1

kgryte opened this issue Jan 11, 2023 · 2 comments
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: normal Normal priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.

Comments

@kgryte
Copy link
Member

kgryte commented Jan 11, 2023

Idea

The read-eval-print loop (REPL) is a fixture of data analysis and numerical computing and provides a critical entry-point for individuals seeking to learn and better understand APIs and their associated behavior. While a web browser's JavaScript console is a staple of debugging in web applications, the Node.js REPL is significantly underutilized--an occurrence largely attributable to its underdevelopment and lack of functionality.

This idea aims to implement a suite of enhancements to the stdlib REPL, which is an alternative to the Node.js REPL and analogous to Python's IPython. The overarching goal is to provide a compelling environment for interactive JavaScript computing to further establish Node.js as a platform suitable for numerical computing and data analysis.

Potential improvements include, but are not limited to, the following:

  • Auto-completion previews for file paths, function names, and variables
  • Fuzzy auto-completion extension
  • Less/more documentation pager
  • Pretty printing of tabular output
  • Terminal syntax highlighting and bracket matching
  • Bracketed-paste
  • Custom key binding support
  • Numerical computing workshops/tutorials using the built-in REPL presentation framework
  • Multi-line editing

Expected Outcomes

REPL users will be able to leverage the stdlib REPL in a manner similar to a fully-featured IDE and have access to workshops and tutorials for an integrated interactive learning experience covering machine learning and statistical computing concepts.

Involved Software

No other software is necessary to implement this idea.

Prerequisite Knowledge

JavaScript, Node.js

Difficulty

Intermediate. Difficulties may arise due to escape sequences necessary for syntax highlighting and multi-line editing.

Project Length

350 hours.

Potential Mentors

@kgryte @Planeshifter @steff456

@kgryte kgryte added idea Potential GSoC project idea. priority: normal Normal priority. difficulty: 3 Likely to be challenging but manageable. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js. labels Jan 11, 2023
@stdlib-js stdlib-js locked and limited conversation to collaborators Jan 11, 2023
@kgryte
Copy link
Member Author

kgryte commented Mar 27, 2024

Contributors interested in pursuing this project should also suggest their own improvements to the REPL.

@kgryte
Copy link
Member Author

kgryte commented Dec 13, 2024

This project was completed by @Snehil-Shah during GSoC 2024.

@kgryte kgryte closed this as completed Dec 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: normal Normal priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

1 participant