caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] OCaml 4.11.0, first alpha release
@ 2020-05-06 13:15 Florian Angeletti
  2020-06-04  7:29 ` [Caml-list] OCaml 4.11.0, second " Florian Angeletti
  0 siblings, 1 reply; 9+ messages in thread
From: Florian Angeletti @ 2020-05-06 13:15 UTC (permalink / raw)
  To: caml-list

Dear OCaml users,

The set of new features for the future version 4.11.0 of OCaml has been 
frozen.
In the next few months, we are focusing on bug hunting and fixing.

For this release cycle, we have decided to test publishing regularly 
alpha versions of OCaml 4.11.0 in order to help fellow hackers join us 
early in our bug hunting and opam ecosystem fixing fun.
Once the opam ecosystem is in shape, these alpha releases will morph 
into the usual beta and release candidate releases.

If you find any bugs, please report them here:
  https://github.com/ocaml/ocaml/issues

The compiler can be installed as an OPAM switch with one of the 
following commands

opam switch create ocaml-variants.4.11.0+alpha1 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

or

opam switch create ocaml-variants.4.11.0+alpha1+<VARIANT> 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

where you replace <VARIANT> with one of these: afl, flambda, fp, fp+flambda

The source code for the alpha is also available at these addresses:

  https://github.com/ocaml/ocaml/archive/4.11.0+alpha1.tar.gz
  https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.0+alpha1.tar.gz

If you are interested by the ongoing list of new features and fixed 
bugs, the
updated change log for OCaml 4.11.0 is available at:

   https://github.com/ocaml/ocaml/blob/4.11/Changes

Happy hacking,
Florian Angeletti for the OCaml team.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Caml-list] OCaml 4.11.0, second alpha release
  2020-05-06 13:15 [Caml-list] OCaml 4.11.0, first alpha release Florian Angeletti
@ 2020-06-04  7:29 ` Florian Angeletti
  2020-06-17 15:42   ` [Caml-list] OCaml 4.11.0, third " Florian Angeletti
  0 siblings, 1 reply; 9+ messages in thread
From: Florian Angeletti @ 2020-06-04  7:29 UTC (permalink / raw)
  To: caml-list

Dear OCaml users,

A new alpha version of OCaml 4.11.0 has been published.
Compared to the first alpha version, this version contains the following 
new bug
fixes:

+ #6673, #1132, +#9617: Relax the handling of explicit polymorphic types
    Fix an issue with recursive polymorphic function and constrained types.
    (Leo White, review by Jacques Garrigue and Gabriel Scherer)

+ #7364, #2188, +#9592, +#9609: improvement of the unboxability check 
for types
    with a single constructor. Mutually-recursive type declarations can
    now contain unboxed types. This is based on the paper
      https://arxiv.org/abs/1811.02300

- #7817, #9546: Unsound inclusion check for polymorphic variant
   (Jacques Garrigue, report by Mikhail Mandrykin, review by Gabriel 
Scherer)

- #9549, #9557: Make -flarge-toc the default for PowerPC and introduce
   -fsmall-toc to enable the previous behaviour.
   (David Allsopp, report by Nathaniel Wesley Filardo, review by Xavier 
Leroy)

- #9320, #9550: under Windows, make sure that the Unix.exec* functions
   properly quote their argument lists.
   (Xavier Leroy, report by André Maroneze, review by Nicolás Ojeda Bär
    and David Allsopp)

- #9490, #9505: ensure proper rounding of file times returned by
   Unix.stat, Unix.lstat, Unix.fstat.
   (Xavier Leroy and Guillaume Melquiond, report by David Brown,
    review by Gabriel Scherer and David Allsopp)

- #8676, #9594: turn debugger off in programs launched by the program
   being debugged
   (Xavier Leroy, report by Michael Soegtrop, review by Gabriel Scherer)

- #9552: restore ocamloptp build and installation
   (Florian Angeletti, review by David Allsopp and Xavier Leroy)

Entries marked with "+" were already present in previous alphas, but
they have been complemented by new bug fixes.


The compiler can be installed as an OPAM switch with one of the 
following commands

opam switch create ocaml-variants.4.11.0+alpha2 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

or

opam switch create ocaml-variants.4.11.0+alpha2+<VARIANT> 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

where <VARIANT> is replaced with one of these: afl, flambda, fp, fp+flambda

The source code for the alpha is also available at these addresses:

  https://github.com/ocaml/ocaml/archive/4.11.0+alpha2.tar.gz
  https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.0+alpha2.tar.gz

If you find any bugs, please report them here:
  https://github.com/ocaml/ocaml/issues


Happy hacking,
Florian Angeletti for the OCaml team.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Caml-list] OCaml 4.11.0, third alpha release
  2020-06-04  7:29 ` [Caml-list] OCaml 4.11.0, second " Florian Angeletti
