caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Status and schedule of the 4.03.0 release
@ 2015-11-27 13:06 Damien Doligez
  2015-11-27 15:20 ` William
  0 siblings, 1 reply; 3+ messages in thread
From: Damien Doligez @ 2015-11-27 13:06 UTC (permalink / raw)
  To: caml users

Dear OCaml users,

Here is a summary of what's going on with the next release of OCaml:

We had a developer meeting on Nov 18 to decide which features will
go into the next release. As far as large features are concerned,
the set is now fixed. In addition to what's already in the Changes
file, we'll have:

- named constructor arguments (aka inline records)
- compiler annotations for performance (@tailcall @inline @unbox @noalloc...)
- flambda: major changes in the compiler pipeline
- GC improvements: no more large GC pause times
- Ephemerons: a generalization of weak pointers
- Ocamlbuild: spin off as an independent project

Note that, while they are still in Changes at the moment, we
have decided to remove the user-defined indexing operators
( .() .()<- etc. ) for the moment, because they clash with
another planned feature. They will probably be back in some
form in 4.04.

Our planned schedule is as follows:
- December: merging features
- December 20: end of merge window, creation of 4.03 branch,
  beta version.
- January: debugging
- early February: release

We are also planning to release an alpha version of the multicore
system as an OPAM switch shortly after the 4.03.0 release.

We are working hard on this release, and we need the cooperation of
all OCaml programmers, especially library authors: test your code on
trunk, adapt to the (few) incompatible changes, report bugs as early
as you can.

Happy hacking,

-- Damien


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

* Re: [Caml-list] Status and schedule of the 4.03.0 release
  2015-11-27 13:06 [Caml-list] Status and schedule of the 4.03.0 release Damien Doligez
@ 2015-11-27 15:20 ` William
  2015-11-27 16:22   ` François Bobot
  0 siblings, 1 reply; 3+ messages in thread
From: William @ 2015-11-27 15:20 UTC (permalink / raw)
  To: caml-list

Hello,

Thanks for this upcoming update. Do you have some (short) explanations 
on the benefits and how to use those new features ?

found this for named constructor, looks nice :
http://www.lexifi.com/blog/inlined-records-constructors

what about compiler annotations ?

I understand that Ephemerons and flambda are optimisations, though 
having some examples would be nice. Should we change some coding 
practices to take advantage of those improvements ?

Best regards,

William

On 27/11/2015 14:06, Damien Doligez wrote:
> Dear OCaml users,
>
> Here is a summary of what's going on with the next release of OCaml:
>
> We had a developer meeting on Nov 18 to decide which features will
> go into the next release. As far as large features are concerned,
> the set is now fixed. In addition to what's already in the Changes
> file, we'll have:
>
> - named constructor arguments (aka inline records)
> - compiler annotations for performance (@tailcall @inline @unbox @noalloc...)
> - flambda: major changes in the compiler pipeline
> - GC improvements: no more large GC pause times
> - Ephemerons: a generalization of weak pointers
> - Ocamlbuild: spin off as an independent project
>
> Note that, while they are still in Changes at the moment, we
> have decided to remove the user-defined indexing operators
> ( .() .()<- etc. ) for the moment, because they clash with
> another planned feature. They will probably be back in some
> form in 4.04.
>
> Our planned schedule is as follows:
> - December: merging features
> - December 20: end of merge window, creation of 4.03 branch,
>    beta version.
> - January: debugging
> - early February: release
>
> We are also planning to release an alpha version of the multicore
> system as an OPAM switch shortly after the 4.03.0 release.
>
> We are working hard on this release, and we need the cooperation of
> all OCaml programmers, especially library authors: test your code on
> trunk, adapt to the (few) incompatible changes, report bugs as early
> as you can.
>
> Happy hacking,
>
> -- Damien
>
>


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

* Re: [Caml-list] Status and schedule of the 4.03.0 release
  2015-11-27 15:20 ` William
@ 2015-11-27 16:22   ` François Bobot
  0 siblings, 0 replies; 3+ messages in thread
From: François Bobot @ 2015-11-27 16:22 UTC (permalink / raw)
  To: caml-list

On 27/11/2015 16:20, William wrote:
> I understand that Ephemerons and flambda are optimisations, though
> having some examples would be nice.

Ephemerons are not just optimization. They extend the expressivity in the same way that if you start 
with only disjunction, adding conjunction extend the expressivity of the formula you can write.

More practically, they allow to define really weak hashtable where a data is kept by the hashtable 
only if the keys _and_ the hashtable are alive.

You can look at the different interfaces given in the standard library at 
https://github.com/bobot/ocaml/blob/feature/ephemerons/stdlib/ephemeron.mli .

Some slides about them:
https://ocaml.org/meetings/ocaml/2014/ocaml2014_2.pdf

The merge-request is at https://github.com/ocaml/ocaml/pull/22.


However the merge-request also add some fixes in the implementation of weak arrays, you have nothing 
to do to take advantage of them.

Hope it's clear,

Best,

-- 
François

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

end of thread, other threads:[~2015-11-27 16:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-27 13:06 [Caml-list] Status and schedule of the 4.03.0 release Damien Doligez
2015-11-27 15:20 ` William
2015-11-27 16:22   ` François Bobot

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