[cwn] Attn: Development Editor, Latest OCaml Weekly News
Alan Schmitt
alan.schmitt at polytechnique.org
Tue Mar 5 00:55:07 PST 2019
Hello
Here is the latest OCaml Weekly News, for the week of February 26
to
March 05, 2019.
Table of Contents
─────────────────
LLVM tutorial with Dune (Part 2)
A parallel and shared memory library based on Hack's
implementation
BTG Trading is hiring OCaml devs in Puerto Rico
Other OCaml News
Old CWN
LLVM tutorial with Dune (Part 2)
════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/llvm-tutorial-with-dune-part-2/3419/1>
Adam BK announced
─────────────────
Hi everyone, I just made an updated version of the [OCaml LLVM]
since
the posted one is pretty out of date. Check it out here:
<https://github.com/adamrk/llvm-ocaml-tutorial>. The main
changes are:
• switch build system to dune from ocamlbuild
• switch lexing and parsing to use ocamllex/menhir instead of
camlp4
• update to newer LLVM API (version 6.0.0)
There are also a couple outstanding issues that I can't figure
out, so
if you have any ideas how to fix these it'd be really helpful:
• Menhir is generated files which cause warnings during
compilation:
┌────
│ ocamlc lib/parser__mock.mli.inferred
│ File "parser__mock.ml.mock", line 388, characters 9-18:
│ Warning 3: deprecated: Not_found
│ ocamlopt
lib/.kaleidoscope_lib.objs/kaleidoscope_lib__Parser.{cmx,o}
│ File "parser.ml", line 161, characters 45-612:
│ Warning 9: the following labels are not bound in this
record pattern: state
└────
Are there any ways to prevent Menhir from causing these
warnings?
I'm currently handling it by suppressing the warnings with
┌────
│ (env
│ (dev
│ (flags (:standard -warn-error -3-9))))
└────
in the dune file. Alternatively, is there a way to suppress
the
warnings only for these specific files?
• The cstubs are currently printing to stderr because when I set
them
to print to stdout, those calls don't occur until the program
exists. Any ideas on why that happens and if there is a better
fix?
• I'm currently linking the cstubs dynamically which is
annoying. Does
anyone know if there's a way to statically link them in?
[OCaml LLVM] <https://llvm.org/docs/tutorial/index.html>
Marcello Seri replied
─────────────────────
You can locally disable the warnings with `[@ocaml.warning
“-9”]' or
`[@@ocaml.warning “-9”]'. If you use a version of ocaml prior to
4.06,
you may be better off by wrapping the module with
┌────
│ [@@@ocaml.warning “-9”]
│ ...
│ [@@@ocaml.warning “+9”]
└────
A parallel and shared memory library based on Hack's
implementation
═══════════════════════════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/a-parallel-and-shared-memory-library-based-on-hacks-implementation/3428/1>
Rijnard Van Tonder announced
────────────────────────────
[Hack_parallel] is a standalone parallel and shared memory
library
based on the components used in FB tools [Hack], [Flow], and
[Pyre]. The internals of these components are little known
outside of
these projects, yet stand to benefit the OCaml community more
generally, both for practical use and educational purposes. So I
extracted the core parts and packaged it up; more information
can be
found in the project README.
I put together an [example project] to illustrate the basic
interface.
[Hack_parallel] <https://github.com/rvantonder/hack-parallel>
[Hack] <https://github.com/facebook/hhvm/tree/master/hphp/hack>
[Flow] <https://github.com/facebook/flow>
[Pyre] <https://github.com/facebook/pyre-check>
[example project]
<https://github.com/rvantonder/hack-parallel-example>
Yaron Minsky then asked
───────────────────────
Exciting stuff!
But how seriously should I take these warnings?
<https://github.com/rvantonder/hack-parallel/blob/master/src/heap/hh_shared.c>
Rijnard Van Tonder replied
──────────────────────────
From [some more details]:
You can ignore the scary THIS CODE ONLY WORKS WITH HACK. The
implementation works generally (it's used in Flow/Pyre and my
own
projects without problems). The warning is overcompensating so
that
people do not treat it like a "generic atomic hashtable for
OCaml". The data structure and constraints on memory operations
are
explained well [here]. I may document the points in the video in
future, but hope that helps for now.
[some more details]
<https://github.com/rvantonder/hack-parallel/#some-more-details>
[here] <https://youtu.be/uXuYVUdFY48?list=WL&t=671>
BTG Trading is hiring OCaml devs in Puerto Rico
═══════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/btg-trading-is-hiring-ocaml-devs-in-puerto-rico/3436/1>
Owen Gunden announced
─────────────────────
BTG Trading is a leading proprietary trading firm focused
exclusively
on the bitcoin-related markets. In operation since 2013, we have
developed significant strategies unique to cryptocurrency. Our
trading
systems are highly automated and we take a systematic approach
to
trading.
We are seeking driven, passionate individuals who take pride in
their
work and are excited by cryptocurrency. At BTG we aim to be the
best
at what we do, and so should you.
Our team is very small and as such, the environment is very much
that
of a startup. You will be expected to handle a variety of types
of
work. We place a strong emphasis on automation.
Must be willing to relocate to San Juan, Puerto Rico for a
minimum of
6 months of training. After 6 months, there may be some room for
flexibility in terms of remote work, but this is not
guaranteed. Puerto Rico has a lot to offer, including some of
the most
beautiful natural spaces and a growing cryptocurrency ecosystem.
We are currently looking for an additional OCaml developer. The
ideal
candidate is a hacker type; you love computers, you know how to,
and
enjoy, go deep in understanding to get to the heart of a
problem.
You also have computer security baked into your bones. When
dealing
with cryptocurrency, there can be no room for error with
security
protocols.
Both founders of BTG are themselves developers, so you know that
when
you join our team, your skills will be valued highly.
Interested candidates should contact hiring at btgtrading.com.
Other OCaml News
════════════════
From the ocamlcore planet blog
──────────────────────────────
Here are links from many OCaml blogs aggregated at [OCaml
Planet].
• [Accelerating Self-Play Learning in Go]
• [Machining the ultimate hackathon prize]
[OCaml Planet] <http://ocaml.org/community/planet/>
[Accelerating Self-Play Learning in Go]
<https://blog.janestreet.com/accelerating-self-play-learning-in-go/>
[Machining the ultimate hackathon prize]
<https://blog.janestreet.com/hackathon-keyboards/>
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/20190305/395121ed/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20190305/395121ed/attachment-0001.pgp>
More information about the caml-news-weekly
mailing list