@ 2020-06-17 15:42   ` Florian Angeletti
  2020-06-18  1:53     ` [Caml-list] 300$ Bounty for the feature compilation cache in opam Francois Berenger
  2020-06-29 15:25     ` [Caml-list] OCaml 4.11.0, first beta release Florian Angeletti
  0 siblings, 2 replies; 9+ messages in thread
From: Florian Angeletti @ 2020-06-17 15:42 UTC (permalink / raw)
  To: caml-list

Dear OCaml users,

A new alpha version of OCaml 4.11.0 has been published.

Exceptionally, this third alpha release integrates a new exciting feature:
a native-code backend for RISC-V.
Since this new backend cannot affect negatively other architecture, the 
feature
has been backported to the 4.11 branch.

Beyond this important change, the full change list compared to the 
second alpha
is rather small:


! #9440: Add RISC-V RV64G native-code backend.
   (Nicolás Ojeda Bär, review by Xavier Leroy and Gabriel Scherer)

+ #8920, #9238, #9239, #9254, #9458: New API for statistical memory 
profiling
   in Memprof.Gc. The new version does no longer use ephemerons and allows
    registering callbacks for promotion and deallocation of memory
    blocks.
    The new API no longer gives the block tags to the allocation callback.

- #7520, #9547: Odd behaviour of refutation cases with polymorphic variants
   (Jacques Garrigue, report by Leo White, reviews by Gabriel Scherer 
and Leo)

- #7741, #9645: Failure to report escaping type variable
   (Jacques Garrigue, report by Gabriel Radanne, review by Gabriel Scherer)

- #9623, #9642: fix typing environments in Typedecl.transl_with_constraint
   (Gabriel Scherer, review by Jacques Garrigue and Leo White,
    report by Hugo Heuzard)

- #9610: manual, C FFI: naked pointers are deprecated, detail the
   forward-compatible options for handling out-of-heap pointers.
   (Xavier Leroy, review by Mark Shinwell, David Allsopp and Florian 
Angeletti)

- #9618: clarify the Format documentation on the margin and maximum 
indentation
   limit
   (Florian Angeletti, review by Josh Berdine)


Entries marked with "+" were already present in previous alphas, but
they have been complemented by new bug fixes.
We are expecting this third alpha release to be the last alpha release.

The compiler can be installed as an OPAM switch with one of the 
following commands

opam switch create ocaml-variants.4.11.0+alpha3 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

or

opam switch create ocaml-variants.4.11.0+alpha3+<VARIANT> 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

where <VARIANT> is replaced with one of these: afl, flambda, fp, fp+flambda

The source code for the alpha is also available at these addresses:

  https://github.com/ocaml/ocaml/archive/4.11.0+alpha3.tar.gz
  https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.0+alpha3.tar.gz

If you find any bugs, please report them here:
  https://github.com/ocaml/ocaml/issues


Happy hacking,
Florian Angeletti for the OCaml team.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Caml-list] 300$ Bounty for the feature compilation cache in opam
  2020-06-17 15:42   ` [Caml-list] OCaml 4.11.0, third " Florian Angeletti
@ 2020-06-18  1:53     ` Francois Berenger
  2020-06-18  9:00       ` Fabrice Le Fessant
  2020-06-29 15:25     ` [Caml-list] OCaml 4.11.0, first beta release Florian Angeletti
  1 sibling, 1 reply; 9+ messages in thread
From: Francois Berenger @ 2020-06-18  1:53 UTC (permalink / raw)
  To: caml-list

Cf. 
https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482
for details.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam
  2020-06-18  1:53     ` [Caml-list] 300$ Bounty for the feature compilation cache in opam Francois Berenger
