[cwn] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt alan.schmitt at polytechnique.org
Tue Apr 18 01:50:06 PDT 2023


Hello

Here is the latest OCaml Weekly News, for the week of April 11 to 18,
2023.

Table of Contents
─────────────────

You started to learn OCaml less than 12 months ago? Please help us with our user survey on the OCaml.org Learning Area
First alpha release of OCaml 5.1.0
Interesting OCaml Articles
Porting a OCaml3-based game to the latest version of OCaml
Old CWN


You started to learn OCaml less than 12 months ago? Please help us with our user survey on the OCaml.org Learning Area
══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/you-started-to-learn-ocaml-less-than-12-months-ago-please-help-us-with-our-user-survey-on-the-ocaml-org-learning-area/11945/1>


Sabine Schmaltz asked
─────────────────────

  We’re asking specifically for you, if your experience of learning
  OCaml is still ongoing or so recent that you still remember

  1. what you struggled with (or still feel like you’re struggling),
  2. how the current materials failed you,
  3. what other materials helped you understand.

  if you have previous experience in other languages, we also find it
  highly interesting to learn about resources that you found
  particularly effective/engaging/educational and why you think they are
  particularly great.

  Our goal is to improve the “Learn” area of OCaml.org - and this is a
  pretty broad topic in the sense that we want to provide a framework on
  OCaml.org where content is organised properly in such a way that
  information is easy to find and effective to use for various people
  with different backgrounds and learning styles.

  The survey is here: <https://forms.gle/L1oQgEs3N9D6qx5v9>

  If you indicate you’re available for interview, our UX designer Claire
  may contact you to schedule a video call with you.

  There will be a summary of the points brought up no later than May 5
  in this thread.


First alpha release of OCaml 5.1.0
══════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/first-alpha-release-of-ocaml-5-1-0/11949/1>


octachron announced
───────────────────

  Four months after the release of OCaml 5.0.0, the set of new features
  for the future version 5.1.0 of OCaml has been frozen. I am thus happy
  to announce the first alpha release for OCaml 5.1.0 .

  This alpha version is here to help fellow hackers join us early in our
  bug hunting and opam ecosystem fixing fun (see below for the
  installation instructions). You can see the progress on this front at

  <https://github.com/ocaml/opam-repository/issues/23669>

  If you find any bugs, please report them here:

  <https://github.com/ocaml/ocaml/issues>

  Note that this early alpha version is missing two important fixes for
  the garbage collector and Windows support. Those fixes will be
  available before the beta. The full release is expected to happen in
  July.

  If you are interested by the ongoing list of new features and bug
  fixes, the updated change log for OCaml 5.1.0 is available at:

  <https://github.com/ocaml/ocaml/blob/5.1/Changes>


Installation Instructions
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The base compiler can be installed as an opam switch with the
  following commands on opam 2.1:

  ┌────
  │ opam update
  │ opam switch create 5.1.0~alpha1
  └────

  For previous version of opam, the switch creation command line is
  slightly more verbose:

  ┌────
  │ opam update
  │ opam switch create 5.1.0~alpha1
  │ --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
  └────

  If you want to tweak the configuration of the compiler, you can switch
  to the option variant with:

  ┌────
  │ opam update
  │ opam switch create <switch_name> ocaml-variants.5.1.0~alpha1+options <option_list>
  └────

  where `option_list' is a comma separated list of ocaml-option-*
  packages. For instance, for a flambda and no-flat-float-array switch:

  ┌────
  │ opam switch create 5.1.0~alpha1+flambda+nffa ocaml-variants.5.1.0~alpha1+options
  │ ocaml-option-flambda ocaml-option-no-flat-float-array
  └────

  The command line above is slightly more complicated for opam version
  anterior to 2.1:

  ┌────
  │ opam update
  │ opam switch create <switch_name>
  │ --packages=ocaml-variants.5.1.0~alpha1+options,<option_list>
  │ --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
  └────
  In both cases, all available options can be listed with “opam search
  ocaml-option”.

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

  • <https://github.com/ocaml/ocaml/archive/5.1.0-alpha1.tar.gz>
  • <https://caml.inria.fr/pub/distrib/ocaml-5.1/ocaml-5.1.0~alpha1.tar.gz>


Interesting OCaml Articles
══════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/interesting-ocaml-articles/1867/101>


james woodyatt announced
────────────────────────

  Our @yallop is one of the authors of this paper about parsing.

  [flap: A Deterministic Parser with Fused Lexing]

        Lexers and parsers are typically defined separately and
        connected by a token stream. This separate definition is
        important for modularity and reduces the potential for
        parsing ambiguity. However, materializing tokens as data
        structures and case-switching on tokens comes with a cost.
        We show how to fuse separately-defined lexers and parsers,
        drastically improving performance without compromising
        modularity or increasing ambiguity. We propose a
        deterministic variant of Greibach Normal Form that ensures
        deterministic parsing with a single token of lookahead and
        makes fusion strikingly simple, and prove that normalizing
        context free expressions into the deterministic normal
        form is semantics-preserving. Our staged parser combinator
        library, flap, provides a standard interface, but
        generates specialized token-free code that runs two to six
        times faster than ocamlyacc on a range of benchmarks.


[flap: A Deterministic Parser with Fused Lexing]
<https://arxiv.org/abs/2304.05276>


Porting a OCaml3-based game to the latest version of OCaml
══════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/porting-a-ocaml3-based-game-to-the-latest-version-of-ocaml/11968/1>


nova4216 asked
──────────────

  Guys, there is not a trivial task.

  There is a game engine on OCaml + a game written on this game engine.
  This was all written about 10 years ago, on version Ocaml 3. Camplp4
  was used as a preprocessor. And the compiler was patched to correctly
  generate ARM code for iOS.

  The task is to port the engine and the game to the latest version of
  Ocaml which supports arm64 on all platforms by default.

  We can make the engine Open Source - maybe it will help the Ocaml
  community to release more games in their favorite language for mobile
  platforms.

  If anyone is interested in the task - feel free to contact me, and we
  will be glad to discuss the details! Of course, there will be a reward
  for successful completion of the task.

  nova4216 at gmail.com


nova4216 later added
────────────────────

  The game itself is called The Big Farm Theory. The engine in this
  thread is Lightning:
  • <https://github.com/serp256/lightning>
  • <https://github.com/serp256/lighttools>


Old CWN
═══════

  If you happen to miss a CWN, you can [send me a message] and I’ll mail
  it to you, or go take a look at [the archive] or the [RSS feed of the
  archives].

  If you also wish to receive it every week by mail, you may subscribe
  [online].

  [Alan Schmitt]


[send me a message] <mailto:alan.schmitt at polytechnique.org>

[the archive] <https://alan.petitepomme.net/cwn/>

[RSS feed of the archives] <https://alan.petitepomme.net/cwn/cwn.rss>

[online] <http://lists.idyll.org/listinfo/caml-news-weekly/>

[Alan Schmitt] <https://alan.petitepomme.net/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20230418/47e3e845/attachment-0001.html>


More information about the caml-news-weekly mailing list