Bikeshedding request for GHCi's :type
Manuel Gómez
targen at gmail.com
Wed Apr 27 15:16:31 UTC 2016
On Wed, Apr 27, 2016 at 10:15 AM, John Leo <leo at halfaya.org> wrote:
> Speaking as someone teaching his coworkers Haskell now, Eric's is the best
> suggestion I've seen so far.
>
> What I like about it:
> * The original meaning of :type is unchanged.
> * No new command is added (I prefer adding a flag to adding another
> command).
> * With the flag on, the full type is shown along with the possible
> specializations (and good to note the list might not be exhaustive). This
> way, beginners can still see what the type should look like even if they
> want to ignore it for now. This is similar to learning to read Japanese by
> using furigana. It may be a bit confusing for beginners at first, but I
> expect they'll quickly learn to ignore it until they need it, and I agree it
> will be useful for experienced Haskellers.
Perhaps a pleasant solution would be to borrow a convention from the
PostgreSQL community's interactive console psql and its meta-commands:
http://www.postgresql.org/docs/current/static/app-psql.html#APP-PSQL-META-COMMANDS
For example:
> \d[S+] [ pattern ]
>
> For each [object] matching the pattern, show all columns, their types, the tablespace (if not the default) and any special attributes such as NOT NULL or defaults. […] The command form \d+ is identical, except that more information is displayed: any comments associated with the columns of the table are shown, as is the presence of OIDs in the table, the view definition if the relation is a view, a non-default replica identitysetting.
Many psql commands use this convention: add a + to the end of the
command, and you get extra information. It’s quite nmemonic.
More information about the ghc-devs
mailing list