@ 2020-06-18  9:00       ` Fabrice Le Fessant
  2020-06-18  9:09         ` Louis Roché
  0 siblings, 1 reply; 9+ messages in thread
From: Fabrice Le Fessant @ 2020-06-18  9:00 UTC (permalink / raw)
  To: Francois Berenger; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 1099 bytes --]

opam is maintained by OCamlPro, why not contact them and get a quote ? It
won't be 300$, but everybody will enjoy the feature in the next version.

As a side note, a long time ago, I had an implementation of a binary cache
for OPAM. The modifications in OPAM were minimal: opam would
just call a hook to build the package and install it, providing a checksum
of dependencies and sources. The checksum would be used by an external tool
(`ocp-bin`) to query the local binary cache (or a remote server) and either
re-install the package or build it and save it in the cache. Since it was
written in 2013, not sure if it would still work easily with current opam.
Its code was used later to create opam-builder.
--
Fabrice LE FESSANT
CEO Origin-Labs SAS & Dune Network

Le jeu. 18 juin 2020 à 03:53, Francois Berenger <mlists@ligand.eu> a écrit :

> Cf.
> https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482
> for details.
>
-- 
Fabrice LE FESSANT
Chercheur en Informatique
INRIA Paris Rocquencourt -- OCamlPro
Programming Languages and Distributed Systems

[-- Attachment #2: Type: text/html, Size: 2726 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam
  2020-06-18  9:00       ` Fabrice Le Fessant
@ 2020-06-18  9:09         ` Louis Roché
  2020-06-18  9:22           ` Gabriel Scherer
  2020-06-18 11:18           ` Muriel SHAN SEI FAN
  0 siblings, 2 replies; 9+ messages in thread
From: Louis Roché @ 2020-06-18  9:09 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 1942 bytes --]

I was happy to give 300USD of my personal money to push someone to work on this task. But I can't afford to pay a company to work on that task.

There is a script in the opam repo providing binary cache already[1]. The problem is that it doesn't handle relocation well. Because of paths contained in the cached content. For example if I install ocaml in a switch A, then in switch B, then delete the switch A, suddenly the switch B won't work anymore.

To me the ideal solution would be to extract the code of esy that is doing path replacements and use it in an opam hook. It would also require all switches to be installed in a path of a similar length, but that's a trivial task.

1. https://github.com/ocaml/opam/blob/4756ca1/shell/opam-bin-cache.sh

On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote:
> opam is maintained by OCamlPro, why not contact them and get a quote ? It won't be 300$, but everybody will enjoy the feature in the next version.
> 
> As a side note, a long time ago, I had an implementation of a binary cache for OPAM. The modifications in OPAM were minimal: opam would
> just call a hook to build the package and install it, providing a checksum of dependencies and sources. The checksum would be used by an external tool (`ocp-bin`) to query the local binary cache (or a remote server) and either re-install the package or build it and save it in the cache. Since it was written in 2013, not sure if it would still work easily with current opam. Its code was used later to create opam-builder.
> --
> Fabrice LE FESSANT
> CEO Origin-Labs SAS & Dune Network
> 
> Le jeu. 18 juin 2020 à 03:53, Francois Berenger <mlists@ligand.eu> a écrit :
>> Cf. 
>> https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482
>>  for details.
> -- 
> Fabrice LE FESSANT
> Chercheur en Informatique
> INRIA Paris Rocquencourt -- OCamlPro
> Programming Languages and Distributed Systems

