aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/reference_manual
AgeCommit message (Collapse)Author
2016-12-12doc: Enchance map pair optional/mandatory notesBjörn-Egil Dahlberg
2016-12-12doc: Change "stands for" to "denotes" in typespecBjörn-Egil Dahlberg
2016-12-12Remove whitespace errorsBjörn-Egil Dahlberg
2016-12-07Update copyright-yearErlang/OTP
2016-10-05Update per review comments.Doug Rohrer
2016-10-04Fix reference to automatic `undefined` field declared types.Doug Rohrer
In 8ce35b287fb50a6845fccf6a13c672aae303dc91 automatic insertion of `undefined` for record fields without initializers was removed, but this was not noted in the documentation. Add a warning about this change using similar verbiage as the original docs.
2016-09-01doc: Correct errors introduced by Editorial changesHans Bolinder
Fix some older errors as well.
2016-07-12Add clarification on LC semantics (#1)Brujo Benavides
It addresses the special case of generator-less LCs. As a bonus, I fixed a typo :)
2016-06-09Remove support for '...' in Maps typesHans Bolinder
It is possible that '...' is added later (OTP 20.0), but for now we are not sure of all details.
2016-05-09Merge branch 'bjorn/stdlib/warning-and-error/OTP-13476'Björn Gustavsson
* bjorn/stdlib/warning-and-error/OTP-13476: Add documentation epp: Add the -error and -warning directives epp: Refactor expansion of header path
2016-05-04Update documentation regarding improvementsBjörn Gustavsson
2016-05-04Add documentationBjörn Gustavsson
2016-04-28doc: Correct shorthand typoBjörn-Egil Dahlberg
2016-04-28erl_parse: Add parsing for new map type syntaxMagnus Lång
erl_types typesets mandatory keys with :=, and uses "..." as a shorthand for "any() => any()". Add these to erl_parse so that all representable types can be written in type-specs.
2016-04-25Merge branch 'raimo/new-gen-state-machine/OTP-13065'Raimo Niskanen
* raimo/new-gen-state-machine/OTP-13065: (52 commits) Add section on state filtering Promote gen_statem over gen_fsm Modify code_change/4 to return CallbackMode Use ?NAME macro in examples Introduce Fred Herbert suggested additions Introduce corrections from Fred Hebert and Ingela Use .png pictures instead of .gif Write Design Principles chapter Fix missing short forms for event timeout Do more intricate Fred Hebert doc changes Change Caller -> From as suggested by Fred Hebert Do documentation improvements from Fred Hebert Fix broken documenation reference Rename state_timeout -> event_timeout Fix most of the system docs and emacs mode Change code_change/4 to {ok,State,Data} Fixup sharpened test suite Sharpen test suite Remove the remove_event action and all alike Relax caller() type check and cleanup ... Conflicts: lib/stdlib/src/gen.erl lib/stdlib/src/gen_event.erl lib/stdlib/src/gen_fsm.erl lib/stdlib/src/gen_server.erl lib/stdlib/test/error_logger_forwarder.erl
2016-03-15update copyright-yearHenrik Nord
2016-03-04erts: Use 'bit string' in The Abstract Format documentHans Bolinder
2016-03-03Fix most of the system docs and emacs modeRaimo Niskanen
2016-03-01Generalize bit string comprehensionsBjörn Gustavsson
The expression in a bit string comprehension is limited to a literal bit string expression. That is, the following code is legal: << <<X>> || X <- List >> but not this code: << foo(X) || X <- List >> The limitation is annoying. For one thing, tools that transform the abstract format must be careful not to produce code such as: << begin %% Some instrumentation code. <<X>> end || X <- List >> One reason for the limitation could be that we'll get reduce/reduce conflicts if we try to allow an arbitrary expression in a bit string comprehension: binary_comprehension -> '<<' expr '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. Unfortunately, there does not seem to be an easy way to work around that problem. The best we can do is to allow 'expr_max' expressions (as in the binary syntax): binary_comprehension -> '<<' expr_max '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. That will work, but functions calls must be enclosed in parentheses: << (foo(X)) || X <- List >>
2016-02-17Implement ?FUNCTION_NAME and ?FUNCTION_ARITY macrosBjörn Gustavsson
For a long time, users have asked for one or more macros that would return the name and arity of the current function. We could define a single ?FUNCTION macro that would return a {Name,Arity} tuple. However, to access just the name or just the arity for the function, element/2 must be used. That would limit its usefulness, because element/2 is not allowed in all contexts. Therefore, it seems that we will need two macros. ?FUNCTION_NAME that expands to the name of the current function and ?FUNCTION_ARITY that expands to arity of the current function. Converting the function name to a string can be done like this: f() -> atom_to_list(?FUNCTION_NAME) ++ "/" ++ integer_to_list(?FUNCTION_ARITY). f/0 will return "f/0". The BEAM compiler will evaluate the entire expression at compile-time, so there will not be any run-time penalty for the function calls. The implementation is non-trivial because the preprocessor is run before the parser. One way to implement the macros would be to replace them with some placeholder and then let the parser or possibly a later pass replace the placeholder with correct value. That could potentially slow down the compiler and cause incompatibilities for parse transforms. Another way is to let the preprocessor do the whole job. That means that the preprocessor will have to scan the function head to find out the name and arity. The scanning of the function head can be delayed until the first occurrence of a ?FUNCTION_NAME or ?FUNCTION_ARITY. I have chosen the second way because it seems less likely to cause weird compatibility problems.
2016-01-26Delete a couple of leftover chars in Dialyzer docLuca Favatella
2016-01-20doc: Update a refman exampleHans Bolinder
2015-12-15doc: Remove 'is_subtype' from Types and Function SpecificationsHans Bolinder
It is harder to remove is_subtype from the parser since the abstract format does not separate is_subtype from the '::' syntax.
2015-12-07doc: Fix some minor issues in Types and Function SpecificationsHans Bolinder
2015-10-27Remove mention of erlang:faultMagnus Henoch
erlang:fault no longer exists, so don't mention it in the reference manual. Also fix minor markup issue in following paragraph.
2015-09-08doc: Update term comparison with MapsBjörn-Egil Dahlberg
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-08Merge branch 'richcarl/md5-fixes'Björn Gustavsson
* richcarl/md5-fixes: Set module_info md5 for native modules properly Add module_info entry for native code Gracefully handle empty md5 field in module_info Remove 'imports' key from spec of get_module_info()
2015-05-08dialyzer: document the type identifier()Hans Bolinder
2015-05-07Set module_info md5 for native modules properlyRichard Carlsson
Use the md5 of the native code chunk instead of the Beam code md5.
2015-05-07Add module_info entry for native codeRichard Carlsson
2015-03-26doc: Use module() in the definition of the built-in type mfa()Hans Bolinder
2015-03-17Correct links in the system documentationHans Bolinder
2015-03-12Update Erlang Reference ManualHans Bolinder
Language cleaned up by the technical writers xsipewe and tmanevik from Combitech. Proofreading and corrections by Hans Bolinder.
2015-01-14dialyzer: Introduce module local suppression of warningsHans Bolinder
The -dialyzer() attribute can be used for suppressing warnings in a module by specifying functions or warning options. It can also be used for requesting warnings in a module.
2014-11-27Merge branch 'maint'Marcus Arendt
2014-11-27Merge branch 'mururu/typespec-doc-about-function/OTP-12327' into maintMarcus Arendt
* mururu/typespec-doc-about-function/OTP-12327: Add infometion about function()
2014-11-24Merge branch 'maint'Marcus Arendt
2014-11-21Add infometion about function()Yuki Ito
2014-11-20Fix spelling and grammarDerek Brown
2014-11-18Merge branch 'maint'Siri Hansen
2014-11-11Remove comments about unicode atoms in OTP 18Siri Hansen
There was once a plan to implement support for unicode atoms in OTP 18. This plan has been stopped until further notice, and the information about this is now removed from the documentation.
2014-11-07Merge branch 'maint'Bruce Yinhe
2014-11-05Section reference number incorrectjmrepetti
2014-07-02Merge branch 'maint'Bruce Yinhe
2014-06-29rephrase sentence in process links docWasif Malik
2014-06-18Merge branch 'maint'Björn-Egil Dahlberg
2014-06-17doc: Fix broken linksBjörn-Egil Dahlberg
2014-05-20Merge branch 'sverk/better-module-info'Sverker Eriksson
OTP-11940 * sverk/better-module-info: Remove obsolete 'imports' entry from module_info/1/2 functions Add 'module' entry for module_info/0 function for completeness Add 'md5' entry for module_info/0/1 functions.
2014-05-14doc: Move Maps reference documentation to expressionsBjörn-Egil Dahlberg