dbg function names

Trevor Brown admin@REDACTED
Wed Aug 11 14:19:53 CEST 2021


Hi Lukas,

Can you suggest how to format the acronym meaning for each function name?

For example, for the `h/0` function: I can put it at the end of the
description:

> Gives a brief help text for functions in the dbg module. The available
items can be listed with dbg:h/0. `h` stands for *h*elp.

Or at the beginning:

> `h` stands for *h*elp. Gives a brief help text for functions in the dbg
module. The available items can be listed with dbg:h/0.

The description for the help function is short, but some of the other
functions have long descriptions with lots of details. Putting the
acronym explanation at the bottom might result in most people missing it.

Thoughts?

Trevor

On 8/10/21 9:32 PM, Trevor Brown wrote:
>
> I am working on a pull request now to add this information to the docs
> and possibly dbg:h/0.
>
> Even if we aren't completely correct on the meaning of the acronyms, I
> think explaining them in the docs will help make the API less
> esoteric. I came across someone who didn't know what the tpl function
> name stood for and assumed it meant tuple. That's one of the things
> that prompted me to look into this.
>
> Trevor
>
> On 8/10/21 2:58 AM, Lukas Larsson wrote:
>> Hello!
>>
>> On Sun, Aug 8, 2021 at 8:42 AM Trevor Brown <admin@REDACTED
>> <mailto:admin@REDACTED>> wrote:
>>
>>     Hi, I've used the dbg module a fair bit over the years, and I am
>>     curious
>>     about the names of the functions. Looking at the list of functions, I
>>     came up with what I think each function name means:
>>
>>     The function names are all acronyms (except for the ones that clearly
>>     aren't like `get_tracer/0` and `stop/0`) and stand for the following:
>>
>>     * `c` stands for *c*lear
>>
>>
>> I believe that the solitary `c` stands for *c*all.
>>  
>>
>>     * `cn` stands for *c*lear *n*ode
>>     * `ctp` stands for *c*lear *t*race *p*attern
>>     * `ctpe` stands for *c*lear *t*race *p*attern *e*vent
>>     * `ctpg` stands for *c*lear *t*race *p*attern *g*lobal
>>     * `ctpl` stands for *c*lear *t*race *p*attern *l*ocal
>>     * `dtp` stands for *d*elete *t*race *p*attern (not sure if it's
>>     delete,
>>     drop, discard, etc...)
>>
>>
>> If you type "dbg:h(dtp)" it prints: 
>>
>> dtp() -> ok
>>  - Deletes all saved match_spec's.
>> dtp(N) -> ok
>>  - Deletes a specific saved match_spec.
>>
>> So it is `delete`, just as you guessed.
>>  
>>
>>     * `wtp` stands for *w*rite *t*race *p*attern
>>     * `rtp` stands for *r*ead *t*race *p*attern
>>     * `n` stands for *n*ode
>>     * `i` stands for *i*nformation
>>     * `p` stands for *p*rocess
>>     * `tp` stands for *t*race *p*attern (implicitly global)
>>     * `tpl` stands for *t*race *p*attern *l*ocal
>>     * `h` stands for *h*elp
>>     * `ln` stands for *l*ist *n*odes
>>     * `ltp` stands for *l*ist *t*race *p*atterns
>>
>>     Can anyone confirm if I am correct here? And if so, reference any
>>     docs
>>     explaining this? I personally find that understanding the
>>     acronyms makes
>>     the functions easier to remember, so it's a shame the official docs
>>     don't explain this if I am correct.
>>
>>
>> I use the same words to describe the acronyms as you have done. I
>> believe the person that designed the dbg API has left the Erlang
>> world for the time being, so if we are incorrect we may never know.
>>
>> If you want to create a PR that adds the names that you have proposed
>> into the documentation I think that it could be a good starting point
>> in making the words behind the acronyms official.
>>
>>
>>     Also, I've always assumed the module name stood for debug, but is
>>     that
>>     true? I haven't found any docs on that either.
>>
>>
>> I believe that you are correct, but I do not know for sure.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20210811/22c17b62/attachment.htm>


More information about the erlang-questions mailing list