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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Apr 4 01:45:03 PDT 2023


Hello

Here is the latest OCaml Weekly News, for the week of March 28 to April
04, 2023.

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

OCaml-css 0.1.0
Bogue tutorials 0.1.0
Embedded Ocaml Templates 0.8
Available for Hire - Q2+3+4 2023
Format strings and the OCaml compiler error messages
Other OCaml News
Old CWN


OCaml-css 0.1.0
═══════════════

  Archive: <https://discuss.ocaml.org/t/ann-ocaml-css-0-1-0/11809/1>


Zoggy announced
───────────────

  I’m pleased to announce the first release of [OCaml-css], a library to
  parse and print CSS. It can also expand namespaces and perform
  computations on property values.

  Parsing uses [Angstrom] to dynamically choose the parser when
  encountering a property declaration. Not all properties are handled
  yet but the parser can be extended by defining additional properties.
  Some shorthand properties are handled too. Some ~@rule~s are not
  handled by now, they are parsed and returned as strings, with a
  warning in log.

  The `css' package should be available soon in opam.


[OCaml-css] <https://zoggy.frama.io/ocaml-css/>

[Angstrom] <https://github.com/inhabitedtype/angstrom/>


Bogue tutorials 0.1.0
═════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-bogue-tutorials-0-1-0/11816/1>


sanette announced
─────────────────

  Hi, I’m pleased to announce an ongoing series of tutorials for [Bogue]
  (the Desktop GUI library for OCaml):

  <https://github.com/sanette/bogue-tutorials>

  So far only three are written:
  • [Hello world]
  • [A simple counter]
  • [Self-modifying layouts]

  More will come when time permits!

  Each tutorial includes code that can either be pasted onto a toplevel,
  or automatically executed (the executables are shipped in the
  `ocaml-tutorials' opam package.

  Feedback appreciated! (hopefully constructive ;) )


[Bogue] <https://github.com/sanette/bogue>

[Hello world]
<https://sanette.github.io/bogue-tutorials/bogue-tutorials/hello.html>

[A simple counter]
<https://sanette.github.io/bogue-tutorials/bogue-tutorials/counter.html>

[Self-modifying layouts]
<https://sanette.github.io/bogue-tutorials/bogue-tutorials/modif_parent.html>


Embedded Ocaml Templates 0.8
════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-embedded-ocaml-templates-0-8/11848/1>


Emile Trotignon announced
─────────────────────────

  I am quite happy to announce the release of EML 0.8. EML is a simple
  templating language that lets you generate text with plain OCaml. It
  is analogous to the way you would write PHP pages, but the language
  being Ocaml instead.

  There are two ways of using it, the first one is in a standalone file,
  for instance `resume.eml.tex' :

  ┌────
  │ <%# firstname lastname email birthdate phonenumber formations %>
  │ \documentclass[10pt, a4paper, roman, french]{moderncv}
  │ \usepackage{babel}
  │ \firstname{ <%-firstname%> }
  │ \familyname{ <%-lastname%> }
  │ \mobile{<%- phonenumber%>}
  │ \extrainfo{Born <%-birthdate%> }
  │ \email{ <%-email%> }
  │ \begin{document}
  │ 	\makecvtitle
  │ 	\section{Formation}
  │ 	 <% List.iteri (fun i (date_start, date_end, diploma, school) ->%>
  │ 		\cventry{ <%i- i %> <%-date_start%> -- <%-date_end%>}{<%-diploma%>}{<%-school%>}{}{}{}
  │ 	 <%) formations ;%>
  │ \end{document}
  └────

  There is also support for compiling a whole recursive directory of
  templating files with a single dune rule.

  The other one would be in OCaml code with a PPX :
  ┌────
  │ let resume  firstname lastname email birthdate phonenumber formations =
  │   {%eml|
  │ \documentclass[10pt, a4paper, roman, french]{moderncv}
  │ \usepackage{babel}
  │ \firstname{ <%-firstname%> }
  │ \familyname{ <%-lastname%> }
  │ \mobile{<%- phonenumber%>}
  │ \extrainfo{Born <%-birthdate%> }
  │ \email{ <%-email%> }
  │ \begin{document}
  │ 	\makecvtitle
  │ 	\section{Formation}
  │ 	 <% List.iteri (fun i (date_start, date_end, diploma, school) ->%>
  │ 		\cventry{ <%i- i %> <%-date_start%> -- <%-date_end%>}{<%-diploma%>}{<%-school%>}{}{}{}
  │ 	 <% ) formations ;%>
  │ \end{document}
  │ |}
  └────
  The ppx is also suitable for simple string interpolation.

  A similar templating and homonymous templating engine is present in
  the Dream framework. Dream.EML has a slightly different syntax, mine
  is less geared toward HTML and more suitable for general templating.
  Dream also does not support compiling multiple templates with a single
  dune rule.

  In 0.8, the locations in the PPX are finally correct. This means that
  type errors will show up in their correct place, which is very nice
  (once a small bugfix in merlin is merged (the error message is still
  correct)). I also got rid of a depency on Menhir.

  It is available on opam as the `embedded_ocaml_templates' package, and
  the doc is [here]


