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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Jul 24 01:00:26 PDT 2018


Hello

Here is the latest OCaml Weekly News, for the week of July 17 to 24,
2018.

The OCaml Weekly News are taking a summer break. See you on August 21st.

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

Cucumber.ml 1.0.0
Owl's Computation Graph
Color: library to work with css color formats
Other OCaml News
Old CWN


――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Cucumber.ml 1.0.0
═════════════════

  Archive: [https://discuss.ocaml.org/t/ann-cucumber-ml-1-0-0/2304/1]


Christopher Yocum announced
───────────────────────────

  Today I would like to announce the 1.0.0 release of [Cucumber.ml],
  which brings [Behaviour Driven Development] via [Cucumber] to
  OCaml. Before I start though, I would like to thank @Thegaram for his
  contributions and feedback.

  I am declaring this 1.0.0 because I wanted to avoid the "forever beta"
  issue and most of the main features for using Cucumber are implemented
  so I decided to "just do it".


[Cucumber.ml] https://github.com/cucumber/cucumber.ml

[Behaviour Driven Development]
https://en.wikipedia.org/wiki/Behavior-driven_development

[Cucumber] https://docs.cucumber.io/

Why?
╌╌╌╌

  While many of OCaml's language features tend to reduce the need for
  testing in general, I still feel that communicating between
  stakeholders and programmers is important and Cucumber is well-placed
  to help in that. Additionally, I felt that this was a good way for me
  to contribute to the OCaml ecosystem in a positive way.


Installing
╌╌╌╌╌╌╌╌╌╌

  There are a few complications when working with Cucumber.ml. The first
  and the most important is that Cucumber.ml delegates its Gherkin
  parsing to the [gherkin-c] implementation using OCaml's C interface. I
  did not use CStubs for this because I am not familiar with it and I
  needed to deal with `wchar_t' that is used in the gherkin-c and I did
  not know how to deal with that type via CStubs. This means that,
  before you can use Cucumber.ml, you will need to compile and install
  the gherkin-c as a shared library on your system.  On Linux, this
  means you will need to install libgherkin.so in `/usr/lib' and copy
  the gherkin-c header files into `/usr/include/gherkin'.

  Cucumber.ml uses the [Dune build system].  Unfortunately, I have not
  yet added Cucumber.ml to the [Opam package manager].  If anyone would
  like to help me do that, I would be very grateful.

  Once you have checked out the code and have the above prerequisites
  installed, all you need to do is:

  ┌────
  │ dune build && dune install
  └────

  which will install the `cucumber' package into your local Opam
  repository.  From there you can write your step definitions in OCaml
  and run your feature files against them.  For more information on how
  to use Cucumber.ml, please see the Cucumber.ml [README] file in the
  repository.

  One of the more unusual aspects of Cucumber.ml is that it assumes that
  once you start executing your step definitions that it will control
  the command line arguments (and uses Cmdliner for that purpose). This
  can be surprising so please be aware of it. Basically, the executable
  created by the compilation process is the cucumber runner and it is
  that executable which will run your step definitions.


[gherkin-c] https://github.com/cucumber/cucumber/tree/master/gherkin/c

[Dune build system] https://github.com/ocaml/dune

[Opam package manager] https://opam.ocaml.org/

[README] https://github.com/cucumber/cucumber.ml/blob/v1.0.0/README.md


Features
╌╌╌╌╌╌╌╌

  There are many features that come with Cucumber.ml.

  • Gherkin 5.0 is supported (Feature, Background, Given, When, Then,
    etc.)
  • Datatable transforms (the user can define transformations for
    datatables but this is not done automatically and must be applied by
    the user)
  • Before and After steps
  • State passing is handled by the runner and is passed to Step
    definitions automatically

  The state passing feature is, I believe, a first for a Cucumber
  implementation.


Roadmap
╌╌╌╌╌╌╌

  Cucumber.ml will work today and please let me know if you would like
  any more features.  However, here are a few things that I (or anyone
  else who wants to contribute) will be working on.

  • Update to Gherkin 6.0 using [gherkin-go]
  • [Lwt] threading
  • Bring Cucumber.ml fully within the Opam package manager

  My main focus will be the first task on the list so I am looking
  forward to moving to the gherkin-go universal runner.

  I hope you enjoy using it as much as I have had making it. If you have
  any questions, you can ask on the [Cucumber Slack] or you can drop an
  issue on the Github issue tracker.




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[gherkin-go] https://github.com/cucumber/cucumber/issues/425

[Lwt] https://ocsigen.org/lwt/manual/

[Cucumber Slack] https://cucumberbdd.slack.com


Owl's Computation Graph
═══════════════════════

  Archive: [https://discuss.ocaml.org/t/owls-computation-graph/2326/1]


Liang announced
───────────────

  Here is an article on Owl's new functor stack (with computation graph
  injected).  The article briefly goes through the motivation, design,
  and impact of the recent inclusion of computation graph stack into
  Owl's base library.

  Feedback are welcome so I can revise the article. I hope this is
  useful for you.

  link to the article: [http://ocaml.xyz/chapter/cgraph_intro.html]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Color: library to work with css color formats
═════════════════════════════════════════════

  Archive:
  [https://discuss.ocaml.org/t/color-library-to-work-with-css-color-formats/2328/1]


Anurag Soni announced
─────────────────────

  [Color] is a small library that has utilities to work with different
  color formats on web frontends. The goal will be to make this easy to
  use for Css stylings. For now it allows converting between some color
  formats. I also plan to look into color mixing and adding built-in
  color names.

  This is a first step in exploring typed css descriptions in OCaml.

  Any feedback is welcome :slight_smile:




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[Color] https://github.com/anuragsoni/color


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

From the ocamlcore planet blog
──────────────────────────────

  Here are links from many OCaml blogs aggregated at [OCaml Planet].

  • [frama-clang 0.0.6, compatible with Frama-C 17 Chlorine is
    out. Download it here.]
  • [Algebraic effects and handlers at OPLSS 2018]
  • [OCamlPro’s Tezos block explorer TzScan’s last updates]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[OCaml Planet] http://ocaml.org/community/planet/

[frama-clang 0.0.6, compatible with Frama-C 17 Chlorine is out. Download
it here.] http://frama-c.com/index.html

[Algebraic effects and handlers at OPLSS 2018]
http://math.andrej.com/2018/07/22/algebraic-effects-and-handlers-at-oplss-2018/

[OCamlPro’s Tezos block explorer TzScan’s last updates]
http://www.ocamlpro.com/2018/07/20/new-updates-on-tzscan-2/


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] http://alan.petitepomme.net/cwn/

[RSS feed of the archives] http://alan.petitepomme.net/cwn/cwn.rss

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

[Alan Schmitt] http://alan.petitepomme.net/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20180724/2075a927/attachment-0001.html>
-------------- next part --------------
-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Monthly Athmospheric CO₂, Mauna Loa Obs. 2018-06: 410.79, 2017-06: 408.84
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 528 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20180724/2075a927/attachment-0001.pgp>


More information about the caml-news-weekly mailing list