* [Caml-list] OCaml 4.06.0+rc1
@ 2017-10-29 11:49 Gabriel Scherer
2017-10-30 18:25 ` David Allsopp
2017-11-03 10:53 ` [Caml-list] Upcoming breaking changes in Ocamldoc 4.06 octachron
0 siblings, 2 replies; 4+ messages in thread
From: Gabriel Scherer @ 2017-10-29 11:49 UTC (permalink / raw)
To: caml users
Dear OCaml users,
We have created a first release candidate of the upcoming
OCaml 4.06.0 release for your repeated testing pleasure. It is
available as opam switches 4.06.0.+rc1 (or +rc1+flambda, etc.)
opam switch 4.06.0+rc1
or as source archives at
http://caml.inria.fr/pub/distrib/ocaml-4.06/
The Changelog since 4.05.0 is available at
http://caml.inria.fr/pub/distrib/ocaml-4.06/notes/Changes.4.06.0+rc1.txt
The more specific list of changes since 4.06.0+beta2 is
included at the end of this email.
We are hoping to make the actual 4.06.0 release shortly. If
you are the maintainer of a publicly-distributed OCaml
package, now is the time to make sure you have made
a 4.06-ready release.
Happy hacking,
-- Gabriel Scherer for the OCaml team.
Changes since beta2:
* MPR#7598, GPR#1402: the magic numbers used by the OCaml
compiler (versioning numbers for object files and the binary
AST format) have been updated, which means that some tools
may have to be updated to the 4.06-specific magic numbers,
even if they appeared to work fine in
4.06.0+beta2. (Apologies updating so late in the release
cycle.)
(Damien Doligez, review by Alain Frisch, Xavier Leroy and Sébastien Hinderer,
report by Bart Jacobs)
- GPR#594: New manual chapter on polymorphism troubles: weakly
polymorphic types, polymorphic recursion,and higher-ranked
polymorphism.
(Florian Angeletti, review by Damien Doligez, Gabriel Scherer,
and Gerd Stolpmann)
You can preview this chapter (and the whole 4.06.0 manual) at:
http://www.polychoron.fr/ocaml-beta-manual/4.06+rc1/polymorphism.html
- GPR#1409: Fix to enable NetBSD/powerpc to work.
(Håvard Eidnes)
- MPR#7657, GPR#1424: ensures correct call-by-value semantics
when eta-expanding functions to eliminate optional arguments
(Alain Frisch, report by sliquister, review by Leo White and Jacques
Garrigue)
- GPR#1457, ocamldoc: restore label for exception in the latex
backend (omitted since 4.04.0)
(Florian Angeletti, review by Gabriel Scherer)
- MPR#6329, GPR#1437: Introduce padding word before "data_end"
symbols to ensure page table tests work correctly on an
immediately preceding block of zero size.
(Mark Shinwell, review by Xavier Leroy)
- MPR#7658, GPR#1439: Fix Spacetime runtime system compilation
with -force-safe-string
(Mark Shinwell, report by Christoph Spiel, review by Gabriel Scherer)
- GPR#1407: Fix raw_spacetime_lib
(Leo White, review by Gabriel Scherer and Damien Doligez)
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [Caml-list] OCaml 4.06.0+rc1
2017-10-29 11:49 [Caml-list] OCaml 4.06.0+rc1 Gabriel Scherer
@ 2017-10-30 18:25 ` David Allsopp
[not found] ` <09738422-5ADF-43DE-856A-2727515BD2FA@acm.org>
2017-11-03 10:53 ` [Caml-list] Upcoming breaking changes in Ocamldoc 4.06 octachron
1 sibling, 1 reply; 4+ messages in thread
From: David Allsopp @ 2017-10-30 18:25 UTC (permalink / raw)
To: caml users
Gabriel Scherer wrote:
> Dear OCaml users,
>
> We have created a first release candidate of the upcoming OCaml 4.06.0
> release for your repeated testing pleasure. It is available as opam
> switches 4.06.0.+rc1 (or +rc1+flambda, etc.)
>
> opam switch 4.06.0+rc1
>
> or as source archives at
>
> http://caml.inria.fr/pub/distrib/ocaml-4.06/
>
> The Changelog since 4.05.0 is available at
>
> http://caml.inria.fr/pub/distrib/ocaml-
> 4.06/notes/Changes.4.06.0+rc1.txt
One of the big changes for the native Windows ports of OCaml is that we now have support for UTF-8 filenames in the runtime.
TL;DR functions like Sys.readdir no longer return garbage (or at best locale-specific strings).
I wrote up a post about the details of this large patch at http://www.dra27.uk/blog/platform/2017/10/30/ocaml-unicode.html, which also includes details on compiling OCaml on Windows, as the instructions have altered slightly with 4.06.0.
Some of the fruits of this labour can be seen in our Camel and Cyrillic-laden AppVeyor logs, for example https://ci.appveyor.com/project/avsm/ocaml/build/1.0.4836
Happy Ĥǻḉḱḯṋḡ!
David
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [Caml-list] OCaml 4.06.0+rc1
[not found] ` <09738422-5ADF-43DE-856A-2727515BD2FA@acm.org>
@ 2017-11-02 11:59 ` David Allsopp
0 siblings, 0 replies; 4+ messages in thread
From: David Allsopp @ 2017-11-02 11:59 UTC (permalink / raw)
To: Mattias Engdegård, OCaml List (caml-list@inria.fr)
Mattias Engdegård wrote:
> 30 okt. 2017 kl. 19.25 skrev David Allsopp <dra-news@metastack.com>:
> >
> > One of the big changes for the native Windows ports of OCaml is that
> we now have support for UTF-8 filenames in the runtime.
> >
> > TL;DR functions like Sys.readdir no longer return garbage (or at best
> locale-specific strings).
>
> This sounds like very good news, but just for curiosity, how are
> unpaired surrogates in file names handled? (I have no Windows machine
> handy.) Does readdir raise an exception, or return useless rubbish, or
> somehow encode the surrogates in a form that can be used by other file
> handling functions?
This is a good question - and indeed is a section I should add to the post. At the moment, you will get a Sys_error exception informing you that "No mapping for the Unicode character exists in the target multi-byte code page" - in other words, the runtime refuses to give invalid UTF-8 in this case.
If you configure OCaml with WINDOWS_UNICODE=0 then, as in previous versions, you will get a nonsense string, but no exception.
We plan in 4.07.0 to address this but it hasn't been dealt with in this release mainly because unpaired surrogates in filenames are a highly parasitic case and also because this issue does not (I believe) only affect Windows.
David
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Caml-list] Upcoming breaking changes in Ocamldoc 4.06
2017-10-29 11:49 [Caml-list] OCaml 4.06.0+rc1 Gabriel Scherer
2017-10-30 18:25 ` David Allsopp
@ 2017-11-03 10:53 ` octachron
1 sibling, 0 replies; 4+ messages in thread
From: octachron @ 2017-11-03 10:53 UTC (permalink / raw)
To: caml-list
[-- Attachment #1: Type: text/plain, Size: 3064 bytes --]
Dear Ocaml users,
The upcoming version 4.06.0 of the ocaml distribution contains an
unusual amount
of bug fixes for ocamldoc. Unfortunately, three of these changes may
break some
workflow; these breaking changes concern
- the definition of module preamble
- the semantic of ocamldoc heading levels
- the html structure produced by ocamldoc
Nevertheless, only the first change may affect users using the default
ocamldoc
settings and only in some corner cases. Contrarily, the heading level
and html output
changes should mostly affect users of custom documentation styles.
More precisely,
- First(GPR#1037 <https://github.com/ocaml/ocaml/pull/1037>), the
preamble of the documentation is now defined as the first
documentation comment present in a ml or mli file, only if this
documentation
comment comes before any module elements.
The intent here is to avoid using as a preamble a documentation
comment extracted
from the middle of the mli file and avoid repeating this comment:
type t = A | B
val x: t
(** In other words, before 4.06, this documentation comment was
considered
as both a preamble for the whole file and a documentation
comment for "y"
*)
val y: t
This may cause some troubles with open statements laying at the top
of an interface
files:
open M
(** This is not considered as a preamble anymore *)
- Second(GPR#830 <https://github.com/ocaml/ocaml/pull/830>), the
semantic of heading
level in ocamldoc has been changed to make it possible to use "{1"
for standard
documentation section. Before this change section headings should
have started
at "{2" and "{1" was reserved for the module titles. This is no
longer the case.
The default css style and mapping to latex and texinfo heading levels
have been
updated to make this change invisible in the default ocamldoc setting.
As a consequence ocamldoc html backend maps now the ocamldoc heading
level "{n" to
the html heading level "<h(n+1)>". Custom css style that redefined
the style of
these headings will need to be updated.
The other ocamldoc backends have been updated to translate both
heading level
"{1" and "{2" to the same heading level in the target language by
default, but
this can be changed using the "-latextitle" or "-infotitle" option.
- Third(GPR#802 <https://github.com/ocaml/ocaml/pull/802> and GPR#804
<https://github.com/ocaml/ocaml/pull/804>), the output of the html
renderer has been significantly
updated to replace all use of "<br>" tags by semantic html tags which
should make much
easier to style consistently the resulting html with css. Similarly,
the paragraph tag is now
used in a much more regular way.
Unfortunately, this also means that custom css that tried to recover
semantic
information from the position of "<br>" tags will need to be updated.
Happy documentation hacking,
Florian "octachron" Angeletti.
[-- Attachment #2: Type: text/html, Size: 3986 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-03 10:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-29 11:49 [Caml-list] OCaml 4.06.0+rc1 Gabriel Scherer
2017-10-30 18:25 ` David Allsopp
[not found] ` <09738422-5ADF-43DE-856A-2727515BD2FA@acm.org>
2017-11-02 11:59 ` David Allsopp
2017-11-03 10:53 ` [Caml-list] Upcoming breaking changes in Ocamldoc 4.06 octachron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).