[here]
<https://github.com/EmileTrotignon/embedded_ocaml_templates/blob/master/README.md>


Available for Hire - Q2+3+4 2023
════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/available-for-hire-q2-3-4-2023/11867/1>


Sabine Schmaltz announced
─────────────────────────

  Here’s a thread to announce your availability as an OCaml developer
  looking for an OCaml job. :rocket:

  Freelancers, contractors and job-seekers, do advertise your services
  and experience here.

  Since the volume on these threads is still fairly low, let’s go with
  one thread for the rest of 2023 that I will bump every quarter.

  /editor’s note: please follow the link above to see the replies to
  this thread./


Format strings and the OCaml compiler error messages
════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/format-strings-and-the-ocaml-compiler-error-messages/11870/1>


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

  I am currently trying my hand at writing down my weekly activity on
  the OCaml compiler as blog post on the Cambium team blog:

  <http://gallium.inria.fr/blog/florian-weekly-2023-04-03>

  This week the main and only topics is some ongoing work on mine on an
  alternative handling for partial error messages in the compiler. The
  medium-term objective is to move slowly towards machine-readable error
  message by making that all the type used in error report internally in
  the compiler are serializable. This has lead towards a fun path of
  implementing an alternative format string interpreter that you can see
  in action at <https://github.com/Octachron/format-doc> .


Other OCaml News
════════════════

>From the ocaml.org blog
───────────────────────

  Here are links from many OCaml blogs aggregated at [the ocaml.org
  blog].

  • [Compiler Hacking in Cambridge is Back!]
  • [More Than a Day: How Does Tarides Promote Women in Tech?]
  • [The Journey to OCaml Multicore: Bringing Big Ideas to Life]
  • [Lambda Retreat Report]
  • [Engineer Spotlight: Sudha Parimala]
  • [What if writing tests was a joyful experience?]


[the ocaml.org blog] <https://ocaml.org/blog/>

[Compiler Hacking in Cambridge is Back!]
<https://tarides.com/blog/2023-03-22-compiler-hacking-in-cambridge-is-back>

[More Than a Day: How Does Tarides Promote Women in Tech?]
<https://tarides.com/blog/2023-03-08-more-than-a-day-how-does-tarides-promote-women-in-tech>

[The Journey to OCaml Multicore: Bringing Big Ideas to Life]
<https://tarides.com/blog/2023-03-02-the-journey-to-ocaml-multicore-bringing-big-ideas-to-life>

[Lambda Retreat Report]
<https://tarides.com/blog/2023-01-12-lambda-retreat-report>

[Engineer Spotlight: Sudha Parimala]
<https://tarides.com/blog/2023-01-10-engineer-spotlight-sudha-parimala>

[What if writing tests was a joyful experience?]
<https://blog.janestreet.com/the-joy-of-expect-tests/>


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/20230404/290cd0b5/attachment-0001.html>


More information about the caml-news-weekly mailing list