Skip to content

Commit

Permalink
update NEWS and FAQ entry on nothingness
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffBezanson committed Sep 29, 2014
1 parent 2f81d9a commit 88a4725
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 8 deletions.
29 changes: 28 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,30 @@ New language features
* Unicode version 7 is now supported for identifiers etcetera ([#7917]).

* Type parameters now permit any arbitrary `isbits` type, not just
`Int` and `Bool` ([#6081]).
`Int` and `Bool` ([#6081]).

* Keyword argument names can be computed, using syntax such as `f(; (name, val))` ([#7704]).

* (TODO pending final syntax) staged functions ([#7311]).

Language changes
----------------

* `None` is deprecated; use `Union()` instead ([#8423]).

* `Nothing` (the type of `nothing`) is renamed to `Void` ([#8423]).

Library improvements
--------------------

* `convert` now checks for overflow when truncating integers or converting between
signed and unsigned ([#5413]).

* Arithmetic is type-preserving for more types; e.g. `(x::Int8) + (y::Int8)` now
yields an `Int8` ([#3759]).

* Reductions (e.g. `reduce`, `sum`) widen small types (integers smaller than `Int`, and `Float16`).

* New `Dates` module for calendar dates and other time-interval calculations ([#7654]).

* Added generic Cholesky factorization, and the Cholesky factorization is now parametrized on the matrix type ([#7236]).
Expand All @@ -34,6 +53,8 @@ Library improvements
to provide uniform cross-platform behavior and up-to-date, locale-independent support
for Unicode standards ([#5939]).

* New `Nullable` type for missing data ([#8152]).


Julia v0.3.0 Release Notes
==========================
Expand Down Expand Up @@ -961,3 +982,9 @@ Too numerous to mention.
[#7992]: https://github.com/JuliaLang/julia/issues/7992
[#8011]: https://github.com/JuliaLang/julia/issues/8011
[#8089]: https://github.com/JuliaLang/julia/issues/8089
[#7704]: https://github.com/JuliaLang/julia/issues/7704
[#5413]: https://github.com/JuliaLang/julia/issues/5413
[#3759]: https://github.com/JuliaLang/julia/issues/3759
[#7311]: https://github.com/JuliaLang/julia/issues/7311
[#8423]: https://github.com/JuliaLang/julia/issues/8423
[#8152]: https://github.com/JuliaLang/julia/pull/8152
16 changes: 9 additions & 7 deletions doc/manual/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -697,22 +697,24 @@ situation can be detected using the ``isdefined`` function.

Some functions are used only for their side effects, and do not need to
return a value. In these cases, the convention is to return the value
``nothing``, which is just a singleton object of type ``Nothing``. This
``nothing``, which is just a singleton object of type ``Void``. This
is an ordinary type with no fields; there is nothing special about it
except for this convention, and that the REPL does not print anything
for it. Some language constructs that would not otherwise have a value
also yield ``nothing``, for example ``if false; end``.

Note that ``Nothing`` (uppercase) is the type of ``nothing``, and should
only be used in a context where a type is required (e.g. a declaration).

You may occasionally see ``None``, which is quite different. It is the
empty (or "bottom") type, a type with no values and no subtypes (except
itself). You will generally not need to use this type.
For situations where a value exists only sometimes (for example, missing
statistical data), it is best to use the ``Nullable{T}`` type, which allows
specifying the type of a missing value.

The empty tuple (``()``) is another form of nothingness. But, it should not
really be thought of as nothing but rather a tuple of zero values.

In code written for Julia prior to version 0.4 you may occasionally see ``None``,
which is quite different. It is the empty (or "bottom") type, a type with no values
and no subtypes (except itself). This is now written as ``Union()`` (an empty union
type). You will generally not need to use this type.

Julia Releases
----------------

Expand Down

0 comments on commit 88a4725

Please sign in to comment.