erl_lint(3erl) Erlang Module Definition erl_lint(3erl)NAME
erl_lint - The Erlang Code Linter
DESCRIPTION
This module is used to check Erlang code for illegal syntax and other bugs. It also warns against coding practices which are not recom-
mended.
The errors detected include:
* redefined and undefined functions
* unbound and unsafe variables
* illegal record usage.
Warnings include:
* unused functions and imports
* unused variables
* variables imported into matches
* variables exported from if / case / receive
* variables shadowed in lambdas and list comprehensions.
Some of the warnings are optional, and can be turned on by giving the appropriate option, described below.
The functions in this module are invoked automatically by the Erlang compiler and there is no reason to invoke these functions separately
unless you have written your own Erlang compiler.
EXPORTS
module(AbsForms) -> {ok,Warnings} | {error,Errors,Warnings}
module(AbsForms, FileName) -> {ok,Warnings} | {error,Errors,Warnings}
module(AbsForms, FileName, CompileOptions) -> {ok,Warnings} | {error,Errors,Warnings}
Types AbsForms = [term()]
FileName = FileName2 = atom() | string()
Warnings = Errors = [{Filename2,[ErrorInfo]}]
ErrorInfo = see separate description below.
CompileOptions = [term()]
This function checks all the forms in a module for errors. It returns:
{ok,Warnings} :
There were no errors in the module.
{error,Errors,Warnings} :
There were errors in the module.
Since this module is of interest only to the maintainers of the compiler, and to avoid having the same description in two places to
avoid the usual maintenance nightmare, the elements of Options that control the warnings are only described in compile(3erl) .
The AbsForms of a module which comes from a file that is read through epp , the Erlang pre-processor, can come from many files. This
means that any references to errors must include the file name (see epp(3erl) , or parser erl_parse(3erl) ). The warnings and errors
returned have the following format:
[{FileName2,[ErrorInfo]}]
The errors and warnings are listed in the order in which they are encountered in the forms. This means that the errors from one file
may be split into different entries in the list of errors.
is_guard_test(Expr) -> bool()
Types Expr = term()
This function tests if Expr is a legal guard test. Expr is an Erlang term representing the abstract form for the expression.
erl_parse:parse_exprs(Tokens) can be used to generate a list of Expr .
format_error(ErrorDescriptor) -> Chars
Types ErrorDescriptor = errordesc()
Chars = [char() | Chars]
Takes an ErrorDescriptor and returns a string which describes the error or warning. This function is usually called implicitly when
processing an ErrorInfo structure (see below).
ERROR INFORMATION
The ErrorInfo mentioned above is the standard ErrorInfo structure which is returned from all IO modules. It has the following format:
{ErrorLine, Module, ErrorDescriptor}
A string which describes the error is obtained with the following call:
Module:format_error(ErrorDescriptor)
SEE ALSO erl_parse(3erl) , epp(3erl)Ericsson AB stdlib 1.17.3 erl_lint(3erl)
The UNIX and Linux Forums have a number of active members that have published books or papers related to shell programming and scripting. You can check out their publications here:
Link Removed
Please note, as you can imagine, our forum experts can be quite busy! You will get a response... (0 Replies)
Emergency UNIX and Linux Support !! Help Me! Forum (Request Urgent Help)
README FIRST: How to Request Emergency or Urgent Help:
You may post emergency work-related questions in the emergency forum. To post in this forum you will need to use your Bits. All questions answered on a "best... (0 Replies)
Homework Help:
On Posting Questions:
Any and all high school and undergraduate homework assignments or textbook style exercises for which you are seeking assistance are to be posted only in our Homework & Coursework Questions area--not in blogs, visitor messages, PMs, or the main technical... (0 Replies)
Dear Forum Members,
The UNIX and Linux Forums are working directly with the Red Cross to provide ad banners on our site to support Earthquake and Tsunami Relief in Japan. Registered users do not see these banners. However, if you wish to contribute directly on behalf of yourself and the... (8 Replies)
How to Use Code Tags in The UNIX and Linux Forums
Developer: This video tutorial was created by scott for forum users. Everyone should use code tags when posting code and command line logic in the forums.
cPF45jjWe7Q
A full list of BB codes is available here. (8 Replies)
RULES OF THE UNIX AND LINUX FORUMS
For the latest version of the community rules (the official community rules page), please visit here.
No flames, shouting (all caps), sarcasm, bullying, profanity or arrogant posts.
No negative comments about others or impolite remarks. Be patient. No... (1 Reply)
I see lot of ad-hoc shell scripts in our servers which don't have a shebang at the beginning .
Does this mean that it will run on any shell ?
Is it a good practice to create scripts (even ad-hoc ones) without shebang ? (16 Replies)
Having spent a lot of time over the past year taking a legacy vBulletin site (this forum) and making the site responsive on mobile; I've happy with the results; but it will soon be time to move on.
Basically, at our core, we are a LAMP (Linux, Apache2, MySQL and PHP) site, and vBulletin was... (6 Replies)
Here are some answers to some of the recent questions I have received about UNIX.COM. So, I thought I would take time to answer them here in this post:
Is it expected that the original poster "thank" everyone who responds to his / her discussion thread?
It is always a good practice in all... (7 Replies)
By special request, and long overdue, I have updated our "code tags" video and so now we have:
How to Use Code Tags and Format Posts @UNIX.com in 4K
https://youtu.be/4BuPvWJV__k (3 Replies)
Here is a quick EOY report for 2019.
2019 has been a year of "downward trend reversal" for UNIX.com. In fact, if we compare total Google search impressions from the peak days in December 2019 to the peak days in mid December 2018, traffic is up 43% percent. That is a very respectable growth... (0 Replies)