question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Here’s a summary of what’s missing from the current impl:

  • Lots of methods and fields are package-private, and I don’t know why. I guess making more of them private is a better idea.
  • Parser is unimplemented.
  • Completion is unimplemented. I added completion for keywords, but that’s only available for non-commands. If your line starts with :, then no completion. This should be changed after we have commands that accept expressions.
  • No repl commands. I think we need a general interface for repl commands so the repl framework is extensible. Here’s a list of what I’m looking for.
    • :t, :type from GHCi. Completion should be enabled for this command.
    • :normalize or :eval – whatever you’d like to call it – for normalizing the expression. Completion should be enabled.
    • :prompt that changes the prompt.
    • An option to change the pretty printing width.
    • An option to change pretty printing options. Available options should be completed.
  • Save history for jline3 based repl. We may start using ~/.aya/something for this purpose.
  • Handle redefinitions.
  • Completion of commands. This is very important.

_Originally posted by @ice1000 in https://github.com/aya-prover/aya-dev/issues/86#issuecomment-944882637_

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:1
  • Comments:29 (29 by maintainers)

github_iconTop GitHub Comments

2reactions
imkivacommented, Oct 22, 2021

me: “Which one is important to me? <stdin>? <interactive>?” <unknown-file>: “<stdin>” me: “Think again” <unknown-file>: “Then <interactive>” me: “Think again” <unknown-file>: “Still <stdin>” me: “None of them matters. It matters to me without <unknown-file>.”

2reactions
imkivacommented, Oct 17, 2021

For where to store aya config, history or cache files. I suggest one of them:

  1. Use our own base path, in every platform, like OpenSSH (~/.ssh)
  2. Use our own base path, in every platform, but provide options to switch to other dirs, like cargo, rustup, and gradle via env XXX_HOME. We can support XDG Base Directory for desktop users by export AYA_HOME="$XDG_DATA_HOME/aya" or a command line option.

I don’t suggest:

  1. Use ~/Library/Application Support on macOS. This path is used for applications that ship with an app bundle .app file. We may encounter some strange permission problems. I didn’t see any command line only programs use this path. And the path contains an unfriendly space that adds burden to command-line operation.
  2. Use all XDG base directories. This means we save different files in different dirs, which is tiring for both users and developers. And we also need to manually split workspace content into configs, downloads, etc.

Why is our own path that important?

  • For users that use all main systems (like me), it is important and ideal to easily get re-started from experiences before. I can know that in every platform If I want to find my ssh keys, I just need to navigate to ~/.ssh instead of googling something like ssh key location on windows.

Why shouldn’t use XDG base directories by default?

  • Aya can be run on server-side. Using desktop-specific dir looks strange.
  • Some servers didn’t even have XDG_XXX_HOME set.
  • Some desktop Linux didn’t have XDG_XXX_HOME set, like WSL. (Yes, WSL is desktop Linux and my WSL and Windows share the same home folder).

Then how to use XDG base directories?

Read more comments on GitHub >

github_iconTop Results From Across the Web

How should repl.it improve? - Replit
How should repl.it improve and how can we help to do it? Write your opinions in the comments.
Read more >
Boost your productivity with the REPL | Pydon't - Mathspp
the REPL is a great tool to help prototype small ideas and solutions;; the REPL supports multiline input, and breaks it after an...
Read more >
Programming at the REPL: Enhancing your REPL workflow
There are a variety of things you may want to improve: Switching between my editor and the REPL is tedious. Most Clojure programmers...
Read more >
Improve repl · Issue #19 · frida/frida-python - GitHub
Suggestions: Ctrl-c to clear current input in prompt, instead of raising the KeyboardInterrupt exception (same as normal shells)
Read more >
improved repl for lua? - Reddit
I always use a repl regardless of the language, and if the language doesn't have a good repl experience I'm more likely to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found