[-- Attachment #2: Type: text/html, Size: 4026 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam
  2020-06-18  9:09         ` Louis Roché
@ 2020-06-18  9:22           ` Gabriel Scherer
  2020-06-18 11:18           ` Muriel SHAN SEI FAN
  1 sibling, 0 replies; 9+ messages in thread
From: Gabriel Scherer @ 2020-06-18  9:22 UTC (permalink / raw)
  To: Louis Roché; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 2370 bytes --]

For the record, upstream compiler developers have been discussing
relocation again (largely because of esy's usecase). David Allsopp has a
plan that looks interesting and could provide relocatability for the medium
term, instead of relying on in-place path replacements.

On Thu, Jun 18, 2020 at 11:10 AM Louis Roché <louis@louisroche.net> wrote:

> I was happy to give 300USD of my personal money to push someone to work on
> this task. But I can't afford to pay a company to work on that task.
>
> There is a script in the opam repo providing binary cache already[1]. The
> problem is that it doesn't handle relocation well. Because of paths
> contained in the cached content. For example if I install ocaml in a switch
> A, then in switch B, then delete the switch A, suddenly the switch B won't
> work anymore.
>
> To me the ideal solution would be to extract the code of esy that is doing
> path replacements and use it in an opam hook. It would also require all
> switches to be installed in a path of a similar length, but that's a
> trivial task.
>
> 1. https://github.com/ocaml/opam/blob/4756ca1/shell/opam-bin-cache.sh
>
> On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote:
>
> opam is maintained by OCamlPro, why not contact them and get a quote ? It
> won't be 300$, but everybody will enjoy the feature in the next version.
>
> As a side note, a long time ago, I had an implementation of a binary cache
> for OPAM. The modifications in OPAM were minimal: opam would
> just call a hook to build the package and install it, providing a checksum
> of dependencies and sources. The checksum would be used by an external
> tool (`ocp-bin`) to query the local binary cache (or a remote server) and
> either re-install the package or build it and save it in the cache. Since
> it was written in 2013, not sure if it would still work easily with
> current opam. Its code was used later to create opam-builder.
> --
> Fabrice LE FESSANT
> CEO Origin-Labs SAS & Dune Network
>
> Le jeu. 18 juin 2020 à 03:53, Francois Berenger <mlists@ligand.eu> a
> écrit :
>
> Cf.
> https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482
> for details.
>
> --
> Fabrice LE FESSANT
> Chercheur en Informatique
> INRIA Paris Rocquencourt -- OCamlPro
> Programming Languages and Distributed Systems
>
>
>

[-- Attachment #2: Type: text/html, Size: 4343 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam
  2020-06-18  9:09         ` Louis Roché
  2020-06-18  9:22           ` Gabriel Scherer
@ 2020-06-18 11:18           ` Muriel SHAN SEI FAN
  1 sibling, 0 replies; 9+ messages in thread
From: Muriel SHAN SEI FAN @ 2020-06-18 11:18 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 2412 bytes --]

Thank you Fabrice and Louis.
As other institutions or individuals on this list, you know that we are
happy (as a company /and/ as individuals) to contribute to the thriving
of the OCaml community. All initiatives are good to take :-)
Muriel
https://www.ocamlpro.com/

On 18/06/2020 11:09, Louis Roché wrote:
> I was happy to give 300USD of my personal money to push someone to
> work on this task. But I can't afford to pay a company to work on that
> task.
>
> There is a script in the opam repo providing binary cache already[1].
> The problem is that it doesn't handle relocation well. Because of
> paths contained in the cached content. For example if I install ocaml
> in a switch A, then in switch B, then delete the switch A, suddenly
> the switch B won't work anymore.
>
> To me the ideal solution would be to extract the code of esy that is
> doing path replacements and use it in an opam hook. It would also
> require all switches to be installed in a path of a similar length,
> but that's a trivial task.
>
> 1. https://github.com/ocaml/opam/blob/4756ca1/shell/opam-bin-cache.sh
>
> On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote:
>> opam is maintained by OCamlPro, why not contact them and get a quote
>> ? It won't be 300$, but everybody will enjoy the feature in the
>> next version.
>>
>> As a side note, a long time ago, I had an implementation of a
>> binary cache for OPAM. The modifications in OPAM were minimal: opam would
>> just call a hook to build the package and install it, providing
>> a checksum of dependencies and sources. The checksum would be used by
>> an external tool (`ocp-bin`) to query the local binary cache (or a
>> remote server) and either re-install the package or build it and save
>> it in the cache. Since it was written in 2013, not sure if it would
>> still work easily with current opam. Its code was used later to
>> create opam-builder.
>> --
>> Fabrice LE FESSANT
>> CEO Origin-Labs SAS & Dune Network
>>
>> Le jeu. 18 juin 2020 à 03:53, Francois Berenger <mlists@ligand.eu
>> <mailto:mlists@ligand.eu>> a écrit :
>>
>>     Cf.
>>     https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2482
>>     for details.
>>
>> -- 
>> Fabrice LE FESSANT
>> Chercheur en Informatique
>> INRIA Paris Rocquencourt -- OCamlPro
>> Programming Languages and Distributed Systems
>


