[erlang-questions] Some ideas for the shell.

Fred Hebert mononcqc@REDACTED
Mon Dec 4 15:55:27 CET 2017


I've toyed with the shell a whole lot over the years -- implemented history
storage (twice) and the ctrl+r search in there, along with the stuff
related to rebar3's shell. The useful information I could give to people
willing to spend the time to develop these things is in a blog post I've
written a few years ago:
https://ferd.ca/repl-a-bit-more-and-less-than-that.html

The structure is not necessarily quite obvious for the tricky requirements
of say, capturing input on one node, but evaluating it in the context of
another one (except for some signals like ctrl+g, which are evaluated
locally). If anyone feels like hacking on the shell, this could be decent
preliminary reading.

On Mon, Dec 4, 2017 at 7:58 AM, Radosław Szymczyszyn <lavrin@REDACTED>
wrote:

> > One of the comments on it was asking for documentation access too, as
> the Python REPL has been offering for some time.
>
> "Some time" like, hmmm, almost 20 years? ;) There's a PEP on docstring
> conventions from 2001 [1]. I assume that docstrings as a language
> feature predate the conventions PEP, but I don't really know when they
> had been introduced.
>
> [1]: https://www.python.org/dev/peps/pep-0257/
>
> Anyway, I've authored a shell documentation access tool for erl, which
> currently is "good enough" for my daily use:
>
> https://github.com/erszcz/docsh
>
> It provides EDoc docs, function specs, and type definitions with
> one-letter helper functions. It can be installed directly with an
> install.sh or with kerl which now has an 'install-docsh' subcommand.
> The cost is sacrificing one's own user_default.erl and $HOME/.erlang
> customizations (or, if one really wants to, doing some work on merging
> the stuff required by docsh with personal modifications - and there's
> documentation telling exactly what needs to be done).
> The caveat is that it doesn't (yet) work with Erlang 20 due to new
> Abst chunk format. Alas, my time is finite, and I'm working on this
> thing outside my job.
>
> 2017-12-04 11:48 GMT+01:00 Pierre Fenoll <pierrefenoll@REDACTED>:
> > On the REPL enhancements wishlist train, I have opened an issue on the
> bug
> > tracker a while ago to add tab completion for variable names.
> > One of the comments on it was asking for documentation access too, as the
> > Python REPL has been offering for some time.
> >
> > Since some things may be undesirable on production REPLs, maybe a flag
> that
> > can be set from a rebar3 profile can help toggle some features thus
> allowing
> > more enhancements for dev REPLs.
> >
> > On Mon 4 Dec 2017 at 08:22, bengt e <cean.ebengt@REDACTED> wrote:
> >>
> >> Greetings,
> >>
> >> Is 2) similar enough to file:consult/1, to maybe warrant it to be called
> >> 'consult' instead?
> >>
> >> bengt
> >>
> >> On Mon, Dec 4, 2017 at 1:09 AM, Richard A. O'Keefe <ok@REDACTED>
> >> wrote:
> >>>
> >>> There are two things that would make life easier for me using the
> >>> Erlang shell, and I thought I'd ask for thoughts here before writing
> >>> them up as EEPs.
> >>>
> >>> (1) import(Module, Functions)
> >>>     where Functions is a list of {Name,Arity} pairs.
> >>>     Effect: calls to that function from the shell don't need a
> >>>     Module prefix, just like -import directives in files.
> >>>
> >>>     Reason: I often want to call a function or a small number of
> >>>     functions many times to explore it or test it.
> >>>
> >>> (2) include(FileName)
> >>>     Effect: reads FileName as a sequence of Erlang expressions and
> >>>     interprets them as if typed into the same shell.
> >>>
> >>>     Reason: set up constants and imports.
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> erlang-questions mailing list
> >>> erlang-questions@REDACTED
> >>> http://erlang.org/mailman/listinfo/erlang-questions
> >>
> >>
> >> _______________________________________________
> >> erlang-questions mailing list
> >> erlang-questions@REDACTED
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >
> > --
> >
> > Cheers,
> > --
> > Pierre Fenoll
> >
> >
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> > http://erlang.org/mailman/listinfo/erlang-questions
> >
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20171204/c68831f5/attachment.htm>


More information about the erlang-questions mailing list