Consider switching away from `haskeline` for the morley REPL
Clarification and motivation
We use the haskeline
package for the morley
REPL, however we may have some problems related to #304 (closed).
In particular, quoting from !897 (merged):
terminfo
haskell package cannot be linked statically. In our case we have it because it's a dependency ofhaskeline
, which provides repl for morley, andhaskeline
has a flag to disable this dependency, which fixes compilation. But this flag also introduces minor but noticeable problems to repl behavior: line wrapping and some buttons like Home/End/Ctrl-L stop working. You can see a discussion here https://github.com/purescript/purescript/issues/3696, and you can checkmorley repl
yourself by downloading it from CI: https://gitlab.com/morley-framework/morley/-/jobs/1579865678. It could be a major downside of switching to static linking from docker for us.
We should verify that these issues are still present and that they affect us.
If so, we should look for a different library, that's not based on terminfo
, and consider switching on it.
Note: IIRC the REPL is used in the morley-debugger so we should consider it for the possible issues and alternatives
Acceptance criteria
- known issues with statically-compiled
haskeline
are verified to affect the morley REPL - if they are, and there is no straightforward solution/workaround, alternative libraries are researched
- if there is at least one satisfying alternative, it is used, replacing
haskeline