Age | Commit message (Collapse) | Author |
|
|
|
Currently, the external fun syntax "fun M:F/A" only supports
literals. That is, "fun lists:reverse/1" is allowed but not
"fun M:F/A".
In many real-life situations, some or all of M, F, A are
not known until run-time, and one is forced to either use
the undocumented erlang:make_fun/3 BIF or to use a
"tuple fun" (which is deprecated).
EEP-23 suggests that the parser (erl_parse) should immediately
transform "fun M:F/A" to "erlang:make_fun(M, F, A)". We have
not followed that approach in this implementation, because we
want the abstract code to mirror the source code as closely
as possible, and we also consider erlang:make_fun/3 to
be an implementation detail that we might want to remove in
the future.
Instead, we will change the abstract format for "fun M:F/A" (in a way
that is not backwards compatible), and while we are at it, we will
move the translation from "fun M:F/A" to "erlang:make_fun(M, F, A)"
from sys_pre_expand down to the v3_core pass. We will also update
the debugger and xref to use the new format.
We did consider making the abstract format backward compatible if
no variables were used in the fun, but decided against it. Keeping
it backward compatible would mean that there would be different
abstract formats for the no-variable and variable case, and tools
would have to handle both formats, probably forever.
Reference: http://www.erlang.org/eeps/eep-0023.html
|
|
|
|
* lukas/erts/large_float_cmp/OTP-9497:
Update documentation after changes in integer and float comparison
Do small optimisation on platforms with 32 bit Eterm
Add tests for equality checking
Optimize comparison of huge floats and smaller bignums
Add tests for comparing large floats and small bignums
Cleanup double_to_bignum conversion code
Update size of tmp cmp bignum buffer
Expand tests for float and number comparison
Update heauristic to work on halfword
Add heauristics bignum vs float checks
Optimise bugnum and small comparison
Add float vs integer comparison tests
Update integer and floating point number comparisons
|
|
These dependency files was once used when building the documentation,
but are no longer needed.
|
|
|
|
|
|
* cf/simple_one_for_one_shutdown:
Explain how dynamic child processes are stopped
Stack errors when dynamic children are stopped
Explicitly kill dynamic children in supervisors
Conflicts:
lib/stdlib/doc/src/supervisor.xml
OTP-9647
|
|
* cf/supervisor_shutdown_infinity:
Add a warning to docs about workers' shutdown strategy
Allow an infinite timeout to shutdown worker processes
OTP-9648
|
|
|
|
The two noncharacter code points 16#FFFE and 16#FFFF were not
allowed to be encoded or decoded using the unicode module or
bit syntax. That causes an inconsistency, since the noncharacters
16#FDD0 to 16#FDEF could be encoded/decoded.
There is two ways to fix that inconsistency.
We have chosen to allow 16#FFFE and 16#FFFF to be encoded and
decoded, because the noncharacters could be useful internally
within an application and it will make encoding and decoding
slightly faster.
Reported-by: Alisdair Sullivan
|
|
|
|
Now, in child specification, the shutdown value can also be set to infinity
for worker children. This restriction was removed because this is not always
possible to predict the shutdown time for a worker. This is highly
application-dependent.
|
|
|
|
* dev:
Update copyright years
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/doc-fixes:
Reference Manual: Replace "it's" with "its"
Reference manual: Add missing right parenthesis
Reference manual: Don't mention fault/{1,2}
|
|
* gl/gen_server-doc:
Update Handling Other Messages section in gen_server, gen_fsm, gen_events overviews
OTP-9121
|
|
"Its" is a possessive pronoun, "it's" is a contraction of
"it is".
|
|
|
|
|
|
pdf.
|
|
overviews
|
|
Historically, for no good reason, a function is allowed to have
from 0 to 256 arguments. Thus, the number of arguments *almost*
fits into a byte.
HiPE only supports up to 255 arguments (because it assumes that
the function arity fits into a single byte), and fixing that limitation
would require ugly special-case handling. In Dialyzer, the arity
type is defined to be a byte (i.e. 0..255).
Since no-one uses functions with 256 arguments anyway, lower the
limit to 255.
|
|
* maint-r14:
Prepare release
Fix that the documentation top index generator can handle an Ericsson internal application group
Teach -init_debug to print info about on_load handlers begin run
Fix hang in on_load handlers in embedded mode
Conflicts:
erts/vsn.mk
lib/kernel/vsn.mk
|
|
internal application group
|
|
|
|
* bjorn/remove-books:
Documentation: Remove the system/doc/Books directory
|
|
The latest additions to the extension of Erlang used for describing
types and specifications have been documented. There are new compiler
attributes such as -opaque and -export_all as well as an alternative
syntax for subtype constraints ('::' instead of is_subtype/2).
|
|
Building of books is probably severerly broken by now,
and there are no plans to print any more books, so there
is no reason to keep the directory.
|
|
|
|
|
|
* lars/documentation-build-git/OTP-8601:
Fixed that the system documentation can be built from both a source and release structure.
|
|
from the documentation frontpage.
|
|
release structure.
|
|
|
|
|
|
Wrote and changed some tests in stdlib:erl_lint_SUITE
nowarn_bif_clash is obsoleted but will remove warnings and errors about bif
clashes. The recommended way is to use no_auto_import directives instead.
Hopefully erlang.erl is the only user in the world of nowarn_bif_clash.
|
|
New NIF API function enif_make_new_binary
|
|
* ta/nested-records:
Document R14 paren-less record access/update
Support nested record field access without parentheses
OTP-8597 ta/nested-records
Nested records can now be accessed without parenthesis. See the Reference
Manual for examples. (Thanks to YAMASHINA Hio and Tuncer Ayaz.)
|
|
Add a section to the reference manual describing the R14
change to not require parentheses when accessing or updating
fields in nested records.
Signed-off-by: Tuncer Ayaz <[email protected]>
|