[-- Attachment #2: Type: text/html, Size: 6029 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Caml-list] OCaml 4.11.0, first beta release
  2020-06-17 15:42   ` [Caml-list] OCaml 4.11.0, third " Florian Angeletti
  2020-06-18  1:53     ` [Caml-list] 300$ Bounty for the feature compilation cache in opam Francois Berenger
@ 2020-06-29 15:25     ` Florian Angeletti
  1 sibling, 0 replies; 9+ messages in thread
From: Florian Angeletti @ 2020-06-29 15:25 UTC (permalink / raw)
  To: caml-list

Dear OCaml users,

The release of OCaml 4.11.0 is approaching.
After three alpha releases, we have created a first beta version to help you
adapt your software to the new features ahead of the release.

The compatibility of the opam ecosystem with OCaml 4.11.0 is currently quite
good, and it should be possible to test this beta without too much trouble.

The source code is available at these addresses:

  https://github.com/ocaml/ocaml/archive/4.11.0+beta1.tar.gz
  https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.0+beta1.tar.gz

The compiler can also be installed as an OPAM switch with one of the
following commands.

opam switch create ocaml-variants.4.11.0+beta1 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

or

opam switch create ocaml-variants.4.11.0+beta1+<VARIANT> 
--repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

  where you replace <VARIANT> with one of these:
    afl
    flambda
    fp
    fp+flambda

We want to know about all bugs. Please report them here:
  https://github.com/ocaml/ocaml/issues

If you are interested by the list of new features, and the on-going list 
of bug fixes the
updated change log for OCaml 4.11.0 is available at:

   https://github.com/ocaml/ocaml/blob/4.11/Changes

Compared to the last alpha release, this first beta release contains the 
following new bug fixes:

Driver

   - #9011: Allow linking .cmxa files with no units on MSVC by not 
requiring the
     .lib file to be present.
     (David Allsopp, report by Dimitry Bely, review by Xavier Leroy)

Typechecker

   - #9384, #9385: Fix copy scope bugs in substitutions
     (Leo White, review by Thomas Refis, report by Nick Roberts)

   - #9695, #9702: no error when opening an alias to a missing module
     (Jacques Garrigue, report and review by Gabriel Scherer)

Warnings

   - #7897, #9537: Fix warning 38 for rebound extension constructors
     (Leo White, review by Florian Angeletti)

   - #9244: Fix some missing usage warnings
     (Leo White, review by Florian Angeletti)

Toplevels

   - #9415: Treat `open struct` as `include struct` in toplevel
     (Leo White, review by Thomas Refis)

   - #9416: Avoid warning 58 in flambda ocamlnat
     (Leo White, review by Florian Angeletti)

Flambda backend

   - #9163: Treat loops properly in un_anf
     (Leo White, review by Mark Shinwell, Pierre Chambart and Vincent 
Laviron)


Happy hacking,

-- Florian Angeletti for the OCaml team.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-06-29 15:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-06 13:15 [Caml-list] OCaml 4.11.0, first alpha release Florian Angeletti
2020-06-04  7:29 ` [Caml-list] OCaml 4.11.0, second " Florian Angeletti
2020-06-17 15:42   ` [Caml-list] OCaml 4.11.0, third " Florian Angeletti
2020-06-18  1:53     ` [Caml-list] 300$ Bounty for the feature compilation cache in opam Francois Berenger
2020-06-18  9:00       ` Fabrice Le Fessant
2020-06-18  9:09         ` Louis Roché
2020-06-18  9:22           ` Gabriel Scherer
2020-06-18 11:18           ` Muriel SHAN SEI FAN
2020-06-29 15:25     ` [Caml-list] OCaml 4.11.0, first beta release Florian Angeletti

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).