diff --git a/.github/workflows/scrape.yml b/.github/workflows/scrape.yml index 9dcfaea99b..3bd4b8f54f 100644 --- a/.github/workflows/scrape.yml +++ b/.github/workflows/scrape.yml @@ -42,19 +42,19 @@ jobs: - name: Build scraper run: | opam exec -- dune build tool/ood-gen/bin/scrape.exe - opam exec -- dune build tool/ood-gen/bin/watch_scrape.exe - name: Run scrapers run: | opam exec -- dune exec tool/ood-gen/bin/scrape.exe planet - opam exec -- dune exec tool/ood-gen/bin/watch_scrape.exe > data/watch.yml + opam exec -- dune exec tool/ood-gen/bin/scrape.exe video - name: Create Pull Request uses: peter-evans/create-pull-request@v6 with: - title: '[scrape.yml] New OCaml Planet blog posts and videos from watch.ocaml.org' + title: '[scrape.yml] New OCaml blog posts and videos' add-paths: | - data/watch.yml + data/video-watch.yml + data/video-youtube.yml data/planet/*/*.md commit-message: | - [scrape.yml] New OCaml Planet blog posts and videos from watch.ocaml.org + [scrape.yml] New OCaml Planet blog posts and videos diff --git a/Makefile b/Makefile index 1b44cb75f9..2eb7b03630 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ utop: ## Run a REPL and link with the project's libraries .PHONY: scrape scrape: ## Generate the po files opam exec -- dune exec --root . tool/ood-gen/bin/scrape.exe planet - opam exec -- dune exec --root . tool/ood-gen/bin/watch_scrape.exe + opam exec -- dune exec --root . tool/ood-gen/bin/scrape.exe video .PHONY: docker docker: ## Generate docker container diff --git a/data/video-watch.yml b/data/video-watch.yml new file mode 100644 index 0000000000..ade0a08681 --- /dev/null +++ b/data/video-watch.yml @@ -0,0 +1,1688 @@ +- title: '25 Years of OCaml: Xavier Leroy' + description: Professor Xavier Leroy -- the primary original author and leader of + the OCaml project -- reflects on 25 years of the OCaml language at his OCaml Workshop + 2021 keynote speech. + content: https://watch.ocaml.org/videos/watch/e1ee0fc0-50ef-4a1c-894a-17df181424cb + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/94ead657-79a0-4c10-8435-9e13906a6c44.jpg + published: 2021-08-27T13:23:10.199Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A Case for Multi-Switch Constraints in OPAM + description: "A Case for Multi-Switch Constraints in OPAM - by Fabrice Le Fessant + (INRIA)\r\n\r\nPackage managers usually only deal with packages and their versions, + and the constraints on their dependencies towards other packages\u2019 versions. + Among package managers,..." + content: https://watch.ocaml.org/videos/watch/744d4a0b-a44c-4040-853c-6be5223ec43b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/3973b521-c198-4a18-93a1-7190f8f811da.jpg + published: 2021-10-02T02:02:32.873Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A Declarative Syntax Definition for OCaml + description: In this talk, we present our work on a syntax definition for the OCaml + language in the syntax definition formalism SDF3. SDF3 supports the high-level + definition of concrete and abstract syntax through declarative disambiguation + and definition of c... + content: https://watch.ocaml.org/videos/watch/a5b86864-8e43-4138-b6d6-ed48d2d4b63d + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/92c0a0e3-5326-42aa-86a3-6adb3927e111.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A Multiverse of Glorious Documentation + description: This talk describes the process of generating documentation for every + version of every package that can be built from the opam repository, and how it + is presented as a single coherent website that is continuously updated as new + packages are releas... + content: https://watch.ocaml.org/videos/watch/9bb452d6-1829-4dac-a6a2-46b31050c931 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6a0a8291-4626-4820-8071-904b3c508345.jpg + published: 2021-08-27T11:23:36.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A Proposal for Non-Intrusive Namespaces in OCaml + description: "A Proposal for Non-Intrusive Namespaces in OCaml, by Pierrick Couderc + (I), Fabrice Le Fessant (I+O), Benjamin Canou (O), Pierre Chambart (O); (I = INRIA, + O = OCamlPro)\r\n\r\nWe present a work-in-progress about adding namespaces to + OCaml. Inspired by ..." + content: https://watch.ocaml.org/videos/watch/ded6e8bb-aebd-4fd2-989f-3f0b2b8efaf3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/cb3f10b6-c34c-4b7e-af35-a056675d8ccd.jpg + published: 2021-10-02T02:04:48.044Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A Simple State-Machine Framework for Property-Based Testing in OCaml + description: "Since their inception, state-machine frameworks have proven their + worth by finding defects in everything from the underlying AUTOSAR components + of Volvo cars to digital invoicing systems. These case studies were carried out + with Erlang\u2019s commercia..." + content: https://watch.ocaml.org/videos/watch/08b429ea-2eb8-427d-a625-5495f4ee0fef + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/316ddad9-dbc3-4d46-9f43-5da72689e93b.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: A review of the growth of the OCaml community + description: "" + content: https://watch.ocaml.org/videos/watch/f9d0b637-8aec-4bff-8c32-cd16b58023b6 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/e573402b-1350-4aa7-a9ba-0e1c51198fb4.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'AD-OCaml: Algorithmic Differentiation for OCaml' + description: AD-OCaml is a library framework for calculating mathematically exact + derivatives and deep power series approximations of almost arbitrary OCaml programs + via algorithmic differentiation. Unlike similar frameworks, this includes programs + with side e... + content: https://watch.ocaml.org/videos/watch/c9e85690-732f-4b03-836f-2ee0fd8f0658 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/eb972fd2-668e-4998-a798-e9fbdcadba20.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'API migration: compare transformed' + description: In this talk we describe our experience in using an automatic API-migration + strategy dedicated at changing the signatures of OCaml functions, using the Rotor + refactoring tool for OCaml. We perform a case study on open source Jane Street + libraries ... + content: https://watch.ocaml.org/videos/watch/c46b925b-bd77-404f-ac5d-5dab65047529 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/eef64419-3c34-4c15-9419-edcbc455e54d.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Adapting the OCaml ecosystem for Multicore OCaml + description: "OCaml 5.0 with support for shared-memory parallelism being around + the corner, there\u2019s increasing interest in the community to port existing + libraries to Multicore. This talk will take the attendees through what the arrival + of Multicore means to th..." + content: https://watch.ocaml.org/videos/watch/629b89a8-bbd5-490d-98b0-d0c740912b02 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/41212c84-36d6-44fa-b884-2ced79505929.jpg + published: 2021-08-27T10:18:38.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: An LLVM backend for OCaml + description: "An LLVM backend for OCaml by Colin Benner.\r\n\r\nAs part of my bachelor + thesis I have implemented a new backend for the OCaml nativecode compiler ocamlopt + for the AMD64 architecture. It uses the Low Level Virtual Machine framework (LLVM, + an optimisin..." + content: https://watch.ocaml.org/videos/watch/3ede0b76-e250-4a43-af42-83c394cf4497 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/4dfc2ff3-3c53-4e7c-85ed-907df5b1faff.jpg + published: 2021-10-03T22:23:18.701Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Arakoon - a distributed consistent key-value store + description: "Arakoon - a distributed consistent key-value store, by Nicolas Trangez.\r\n\r\nArakoon + is a simple consistent distributed key value store. Technically, it\u2019s an + OCaml implementation of Multi-Paxos on top of Tokyo Cabinet, using Ocsigen\u2019s + Light Weight T..." + content: https://watch.ocaml.org/videos/watch/5309b701-9def-47a4-8240-8a5b17a70b5a + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5bbbdabf-622b-4496-8d43-7c2515300678.jpg + published: 2021-10-03T22:38:56.202Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Async + description: "Mark Shinwell and David House, Jane Street Europe.\r\n\r\nWe propose + to give a talk about Jane Street's Async library. This is an industrial-strength + library for writing correct concurrent programs without having to think (too hard)." + content: https://watch.ocaml.org/videos/watch/8f50211a-1210-4849-a940-ea6e0bd1e022 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6850a57a-15c1-4f8c-8cdb-b0a818f0bcc4.jpg + published: 2021-10-03T22:25:11.006Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Automatic analysis of industrial robot programs + description: "Automatic analysis of industrial robot programs, by Markus Wei\xDFmann" + content: https://watch.ocaml.org/videos/watch/3cebba55-4032-4de5-93b5-8f3f67c04736 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/480b953a-f17e-498c-9822-c82828ca9c0c.jpg + published: 2021-10-03T22:38:09.817Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Binary Analysis Platform + description: We present Binary Analysis Platform (BAP), a representation-agnostic + program analysis framework for binaries that can leverage existing tools, libraries, + and frameworks, no matter which intermediate representation (IR) they use. In + BAP, a new IR c... + content: https://watch.ocaml.org/videos/watch/8dc2d8d3-c140-4c3d-a8fe-a6fcf6fba988 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/390cd7dd-4578-4162-bae0-6c218cb5ebde.jpg + published: 2021-08-31T08:39:55.774Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Bindoj library, a datatype-centric generative programming library + description: "Introducing the Bindoj library, a datatype-centric generative programming + library for real-world programming in OCaml\r\n\r\nHaochen M. Kotoi-Xie (Kotoi-Xie + Consultancy, Inc.)\r\nHirotetsu Hongo (Kotoi-Xie Consultancy, Inc.)\r\nYuta Sato + (Kotoi-Xie Consul..." + content: https://watch.ocaml.org/videos/watch/69755b27-85b1-4df4-9f01-b771cd15353a + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ae5c8a14-6780-4384-b67c-399f9f233f9b.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Biocaml - the OCaml bioinformatics library + description: Biology is an increasingly computational discipline due to rapid advances + in experimental techniques, especially DNA sequencing, that are generating data + at unprecedented rates. The computational techniques needed range from the complex + (.e.g algo... + content: https://watch.ocaml.org/videos/watch/f9ce30b3-8143-4516-85f1-07c28f6337b2 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/102b2860-a3eb-4afb-adfc-16ee06418028.jpg + published: 2021-10-03T22:15:01.407Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Casually talking about ReScript, OSS, and communities with Patrick Ecker + description: "Patrick (@ryyppy) is working with OSS in ReScript and part of the + core team\r\n\r\nIf you'd like to support the show for more content about OCaml, + Reason and ReScript you can now do so at https://www.patreon.com/emelletv or + by sending any tez amount ..." + content: https://watch.ocaml.org/videos/watch/63a8694b-8911-41cc-8754-4c1cad186d3d + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1d3f35e6-e0aa-4bcf-aa38-39e1d14913ab.jpg + published: 2021-10-20T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Casually talking with Craig Ferguson about OCaml, Mirage, Irmin and more + description: "Craig Ferguson is a software developer at Tarides. Join us in this + episode to talk more about OCaml, MirageOS, Irmin and much more!\r\n\r\nWe are + looking for sponsors! If you'd like to support more content for Ocaml, Reason + and ReScript just send us a..." + content: https://watch.ocaml.org/videos/watch/f3aa87e9-67a1-4569-b154-67d2d185152b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/0d38e0d5-453a-42ca-b4f9-54d0998622e3.jpg + published: 2021-09-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Casually talking with Eduardo Rafael about OCaml, Tezos and probably compilers + description: "Eduardo is a streamer and a tech lead at @Marigold_Dev.\r\nJoin us + in this episode to casually talk about OCaml, Tezos and probably compilers\r\n\r\nIf + you'd like to support the show for more content about OCaml, Reason and ReScript + you can now do so at..." + content: https://watch.ocaml.org/videos/watch/11ab3cbe-38b8-411c-a7aa-994c00f472d8 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ab863370-0e79-417e-b21e-307fbfe9dbd8.jpg + published: 2021-09-24T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Casually talking with Gabriel Radanne about OCaml, meta-programming and much + more + description: "Gabriel \"Drup\" Radanne researcher at Inria in the CASH research + team\r\n\r\nIf you'd like to support the show for more content about OCaml, Reason + and ReScript you can now do so at https://www.patreon.com/emelletv or by sending + any tez amount to emel..." + content: https://watch.ocaml.org/videos/watch/7321d6e6-6573-4c93-9a21-61f2541be4ec + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/d6063608-535c-4a64-bdd7-d9691f2644fa.jpg + published: 2021-11-24T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Casually talking with Hongbo Zhang + description: "Hongbo Zhang (@bobzhang1988), creator of BuckleScript and core maintainer + of ReScript\r\n\r\nEnjoying the video? Please, support the show for more content + about OCaml, Reason and ReScript you can now do so at https://www.patreon.com/emelletv + or by sen..." + content: https://watch.ocaml.org/videos/watch/2f73650f-79f5-44d6-87c1-ced0517c09da + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/475dc63d-9a4a-4f3e-beff-e443c1db24cd.jpg + published: 2022-05-27T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Causally talking with @Dinoosaure about Mirage OS 4.0 + description: "@Dinoosaure (Calascibetta Romain) core dev at Mirage OS\r\n\r\n\r\nIf + you'd like to support the show for more content about OCaml, Reason and ReScript + \ you can now do so at https://www.patreon.com/emelletv or by sending any tez + amount to emelletv.tez (t..." + content: https://watch.ocaml.org/videos/watch/4bddb539-5034-4fe2-b2a9-175260262aac + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/3dbdfa88-e33a-4f16-ab6b-52846ad300b9.jpg + published: 2022-03-31T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Causally talking with Sean Grove about GraphQL, OneGraph and ReasonML + description: "Sean Grove Founder of OneGraph\r\n\r\nIf you'd like to support the + show for more content about OCaml, Reason and ReScript you can now do so at https://www.patreon.com/emelletv + or by sending any tez amount to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6..." + content: https://watch.ocaml.org/videos/watch/f84b4f70-86ca-4918-b6cd-4770051728ba + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9ed5a603-432b-4323-977c-8c8414aa43ca.jpg + published: 2021-12-02T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Composing Schedulers using Effect Handlers + description: "Composing Schedulers using Effect Handlers\r\n\r\nDeepali Ande (IIT + Madras)\r\nKC Sivaramakrishnan (IIT Madras and Tarides)\r\n\r\nOCaml 5 introduces + effect handlers as a mechanism for con- current programming. With effect handlers, + concurrency can be expre..." + content: https://watch.ocaml.org/videos/watch/08ea09a1-e645-47cb-80c4-499dd4d93ac8 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/a3feaba9-56eb-4aa2-aad4-99a3ed77dfc1.jpg + published: 2022-10-20T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Conex -- establishing trust into data repositories + description: Hannes Mehnert, Louis Gesbert at OCaml Workshop 2016 + content: https://watch.ocaml.org/videos/watch/70fbf7db-28dc-4798-b068-460b5d93df4e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/a22ae328-d483-433f-a388-42de0cb29e00.jpg + published: 2016-10-11T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Continuous Benchmarking for OCaml Projects + description: "Regular CI systems are optimised for workloads that do not require + stable performance over time. This makes them unsuitable for running performance + benchmarks.\r\n\r\ncurrent-bench provides a predictable environment for performance + benchmarks and a UI..." + content: https://watch.ocaml.org/videos/watch/1c994370-1aaa-4db6-b901-d762786e4904 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/33ab36c3-3650-4c13-9fea-9b5907cf8c0f.jpg + published: 2021-08-27T11:20:09.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Continuous Monitoring of OCaml Applications Using Runtime Events + description: The upcoming 5.0 release of OCaml includes a new runtime tracing system + designed for continuous monitoring of OCaml applications called Runtime Events. + It enables very low overhead, programmatic access to performance data emitted + by the OCaml runt... + content: https://watch.ocaml.org/videos/watch/299cab02-db94-44ac-b926-ea90ddda1b09 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/fdad6056-bd71-4401-9391-5cb5b4bfa06e.jpg + published: 2022-09-16T11:07:11.073Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: "Copying opam switches \u2013 it should Just Work\u2122" + description: "Copying opam switches \u2013 it should Just Work\u2122\r\n\r\nDavid + Allsopp (Tarides UK)\r\n\r\nOCaml\u2019s ecosystem centres around compilation + from source code, rather than precompiled binaries. The compiler itself is only + provided as a source distribution and OCaml\u2019..." + content: https://watch.ocaml.org/videos/watch/8c1c3fda-0106-4c7d-a794-33da7e758fee + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/485ae080-f057-4f0d-be1e-c88ad2a22ab7.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Coq of OCaml + description: "Coq of OCaml, by Guillaume Claret\r\n\r\nThe CoqOfOCaml project is + a compiler from a subset of the OCaml language to the Coq programming language. + This com- piler aims to allow reasoning about OCaml programs, or to im- port existing + OCaml libraries in..." + content: https://watch.ocaml.org/videos/watch/fc7201df-ec27-4735-a51d-d3170d390346 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/f355df78-a634-408c-952e-73312d8b92e3.jpg + published: 2021-10-02T02:06:52.778Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Core Time stamp counter - A fast high resolution time source + description: "" + content: https://watch.ocaml.org/videos/watch/b6c7860d-e6eb-4404-96c3-917b81ee1f98 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/f4d75771-8394-438f-b8eb-86baff8863d6.jpg + published: 2021-09-11T02:42:33.957Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Core Time stamp counter: A fast high resolution time source' + description: "" + content: https://watch.ocaml.org/videos/watch/75b4d60f-3e37-40bd-b025-f39dcce0c42c + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/43248673-6478-4e96-b8ac-cd415d85569b.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Debugging Native OCaml with Breakpoints and Stepping + description: "" + content: https://watch.ocaml.org/videos/watch/59d2cdd9-3d1e-4a6a-ae0e-ab9ee2882dd3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/723ee60d-2829-462f-b79d-d5174722430c.jpg + published: 2023-07-07T17:18:45.492Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Deductive Verification of Realistic OCaml Code + description: We present the formal verification of a subset of the Set module from + the OCaml standard library. The proof is conducted using Cameleer, a new tool + for the deductive verification of OCaml code. Cameleer takes as input an OCaml + program, annotated u... + content: https://watch.ocaml.org/videos/watch/92309d92-8cbf-4545-980c-209c96e42a79 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/db29d3bf-784c-47f1-bf90-f13fd2a9d530.jpg + published: 2021-08-27T10:33:38.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Demo: Solo5 Unikernel Hosting the MirageOS www-htdocs on a Raspberry Pi' + description: 'A demo showing a Solo5 unikernel hosting the MirageOS www-htdocs on + a Raspberry Pi ' + content: https://watch.ocaml.org/videos/watch/06e1d349-d082-4836-ab39-fb26d0898aae + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9c7c43b9-de1a-440b-a7be-8298ae5f25e2.jpg + published: 2023-09-20T11:27:06.813Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Develop Cross-Platform Software using 2+ Languages + description: "Explore how high school robotics software was developed that works + on Android phones and desktop PCs. Use OCaml alongside common programming languages + like Java and Python.\r\n\r\nDkSDK Subscription: https://diskuv.com/pricing/\r\nLearning + OCaml: https:..." + content: https://watch.ocaml.org/videos/watch/6162e7b7-f2dd-47e6-8133-c4126ce1b508 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/4a50eb98-ab79-4a57-87d9-a55a91654301.jpg + published: 2023-11-16T22:18:27.526Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Digodoc and Docs + description: In this talk, we will introduce a new tool called digodoc, that builds + a graph of an opam switch, associating files, libraries and opam packages into + a cyclic graph of inclusions and dependencies. We will then explain how we used + that tool to buil... + content: https://watch.ocaml.org/videos/watch/db6ed2c4-e940-4d5f-82ee-d3d20eb4ceb7 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/43a418d6-56ec-48f4-852b-0a18ec0789aa.jpg + published: 2021-08-27T12:09:56.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Documenting OCaml + description: 'Documenting OCaml, (Invited Talk: Florian Angeletti)' + content: https://watch.ocaml.org/videos/watch/9f9ea4a5-4d6a-4da5-9080-833b25c26511 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/29f8a1a6-3728-4b27-9cd4-889c70ad1a7d.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: DragonKit - an extensible language oriented compiler + description: DragonKit - an extensible language oriented compiler, by Wojciech Meyer + content: https://watch.ocaml.org/videos/watch/8326a03e-02d5-4b32-8789-b7a76c30cf95 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b9c74825-d374-4afb-9c5f-82cab13c1bb8.jpg + published: 2021-10-03T22:44:22.886Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Effective Concurrency through Algebraic Effects + description: "" + content: https://watch.ocaml.org/videos/watch/e9f6c837-1435-4349-af0f-07d22d1c11ea + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1de58bd2-d2f9-428c-8b8c-97b48d6d2c7e.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: "Efficient \u201Cout of heap\u201D pointers for multicore OCaml" + description: "Efficient \u201Cout of heap\u201D pointers for multicore OCaml\r\n\r\nGuillaume + Munch-Maccagnoni (INRIA)\r\n\r\nThis paper reports an experiment with a large + pages allocator for the OCaml runtime, with measured performance improvements. + A large pages allocator (als..." + content: https://watch.ocaml.org/videos/watch/0aa64600-b142-4c11-964d-dab8d509d08f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/f6850c67-39bc-45b4-bf00-8e6238baa413.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Ephemerons meet OCaml GC + description: " Ephemerons meet OCaml GC, by Fran\xE7ois Bobot\r\n\r\nGarbage collectors + (GCs) manage the memory for the programmers and help to ensure the safety of the + programs by freeing memory only when it cannot be used anymore. GCs detect that + a memory block can\u2019..." + content: https://watch.ocaml.org/videos/watch/556c8f75-b456-43a3-b9cb-97ae35b82072 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/f03f27d0-ca66-40b3-938d-65230885cd85.jpg + published: 2021-10-02T02:09:19.827Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Episode3-Youtube + description: "Everything you need to know to install and use the DkML distribution + of OCaml on Windows. Includes a 5-minute quick install for learners. Includes + how to setup projects and configuring IDEs for software creators/engineers.\r\n\r\nAt + the time of this v..." + content: https://watch.ocaml.org/videos/watch/4d2578c2-20bf-4cd7-9256-b0eb49716009 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/669c9550-883a-4610-8450-504b172762ed.jpg + published: 2023-12-08T12:14:13.996Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Experiences with Effects in OCaml + description: The multicore branch of OCaml adds support for effect handlers. In + this talk, we report our experiences with effects, both from converting existing + code, and from writing new code. Converting the Angstrom parser from a callback + style to effects gr... + content: https://watch.ocaml.org/videos/watch/74ece0a8-380f-4e2a-bef5-c6bb9092be89 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/d48bf7bb-8c46-4d49-a3a6-734bf339343b.jpg + published: 2021-08-27T14:41:07.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Experiments in Generic Programming + description: "Experiments in generic programming: runtime type representation and + implicit values, by Pierre Chambart & Gr\xE9goire Henry" + content: https://watch.ocaml.org/videos/watch/5ae26b10-9a5d-4395-89c6-a2e28e68d206 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b1e66943-a372-4909-a8f6-70470546e69d.jpg + published: 2021-10-03T22:40:53.446Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Extending OCaml's `open` + description: 'Speaker: Runhang Li' + content: https://watch.ocaml.org/videos/watch/8d5a83f5-ad98-4f45-9259-c84194134c20 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/e89d8c31-6100-4b14-97af-8bb02519dc86.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: From 2n+1 to n + description: "\r\nOCaml relies on a type-agnostic object representation centred + around values which unify odd integers and aligned pointers. The last bit of a + value distinguishes the two variants: zero indicates a pointer on the OCaml heap, + while one encodes a ta..." + content: https://watch.ocaml.org/videos/watch/74b32dae-11c6-4713-be1b-946260196e50 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/a2042ab9-9025-421a-9eae-176462ac594b.jpg + published: 2021-08-31T08:30:23.211Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Generic Programming in OCaml + description: Florent Balestrieri, Michel Mauny + content: https://watch.ocaml.org/videos/watch/0aae98b9-3d0c-427b-af09-802b671dd66e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/55fba346-262d-4925-841d-dad58e694467.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Genspio: Generating Shell Phrases in OCaml' + description: 'Speaker: Sebastien Mondet' + content: https://watch.ocaml.org/videos/watch/9a7bf8cc-38c5-4f67-ab25-0ea1388100d3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5c63a3fd-40fe-45e8-849e-6b0876ab915a.jpg + published: 2018-01-02T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Github Pull Requests for OCaml development - a field report + description: "Github Pull Requests for OCaml development - a field report, by Gabriel + Scherer\r\n\r\nOn 2014/01/30, we started an experiment allowing users to submit + and discussion patches to the OCaml distribution on its Github mirror rather than + through the exist..." + content: https://watch.ocaml.org/videos/watch/f0021d24-9104-4672-a363-de5c1c514c2e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6f0ed101-6c6f-4380-8a98-118ba6783fff.jpg + published: 2021-10-02T02:09:58.770Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Global Semantic Analysis on OCaml programs + description: "" + content: https://watch.ocaml.org/videos/watch/51e4bdf0-50f7-4b13-8514-2d62b5341066 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/8255d370-e621-44bc-b7c3-6dd39fab4d1d.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'GopCaml: A Structural Editor for OCaml' + description: "This talk presents GopCaml-mode, the first structural editing plugin + for OCaml. We will give a tour of the main plugin features, discussing the plugin\u2019s + internal design and its integration with existing OCaml and GNU Emacs toolchains.\r\n\r\nKiran + Gop..." + content: https://watch.ocaml.org/videos/watch/e0a6e6f2-0d40-4dfc-9308-001c8e0f64d6 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/729cda51-abb3-4c8d-9d0e-b922e81be518.jpg + published: 2021-08-27T10:12:58.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: High Performance Client-Side Web Programming with SPOC and Js of ocaml + description: "High Performance Client-Side Web Programming with SPOC and Js of ocaml + - by Mathias Bourgoin and Emmmanuel Chailloux (Universit\xE9 Pierre et Marie Curie)\r\n\r\nWe + present WebSpoc, an OCaml GPGPU library targeting web applications that is built + upon SPO..." + content: https://watch.ocaml.org/videos/watch/9e68174a-5c92-41f1-abdf-387a6cca7cf1 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9cdceddf-7460-4843-acdd-99bdf0315732.jpg + published: 2021-10-02T02:49:14.435Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Highest-performance Stream Processing + description: "Highest-performance Stream Processing\r\n\r\nOleg Kiselyov (Tohoku + University, Japan)\r\nTomoaki Kobayashi (Tohoku University)\r\nAggelos Biboudis + (Oracle)\r\nNick Palladinos (Nessos Information Technologies, SA)\r\n\r\nWe present + the stream processing library ..." + content: https://watch.ocaml.org/videos/watch/c75ed758-d513-4453-af68-c50c1d9a1469 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/129a91d7-e8d1-4eba-97ad-17d1f160f69a.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Homogeneous builds with OBuilder and OCaml + description: "Homogeneous builds with OBuilder and OCaml\r\n\r\nTim McGilchrist + (Tarides)\r\nDavid Allsopp (Tarides UK)\r\nPatrick Ferris (Tarides)\r\nAntonin + D\xE9cimo (Tarides)\r\nThomas Leonard (Tarides UK)\r\nAnil Madhavapeddy (University + of Cambridge, UK)\r\nKate Deplaix (Ta..." + content: https://watch.ocaml.org/videos/watch/29055525-2b0f-4f00-a0a0-26c9d4e97f9c + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/50176590-0805-4125-ae46-7555c5d69474.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Implementing an interval computation library for OCaml + description: "Implementing an interval computation library for OCaml, by Jean-Marc + Alliot, Charlie Vanaret, Jean-Baptiste Gotteland, Nicolas Durand and David Gianazza.\r\n\r\nIn + this paper we present two implementation of interval arithmetics for Ocaml on + x86/amd64..." + content: https://watch.ocaml.org/videos/watch/e228951b-f544-4bd6-892a-2aca7e2065f9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1a0f9278-1e15-45c8-b7ae-ee882f4a3360.jpg + published: 2021-10-03T22:21:59.398Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Improving Type Error Messages in OCaml + description: "Improving Type Error Messages in OCaml, by Arthur Chargu\xE9raud (INRIA + & Universit\xE9 Paris Sud)\r\n\r\nCryptic type error messages are a major obstacle + to learning OCaml. In many cases, error messages cannot be interpreted with- out + a sufficiently-precis..." + content: https://watch.ocaml.org/videos/watch/9fa54aee-6b2f-492f-abbe-51affc07ec24 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/0522b690-1b00-4c83-b30a-9d7437b953f9.jpg + published: 2021-10-02T02:52:41.884Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Improving the OCaml web stack + description: Spiridon Eliopoulos + content: https://watch.ocaml.org/videos/watch/513a2157-6844-4823-bef7-b26f3b635fbe + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/4a3d2057-bb16-4bfd-bdcf-2e6ea3c0345b.jpg + published: 2016-10-08T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Inline Assembly in OCaml + description: "Inline Assembly in OCaml \u2014 by Vladimir Brankov" + content: https://watch.ocaml.org/videos/watch/736857f3-99d9-46fb-9b4a-92eba42b2672 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/db12715d-3333-4568-80f6-e41edc813e1b.jpg + published: 2021-10-02T01:45:22.792Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Inline Assembly in OCaml + description: "" + content: https://watch.ocaml.org/videos/watch/632f520f-8f83-4b6f-89f1-5cde088436c7 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5d2f65d1-6129-4206-832b-c3d4bab410df.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Introduction to 0install + description: "Introduction to 0install by Thomas Leonard\r\n\r\n0install (pronounced + \u201CZero Install\u201D) is a decentralised cross-platform package manager. \u201CDecentralised\u201D + means that organisations and individuals can host their software in their own + package repositorie..." + content: https://watch.ocaml.org/videos/watch/21a21c83-a35d-4c09-b13c-8f060590c45c + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/64211d01-b071-4755-a1ba-abf86f7800c8.jpg + published: 2021-10-02T02:54:53.718Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Introduction to Eio by Thomas Leonard + description: This talk introduces the Eio library, a replacement for Lwt that uses + the new effects and multicore features in OCaml 5. It was an internal tech talk + given at Tarides, but we later decided to share it more widely. + content: https://watch.ocaml.org/videos/watch/02a7accc-2a2c-44d5-889e-d75e1489946e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/bdc3ee5c-9c6f-4f8c-8ab8-b292767777e2.jpg + published: 2023-03-03T09:36:03.399Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Irmin v2 + description: 'Irmin is an OCaml library for building distributed databases with + the same design principles as Git. Existing Git users will find many familiar + features: branching/merging, immutable causal history for all changes, and the + ability to restore to an...' + content: https://watch.ocaml.org/videos/watch/53e497b0-898f-4c85-8da9-39f65ef0e0b1 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/138e7c05-185b-4e54-95d0-d15018905a39.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Irminsule - a branch-consistent distributed library database + description: "" + content: https://watch.ocaml.org/videos/watch/5546bb89-93a3-4407-a810-2d437479025f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/bdca687f-b58e-4167-b7d3-86daacaf4395.jpg + published: 2021-10-03T21:56:52.709Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Ketrew and Biokepi + description: "" + content: https://watch.ocaml.org/videos/watch/f3dcee35-bc04-453a-ba35-7aec90599661 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/0a36e8ce-c415-4191-ad5b-6ef2eb23db4e.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Learning OCaml: An Online Learning Centre for OCaml' + description: "Learn OCaml: An Online Learning Center for OCaml, by Benjamin Canou, + Gr\xE9goire Henry, \xC7agdas Bozman and Fabrice Le Fessant.\r\n\r\nWe present + Learn OCaml, a Web application that packs a set of learning activities for people + who want to learn OCaml. It ..." + content: https://watch.ocaml.org/videos/watch/ea643e64-2393-4c24-9ccf-7216e3ded2ce + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c1911047-e6b0-4673-b0ed-8716533cd601.jpg + published: 2021-10-09T00:16:14.033Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Leveraging Formal Specifications to Generate Fuzzing Suites + description: "When testing a library, developers typically first have to capture + the semantics they want to check. They then write the code implementing these + tests and find relevant test cases that expose possible misbehaviours.\r\n\r\nIn + this work, we present a t..." + content: https://watch.ocaml.org/videos/watch/d9a36c9f-1611-42f9-8854-981b1e2d7d75 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/e5d18bd4-b482-463c-80f8-35d9fbb46b23.jpg + published: 2021-08-27T10:40:06.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: LexiFi Runtime Types + description: OCaml programmers make deliberate use of abstract data types for composing + safe and reliable software systems. The OCaml compiler relies on the invariants + imposed by the type system to produce efficient and compact runtime data representations. + Be... + content: https://watch.ocaml.org/videos/watch/cc7e3242-0bef-448a-aa13-8827bba933e3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1d43d8b4-87d1-4398-b925-10a42460b8dc.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: LibreS3 - design, challenges, and steps toward reusable libraries + description: "" + content: https://watch.ocaml.org/videos/watch/c1b00980-3a4f-4222-b539-392815f7954f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ee8640c9-d827-498b-8e20-bed53e7481f7.jpg + published: 2021-10-03T21:57:39.057Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Lock free programming for the masses + description: KC Sivaramakrishnan and Theo Laurent at OCaml Workshop 2016 + content: https://watch.ocaml.org/videos/watch/4435adfc-e97e-42c5-8bb7-1578bd76e42b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1dc20eb1-2898-48ff-bf3f-544c775b392e.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Love: a readable language interpreted by a blockchain' + description: We present Love, a smart contract language embedded in the Dune Network + blockchain. It benefits from an OCaml-like syntax and a system-F inspired type + system. Love has been used for deploying complex services such as games, ERC20s, + atomic swaps, e... + content: https://watch.ocaml.org/videos/watch/d3b2b31e-1739-406e-8de7-d5f21bc01836 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/93a6e9ac-2266-408a-81e7-1ebf239233f8.jpg + published: 2021-08-27T15:10:17.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Memo: an incremental computation library that powers Dune' + description: "Memo: an incremental computation library that powers Dune\r\n\r\nAndrey + Mokhov (Jane Street)\r\nArseniy Alekseyev (Jane Street)\r\n\r\nWe present Memo, + an incremental computation library that supports a new, faster and more scalable, + file-watching build mod..." + content: https://watch.ocaml.org/videos/watch/d6a126b9-05f6-4b0f-ac6b-ad14d9bf12c9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/7594e9b6-ab48-47dd-9da7-5b42c5a4a24f.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Multicore OCaml + description: "Multicore OCaml, by Stephen Dolan, Leo White, Anil Madhavapeddy (University + of Cambridge).\r\n\r\nCurrently, threading is supported in OCaml only by means + of a global lock, allowing at most thread to run OCaml code at any time. We present + ongo- ing wo..." + content: https://watch.ocaml.org/videos/watch/490b5363-01b6-45d8-9b7e-c883a20026a1 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/07162af4-06f9-4d3c-954a-4c35dc87fd21.jpg + published: 2021-10-03T21:59:49.549Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Multicoretests - Parallel Testing Libraries for OCaml 5.0 + description: "Multicoretests - Parallel Testing Libraries for OCaml 5.0\r\n\r\nJan + Midtgaard (Tarides)\r\nOlivier Nicole (Tarides)\r\nNicolas Osborne (Tarides)\r\n\r\nParallel + and concurrent code is notoriously hard to test because of the involved non-determinism, + yet it i..." + content: https://watch.ocaml.org/videos/watch/c844f844-acc1-4a8a-944e-4d99343a89c5 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1cc87793-9cec-454a-905b-1c52a97776fd.jpg + published: 2022-10-20T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: New contributors to OCaml, an invited talk + description: "New Contributors talk, Invited Talk: S\xE9bastien Hinderer" + content: https://watch.ocaml.org/videos/watch/8fe8d294-ae8c-4f55-9750-c69fabfc8d34 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/22f3201e-98a3-4172-863b-bca26d356a11.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Nullable Type Inference + description: "Nullable Type Inference, by Michel Mauny and Beno\xEEt Vaugon\r\n\r\nWe + present type inference algorithms for nullable types in ML-like programming languages. + Starting with a sim- ple system, presented as an algorithm, whose only inter- + est is to introdu..." + content: https://watch.ocaml.org/videos/watch/380b1c2e-6298-49fc-88a1-c440ece29c76 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/460d1b9a-8dfe-477c-b8a9-9b44f9be104d.jpg + published: 2021-10-03T22:00:18.779Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OCaml Companion Tools + description: "OCaml Companion Tools, by Xavier Clerc.\r\n\r\nThe objective of this + talk is to present several tools that aim to ease the development of software + written with the OCaml language. These tools are particularly suited to help the + developer during the de..." + content: https://watch.ocaml.org/videos/watch/4583b254-82f9-4176-9f39-2bc0bb6a9c22 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/491ac4a3-8274-4f0d-9897-d88eece06dc4.jpg + published: 2021-10-03T22:45:24.958Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml Under The Hood: SmartPy' + description: SmartPy is a complete system to develop smart-contracts for the Tezos + blockchain. It is an embedded EDSL in python to write contracts and their test + scenarios. It includes an online IDE, a chain explorer, and a command-line interface. + Python is us... + content: https://watch.ocaml.org/videos/watch/7446ad4d-4ae2-4e1a-bc38-af8f71e8ebd8 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/e1ac5b07-3648-40c1-b62c-5e88471741dc.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml and Python: Getting the Best of Both Worlds' + description: In this talk we present how we expose a wide variety of OCaml libraries + and services so that they can be accessed from Python. Our initial use case on + the Python side consisted in Jupyter notebooks used to analyse various datasets, + these datasets ... + content: https://watch.ocaml.org/videos/watch/9eafdb1e-9be9-4a52-98b4-f4696eda4c18 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/53db83d1-0763-4dfa-a087-cce3cad1b581.jpg + published: 2021-08-27T10:16:54.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml behind the scenes: Exceptions' + description: "In this talk, Fabrice Buoro explained what happens at the deepest + level when your OCaml program raises or catches an exception. This inside knowledge + will lead to a number of takeaways for best performance.\r\n\r\nSlides and sources + can be found at ht..." + content: https://watch.ocaml.org/videos/watch/eed144f1-23c7-4c78-a34e-850dd57225cc + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/754cfd8c-e24e-41d3-a73a-7151f70c58d1.jpg + published: 2022-11-18T10:00:51.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml inside: a drop in replacement for libtls' + description: "Enguerrand Decorne, Jeremy Yallop, David Kaloper Mer\u0161injak" + content: https://watch.ocaml.org/videos/watch/68a11315-f7ca-4c0e-a043-98008694671d + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ce1396e3-29f7-4419-8817-fd3d1d6eadc4.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OCaml on Windows in 2017 + description: 'OCaml on Windows, Invited Talk: David Allsopp' + content: https://watch.ocaml.org/videos/watch/efbfd4c3-8e73-464b-a14c-c8de9f58a984 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/102d80ec-67b4-41a5-9905-70d63a68b4ad.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml-CI : A Zero-Configuration CI' + description: "OCaml-CI\n\nis a CI service for OCaml projects. It\nuses metadata + from the project\u2019s opam and dune\nfiles to work out what to build, and uses + caching\nto make builds fast. It automatically tests projects\nagainst multiple + OCaml versions and OS platforms..." + content: https://watch.ocaml.org/videos/watch/0fee79e8-715a-400b-bfcc-34c3610f4890 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/596f39a9-8654-4922-8bec-6e7ac5dcc319.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'OCaml-CI : A Zero-Configuration CI' + description: "OCaml-CI1 is a CI service for OCaml projects. It uses metadata from + the project\u2019s opam and dune files to work out what to build, and uses caching + to make builds fast. It automatically tests projects against multiple OCaml versions + and OS platforms..." + content: https://watch.ocaml.org/videos/watch/da88d6ac-7ba1-4261-9308-d03fe21e35b9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1c22a14e-f067-4d4e-8e26-027cc6d8a491.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OCamlCC - raising low-level byte code to high-level C + description: "OCamlCC - raising low-level byte code to high-level C, by Michel Mauny + Beno\xEEt Vaugon\r\n\r\nWe present preliminary results about OCamlCC, a compiler + producing native code from OCaml bytecode executables, through the generation + of C code.\r\n" + content: https://watch.ocaml.org/videos/watch/c31ec9fa-7c65-46f5-bbc9-77c6ac87bf0b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/d1a815bb-e8ed-4d99-808a-a78d1f512712.jpg + published: 2021-10-03T22:17:09.763Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OCamlOScope - a New OCaml API Search + description: '[OCamlOScope](http://ocamloscope.herokuapp.com) is a new search engine + for OCaml programming. Tons of OCaml library packages, modules, types, constructors, + functions and values can be searched via simple string queries.' + content: https://watch.ocaml.org/videos/watch/c3e3cf25-0fa7-46ad-b0bf-f313bad7142d + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/486bbc91-0e44-4024-99e1-61326e1c95af.jpg + published: 2021-10-03T22:01:54.239Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OCamlPro - promoting OCaml use in industry + description: OCamlPro exists with the mission of promoting the successful use of + OCaml in industry. OCamlPro builds a professional environment for the development + of OCaml applications, including IDE integration, development tools and services. + These include t... + content: https://watch.ocaml.org/videos/watch/dbf5a276-460c-45f4-b488-924cec7db3aa + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b00f092f-2b96-4623-b55b-ed5e505f4d76.jpg + published: 2021-10-03T22:34:20.640Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: OPAM - an OCaml Package Manager + description: OPAM - an OCaml Package Manager, by Thomas Gazagnaire. + content: https://watch.ocaml.org/videos/watch/3ff87a10-3785-41e6-ba47-acab21fcfa8a + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c4083614-edd9-445f-85a4-e2ae470c761e.jpg + published: 2021-10-03T22:42:00.207Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: "Ocsigen: Developing Web and mobile applications in OCaml \u2013 J\xE9r\xF4me + Vouillon & Vincent Balat" + description: This presentation gives an overview of the Ocsigen framework, which + is used in particular to develop the Be Sport social network. Ocsigen is a set + a tools to develop Web sites and applications. Amongst other things, it contains + js_of_ocaml, a comp... + content: https://watch.ocaml.org/videos/watch/c9237937-9145-443c-9a78-d3ab20d2c932 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/2dd76a3b-cfca-4ad5-b1fd-d2c60d9588b7.jpg + published: 2024-01-23T10:29:15.683Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Ocsigen_Eliom - the state-of-the-art and the prospects + description: 'Ocsigen/Eliom: The state of the art, and the prospects, by Benedikt + Becker and Vincent Balat' + content: https://watch.ocaml.org/videos/watch/d010b30f-61d5-4d70-b10a-518a7a6e1e3f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/7b044637-259c-4b30-875b-4c4563ce23aa.jpg + published: 2021-10-03T22:15:47.662Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Opam-bin: Binary Packages with Opam' + description: In this talk, we will present opam-bin, an Opam plugin that builds + Binary Opam packages on the fly, to speed-up reinstallation of pack- ages. opam-bin + also creates Opam Repositories for these binary pack- ages, to make them easy + to share with othe... + content: https://watch.ocaml.org/videos/watch/a889e4d3-0508-4734-b667-7060b0a253cd + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b2325a24-f068-473b-961e-a0b783ae5c39.jpg + published: 2021-08-27T15:01:40.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Operf - Benchmarking the OCaml Compiler + description: "Operf: Benchmarking the OCaml Compiler \u2014 by Pierre Chambart, + Fabrice Le Fessant, Vincent Bernardoff" + content: https://watch.ocaml.org/videos/watch/eb229518-1108-46bd-b8b2-3ce8b886c96f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6f55ff79-72d5-4492-b824-8464783f31c2.jpg + published: 2021-09-11T02:11:32.589Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Operf: Benchmarking the OCaml Compiler' + description: "" + content: https://watch.ocaml.org/videos/watch/5a4a6c12-3cb1-40d2-a663-25f294e12555 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c2b5c90a-9c9e-4058-94a1-15525795a01a.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Outreachy Presentations for the December 2021 Round + description: The OCaml community participated in the December 2021 round of [Outreachy](https://www.outreachy.org/) + internships. Three interns worked on a range of projects including OCaml's pre-processor + ecosystem (PPX), a metrics system for the new ocaml.org... + content: https://watch.ocaml.org/videos/watch/70610574-f213-4368-b4ae-8f7d44094883 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c4712995-fb5d-4cbc-884e-88cd025772f6.jpg + published: 2023-03-07T16:12:57.251Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Outreachy Presentations for the December 2022 Round + description: "The OCaml community participated in the December 2022 round of [Outreachy](https://www.outreachy.org/) + internships. We had one intern work on a TopoJSON parsing library.\r\n\r\nThis + meeting was an opportunity for the interns to present their work and ..." + content: https://watch.ocaml.org/videos/watch/c1151157-94fa-4fac-8ef1-c6b6ce349970 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/bc2ce81f-16c2-42c2-bb2c-7d44f36296bb.jpg + published: 2023-03-07T16:04:16.313Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Outreachy Presentations for the December 2023 Round + description: The OCaml community participated in the December 2023 round of [Outreachy](https://www.outreachy.org/) + internships. Three interns worked on a range of projects including geometric creative + coding libraries, dark mode for OCaml.org and building GUI... + content: https://watch.ocaml.org/videos/watch/51e22e39-a000-460d-9d2e-1d6ee2aab1ad + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/502150ad-d17b-4b52-8031-f0fe478eeaae.jpg + published: 2024-03-08T17:55:29.637Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Outreachy Presentations for the May 2022 Round + description: "The OCaml community participated in the May 2022 round of [Outreachy](https://www.outreachy.org/) + internships. Two interns worked on a range of projects including Multicore OCaml + benchmarks and TopoJSON parsing libraries.\r\n\r\nThis meeting was an op..." + content: https://watch.ocaml.org/videos/watch/f2a11bb2-a28f-4e59-a5de-4f5055fb90c1 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/89cf6dcb-72dc-4f09-ac70-8a814b808f7b.jpg + published: 2023-03-07T16:05:33.751Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Outreachy Presentations for the May 2023 Round + description: 'The OCaml community participated in the May 2023 round of Outreachy + internships. Three interns worked on a range of projects including: MIDI over + ethernet, persistent storage in MirageOS and improving error reporting in existing + ppxlib-based ppxs....' + content: https://watch.ocaml.org/videos/watch/a10f4f85-d176-4f69-9ca9-1651c9262a74 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6fc5ecb9-611c-4e2c-b362-de67eb0d89b1.jpg + published: 2023-09-18T13:15:08.648Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Owl: A General-Purpose Numerical Library in OCaml' + description: 'Speaker: Liang Wang' + content: https://watch.ocaml.org/videos/watch/d258fa91-ddb6-40d8-96de-e9ac97e8c899 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/70430102-7697-48eb-85e0-9d76fb712a94.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Parafuzz: Coverage-guided Property Fuzzing for Multicore OCaml programs' + description: "We develop ParaFuzz, an input and concurrency fuzzing tool for Multicore + OCaml programs. ParaFuzz builds on top of Crowbar which combines AFL-based grey + box fuzzing with QuickCheck and extends it to handle parallelism.\r\n\r\nSumit + Padhiyar\r\nIndian In..." + content: https://watch.ocaml.org/videos/watch/c0d591e0-91c9-4eaa-a4d7-c4f514de0a57 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b1a67c0a-2eb9-4c9d-97ce-b4dc039da59b.jpg + published: 2021-08-27T10:36:13.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Parallelising your OCaml Code with Multicore OCaml + description: 'Slides, speaker notes and runnable examples mentioned in this talk + are available at: https://github.com/ocaml-multicore/ocaml2020-workshop-parallel + + + With the availability of multicore variants of the recent OCaml versions (4.10 + and 4.11) that main...' + content: https://watch.ocaml.org/videos/watch/ce20839e-4bfc-4d74-925b-485a6b052ddf + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/30bc6019-ecab-40e5-a7b6-c294ac9a7344.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Persistent Networking with Irmin and MirageOS + description: "" + content: https://watch.ocaml.org/videos/watch/97dd9634-28e4-4066-96e4-9c2036ee4bb2 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/46ba8c5d-0f4a-427e-8e76-0c58cb0e70a7.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Presenting Core + description: "Presenting Core, by Yaron Minsky\r\n\r\nCore is Jane Street's alternative + to the OCaml standard library. The need for\r\nan alternative to the standard + library is clear: OCaml's standard library is\r\nwell implemented, but it's narrow + in scope, and somewh..." + content: https://watch.ocaml.org/videos/watch/3159e115-948e-4f67-9d45-403bef003c35 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/61fe2572-358b-4110-9748-485a2e3ceffa.jpg + published: 2021-10-03T23:08:42.826Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Probabilistic resource limits using StatMemprof + description: The goal of this talk is two-fold. First, we present memprof-limits, + a probabilistic implementation of per-thread global memory limits, and per-thread + allocation limits, for OCaml 4.12. Then, we will discuss the reasoning about programs + in the pre... + content: https://watch.ocaml.org/videos/watch/bc297e85-82dd-4baf-8556-4a3a934978f9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9b4dc06e-1d07-45b8-a21a-1e4f39897fef.jpg + published: 2021-08-27T11:08:12.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Programming the Xen cloud using OCaml + description: "Programming the Xen cloud using OCaml by David Scott, Anil Madhavapeddy + and Richard Mortier.\r\n\r\nThe Xen Cloud Platform (XCP)1 is an open-source software + distribution that converts clusters of physical computers into many virtual machines, + all isol..." + content: https://watch.ocaml.org/videos/watch/360f8fe3-3268-44da-a0c4-b37c26aa7e36 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/90298af3-37a4-4420-9e3c-b30cb1369559.jpg + published: 2021-10-03T22:29:04.690Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Property-Based Testing for OCaml through Coq + description: We will present a property-based testing framework for OCaml that leverages + the power of QuickChick, a popular and mature testing plugin for the Coq proof + assistant, by automatically constructing a extraction-based shim between OCaml + and Coq. That... + content: https://watch.ocaml.org/videos/watch/9324fba4-2482-4bab-bfdd-b8881b3ed94a + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/d7e22bba-cda1-4c2b-9368-9b2c1643e751.jpg + published: 2021-08-31T08:37:00.571Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'R&B: Towards bringing functional programming to everyday''s web programmer' + description: 'Speaker: Hongbo Zhang' + content: https://watch.ocaml.org/videos/watch/af37368d-085d-431d-923f-cd1d81dfdbe9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/fd4bd408-ae52-4dee-aedf-5aab29c35179.jpg + published: 2018-11-26T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Real-world debugging in OCaml + description: Real-world debugging in OCaml, by Mark Shinwell + content: https://watch.ocaml.org/videos/watch/a8f4cf6b-9971-484b-ab5b-34a16fde1185 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ea912a23-6e8b-40ec-ac45-81af2d01617a.jpg + published: 2021-10-03T22:35:41.668Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Relit: Implementing Typed Literal Macros in Reason' + description: 'Speaker: Charles Chamberlain' + content: https://watch.ocaml.org/videos/watch/f75acae0-c24d-4d19-958e-0c76ff51603f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5ef79cb1-000b-425f-8a42-4e1f67219636.jpg + published: 2018-11-26T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Safe Protocol Updates via Propositional Logic + description: "If values of a given type are stored on disk, or are sent between + different executables, then changing that type or its serialization can result + in versioning issues.\r\nOften such issues are resolved by either making the deserializer + more permissiv..." + content: https://watch.ocaml.org/videos/watch/c6176f51-0277-46f0-937b-1e2721044492 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/a89a3483-274a-44f1-9a38-c679f6b12196.jpg + published: 2021-08-31T08:34:54.707Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Semantics for the Lambda intermediate language + description: Pierre Chambart + content: https://watch.ocaml.org/videos/watch/90d9b62f-f9d6-4dd5-a7fc-f584e45ef0b7 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/22e1eac2-83d4-4af4-a5c2-0852afbee4eb.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Semgrep : a fast, lightweight, polyglot static analysis tool to find bugs' + description: "Semgrep, which stands for \u201Csemantic grep,\u201D is a fast, lightweight, + polyglot, open source static analysis tool to find bugs and enforce code standards. + It is used internally by many companies including Dropbox and Snowflake. Semgrep + is also now use..." + content: https://watch.ocaml.org/videos/watch/c0d07213-1426-46a1-98e0-0b0c4515c841 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/2ab3961f-4e66-4ec9-b20e-72e25dfbebe4.jpg + published: 2021-08-31T08:41:15.492Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Simple, efficient, sound-and-complete combinator parsing + description: This proposal describes a parsing library that is based on current + work due to be published as Simple, efficient, sound and complete combinator parsing + for all context-free grammars, using an oracle. + content: https://watch.ocaml.org/videos/watch/7a0a6d3c-dad0-4fe8-9c35-78cbfbd431d9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/fbc3103b-30f2-45d9-85ce-95732b8e7f74.jpg + published: 2021-10-03T22:03:25.164Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Specialization of Generic Array Accesses After Inlining + description: "Specialization of Generic Array Accesses After Inlining \u2014 by + Ryohei Tokuda, Eijiro Sumii, Akinori Abe" + content: https://watch.ocaml.org/videos/watch/515689cc-4736-4e1e-9f9f-be363b4551af + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/01724d60-213c-4570-8db2-26a555304d3d.jpg + published: 2021-10-02T01:42:07.586Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Specialization of Generic Array Accesses After Inlining + description: "" + content: https://watch.ocaml.org/videos/watch/80553916-b90a-4641-93c8-35b000df04c1 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/1f81fbbf-6fb0-4047-93a1-57759431166a.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Stack allocation for OCaml + description: "Stack allocation for OCaml\r\n\r\nStephen Dolan (Jane Street)\r\nLeo + White (Jane Street)\r\n\r\nAllocating values on a stack instead of the garbage + collected heap can improve performance by improving cache locality and avoiding + GC pauses. However, it requir..." + content: https://watch.ocaml.org/videos/watch/6c86b050-334b-4a11-bb04-c347a6e57215 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/51391b6c-3323-4a30-abb0-2c7990b3b5db.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: State of the OCaml Platform + description: "" + content: https://watch.ocaml.org/videos/watch/390ce74c-f85f-477d-8f20-504437409add + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/33258292-009b-42ee-83d3-9eb4bfb4e048.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: State of the OCaml Platform 2017 + description: Anil Madhavapeddy + content: https://watch.ocaml.org/videos/watch/3940b98a-6b33-41f7-b0e7-4b7ae5ec2b4b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/241e14b9-6e25-4eda-bf95-9d33074666bc.jpg + published: 2018-01-12T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: State of the OCaml Platform 2020 + description: 'This talk covers: + + + - Integrated Development Environments + + - Next Steps for the OCaml Platform + + - Plans for 2020-2021' + content: https://watch.ocaml.org/videos/watch/0e2070fd-798b-47f7-8e69-ef75e967e516 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/4fd6a51f-686c-4f6f-8026-83692304b432.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Study of OCaml programs' memory behaviour + description: "Study of OCaml programs\u2019 memory behaviour, by \xC7agdas Bozman, + Thomas Gazagnaire, Fabrice Le Fessant and Michel Mauny.\r\n\r\nIn this paper, + we present a preliminary work on new memory profiling tool and others, to help + us to understand memory behaviour." + content: https://watch.ocaml.org/videos/watch/180ee1ea-6fa8-4dba-aa69-e3901cc3147f + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/09ec226c-3670-47b3-b944-94684cf86d36.jpg + published: 2021-10-03T22:19:07.925Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'SundialsML: interfacing with numerical solvers' + description: 'Timothy Bourke, Jun Inoue, Marc Pouzet ' + content: https://watch.ocaml.org/videos/watch/3a00e727-45da-4c4a-a446-927cb28bb6bc + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/7ca45ca6-3fe4-4429-b7da-56ab18f3210f.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Supporting FLAT concepts in Learn-OCaml + description: "Supporting FLAT concepts in Learn-OCaml: seeing is believing, programming + is understanding\r\n\r\nArtur Miguel Dias (NOVA University of Lisbon and NOVA + LINCS)\r\nSim\xE3o Melo de Sousa (Universidade da Beira Interior and NOVA LINCS)\r\nAntonio + Ravara (NOVA L..." + content: https://watch.ocaml.org/videos/watch/aa552395-666e-4394-a42f-faaa6f3da92c + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/3508c107-3f53-4000-b4d6-15ccfb72f070.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Supporting a decade of opam + description: "Supporting a decade of opam\r\n\r\nDavid Allsopp (Tarides UK)\r\nRaja + Boujbel (OCamlPro)\r\nKate Deplaix (Tarides UK)\r\nLouis Gesbert (OCamlPro)\r\n\r\nOPAM + 1.2 was released in 2014. It was four years before opam 2.0 succeeded it, and + another three for opam 2...." + content: https://watch.ocaml.org/videos/watch/039f1096-a63c-4a88-af4b-dcc48791d723 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9443d37b-6a7a-4a90-ac14-48520c1ab0c7.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Talking with Anil Madhavapeddy about OCaml, Tezos and @TrustedCarbon + description: "Anil Madhavapeddy (@avsm), the face of OCaml\r\n\r\nIf you'd like + to support the show for more content about OCaml, Reason and ReScript you can + now do so at https://www.patreon.com/emelletv or by sending any tez amount to + emelletv.tez (tz1bQHQKT4BSoE..." + content: https://watch.ocaml.org/videos/watch/90e15dba-5a27-4897-a5fb-36bf32a01dd7 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/47fb3b16-4ca7-4526-8b51-5dc1537b7e48.jpg + published: 2022-04-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: "Talking with Ant\xF3nio Monteiro about Melange, Esy, Reason, OCaml and + more" + description: "If you would like to sponsor the show contact https://twitter.com/davesnx\r\n\r\nConsider + sponsoring Ant\xF3nio's work: https://github.com/sponsors/anmonteiro" + content: https://watch.ocaml.org/videos/watch/4e362b66-3362-4390-83a9-92cd8ec8f013 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/6b016e42-8d26-4bda-ad15-dee0edfdaed3.jpg + published: 2021-08-20T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Talking with Gabriel Nordeborn ReScript, Relay and everything else! + description: "" + content: https://watch.ocaml.org/videos/watch/e3e0dae6-5f69-43f2-bae9-65eaf1071ad6 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/97c899e0-145f-4c1e-884c-f13e319fc184.jpg + published: 2021-08-03T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Talking with Jaap Frolich about graphql-ppx + description: "Jaap (@JaapFrolich) is working at Walnut and maintainer of graphql-ppx\r\n\r\nIf + you'd like to support the show for more content about OCaml, Reason and ReScript + \ you can now do so at https://www.patreon.com/emelletv or by sending any tez + amount to em..." + content: https://watch.ocaml.org/videos/watch/74fbd6d8-8cb6-4c8d-bfb7-f030978fcde0 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/480521b9-56f3-4d85-997b-7ed7dc405977.jpg + published: 2021-11-02T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Talking with Oscar Spencer about Grain Lang, WASM, PLT and ML + description: "Oscar Spencer @oscar_spen is the co-author of Grain Lang\r\n \r\n\r\nIf + you'd like to support the show for more content about OCaml, Reason and ReScript + \ you can now do so at https://www.patreon.com/emelletv or by sending any tez + amount to emelletv.tez ..." + content: https://watch.ocaml.org/videos/watch/c3766619-7cc7-437e-bf5c-fc3b6a675231 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c3735cff-1edd-401c-ae3d-327153b4c0ce.jpg + published: 2021-11-08T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The ImpFS filesystem + description: "This proposal describes a presentation to be given at the OCaml\u201920 + workshop. The presentation will cover a new OCaml filesystem, ImpFS, and the related + libraries. The filesystem makes use of a B-tree library presented at OCaml\u201917, + and a key-value ..." + content: https://watch.ocaml.org/videos/watch/28545b27-4637-47a5-8edd-6b904daef19c + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/dde19660-653d-4dc3-9e81-54b2e3ab22a2.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The OCaml Platform 1.0 - Reason ML + description: 'Presented by Anil Madhavapeddy (@avsm) + + + We keep being told ReasonML can compile to native and do interop with OCaml, and + that there''s a wealth of existing code and tools we can draw into our applications + - but how do we get there? + + This video will ...' + content: https://watch.ocaml.org/videos/watch/bd9a8e54-6ca5-4036-a08c-6a47cee6619e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/ddc1e6fb-9999-4e79-b458-31c7e3ec1108.jpg + published: 2018-12-11T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The OCaml Platform v1.0 + description: "The OCaml Platform v1.0, by Anil Madhavapeddy\r\n\r\nThe OCaml Platform + combines the OCaml compiler toolchain with a coherent set of tools for build, + documen- tation, testing and IDE integration. The project is a collab- orative + effort across the OCam..." + content: https://watch.ocaml.org/videos/watch/37eaef0e-d826-4452-bf84-f04244a85ce9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/052d59ac-f44a-4730-aed6-47dd6a6f2405.jpg + published: 2021-10-03T22:06:15.953Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of OCaml + description: The State of OCaml, Xavier Leroy + content: https://watch.ocaml.org/videos/watch/b04b10c1-b924-4f58-8aa9-4527dcc11d8a + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9feccd59-f677-4be6-bcf4-a07977ef5b29.jpg + published: 2021-10-03T22:49:54.276Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of OCaml + description: "The State of OCaml (invited talk) \u2014 by Xavier Leroy" + content: https://watch.ocaml.org/videos/watch/69e486cd-191d-430b-8a41-0be0f806096b + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/36c5055b-7c67-4208-97cc-448f52814ab0.jpg + published: 2021-10-02T01:51:45.256Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of OCaml + description: "" + content: https://watch.ocaml.org/videos/watch/60a2ecfb-86ea-4881-a279-0a928452a3c3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/a5e5f630-2df9-4691-8ddf-a8137001ab4c.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of OCaml (invited), Xavier Leroy + description: The State of OCaml (invited), Xavier Leroy + content: https://watch.ocaml.org/videos/watch/11844424-be9b-4427-b3dd-24c3e4ff85a9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9b6f683f-8726-4b78-ac8b-4dae7217eace.jpg + published: 2021-10-03T22:07:14.955Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of the OCaml Platform + description: "The State of the OCaml Platform: September 2016 \r\nby Louis Gesbert, + on behalf of the OCaml Platform team" + content: https://watch.ocaml.org/videos/watch/c386fc95-092e-4ea7-9317-91edf287fea6 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/9f922a48-9902-4f08-b4f7-8b6437cf47e7.jpg + published: 2021-10-09T00:00:01.325Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of the OCaml Platform + description: "" + content: https://watch.ocaml.org/videos/watch/32475a83-b455-455b-937f-28e7185f4fc2 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/7eb8af05-a6d5-4a88-89f3-146673a87cf0.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The State of the OCaml Platform - September 2015 + description: "The State of the OCaml Platform: September 2015 \u2014 by Anil Madhavapeddy, + Amir Chaudhry, Thomas Gazagnaire, Jeremy Yallop, David Sheets" + content: https://watch.ocaml.org/videos/watch/0eeab9cb-8984-4323-bad7-0630192c635d + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/43586bbe-9d65-4283-88b7-3583d9ee6282.jpg + published: 2021-10-02T01:54:41.728Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: The final pieces of the OCaml documentation puzzle + description: 'Rendering OCaml document is widely known as a very difficult task: + The ever-evolving OCaml module system is extremely rich and can include complex + set of inter-dependencies that are both difficult to compute and to render in + a concise document. It...' + content: https://watch.ocaml.org/videos/watch/2acebff9-25fa-4733-83cc-620a65b12251 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c877a501-c705-44f7-8826-e7ce846a5e42.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Towards A Debugger for Native Code OCaml + description: "Towards A Debugger for Native-Code OCaml \u2014 by Fabrice Le Fessant, + Pierre Chambart" + content: https://watch.ocaml.org/videos/watch/e1a22cf8-5522-4c05-a8d4-af445bc73556 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5e783783-056e-46c9-b1de-60fddbd36aee.jpg + published: 2021-10-02T01:54:48.408Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Towards A Debugger for Native Code OCaml + description: "" + content: https://watch.ocaml.org/videos/watch/b76f3301-261d-44f3-97ec-1910b45f6969 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/93ea327e-5e8b-4844-b237-75719a7256b9.jpg + published: 2015-09-18T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Towards an OCaml Platform + description: Towards an OCaml Platform, by Yaron Minsky + content: https://watch.ocaml.org/videos/watch/96b1ab00-94a8-4059-aec6-a06a9c73c736 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/513c6f1c-df55-448f-a1db-2f13d430fdab.jpg + published: 2021-10-03T23:06:53.043Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Tracing OCaml Programs + description: "Tracing OCaml Programs\r\n\r\nDarius Foo (National University of Singapore)\r\nWei-Ngan + Chin (National University of Singapore)\r\n\r\nThis presentation will cover a + framework for application-level tracing of OCaml programs. We outline a solution + to the mai..." + content: https://watch.ocaml.org/videos/watch/3b4401ec-f0a8-44bb-97ad-18e05c2135f9 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/b41c4404-47d5-4a59-8baf-a17671156f5f.jpg + published: 2022-10-19T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Transport Layer Security purely in OCaml + description: "Transport Layer Security purely in OCaml by Hannes Mehnert and David + Kaloper Mer\u0161injak\r\n\r\nTransport Layer Security purely in OCamlTransport + Layer Security (TLS) is probably the most widely de- ployed security protocol + on the Internet. It is used t..." + content: https://watch.ocaml.org/videos/watch/03721258-b275-4c98-8a0b-9e4606b32fec + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/c1f04a1e-5cd8-41f5-8bef-25122319e6a5.jpg + published: 2021-10-03T22:08:27.076Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Types in Amber + description: Coda is a new cryptocurrency that uses zk-SNARKs to dramatically reduce + the size of data needed by nodes running its protocol. Nodes communicate in a + format automatically derived from type definitions in OCaml source files. As the + Coda software ev... + content: https://watch.ocaml.org/videos/watch/99b3dc75-9f93-4677-9f8b-076546725512 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/acd50ed1-43cf-45fd-a55e-9c40a6bf58ba.jpg + published: 2020-08-28T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Using Preferences to Tame your Package Manager + description: "" + content: https://watch.ocaml.org/videos/watch/43536918-a6e5-4a53-a680-bed527319e31 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/23d48007-16ab-4e49-b979-0cf79fd685ce.jpg + published: 2021-10-03T22:10:19.844Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Verifying an Effect-Based Cooperative Concurrency Scheduler in Iris by Adrian + Dapprich + description: "Lightweight asynchronous programming (using futures, goroutines or + green threads) has been widely adopted to organize programs with many concurrent + tasks, more than are traditionally feasible with thread-per-task models of concurrency.\r\n\r\nWith + the..." + content: https://watch.ocaml.org/videos/watch/907bac18-3532-4768-8b6f-893167bfbd81 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/4d3f7643-a935-49ca-a575-48765a553e75.jpg + published: 2024-01-09T16:23:50.459Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Wall: rendering vector graphics with OCaml and OpenGL' + description: "Speaker: Fr\xE9d\xE9ric Bour" + content: https://watch.ocaml.org/videos/watch/2472168c-04aa-497d-a931-f866c7036550 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/0f045c03-56e5-496b-9393-088316a519c0.jpg + published: 2018-11-26T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: What's new in OCamls 4.03 + description: What is new in OCaml 4.03? by Damien Doligez + content: https://watch.ocaml.org/videos/watch/b967996a-3dab-415f-8e51-d8908361b2b2 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/d7e64359-41c9-47d5-8f6d-9953db6555b3.jpg + published: 2021-10-08T23:45:42.515Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Who's got you mail? Mr Mime! + description: Romain Calascibetta + content: https://watch.ocaml.org/videos/watch/98a7972d-9323-46b3-81cc-dd86a4cc1ab3 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/3527c880-96e8-4bfb-b9b4-a668597f488f.jpg + published: 2016-10-07T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: Wibbily Wobbly Timey Camly + description: Time handling is commonly considered a difficult problem by programmers + due to myriad standards and complexity of time zone definitions. This also complicates + scheduling across multiple time zones especially when one takes Daylight Saving + Time int... + content: https://watch.ocaml.org/videos/watch/ec641446-823b-40ec-a207-85157a18f88e + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/2300474a-7615-4c92-9489-9ff5117d8bc7.jpg + published: 2021-08-27T10:37:18.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: 'Winning on Windows: porting the OCaml platform' + description: 'Speaker: David Allsopp' + content: https://watch.ocaml.org/videos/watch/5020256d-eeb0-4e0b-81db-cde8ba00e3d7 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/bf412566-70b3-4be4-99e4-46789e33b447.jpg + published: 2018-11-26T00:00:00.000Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: gloc - Metaprogramming WebGL Shaders with OCaml + description: "\r\ngloc : Metaprogramming WebGL Shaders with OCaml, by David William + Wallace Sheets and Ashima Arts.\r\n\r\nWebGL is a new Khronos Group standard for + GPU-accelerated rendering by in-browser JavaScript applications. WebGL introduces + a new language, WebG..." + content: https://watch.ocaml.org/videos/watch/41ca2c8d-2238-44ca-8744-70f114fbd326 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/5f1f0afd-001f-4b15-976c-013a426360ac.jpg + published: 2021-10-03T22:33:00.872Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml +- title: k-CAS for sweat-free concurrent programming by Vesa Karvonen + description: "Original upload: https://www.youtube.com/watch?v=1z8PshvWOF8\r\n\r\nThe + slides, including full speaker's notes, can be found [here](https://gist.github.com/polytypic/3214389ad69b16d28b957ced86e1b1a4#k-cas-for-sweat-free-concurrent-programming)." + content: https://watch.ocaml.org/videos/watch/acebc363-12df-4cd6-aec0-e8239ab325e0 + thumbnail: https://watch.ocaml.org/lazy-static/thumbnails/79b46298-d08a-4752-b6e1-481fbe7500dd.jpg + published: 2023-03-07T17:19:59.247Z + author_name: Unknown + author_uri: https://watch.ocaml.org/ + source_link: https://watch.ocaml.org/ + source_title: Watch OCaml diff --git a/data/video-youtube.yml b/data/video-youtube.yml new file mode 100644 index 0000000000..ec15373890 --- /dev/null +++ b/data/video-youtube.yml @@ -0,0 +1,1430 @@ +- title: Pitfalls with Tail Calls and Locals in OCaml | OCaml Unboxed + content: https://www.youtube.com/watch/jz66PE4PkV8 + thumbnail: https://i3.ytimg.com/vi/jz66PE4PkV8/hqdefault.jpg + description: 'This is the seventh in a series about locals in OCaml. This episode + explains the challenges around tail-call optimization and how to keep local variables + from escaping their region. I introduce the [@nontail] annotation to prevent tail-call + optimization, which is often needed when writing code with locals. + + + Code used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/07-tails/local.ml + + + View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions' + published: 2024-05-07T18:24:15+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (14) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/A8dpmhXdjyw + thumbnail: https://i2.ytimg.com/vi/A8dpmhXdjyw/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 14 mars 2024 : Design and Compilation + of Efficient Effect Handlers in the Koka Language\n\nIntervenant : Daan Leijen, + Microsoft Research\n\nRetrouvez les enregistrements audios et vid\xE9os du cycle + et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-18T15:32:14+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (13) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/RCnbZBep9Tw + thumbnail: https://i3.ytimg.com/vi/RCnbZBep9Tw/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 14 mars 2024 : Logiques de programmes + pour le contr\xF4le et les effets\n\nProfesseur : Xavier Leroy\nChaire Sciences + du logiciel\n\nTout comme la logique math\xE9matique donne des lois pour raisonner + sur les d\xE9finitions et les \xE9nonc\xE9s math\xE9matiques, une logique de programmes + pour un langage de programmation donne des lois pour \xE9tablir des propri\xE9t\xE9s + vraies de toutes les ex\xE9cutions possibles d'un programme \xE9crit dans ce langage. + Apr\xE8s des rappels sur cette approche d\xE9ductive de la v\xE9rification de + programmes et sur la plus ancienne de ces logiques, celle publi\xE9e par C.A.R. + Hoare en 1969, ce cours a montr\xE9 comment cette logique de Hoare s'applique + \xE0 de nombreuses structures de contr\xF4le, dont plusieurs formes de boucles, + avec sortie pr\xE9matur\xE9e mono-niveau ou multi-niveaux, mais aussi \xE0 des + constructions non-d\xE9terministes comme les commandes gard\xE9es de Dijkstra, + et jusqu'aux coroutines asym\xE9triques et aux threads coop\xE9ratifs vus au deuxi\xE8me + cours. M\xEAme le branchement \xAB goto \xBB peut \xEAtre sp\xE9cifi\xE9 en logique + de Hoare, en prenant quelques pr\xE9cautions.\nLire la suite : https://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques/logiques-de-programmes-pour-le-controle-et-les-effets\n\nRetrouvez + les enregistrements audios et vid\xE9os du cycle et son texte de pr\xE9sentation + :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-18T15:32:10+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: 'OCaml Unboxed: An Exploration of Jane Street''s Experiments with OCaml' + content: https://www.youtube.com/watch/LwD3GxsY-pc + thumbnail: https://i1.ytimg.com/vi/LwD3GxsY-pc/hqdefault.jpg + description: 'This video introduces the OCaml Unboxed series, which will dive into + topics like local mode, unboxed types, and many more fun detours along the way. + Join me, Richard Eisenberg, as we explore the frontiers of functional programming + language design in OCaml! + + + Oxidizing OCaml blog posts: + + - Locality: https://blog.janestreet.com/oxidizing-ocaml-locality + + - Ownership: https://blog.janestreet.com/oxidizing-ocaml-ownership + + - Data-race Freedom: https://blog.janestreet.com/oxidizing-ocaml-parallelism' + published: 2024-03-13T17:30:02+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (12) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/mGlhlmr1ki4 + thumbnail: https://i2.ytimg.com/vi/mGlhlmr1ki4/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 07 mars 2024 : Effect Handlers + and Mathematically Inspired Language Constructs\n\nIntervenant : Matija Pretnar, + Universit\xE9 de Ljubljana\n\nRetrouvez les enregistrements audios et vid\xE9os + du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-12T10:23:44+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (11) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/EQaAlrs4OKc + thumbnail: https://i2.ytimg.com/vi/EQaAlrs4OKc/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 07 mars 2024 : Typage et analyse statique + des effets\n\nProfesseur : Xavier Leroy\nChaire Sciences du logiciel\n\nRetrouvez + les enregistrements audios et vid\xE9os du cycle et son texte de pr\xE9sentation + :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-12T10:23:40+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (10) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/7Q4WUG-KDec + thumbnail: https://i4.ytimg.com/vi/7Q4WUG-KDec/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 29 f\xE9vrier 2024 : Les continuations + : cinq minutes pour les apprendre, toute une vie pour les comprendre\n\nIntervenant + : Olivier Danvy, National University of Singapore\n\nRetrouvez les enregistrements + audios et vid\xE9os du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-05T10:54:51+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (9) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/hrBfygrPpHU + thumbnail: https://i1.ytimg.com/vi/hrBfygrPpHU/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 29 f\xE9vrier 2024 : Th\xE9orie des effets + : des monades aux effets alg\xE9briques\n\nProfesseur : Xavier Leroy\nChaire Sciences + du logiciel\n\nRetrouvez les enregistrements audios et vid\xE9os du cycle et son + texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-03-05T10:54:48+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: Stack Allocation with Locals in OCaml | OCaml Unboxed + content: https://www.youtube.com/watch/rHf3YryF7jc + thumbnail: https://i3.ytimg.com/vi/rHf3YryF7jc/hqdefault.jpg + description: "This is the sixth installment in the video series explaining OCaml's + locals. In this episode, I demonstrate how stack allocation works with locals. + (And yes, even though locals use stack allocation, I guarantee this is not the + stack you\u2019re thinking of!)\n\nCode used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/05-programming-with-locals/local.ml" + published: 2024-02-29T12:53:15+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (8) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/qRORl7ZggMI + thumbnail: https://i2.ytimg.com/vi/qRORl7ZggMI/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 22 f\xE9vrier 2024 : Compiling + with Continuations\n\nIntervenant : Andrew Kennedy, Meta\n\nRetrouvez les enregistrements + audios et vid\xE9os du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-23T17:12:13+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (7) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/eRF2OHzyivE + thumbnail: https://i2.ytimg.com/vi/eRF2OHzyivE/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 22 f\xE9vrier 2024 : Pratique des effets + : des exceptions aux gestionnaires d'effets\n\nProfesseur : Xavier Leroy\nChaire + Sciences du logiciel\n\nRetrouvez les enregistrements audios et vid\xE9os du cycle + et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-23T17:12:10+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: OCaml Locals Save Allocations | OCaml Unboxed + content: https://www.youtube.com/watch/AGu4AO5zO8o + thumbnail: https://i2.ytimg.com/vi/AGu4AO5zO8o/hqdefault.jpg + description: "This is the fifth video in a series about OCaml\u2019s locals. This + episode demonstrates how using locals reduces garbage-collected allocations. Watch + as I demonstrate how to use locals, fending off plenty of error messages along + the way.\n\nView instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions\n\n\nCode + used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/05-programming-with-locals/local.ml" + published: 2024-02-20T21:30:01+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (6) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/FR3T3tQjpfg + thumbnail: https://i3.ytimg.com/vi/FR3T3tQjpfg/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 15 f\xE9vrier 2024 : Repr\xE9sentations + interm\xE9diaires pour la compilation : s'affranchir du graphe de flot de contr\xF4le\n\nIntervenante + : Delphine Demange, universit\xE9 de Rennes\n\nLe graphe de flot de contr\xF4le + est une repr\xE9sentation interm\xE9diaire classique des programmes dans les compilateurs + optimisants pour les langages imp\xE9ratifs. Cette repr\xE9sentation a permis + de formuler et de d\xE9velopper de nombreuses optimisations de programmes, des + plus simples jusqu'aux plus sophistiqu\xE9es.\n\nDans sa forme originelle, le + graphe de flot de contr\xF4le pr\xE9sente toutefois deux inconv\xE9nients pour + optimiser les programmes. D\u2019une part, beaucoup d'analyses de programmes sont + sensibles au nommage des variables du programme. D'autre part, un mod\xE8le d\u2019ex\xE9cution + enti\xE8rement dirig\xE9 par le contr\xF4le rend parfois difficile le r\xE9ordonnancement + des instructions.\n\nDans cet expos\xE9, nous nous int\xE9resserons \xE0 des repr\xE9sentations + interm\xE9diaires embl\xE9matiques qui visent \xE0 pallier ces inconv\xE9nients. + La premi\xE8re, SSA, permet d'exposer, \xE0 travers un sch\xE9ma sp\xE9cifique + de nommage, quelques relations de d\xE9pendances entre instructions. La seconde, + Sea-of-Nodes, s'appuie sur SSA et rel\xE2che certaines contraintes d'ordre d'ex\xE9cution + au sein de r\xE9gions du graphe. Issues de travaux de recherche, elles sont aujourd'hui + utilis\xE9es avec succ\xE8s dans des compilateurs optimisants de r\xE9f\xE9rence. + Nous pr\xE9senterons leur mod\xE8le d'ex\xE9cution respectif, ainsi que leurs + propri\xE9t\xE9s s\xE9mantiques clefs dans le cadre de l'optimisation de programmes. + Enfin, nous pr\xE9senterons quelques enjeux actuels du domaine, o\xF9 des repr\xE9sentations + interm\xE9diaires similaires sont utilis\xE9es pour basculer dans un mod\xE8le + d'ex\xE9cution dirig\xE9 par les donn\xE9es.\n\nRetrouvez les enregistrements + audios et vid\xE9os du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-17T09:17:59+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (5) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/w384n7K77Cw + thumbnail: https://i4.ytimg.com/vi/w384n7K77Cw/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 15 f\xE9vrier 2024 : Programmer ses structures + de contr\xF4le : continuations et op\xE9rateurs de contr\xF4le\n\nProfesseur : + Xavier Leroy\nChaire Sciences du logiciel\n\nLe quatri\xE8me cours a introduit + la notion de continuation d'un point de programme dans un programme imp\xE9ratif, + ou d'une sous-expression dans un programme fonctionnel. Il s'agit de la suite + des calculs restant \xE0 effectuer pour atteindre la fin du programme, repr\xE9sent\xE9e + soit par un objet du langage de programmation (commande, fonction, ...), soit + par un objet math\xE9matique. Dans les travaux de recherche des ann\xE9es 1965\u20131975 + sur la s\xE9mantique d\xE9notationnelle, les continuations apparaissent comme + moyen de donner une s\xE9mantique math\xE9matiquement pr\xE9cise aux branchements + \xABgoto\xBB non locaux du langage Algol. Mais c'est dans le cadre des langages + de programmation fonctionnelle que les continuations montrent tout leur int\xE9r\xEAt + : tout d'abord, pour sp\xE9cifier compl\xE8tement les strat\xE9gies de r\xE9ductions + (comme l'appel par valeur et l'appel par nom) par transformation syst\xE9matique + des programmes, pour les mettre en style \xE0 passage de continuations (CPS, Continuation-Passing + Style); ensuite, pour programmer manuellement dans ce style \xE0 passage de continuations, + ce qui permet de d\xE9finir de nombreuses structures de contr\xF4le avanc\xE9es + (it\xE9rateurs, g\xE9n\xE9rateurs, coroutines, threads coop\xE9ratifs) dans le + langage m\xEAme, sous forme de biblioth\xE8ques. Enfin, l'ajout d'op\xE9rateurs + de contr\xF4le \xE0 un langage fonctionnel, comme le call/cc du langage Scheme, + donne aux programmes de nouveaux moyens pour capturer, r\xE9ifier et relancer + leurs propres continuations, permettant ainsi de d\xE9finir des structures de + contr\xF4le avanc\xE9es dans le langage tout en gardant le programme en \xABstyle + direct\xBB, sans mise en forme CPS manuelle.\n\nRetrouvez les enregistrements + audios et vid\xE9os du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-17T09:17:55+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (4) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/WDg0__zO_cU + thumbnail: https://i4.ytimg.com/vi/WDg0__zO_cU/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nS\xE9minaire du 8 f\xE9vrier 2024 : Comment concilier + parall\xE9lisme et contr\xF4le ? Approches des architectures de processeurs g\xE9n\xE9ralistes + et graphiques\n\nIntervenante : Caroline Collange, Inria\n\nDepuis la machine + analytique de Babbage et Lovelace, le langage machine ex\xE9cut\xE9 par les processeurs + consiste typiquement en une succession d'instructions dans l'ordre. Mais une mise + en \u0153uvre efficace en mat\xE9riel n\xE9cessite d'ex\xE9cuter des instructions + en parall\xE8le. Deux approches sont suivies respectivement dans les processeurs + g\xE9n\xE9ralistes et les processeurs graphiques pour combler ce foss\xE9.\n\nUn + c\u0153ur d'un processeur actuel maintient l'illusion d'une ex\xE9cution s\xE9quentielle, + mais traite en r\xE9alit\xE9 plusieurs centaines d'instructions en vol, et les + ex\xE9cute dans le d\xE9sordre. Ce jeu d'\xE9quilibriste repose sur de nombreux + m\xE9canismes mat\xE9riels, dont la pr\xE9diction de branchements et le renommage + de registres.\n\nLire la suite : https://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques/comment-concilier-parallelisme-et-controle-approches-des-architectures-de-processeurs-generalistes\n\nRetrouvez + les enregistrements audios et vid\xE9os du cycle et son texte de pr\xE9sentation + :\nhttps://www.college-de-france.fr/fr/agenda/seminaire/structures-de-controle-de-goto-aux-effets-algebriques\n\nChaire + Sciences du logiciel\nProfesseur : Xavier Leroy\n\nRetrouvez tous les enseignements + du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-11T10:17:33+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (3) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/qXOEcvoALis + thumbnail: https://i2.ytimg.com/vi/qXOEcvoALis/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 8 f\xE9vrier 2024 : Chassez le contr\xF4le... + : la programmation d\xE9clarative\n\nLa programmation d\xE9clarative s'attache + \xE0 d\xE9crire les r\xE9sultats attendus du programme sans pour autant expliciter + l'encha\xEEnement des \xE9tapes de calcul \xE9l\xE9mentaires qui produisent ces + r\xE9sultats, au contraire de la programmation imp\xE9rative classique. Avons-nous + encore besoin de structures de contr\xF4le dans les programmes d\xE9claratifs + ? Le troisi\xE8me cours a tent\xE9 de r\xE9pondre \xE0 cette question en prenant + l'exemple de trois paradigmes de programmation d\xE9clarative : la programmation + r\xE9active synchrone (Lustre), la programmation purement fonctionnelle (Haskell, + Scheme pur), et la programmation logique (Prolog). Les s\xE9mantiques des programmes + \xE9crits dans ces langages reposent sur des principes \xE9l\xE9gants mais qui + ne suffisent pas pour garantir la terminaison et le co\xFBt (en temps, en espace) + des ex\xE9cutions d'un programme ; d'o\xF9 l'importance, m\xEAme dans un langage + d\xE9claratif, de donner aux programmeurs les moyens de contr\xF4ler la mani\xE8re + dont leurs programmes sont \xE9valu\xE9s. Nous avons mentionn\xE9 trois de ces + moyens : ajouter des op\xE9rations ad hoc comme la coupure en Prolog, sp\xE9cifier + les strat\xE9gies d'\xE9valuation utilis\xE9es (comme l'appel par valeur en Scheme + et l'appel par n\xE9cessit\xE9 en Haskell), ou encoder la strat\xE9gie d\xE9sir\xE9e + dans le programme lui-m\xEAme (par exemple en ajoutant des suspensions dans un + programme Scheme).\n\nProfesseur : Xavier Leroy\nChaire Sciences du logiciel\n\nRetrouvez + les enregistrements audios et vid\xE9os du cycle et son texte de pr\xE9sentation + :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-11T10:17:30+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: Inferring Locality in OCaml | OCaml Unboxed + content: https://www.youtube.com/watch/jvQ7fj9LlVA + thumbnail: https://i3.ytimg.com/vi/jvQ7fj9LlVA/hqdefault.jpg + description: "This is the fourth video in a series about OCaml\u2019s locals. It + covers how the compiler infers what variables can be marked as local_ and it gives + a glimpse into some compiler output that you can use to see the inferred modes + on variables. I also explain how the compiler infers conversions between locals + and globals and introduce *mode-crossing*, showing how ints can be both local + and global.\n\n\nView instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions" + published: 2024-02-07T15:54:23+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (2) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/T_w3OlZ5ASc + thumbnail: https://i1.ytimg.com/vi/T_w3OlZ5ASc/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 1er f\xE9vrier 2024 : Structures de contr\xF4le + avanc\xE9es : des subroutines aux coroutines et au parall\xE9lisme\n\nProfesseur + : Xavier Leroy\nChaire Sciences du logiciel\n\nRetrouvez les enregistrements audios + et vid\xE9os du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-02-02T09:18:32+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: Understanding OCaml Locals as a Mode (with Sub-Moding) | OCaml Unboxed + content: https://www.youtube.com/watch/UqBk5DgqxRg + thumbnail: https://i2.ytimg.com/vi/UqBk5DgqxRg/hqdefault.jpg + description: 'This is the third installment in the video series explaining OCaml''s + locals. + + In this video, I explain how locality is a *mode* and how sub-moding works. (It''s + kinda like sub-typing.) + + + To get the compiler I''m using here, see the instructions at https://github.com/janestreet/opam-repository/tree/with-extensions' + published: 2024-01-31T13:00:27+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: "Structures de contr\xF4le : de \xAB goto \xBB aux effets alg\xE9briques + (1) - Xavier Leroy (2023-2024)" + content: https://www.youtube.com/watch/ck9DjekcK4M + thumbnail: https://i4.ytimg.com/vi/ck9DjekcK4M/hqdefault.jpg + description: "Enseignement 2023-2024 : Structures de contr\xF4le : de \xAB goto + \xBB aux effets alg\xE9briques\nCours du 25 janvier 2024 : Naissance des structures + de contr\xF4le : du \xAB goto \xBB \xE0 la programmation structur\xE9e\n\nProfesseur + : Xavier Leroy\nChaire Sciences du logiciel\n\nUn programme informatique d\xE9crit + non seulement les calculs \xE9l\xE9mentaires \xE0 effectuer sur les donn\xE9es + d'entr\xE9e, mais aussi dans quel ordre et sous quelles conditions effectuer ces + calculs. Pour exprimer cet encha\xEEnement des calculs, les langages de programmation + fournissent des m\xE9canismes appel\xE9s structures de contr\xF4le. Depuis les + branchements \xAB goto \xBB des premiers langages de programmation, de nombreuses + structures de contr\xF4le ont \xE9t\xE9 mises en \u0153uvre : boucles, proc\xE9dures + et fonctions, exceptions, it\xE9rateurs, coroutines, exceptions\u2026 Apr\xE8s + des rappels sur ces structures classiques et sur leur contexte historique d'apparition, + le cours d\xE9veloppera une approche plus moderne du contr\xF4le vu comme un objet + manipulable par le programme, permettant ainsi au programmeur de d\xE9finir ses + propres structures de contr\xF4les. Initi\xE9e au si\xE8cle dernier par les travaux + sur les continuations et leurs op\xE9rateurs de contr\xF4le, cette approche est + en plein renouvellement avec la th\xE9orie des effets alg\xE9briques et sa d\xE9clinaison + sous forme d'effets et de gestionnaires d'effets d\xE9finis par le programmeur + dans des langages comme OCaml 5.\n\nRetrouvez les enregistrements audios et vid\xE9os + du cycle et son texte de pr\xE9sentation :\nhttps://www.college-de-france.fr/fr/agenda/cours/structures-de-controle-de-goto-aux-effets-algebriques\n\nRetrouvez + tous les enseignements du Pr Xavier Leroy :\nhttps://www.college-de-france.fr/chaire/xavier-leroy-sciences-du-logiciel-chaire-statutaire\nhttps://www.youtube.com/playlist?list=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im\n\nLe + Coll\xE8ge de France est une institution de recherche fondamentale dans tous les + domaines de la connaissance et un lieu de diffusion du \xAB savoir en train de + se faire \xBB ouvert \xE0 tous.\nLes cours, s\xE9minaires, colloques sont enregistr\xE9s + puis mis \xE0 disposition du public sur le site internet du Coll\xE8ge de France.\n\nD\xE9couvrez + toutes les ressources du Coll\xE8ge de France : \nhttps://www.college-de-france.fr\n\nSuivez-nous + sur :\nFacebook : https://www.facebook.com/College.de.France\nInstagram : https://www.instagram.com/collegedefrance\nX + (ex-Twitter) : https://twitter.com/cdf1530\nLinkedIn : https://fr.linkedin.com/company/coll\xE8gedefrance" + published: 2024-01-30T09:03:57+00:00 + author_name: "Math\xE9matiques et informatique - Coll\xE8ge de France" + author_uri: https://www.youtube.com/channel/UCk58LsWC9j892FUMBwN5AsQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im + source_title: "Coll\xE8ge de France - Sciences du logiciel" +- title: Annotating OCaml Variables and Returns with local_ | OCaml Unboxed + content: https://www.youtube.com/watch/bTjJQT-SzgQ + thumbnail: https://i3.ytimg.com/vi/bTjJQT-SzgQ/hqdefault.jpg + description: 'This is the second installment in the video series explaining OCaml''s + locals. + + In this video, I explain how we can annotate variables and return types with local_. + + + + Code for this video: https://github.com/goldfirere/janestreet-videos/tree/main/locals/02-local-variables-and-returns + + + + View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions + + + Playlist for videos in this series: https://www.youtube.com/playlist?list=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ' + published: 2024-01-23T10:38:12+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: Introducing the OCaml Local Mode | OCaml Unboxed + content: https://www.youtube.com/watch/PgUsmO0YyQc + thumbnail: https://i1.ytimg.com/vi/PgUsmO0YyQc/hqdefault.jpg + description: 'This video introduces how to make and use local parameters in OCaml. + As demonstrated in the video, a local parameter to a function is not allowed to + be stored or returned. Using local parameters can allow us to allocate less garbage-collected + memory, as later videos will demonstrate. + + + View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions' + published: 2024-01-05T16:49:17+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ + source_title: Jane Street - OCaml Unboxed +- title: '[OCaML''23] Modern DSL compiler architecture in OCaml our experience with + Catala' + content: https://www.youtube.com/watch/pO8Z4lcY0ys + thumbnail: https://i1.ytimg.com/vi/pO8Z4lcY0ys/hqdefault.jpg + description: "[OCaML'23] Modern DSL compiler architecture in OCaml our experience + with Catala\n\nLouis Gesbert, Denis Merigoux\n\nIn this presentation, we intend + to show a state-of-the-art DSL implementation in OCaml, with concrete examples + and experience reports. \nIn particular, we found that some advanced practices, + while accepted among the hardcore OCaml developers (e.g. use of row type variables + through object types), lacked visibility and documentation: some of them deserve + to be better known. \nOur experience is based on the Catala compiler, a DSL for + the implementation of algorithms defined in law." + published: 2023-12-01T14:23:18+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Runtime Detection of Data Races in OCaml with ThreadSanitizer' + content: https://www.youtube.com/watch/zr9S0Fr_Chc + thumbnail: https://i3.ytimg.com/vi/zr9S0Fr_Chc/hqdefault.jpg + description: '[OCaML''23] Runtime Detection of Data Races in OCaml with ThreadSanitizer + + + Olivier Nicole, Fabrice Buoro + + + The possibility to write truly parallel OCaml code brings forth new possibilities + of bugs. Among those, data races (concurrent accesses to the same data) are hard + to detect and dangerous, as they are non-deterministic, possibly silent, and can + lead to highly unexpected results. ThreadSanitizer (TSan) is an open-source library + and program instrumentation pass to reliably detect data races at runtime. TSan + has been instrumental in finding thousands of data races across many programming + languages. We will describe the core principles of data race detection in TSan, + explain why it was challenging to apply it to OCaml, and the adaptations needed + to the runtime system. We plan to demo how you can already use it in your own + code, and explain the limitations to be aware of.' + published: 2023-12-01T14:23:18+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Buck2 for OCaml Users & Developers' + content: https://www.youtube.com/watch/l4X4BxEEe-w + thumbnail: https://i1.ytimg.com/vi/l4X4BxEEe-w/hqdefault.jpg + description: "[OCaML'23] Buck2 for OCaml Users & Developers\n\nShayne Fletcher, + Neil Mitchell\n\nBuck2 is an open-source large scale build system used by thousands + of developers at Meta every day. Buck2 can be used to build OCaml with some useful + advantages over alternatives (e.g. Dune or Bazel). In this talk we\u2019ll discuss + what those advantages are, why they arise, and how to use Buck2 for your OCaml + development." + published: 2023-12-01T14:23:17+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] MetaOCaml Theory and Implementation' + content: https://www.youtube.com/watch/1fn1AEHeu2I + thumbnail: https://i2.ytimg.com/vi/1fn1AEHeu2I/hqdefault.jpg + description: '[OCaML''23] MetaOCaml Theory and Implementation + + + Oleg Kiselyov + + + Quasi-quotation (or, code templates) has long been used as a convenient tool for + code generation, commonly implemented as a pre-processing/translation into code-generation + combinators. The original MetaOCaml was also based on such translation, done post + type checking. BER MetaOCaml employs a significantly different, efficient (especially + in version N114) translation integrated with type-checking, in the least intrusive + way. This paper presents the integrated efficient translation for the first time.' + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Owi: an interpreter and a toolkit for WebAssembly written in + OCaml' + content: https://www.youtube.com/watch/IM76cMP3Eqo + thumbnail: https://i2.ytimg.com/vi/IM76cMP3Eqo/hqdefault.jpg + description: "[OCaML'23] Owi: an interpreter and a toolkit for WebAssembly written + in OCaml\n\nL\xE9o Andr\xE8s, Pierre Chambart, Eric Patrizio, Dario Pinto\n\nThis + presentation introduces Owi, an OCaml-based interpreter and toolkit for WebAssembly + (Wasm). Owi aims to provide a fast and easily maintainable solution for Wasm code + execution. Unlike competing interpreters, Owi focuses on facilitating experimentation, + research, and symbolic manipulations of Wasm. We describe the different passes + and intermediate representations of Owi. Additionally, we discuss the linker, + the interpreter and its support for various Wasm-specific extensions. Owi\u2019s + API leverages Generalized Algebraic Data Types (GADTs) for improved error detection + at link-time. We also describe the testing methods used, including a Crowbar-based + fuzzer. Future work includes incorporating missing Wasm extensions, implementing + advanced optimization passes, and potentially porting the WASP execution engine + to perform concolic execution." + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Building a lock-free STM for OCaml' + content: https://www.youtube.com/watch/Mt8wPCHU1ZU + thumbnail: https://i2.ytimg.com/vi/Mt8wPCHU1ZU/hqdefault.jpg + description: '[OCaML''23] Building a lock-free STM for OCaml + + + Vesa Karvonen, Bartosz Modelski, Carine Morel, Thomas Leonard, KC Sivaramakrishnan, + YSS Narasimha Naidu, Sudha Parimala + + + The kcas library was originally developed to provide a primitive atomic lock-free + multi-word compare-and-set operation. This talk introduces kcas and discusses + the recent development of kcas turning it into a proper lock-free software transactional + memory implementation for OCaml that provides composable transactions, scheduler + friendly modular blocking, and comes with a companion library of composable lock-free + data structures.' + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Targeted Static Analysis for OCaml C Stubs: Eliminating gremlins + from the code' + content: https://www.youtube.com/watch/Of3dxdY3Z9M + thumbnail: https://i4.ytimg.com/vi/Of3dxdY3Z9M/hqdefault.jpg + description: "[OCaML'23] Targeted Static Analysis for OCaml C Stubs: Eliminating + gremlins from the code\n\nEdwin T\xF6r\xF6k\n\nMigration to OCaml 5 requires updating + a lot of C bindings due to the removal of naked pointer support. Writing OCaml + user-defined primitives in C is a necessity, but is unsafe and error-prone. It + does not benefit from either OCaml\u2019s or C\u2019s type checking, and existing + C static analysers are not aware of the OCaml GC safety rules, and cannot infer + them from existing macros alone. The alternative is automatically generating C + stubs, which requires correctly managing value lifetimes. Having a static analyser + for OCaml to C interfaces is useful outside the OCaml 5 porting effort too. \nAfter + some motivating examples of real bugs in C bindings a static analyser is presented + that finds these known classes of bugs. The tool works on the OCaml abstract parse + and typed trees, and generates a header file and a caller model. Together with + a simplified model of the OCaml runtime this is used as input to a static analysis + framework, Goblint. An analysis is developed that tracks dereferences of OCaml + values, and together with the existing framework reports incorrect dereferences. + An example is shown how to extend the analysis to cover more safety properties. + \nThe tools and runtime models are generic and could be reused with other static + analysis tools." + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Less Power for More Learning: Restricting OCaml Features for + Effective Teaching' + content: https://www.youtube.com/watch/Olt2mj_K2rk + thumbnail: https://i4.ytimg.com/vi/Olt2mj_K2rk/hqdefault.jpg + description: "[OCaML'23] Less Power for More Learning: Restricting OCaml Features + for Effective Teaching\n\nMax Lang, Nico Petzendorfer\n\nWe present a framework + for sandboxing and restricting features of the OCaml programming language to effectively + automate the grading of programming exercises, scaling to hundreds of submissions. + We describe how to disable language and library features that should not be used + to solve a given exercise. We present an overview of an implementation of a mock + IO system to allow testing of IO-related exercises in a controlled environment. + Finally, we detail a number of security considerations to ensure submitted code + remains sandboxed, allowing automatic grading to be trusted without manual verification. + The source code of our implementation is publicly available [1]. \n[1] As a git + repository at https://github.com/just-max/less-power." + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Parallel Sequences in Multicore OCaml' + content: https://www.youtube.com/watch/cMsYwkMOB9M + thumbnail: https://i4.ytimg.com/vi/cMsYwkMOB9M/hqdefault.jpg + description: '[OCaML''23] Parallel Sequences in Multicore OCaml + + + Andrew Tao + + + I present my implementation of a parallel sequences abstraction that utilizes + the support for shared memory parallelism in the new OCaml 5.0.0 multicore runtime. + This abstraction allows clients to create highly parallelizable programs without + needing to write, or even understand, the low-level implementation details necessary + to parallelize large tasks.' + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] Efficient OCaml compilation with Flambda 2' + content: https://www.youtube.com/watch/eI5GBpT2Brs + thumbnail: https://i2.ytimg.com/vi/eI5GBpT2Brs/hqdefault.jpg + description: '[OCaML''23] Efficient OCaml compilation with Flambda 2 + + + Pierre Chambart, Vincent LAVIRON, Mark Shinwell + + + Flambda 2 is an IR and optimisation pass for OCaml centred around inlining. We + discuss the engineering constraints that shaped it and the overall structure that + allows the compiler to be fast enough to handle very large industrial code bases.' + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: '[OCaML''23] State of the OCaml Platform 2023' + content: https://www.youtube.com/watch/i4ZQ2EGI8sY + thumbnail: https://i2.ytimg.com/vi/i4ZQ2EGI8sY/hqdefault.jpg + description: "[OCaML'23] State of the OCaml Platform 2023\n\nThibaut Mattio, Anil + Madhavapeddy, Thomas Gazagnaire, David Allsopp\n\nThis paper reflects on a decade + of progress and developments within the OCaml Platform, from its inception in + 2013 with the release of opam 1.0, to today where it stands as a robust toolchain + for OCaml developers. We review the last three years in detail, emphasizing the + advancements and innovations that have shaped the OCaml development landscape + and highlighting key milestones such as the migration to Dune as the primary build + system, and the development of a Language Server Protocol (LSP) server for OCaml. + \nWe also outline our plan for the coming years. The roadmap is informed by community + feedback, discussions with Platform tool maintainers, and insights from industrial + users of OCaml. The final version of this evolving roadmap, designed to shape + the future of the OCaml developer experience, will be presented at the International + Conference on Functional Programming (ICFP)." + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: "[OCaML'23] Eio 1.0 \u2013 Effects-based IO for OCaml 5" + content: https://www.youtube.com/watch/jr4LsCVQBj4 + thumbnail: https://i3.ytimg.com/vi/jr4LsCVQBj4/hqdefault.jpg + description: "[OCaML'23] Eio 1.0 \u2013 Effects-based IO for OCaml 5\n\nThomas Leonard, + Patrick Ferris, Christiano Haesbaert, Lucas Pluvinage, Vesa Karvonen, Sudha Parimala, + KC Sivaramakrishnan, Vincent Balat, Anil Madhavapeddy\n\nEio provides an effects-based + direct-style IO stack for OCaml 5. This talk introduces Eio\u2019s main features, + such as use of effects, multi-core support and lock-free data-structures, support + for modular programming, interoperability with other concurrency libraries such + as Lwt, Async and Domainslib, and interactive monitoring support enabled by the + custom runtime events in OCaml 5.1. We will report on our experiences porting + existing applications to Eio." + published: 2023-12-01T14:23:16+00:00 + author_name: ACM SIGPLAN + author_uri: https://www.youtube.com/channel/UCwG9512Wm7jSS6Iqshz4Dpg + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E + source_title: OCAML Workshop at ICFP 2023 +- title: "Talking with Louis Roche\u0301 about OCaml and Ahrefs" + content: https://www.youtube.com/watch/o2u9irv1tnE + thumbnail: https://i4.ytimg.com/vi/o2u9irv1tnE/hqdefault.jpg + description: "Talking with Louis Roche\u0301 about OCaml and Ahrefs\n\nSupport the + show at https://www.patreon.com/emelletv or don't miss it live by following us + https://www.twitch.tv/emelletv" + published: 2023-06-14T14:00:25+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: Talking with Antonio Monteiro about OCaml and Melange + content: https://www.youtube.com/watch/zKO-Y2_a-yk + thumbnail: https://i3.ytimg.com/vi/zKO-Y2_a-yk/hqdefault.jpg + description: 'Talking with Antonio Monteiro about OCaml and Melange + + + + Support the show at https://www.patreon.com/emelletv or don''t miss it live by + following us https://www.twitch.tv/emelletv' + published: 2023-06-14T13:59:18+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #18 with KC about OCaml, Multicore and runtimes' + content: https://www.youtube.com/watch/eSLdBuaVSFM + thumbnail: https://i2.ytimg.com/vi/eSLdBuaVSFM/hqdefault.jpg + description: 'Talking with KC about Multicore, OCaml 5 and runtimes. + + + Support the show at https://www.patreon.com/emelletv or don''t miss it live by + following us https://www.twitch.tv/emelletv' + published: 2023-03-30T18:23:30+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #17 with Gabriel Nordeborn (@zth) about ReScript, Graphql and + Relay' + content: https://www.youtube.com/watch/WNDxnpZSUD4 + thumbnail: https://i4.ytimg.com/vi/WNDxnpZSUD4/hqdefault.jpg + description: 'Talking with Gabriel Nordeborn about ReScript, Graphql and Relay + + + Support the show at https://www.patreon.com/emelletv or don''t miss it live https://www.twitch.tv/emelletv' + published: 2023-03-19T23:32:34+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #16 with Simon "c-cube" Cruanes about OCaml, Containers and Automated + Theorem Proving' + content: https://www.youtube.com/watch/9ZlGSghBbnk + thumbnail: https://i2.ytimg.com/vi/9ZlGSghBbnk/hqdefault.jpg + description: 'Talking with Simon Cruanes (c-cube) about Imandra, Automated Theorem + Proving, dev tooling and more + + + Support the show at https://www.patreon.com/emelletv' + published: 2023-01-29T19:23:01+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #15 with Rudi Grinberg about OCaml, Dune, Opium and dev tools' + content: https://www.youtube.com/watch/tjqLBsLaFvM + thumbnail: https://i1.ytimg.com/vi/tjqLBsLaFvM/hqdefault.jpg + description: 'Talking with Rudi Grinberg about OCaml, Opium and Dune + + + Support the show at https://www.patreon.com/emelletv' + published: 2023-01-02T14:02:49+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #14 with Thomas Gazagnaire talking about OCaml and Tarides' + content: https://www.youtube.com/watch/cgYL5oJEJWY + thumbnail: https://i4.ytimg.com/vi/cgYL5oJEJWY/hqdefault.jpg + description: 'Support the show for more content about OCaml, Reason and ReScript you + can now do so at https://www.patreon.com/emelletv or by sending any tez amount + to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv' + published: 2022-08-06T19:04:39+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #13 with Camilo Azevedo about Learning, OCaml, Open Source and + communities' + content: https://www.youtube.com/watch/QZroVxQstRM + thumbnail: https://i2.ytimg.com/vi/QZroVxQstRM/hqdefault.jpg + description: 'If you''d like to support the show for more content about OCaml, Reason + and ReScript you can now do so at https://www.patreon.com/emelletv or by sending + any tez amount to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv' + published: 2022-05-27T16:07:09+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #12 with Hongbo Zhang about ReScript' + content: https://www.youtube.com/watch/aqqc93BmNBs + thumbnail: https://i2.ytimg.com/vi/aqqc93BmNBs/hqdefault.jpg + description: 'Hongbo Zhang (@bobzhang1988), author of BuckleScript and core maintainer + of ReScript + + + Enjoying the video? Please, support the show for more content about OCaml, Reason + and ReScript you can now do so at https://www.patreon.com/emelletv or by sending + any tez amount to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv -- Watch live at https://www.twitch.tv/emelletv' + published: 2022-05-27T16:02:38+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #11 with Anil Madhavapeddy about OCaml, Tezos and @TrustedCarbon' + content: https://www.youtube.com/watch/zrD-JiqML50 + thumbnail: https://i3.ytimg.com/vi/zrD-JiqML50/hqdefault.jpg + description: 'Anil Madhavapeddy (@avsm), the face of OCaml + + + If you''d like to support the show for more content about OCaml, Reason and ReScript you + can now do so at https://www.patreon.com/emelletv or by sending any tez amount + to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv' + published: 2022-04-18T14:03:56+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #10 with Calascibetta "Dinoosaure" Romain about OCaml, Mirage OS + and new 4.0 release' + content: https://www.youtube.com/watch/DDgJ8tABOWU + thumbnail: https://i1.ytimg.com/vi/DDgJ8tABOWU/hqdefault.jpg + description: 'Calascibetta Romain (@Dinoosaure) core maintainer at Mirage OS + + + If you''d like to support the show for more content about OCaml, Reason and ReScript you + can now do so at https://www.patreon.com/emelletv or by sending any tez amount + to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv -- Watch live at https://www.twitch.tv/emelletv' + published: 2022-03-31T13:15:46+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: Memory Management with Stephen Dolan + content: https://www.youtube.com/watch/SetLtBH43_U + thumbnail: https://i4.ytimg.com/vi/SetLtBH43_U/hqdefault.jpg + description: "Stephen Dolan works on Jane Street\u2019s Tools and Compilers team + where he focuses on the OCaml compiler. In this episode, Stephen and Ron take + a trip down memory lane, discussing how to manage computer memory efficiently + and safely. They consider trade-offs between reference counting and garbage collection, + the surprising gains achieved by prefetching, and how new language features like + local allocation and unboxed types could give OCaml users more control over their + memory.\n\nSome links to topics that came up in the discussion:\n\nStephen\u2019s + command-line JSON processor, jq: https://github.com/stedolan/jq\nStephen\u2019s + Cambridge dissertation, \u201CAlgebraic Subtyping\u201D: https://www.cs.tufts.edu/~nr/cs257/archive/stephen-dolan/thesis.pdf\nand + a protoype implementation of mlsub: https://github.com/stedolan/mlsub, a language + based on those ideas.\nA post from Stephen on how to benchmark different memory + allocators: https://blog.janestreet.com/memory-allocator-showdown/\nA Jane Street + tech talk on \u201CUnboxed Types for OCaml\u201D: https://www.janestreet.com/tech-talks/unboxed-types-for-ocaml/ + \nAn RFC in the OCaml RFC repo: https://github.com/ocaml/RFCs/blob/881b220adc1f358ab15f7743d5cd764222ab7d30/rfcs/unboxed-types.md\nA + paper from Stephen and KC Sivaramakrishnan (https://kcsrk.info/) called \u201CBounding + Data Races in Space and Time\u201D, which is all about a new and better memory + model for Multicore OCaml: https://kcsrk.info/papers/pldi18-memory.pdf\nAnother + paper describing the design of OCaml\u2019s multicore GC: https://arxiv.org/pdf/2004.11663.pdf\nThe + Rust RFC for Higher-ranked trait bounds: https://rust-lang.github.io/rfcs/0387-higher-ranked-trait-bounds.html\n\nYou + can find the transcript for this episode and all past episodes at signalsandthreads.com." + published: 2022-01-05T18:56:38+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: 'emelletv #9 with Sean Grove talking about GraphQL, OneGraph and ReasonML' + content: https://www.youtube.com/watch/9-i_7Ldkc_8 + thumbnail: https://i2.ytimg.com/vi/9-i_7Ldkc_8/hqdefault.jpg + description: 'Sean Grove Founder of OneGraph + + + If you''d like to support the show for more content about OCaml, Reason and ReScript you + can now do so at https://www.patreon.com/emelletv or by sending any tez amount + to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv' + published: 2021-12-02T21:30:00+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #8 with Gabriel "Drup" Radanne about OCaml, meta-programming and + ML history' + content: https://www.youtube.com/watch/VgbZT-NPrcA + thumbnail: https://i3.ytimg.com/vi/VgbZT-NPrcA/hqdefault.jpg + description: 'Gabriel "Drup" Radanne researcher at Inria in the CASH research team + + + + + If you''d like to support the show for more content about OCaml, Reason and ReScript you + can now do so at https://www.patreon.com/emelletv or by sending any tez amount + to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX) + + + Watch live at https://www.twitch.tv/emelletv' + published: 2021-11-24T16:00:25+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: 'emelletv #7 with Oscar Spencer talking about Grain Lang, WASM, Programming + Language Theory and ML' + content: https://www.youtube.com/watch/UcqeMJbW3y0 + thumbnail: https://i2.ytimg.com/vi/UcqeMJbW3y0/hqdefault.jpg + description: "Oscar Spencer (@oscar_spen) is the co-author of Grain Lang\n \n\nIf + you'd like to support the show for more content about OCaml, Reason and ReScript + \ you can now do so at https://www.patreon.com/emelletv or by sending any tez + amount to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6fV3XCcvX)\n\nWatch live at + https://www.twitch.tv/emelletv" + published: 2021-11-08T22:00:23+00:00 + author_name: emelletv + author_uri: https://www.youtube.com/channel/UCvVVfCa7-nzSuCdMKXnNJNQ + source_link: https://www.youtube.com/feeds/videos.xml?channel_id=UCvVVfCa7-nzSuCdMKXnNJNQ + source_title: Emelle TV +- title: What is an Operating System? with Anil Madhavapeddy + content: https://www.youtube.com/watch/QQKD3ul0R0U + thumbnail: https://i2.ytimg.com/vi/QQKD3ul0R0U/hqdefault.jpg + description: "Anil Madhavapeddy is an academic, author, engineer, entrepreneur, + and OCaml aficionado. In this episode, Anil and Ron consider the evolving role + of operating systems, security on the internet, and the pending arrival (at last!) + of OCaml 5.0. They also discuss using Raspberry Pis to fight climate change; the + programming inspiration found in British pubs and on Moroccan beaches; and the + time Anil went to a party, got drunk, and woke up with a job working on the Mars + Polar Lander.\n\nSome links to topics that came up in the discussion:\n\nThe latest + edition of Real World OCaml: https://dev.realworldocaml.org/\nThe MirageOS library + operating system: https://mirage.io/\nDocker for Mac and Windows , which is based + on MirageOS: https://www.docker.com/blog/docker-unikernels-open-source/\nCambridge + University\u2019s OCaml Labs: https://ocamllabs.io/\nNASA\u2019s Mars Polar Lander\nThe + Xen Project (https://xenproject.org/), which made extensive use of OCaml (https://ocaml.org/meetings/ocaml/2012/abstracts/oud2012-paper14.pdf) + in their control stack.\nThe Multicore branch of OCaml: https://github.com/ocaml-multicore/ocaml-Multicoremulticore + monthly updates: https://discuss.ocaml.org/tag/multicore-monthly\n\nYou can find + the transcript for this episode and all past episodes at signalsandthreads.com." + published: 2021-11-03T16:28:14+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Building a UI Framework with Ty Overby + content: https://www.youtube.com/watch/NT1_A1AfBL0 + thumbnail: https://i3.ytimg.com/vi/NT1_A1AfBL0/hqdefault.jpg + description: "Ty Overby is a programmer in Jane Street\u2019s web platform group + where he works on Bonsai, our OCaml library for building interactive browser-based + UI. In this episode, Ty and Ron consider the functional approach to building user + interfaces. They also discuss Ty\u2019s programming roots in Neopets, what development + features they crave on the web, the unfairly maligned CSS, and why Excel is \u201Carguably + the greatest programming language ever developed.\u201D\n\nSome links to topics + that came up in the discussion:\n\nJane Street\u2019s Bonsai library: https://opensource.janestreet.com/bonsai/\nThe + 3D design system OpenSCAD: https://openscad.org/\nMatt Keeter\u2019s libfive design + tools: https://libfive.com/\nTry .NET in-browser repl: https://try.dot.net/\nJane + Street\u2019s Incr_dom library: https://opensource.janestreet.com/incr_dom/\nThe + Elm Architecture \u201Cpattern for architecting interactive programs\u201D: https://guide.elm-lang.org/architecture/\nReact + JavaScript library: https://reactjs.org/\nThe Houdini proposal: https://houdini.glitch.me/\nSvelte + UI toolkit: https://svelte.dev/\n\nYou can find the transcript for this episode + and all past episodes at signalsandthreads.com." + published: 2021-10-06T16:31:15+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Writing, Technically with James Somers + content: https://www.youtube.com/watch/Oh_iFh7Rofs + thumbnail: https://i4.ytimg.com/vi/Oh_iFh7Rofs/hqdefault.jpg + description: "James Somers is Jane Street\u2019s writer-in-residence, splitting + his time between English and OCaml, and helping to push forward all sorts of efforts + around knowledge-sharing at Jane Street. In this episode, James and Ron talk about + the role of technical writing in an organization like Jane Street, and how engineering + software relates to editing prose.\nSome links to topics that came up in the discussion:\n\nmdx, + the modified Markdown format that supports executing OCaml code blocks: https://github.com/realworldocaml/mdx\nMore + on the 4 types of technical writing that James references: https://documentation.divio.com/introduction/\nDonald + Knuth\u2019s original book on Literate Programming: https://en.wikipedia.org/wiki/Literate_programming\nMore + on John McPhee\u2019s use of KEDIT: https://www.newyorker.com/magazine/2013/01/14/structure\nPeter + Seibel\u2019s Coders at Work: https://codersatwork.com/\nDavid Goodsell\u2019s + The Machinery of Life: https://books.google.com/books/about/The_Machinery_of_Life.html?id=0nV-mIqPa5gC\nScott + Huler\u2019s Defining the Wind: https://books.google.com/books?id=oqGUXPWbieMC\nSome + of James\u2019s writing on our tech blog: https://blog.janestreet.com/author/jsomers/\n\nYou + can find the transcript for this episode and all past episodes at signalsandthreads.com." + published: 2021-09-01T17:05:39+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Let Definitions | OCaml Programming | Chapter 2 Video 4 + content: https://www.youtube.com/watch/eRnG4gwOTlI + thumbnail: https://i2.ytimg.com/vi/eRnG4gwOTlI/hqdefault.jpg + description: 'Using `let` definitions to bind values to names. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-25T19:15:22+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Scope and the Toplevel | OCaml Programming | Chapter 2 Video 7 + content: https://www.youtube.com/watch/4SqMkUwakEA + thumbnail: https://i1.ytimg.com/vi/4SqMkUwakEA/hqdefault.jpg + description: 'What looks like mutability in the toplevel is not -- it''s really + just a consequence of scope. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:22:12+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Variable Expressions and Scope | OCaml Programming | Chapter 2 Video 6 + content: https://www.youtube.com/watch/_TpTC6eo34M + thumbnail: https://i4.ytimg.com/vi/_TpTC6eo34M/hqdefault.jpg + description: 'How `let` expressions create scope and shadowing. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:20:31+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Let Expressions | OCaml Programming | Chapter 2 Video 5 + content: https://www.youtube.com/watch/ug3L97FXC6A + thumbnail: https://i2.ytimg.com/vi/ug3L97FXC6A/hqdefault.jpg + description: '`let` expressions + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:19:19+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: If Expressions | OCaml Programming | Chapter 2 Video 3 + content: https://www.youtube.com/watch/XJ6QPtlPD7s + thumbnail: https://i1.ytimg.com/vi/XJ6QPtlPD7s/hqdefault.jpg + description: '`if-then-else` expressions. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:10:32+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Expressions | OCaml Programming | Chapter 2 Video 2 + content: https://www.youtube.com/watch/3fzrFY-2ZQ8 + thumbnail: https://i4.ytimg.com/vi/3fzrFY-2ZQ8/hqdefault.jpg + description: 'Expressions and values; the OCaml toplevel, utop. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:07:37+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Five Aspects of Learning a Programming Language | OCaml Programming | Chapter + 2 Video 1 + content: https://www.youtube.com/watch/A5IHFZtRfBs + thumbnail: https://i2.ytimg.com/vi/A5IHFZtRfBs/hqdefault.jpg + description: 'Syntax, semantics, idioms, libraries, tools. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-22T14:04:46+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Lambdas | OCaml Programming | Chapter 2 Video 9 + content: https://www.youtube.com/watch/zHHCD7MOjmw + thumbnail: https://i3.ytimg.com/vi/zHHCD7MOjmw/hqdefault.jpg + description: 'More about anonymous functions, aka lambdas. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-15T18:32:12+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Anonymous Functions | OCaml Programming | Chapter 2 Video 8 + content: https://www.youtube.com/watch/JwoIIrj0bcM + thumbnail: https://i3.ytimg.com/vi/JwoIIrj0bcM/hqdefault.jpg + description: 'Unnamed function values. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-15T18:28:12+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: OCaml | OCaml Programming | Chapter 1 Video 5 + content: https://www.youtube.com/watch/T-DIW1dhYzo + thumbnail: https://i1.ytimg.com/vi/T-DIW1dhYzo/hqdefault.jpg + description: 'Reasons why we use OCaml. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-11T17:54:42+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Functional Programming - Why Part 2 | OCaml Programming | Chapter 1 Video + 4 + content: https://www.youtube.com/watch/eNLm5Xbgmd0 + thumbnail: https://i2.ytimg.com/vi/eNLm5Xbgmd0/hqdefault.jpg + description: 'More reasons you should learn functional programming. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-11T17:53:34+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Functional Programming - Why Part 1 | OCaml Programming | Chapter 1 Video + 3 + content: https://www.youtube.com/watch/SKr3ItChPSI + thumbnail: https://i4.ytimg.com/vi/SKr3ItChPSI/hqdefault.jpg + description: 'Several reasons why you should learn functional programming. + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-11T17:49:45+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Functional Programming - What | OCaml Programming | Chapter 1 Video 2 + content: https://www.youtube.com/watch/JTEwC3HihFc + thumbnail: https://i3.ytimg.com/vi/JTEwC3HihFc/hqdefault.jpg + description: 'What is functional programming? How does it differ from imperative? + + + Textbook: https://cs3110.github.io/textbook' + published: 2021-06-11T17:46:21+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Introduction | OCaml Programming | Chapter 1 Video 1 + content: https://www.youtube.com/watch/MUcka_SvhLw + thumbnail: https://i2.ytimg.com/vi/MUcka_SvhLw/hqdefault.jpg + description: 'Learn to program in OCaml! + + + The textbook is "OCaml Programming: Correct + Efficient + Beautiful": https://cs3110.github.io/textbook + + The lecturer is Michael Clarkson: https://www.cs.cornell.edu/~clarkson/' + published: 2021-06-11T14:42:56+00:00 + author_name: Michael Ryan Clarkson + author_uri: https://www.youtube.com/channel/UCX3XfA9qjWjymue2I_hcW1A + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU + source_title: 'OCaml Programming: Correct + Efficient + Beautiful' +- title: Building a Functional Email Server with Dominick LoBraico + content: https://www.youtube.com/watch/cM6mRLvFw54 + thumbnail: https://i4.ytimg.com/vi/cM6mRLvFw54/hqdefault.jpg + description: "Despite a steady trickle of newcomers, email still reigns supreme + as the chief communication mechanism for the Information Age. At Jane Street, + it\u2019s just as critical as anywhere, but there\u2019s one difference: the system + at the heart of our email infrastructure is homegrown. This week, Ron talks to + Dominick LoBraico, an engineer working on Jane Street\u2019s technology infrastructure, + about how and why we built Mailcore, an email server written and configured in + OCaml. They delve into questions around how best to represent the configuration + of a complex system, when you should build your own and when you shouldn\u2019t, + and the benefits of bringing a code-focused approach to solving systems problems. + \n\nYou can find the transcript for this podcast episode along with links to things + we discussed at signalsandthreads.com." + published: 2020-10-28T15:54:44+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Language Design with Leo White + content: https://www.youtube.com/watch/t7eNBh-zrOQ + thumbnail: https://i1.ytimg.com/vi/t7eNBh-zrOQ/hqdefault.jpg + description: Equal parts science and art, programming language design is very much + an unsolved problem. This week, Ron speaks with Leo White, from Jane Street's + Tools & Compilers team, about cutting-edge language features, future work happening + on OCaml, and Jane Street's relationship with the broader open-source community. + The conversation covers everything from the paradox of language popularity, to + advanced type system features like modular implicits and dependent types. Listen + in, no programming languages PhD required! You can find the transcript for this + podcast episode along with links to things we discussed at signalsandthreads.com. + published: 2020-10-21T16:34:54+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Python, OCaml, and Machine Learning with Laurent Mazare + content: https://www.youtube.com/watch/d4SoT7rP28k + thumbnail: https://i1.ytimg.com/vi/d4SoT7rP28k/hqdefault.jpg + description: 'A conversation with Laurent Mazare about how your choice of programming + language interacts with the kind of work you do, and in particular about the tradeoffs + between Python and OCaml when doing machine learning and data analysis. Ron and + Laurent discuss the tradeoffs between working in a text editor and a Jupyter Notebook, + the importance of visualization and interactivity, how tools and practices vary + between language ecosystems, and how language features like borrow-checking in + Rust and ref-counting in Swift and Python can make machine learning easier. + + + You can find the transcript for this podcast episode along with links to things + we discussed at signalsandthreads.com.' + published: 2020-10-07T15:45:03+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Programmable Hardware with Andy Ray + content: https://www.youtube.com/watch/GJX5VbKvh90 + thumbnail: https://i4.ytimg.com/vi/GJX5VbKvh90/hqdefault.jpg + description: "The ever-widening availability of FPGAs has opened the door to solving + a broad set of performance-critical problems in hardware. In this episode, Ron + speaks with Andy Ray, who leads Jane Street\u2019s hardware design team. Andy + has a long career prior to Jane Street shipping hardware designs for things like + modems and video codecs. That work led him to create Hardcaml, a domain-specific + language for expressing hardware designs. Ron and Andy talk about the current + state-of-the-art in hardware tooling, the economics of FPGAs, and how the process + of designing hardware can be improved by applying lessons from software engineering.\n\nHardcaml + itself is open-source software available on Github, along with a collection of + associated libraries and tools. Andy has also given a talk on Hardcaml called + OCaml All The Way Down, and has a post on Jane Street's blog about some of the + testing techniques used with Hardcaml.\n\nYou can find the transcript for this + episode along with links to related work at signalsandthreads.com." + published: 2020-09-17T20:04:22+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + source_title: Jane Street - Signal & Threads +- title: Unboxed Types for OCaml + content: https://www.youtube.com/watch/RV-4Xddk0Yc + thumbnail: https://i3.ytimg.com/vi/RV-4Xddk0Yc/hqdefault.jpg + description: "OCaml has a well-deserved reputation for compiling quickly. This is + thanks in part to its uniform representation: all values have the same memory + layout, so generic code does not need to be specialized and recompiled for each + use.\n\nThis uniformity has a downside: some programs waste a lot of time converting + back and forth to this uniform representation.\n\nIn this talk, I\u2019ll describe + some work-in-progress to remove this overhead, by extending OCaml\u2019s type + system to allow other memory layouts, giving the programmer more fine-grained + control over how code is compiled. \n\nStephen is a programming languages researcher + and OCaml core developer on Jane Street's Tools and Compilers team. Prior to that, + he worked at OCaml Labs, did a PhD on subtyping, and wrote jq. His hobbies include + hiking, cooking, and writing about himself in the third person." + published: 2019-10-24T13:10:48+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJoWyXnJ2BWpse5HuiYibNYs + source_title: Jane Street - Tech Talks +- title: Playing Atari Games in OCaml + content: https://www.youtube.com/watch/QDXfKXi_Q_A + thumbnail: https://i2.ytimg.com/vi/QDXfKXi_Q_A/hqdefault.jpg + description: 'At Jane Street, we enjoy using OCaml for lots of different things, + from FPGA designs to web development. When it comes to Machine Learning, Python + is one of the most commonly used languages. Machine learning frameworks such as + TensorFlow or PyTorch wrap some highly efficient C++ and GPU implementations of + tensor operations in easy to use Python apis. These frameworks also provide automatic + differentiation functionalities which are commonly used to train deep learning + models. + + + In this talk we see how we can leverage TensorFlow or PyTorch directly from OCaml + so that we can use our favorite programming language to build deep learning models + and train them on GPUs. We will consider the Reinforcement Learning setting where + an agent is trained to play Atari video games such as Space Invaders or Breakout. + Our agents will be based on the Deep Q-Learning approach introduced in 2014. + + + + Laurent Mazare + + Laurent first joined Jane Street as a developer in the London office back in 2013 + working on trading systems. After a short stint at DeepMind in 2017/2018, he is + now back at Jane Street as a researcher working on the equities desk in London. + Laurent holds a PhD in theoretical computer science from Institut National Polytechnique + de Grenoble.' + published: 2019-08-13T18:00:45+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJoWyXnJ2BWpse5HuiYibNYs + source_title: Jane Street - Tech Talks +- title: Jane and the Compiler + content: https://www.youtube.com/watch/gXdMFxGdako + thumbnail: https://i4.ytimg.com/vi/gXdMFxGdako/hqdefault.jpg + description: "Most of the time, our relationship to programming languages is somewhat + remote; we depend on the arcane details of the languages we use, but we don\u2019t + usually have much of a say in how those languages evolve.\n\nAt Jane Street, we + started out in that mode, as a mere user of the language. But over the last 15 + years, we\u2019ve moved to a more active stance, where today, we have a team of + compiler devs who actively contribute to OCaml, and where we\u2019re more deeply + involved in figuring out the future direction of the language.\n\nIn this talk, + we discuss that history, touching on how upstream changes impacted us along the + way, how we came to start making changes ourselves, and what ongoing projects + we\u2019re excited about.\n\nPresented by Yaron Minsky\n\nYaron Minsky joined + Jane Street back in 2002, and claims the dubious honor of having convinced the + firm to start using OCaml. He also spends way too much time teaching his kids + how to program." + published: 2018-12-07T19:52:27+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJoWyXnJ2BWpse5HuiYibNYs + source_title: Jane Street - Tech Talks +- title: OCaml All The Way Down + content: https://www.youtube.com/watch/X1cgRXhpQLY + thumbnail: https://i1.ytimg.com/vi/X1cgRXhpQLY/hqdefault.jpg + description: "Did you know that Jane Street uses OCaml for, like, everything? \n\nDid + you also know that Jane Street builds FPGA designs? \n\nA problem? \n\nCome and + find out how we design and test our FPGAs. We'll have some fun (or terrible disasters) + with some demos on the Arty A7 hobbyist FPGA board, with the design expressed + using HardCaml, an OCaml library for creating hardware designs, and driven by + an embedded software stack written in OCaml and using ports of your favorite Jane + Street libraries. \n\nI'll round up with some thoughts on the pros and cons of + writing hardware in OCaml, and talk about some ideas we would like to explore + to make the process more productive in the future.\n\n \nPresented by: Andy Ray\nAndy + has been designing IP cores for nearly 20 years mainly in the areas of networking + and video coding. Frustration with standard RTL development processes led him + to develop the HardCaml suite of hardware design tools in OCaml. Then one day + while down at the pub he got an email from Jane Street wondering about some sort + of collaboration, and the rest is history." + published: 2018-05-10T14:01:12+00:00 + author_name: Jane Street + author_uri: https://www.youtube.com/channel/UCDsVC_ewpcEW_AQcO-H-RDQ + source_link: https://www.youtube.com/feeds/videos.xml?playlist_id=PLCiAikFFaMJoWyXnJ2BWpse5HuiYibNYs + source_title: Jane Street - Tech Talks diff --git a/data/watch.yml b/data/watch.yml deleted file mode 100644 index 250f60407d..0000000000 --- a/data/watch.yml +++ /dev/null @@ -1,1361 +0,0 @@ -watch: -- name: '25 Years of OCaml: Xavier Leroy' - description: Professor Xavier Leroy -- the primary original author and leader of - the OCaml project -- reflects on 25 years of the OCaml language at his OCaml Workshop - 2021 keynote speech. - embed_path: /videos/embed/e1ee0fc0-50ef-4a1c-894a-17df181424cb - thumbnail_path: /lazy-static/thumbnails/94ead657-79a0-4c10-8435-9e13906a6c44.jpg - published_at: 2021-08-27T13:23:10.199Z - language: English - category: Science & Technology -- name: A Case for Multi-Switch Constraints in OPAM - description: "A Case for Multi-Switch Constraints in OPAM - by Fabrice Le Fessant - (INRIA)\r\n\r\nPackage managers usually only deal with packages and their versions, - and the constraints on their dependencies towards other packages\u2019 versions. - Among package managers,..." - embed_path: /videos/embed/744d4a0b-a44c-4040-853c-6be5223ec43b - thumbnail_path: /lazy-static/thumbnails/3973b521-c198-4a18-93a1-7190f8f811da.jpg - published_at: 2021-10-02T02:02:32.873Z - language: English - category: Unknown -- name: A Declarative Syntax Definition for OCaml - description: In this talk, we present our work on a syntax definition for the OCaml - language in the syntax definition formalism SDF3. SDF3 supports the high-level - definition of concrete and abstract syntax through declarative disambiguation - and definition of c... - embed_path: /videos/embed/a5b86864-8e43-4138-b6d6-ed48d2d4b63d - thumbnail_path: /lazy-static/thumbnails/92c0a0e3-5326-42aa-86a3-6adb3927e111.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: A Multiverse of Glorious Documentation - description: This talk describes the process of generating documentation for every - version of every package that can be built from the opam repository, and how it - is presented as a single coherent website that is continuously updated as new - packages are releas... - embed_path: /videos/embed/9bb452d6-1829-4dac-a6a2-46b31050c931 - thumbnail_path: /lazy-static/thumbnails/6a0a8291-4626-4820-8071-904b3c508345.jpg - published_at: 2021-08-27T11:23:36.000Z - language: English - category: Science & Technology -- name: A Proposal for Non-Intrusive Namespaces in OCaml - description: "A Proposal for Non-Intrusive Namespaces in OCaml, by Pierrick Couderc - (I), Fabrice Le Fessant (I+O), Benjamin Canou (O), Pierre Chambart (O); (I = INRIA, - O = OCamlPro)\r\n\r\nWe present a work-in-progress about adding namespaces to - OCaml. Inspired by ..." - embed_path: /videos/embed/ded6e8bb-aebd-4fd2-989f-3f0b2b8efaf3 - thumbnail_path: /lazy-static/thumbnails/cb3f10b6-c34c-4b7e-af35-a056675d8ccd.jpg - published_at: 2021-10-02T02:04:48.044Z - language: English - category: Unknown -- name: A Simple State-Machine Framework for Property-Based Testing in OCaml - description: "Since their inception, state-machine frameworks have proven their - worth by finding defects in everything from the underlying AUTOSAR components - of Volvo cars to digital invoicing systems. These case studies were carried out - with Erlang\u2019s commercia..." - embed_path: /videos/embed/08b429ea-2eb8-427d-a625-5495f4ee0fef - thumbnail_path: /lazy-static/thumbnails/316ddad9-dbc3-4d46-9f43-5da72689e93b.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: A review of the growth of the OCaml community - embed_path: /videos/embed/f9d0b637-8aec-4bff-8c32-cd16b58023b6 - thumbnail_path: /lazy-static/thumbnails/e573402b-1350-4aa7-a9ba-0e1c51198fb4.jpg - published_at: 2015-09-18T00:00:00.000Z - language: Unknown - category: Science & Technology -- name: 'AD-OCaml: Algorithmic Differentiation for OCaml' - description: AD-OCaml is a library framework for calculating mathematically exact - derivatives and deep power series approximations of almost arbitrary OCaml programs - via algorithmic differentiation. Unlike similar frameworks, this includes programs - with side e... - embed_path: /videos/embed/c9e85690-732f-4b03-836f-2ee0fd8f0658 - thumbnail_path: /lazy-static/thumbnails/eb972fd2-668e-4998-a798-e9fbdcadba20.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: 'API migration: compare transformed' - description: In this talk we describe our experience in using an automatic API-migration - strategy dedicated at changing the signatures of OCaml functions, using the Rotor - refactoring tool for OCaml. We perform a case study on open source Jane Street - libraries ... - embed_path: /videos/embed/c46b925b-bd77-404f-ac5d-5dab65047529 - thumbnail_path: /lazy-static/thumbnails/eef64419-3c34-4c15-9419-edcbc455e54d.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: Adapting the OCaml ecosystem for Multicore OCaml - description: "OCaml 5.0 with support for shared-memory parallelism being around - the corner, there\u2019s increasing interest in the community to port existing - libraries to Multicore. This talk will take the attendees through what the arrival - of Multicore means to th..." - embed_path: /videos/embed/629b89a8-bbd5-490d-98b0-d0c740912b02 - thumbnail_path: /lazy-static/thumbnails/41212c84-36d6-44fa-b884-2ced79505929.jpg - published_at: 2021-08-27T10:18:38.000Z - language: English - category: Science & Technology -- name: An LLVM backend for OCaml - description: "An LLVM backend for OCaml by Colin Benner.\r\n\r\nAs part of my bachelor - thesis I have implemented a new backend for the OCaml nativecode compiler ocamlopt - for the AMD64 architecture. It uses the Low Level Virtual Machine framework (LLVM, - an optimisin..." - embed_path: /videos/embed/3ede0b76-e250-4a43-af42-83c394cf4497 - thumbnail_path: /lazy-static/thumbnails/4dfc2ff3-3c53-4e7c-85ed-907df5b1faff.jpg - published_at: 2021-10-03T22:23:18.701Z - language: English - category: Unknown -- name: Arakoon - a distributed consistent key-value store - description: "Arakoon - a distributed consistent key-value store, by Nicolas Trangez.\r\n\r\nArakoon - is a simple consistent distributed key value store. Technically, it\u2019s an - OCaml implementation of Multi-Paxos on top of Tokyo Cabinet, using Ocsigen\u2019s - Light Weight T..." - embed_path: /videos/embed/5309b701-9def-47a4-8240-8a5b17a70b5a - thumbnail_path: /lazy-static/thumbnails/5bbbdabf-622b-4496-8d43-7c2515300678.jpg - published_at: 2021-10-03T22:38:56.202Z - language: English - category: Unknown -- name: Async - description: "Mark Shinwell and David House, Jane Street Europe.\r\n\r\nWe propose - to give a talk about Jane Street's Async library. This is an industrial-strength - library for writing correct concurrent programs without having to think (too hard)." - embed_path: /videos/embed/8f50211a-1210-4849-a940-ea6e0bd1e022 - thumbnail_path: /lazy-static/thumbnails/6850a57a-15c1-4f8c-8cdb-b0a818f0bcc4.jpg - published_at: 2021-10-03T22:25:11.006Z - language: English - category: Unknown -- name: Automatic analysis of industrial robot programs - description: "Automatic analysis of industrial robot programs, by Markus Wei\xDFmann" - embed_path: /videos/embed/3cebba55-4032-4de5-93b5-8f3f67c04736 - thumbnail_path: /lazy-static/thumbnails/480b953a-f17e-498c-9822-c82828ca9c0c.jpg - published_at: 2021-10-03T22:38:09.817Z - language: English - category: Unknown -- name: Binary Analysis Platform - description: We present Binary Analysis Platform (BAP), a representation-agnostic - program analysis framework for binaries that can leverage existing tools, libraries, - and frameworks, no matter which intermediate representation (IR) they use. In - BAP, a new IR c... - embed_path: /videos/embed/8dc2d8d3-c140-4c3d-a8fe-a6fcf6fba988 - thumbnail_path: /lazy-static/thumbnails/390cd7dd-4578-4162-bae0-6c218cb5ebde.jpg - published_at: 2021-08-31T08:39:55.774Z - language: English - category: Unknown -- name: Bindoj library, a datatype-centric generative programming library - description: "Introducing the Bindoj library, a datatype-centric generative programming - library for real-world programming in OCaml\r\n\r\nHaochen M. Kotoi-Xie (Kotoi-Xie - Consultancy, Inc.)\r\nHirotetsu Hongo (Kotoi-Xie Consultancy, Inc.)\r\nYuta Sato - (Kotoi-Xie Consul..." - embed_path: /videos/embed/69755b27-85b1-4df4-9f01-b771cd15353a - thumbnail_path: /lazy-static/thumbnails/ae5c8a14-6780-4384-b67c-399f9f233f9b.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Biocaml - the OCaml bioinformatics library - description: Biology is an increasingly computational discipline due to rapid advances - in experimental techniques, especially DNA sequencing, that are generating data - at unprecedented rates. The computational techniques needed range from the complex - (.e.g algo... - embed_path: /videos/embed/f9ce30b3-8143-4516-85f1-07c28f6337b2 - thumbnail_path: /lazy-static/thumbnails/102b2860-a3eb-4afb-adfc-16ee06418028.jpg - published_at: 2021-10-03T22:15:01.407Z - language: English - category: Unknown -- name: Casually talking about ReScript, OSS, and communities with Patrick Ecker - description: "Patrick (@ryyppy) is working with OSS in ReScript and part of the - core team\r\n\r\nIf you'd like to support the show for more content about OCaml, - Reason and ReScript you can now do so at https://www.patreon.com/emelletv or - by sending any tez amount ..." - embed_path: /videos/embed/63a8694b-8911-41cc-8754-4c1cad186d3d - thumbnail_path: /lazy-static/thumbnails/1d3f35e6-e0aa-4bcf-aa38-39e1d14913ab.jpg - published_at: 2021-10-20T00:00:00.000Z - language: English - category: Science & Technology -- name: Casually talking with Craig Ferguson about OCaml, Mirage, Irmin and more - description: "Craig Ferguson is a software developer at Tarides. Join us in this - episode to talk more about OCaml, MirageOS, Irmin and much more!\r\n\r\nWe are - looking for sponsors! If you'd like to support more content for Ocaml, Reason - and ReScript just send us a..." - embed_path: /videos/embed/f3aa87e9-67a1-4569-b154-67d2d185152b - thumbnail_path: /lazy-static/thumbnails/0d38e0d5-453a-42ca-b4f9-54d0998622e3.jpg - published_at: 2021-09-07T00:00:00.000Z - language: English - category: News & Politics -- name: Casually talking with Eduardo Rafael about OCaml, Tezos and probably compilers - description: "Eduardo is a streamer and a tech lead at @Marigold_Dev.\r\nJoin us - in this episode to casually talk about OCaml, Tezos and probably compilers\r\n\r\nIf - you'd like to support the show for more content about OCaml, Reason and ReScript - you can now do so at..." - embed_path: /videos/embed/11ab3cbe-38b8-411c-a7aa-994c00f472d8 - thumbnail_path: /lazy-static/thumbnails/ab863370-0e79-417e-b21e-307fbfe9dbd8.jpg - published_at: 2021-09-24T00:00:00.000Z - language: English - category: Science & Technology -- name: Casually talking with Gabriel Radanne about OCaml, meta-programming and much - more - description: "Gabriel \"Drup\" Radanne researcher at Inria in the CASH research - team\r\n\r\nIf you'd like to support the show for more content about OCaml, Reason - and ReScript you can now do so at https://www.patreon.com/emelletv or by sending - any tez amount to emel..." - embed_path: /videos/embed/7321d6e6-6573-4c93-9a21-61f2541be4ec - thumbnail_path: /lazy-static/thumbnails/d6063608-535c-4a64-bdd7-d9691f2644fa.jpg - published_at: 2021-11-24T00:00:00.000Z - language: English - category: News & Politics -- name: Casually talking with Hongbo Zhang - description: "Hongbo Zhang (@bobzhang1988), creator of BuckleScript and core maintainer - of ReScript\r\n\r\nEnjoying the video? Please, support the show for more content - about OCaml, Reason and ReScript you can now do so at https://www.patreon.com/emelletv - or by sen..." - embed_path: /videos/embed/2f73650f-79f5-44d6-87c1-ced0517c09da - thumbnail_path: /lazy-static/thumbnails/475dc63d-9a4a-4f3e-beff-e443c1db24cd.jpg - published_at: 2022-05-27T00:00:00.000Z - language: English - category: Science & Technology -- name: Causally talking with @Dinoosaure about Mirage OS 4.0 - description: "@Dinoosaure (Calascibetta Romain) core dev at Mirage OS\r\n\r\n\r\nIf - you'd like to support the show for more content about OCaml, Reason and ReScript - \ you can now do so at https://www.patreon.com/emelletv or by sending any tez - amount to emelletv.tez (t..." - embed_path: /videos/embed/4bddb539-5034-4fe2-b2a9-175260262aac - thumbnail_path: /lazy-static/thumbnails/3dbdfa88-e33a-4f16-ab6b-52846ad300b9.jpg - published_at: 2022-03-31T00:00:00.000Z - language: English - category: Science & Technology -- name: Causally talking with Sean Grove about GraphQL, OneGraph and ReasonML - description: "Sean Grove Founder of OneGraph\r\n\r\nIf you'd like to support the - show for more content about OCaml, Reason and ReScript you can now do so at https://www.patreon.com/emelletv - or by sending any tez amount to emelletv.tez (tz1bQHQKT4BSoEreWKHuR3H5mme6..." - embed_path: /videos/embed/f84b4f70-86ca-4918-b6cd-4770051728ba - thumbnail_path: /lazy-static/thumbnails/9ed5a603-432b-4323-977c-8c8414aa43ca.jpg - published_at: 2021-12-02T00:00:00.000Z - language: English - category: Science & Technology -- name: Composing Schedulers using Effect Handlers - description: "Composing Schedulers using Effect Handlers\r\n\r\nDeepali Ande (IIT - Madras)\r\nKC Sivaramakrishnan (IIT Madras and Tarides)\r\n\r\nOCaml 5 introduces - effect handlers as a mechanism for con- current programming. With effect handlers, - concurrency can be expre..." - embed_path: /videos/embed/08ea09a1-e645-47cb-80c4-499dd4d93ac8 - thumbnail_path: /lazy-static/thumbnails/a3feaba9-56eb-4aa2-aad4-99a3ed77dfc1.jpg - published_at: 2022-10-20T00:00:00.000Z - language: English - category: Science & Technology -- name: Conex -- establishing trust into data repositories - description: Hannes Mehnert, Louis Gesbert at OCaml Workshop 2016 - embed_path: /videos/embed/70fbf7db-28dc-4798-b068-460b5d93df4e - thumbnail_path: /lazy-static/thumbnails/a22ae328-d483-433f-a388-42de0cb29e00.jpg - published_at: 2016-10-11T00:00:00.000Z - language: English - category: Science & Technology -- name: Continuous Benchmarking for OCaml Projects - description: "Regular CI systems are optimised for workloads that do not require - stable performance over time. This makes them unsuitable for running performance - benchmarks.\r\n\r\ncurrent-bench provides a predictable environment for performance - benchmarks and a UI..." - embed_path: /videos/embed/1c994370-1aaa-4db6-b901-d762786e4904 - thumbnail_path: /lazy-static/thumbnails/33ab36c3-3650-4c13-9fea-9b5907cf8c0f.jpg - published_at: 2021-08-27T11:20:09.000Z - language: English - category: Science & Technology -- name: Continuous Monitoring of OCaml Applications Using Runtime Events - description: The upcoming 5.0 release of OCaml includes a new runtime tracing system - designed for continuous monitoring of OCaml applications called Runtime Events. - It enables very low overhead, programmatic access to performance data emitted - by the OCaml runt... - embed_path: /videos/embed/299cab02-db94-44ac-b926-ea90ddda1b09 - thumbnail_path: /lazy-static/thumbnails/fdad6056-bd71-4401-9391-5cb5b4bfa06e.jpg - published_at: 2022-09-16T11:07:11.073Z - language: English - category: Science & Technology -- name: "Copying opam switches \u2013 it should Just Work\u2122" - description: "Copying opam switches \u2013 it should Just Work\u2122\r\n\r\nDavid - Allsopp (Tarides UK)\r\n\r\nOCaml\u2019s ecosystem centres around compilation - from source code, rather than precompiled binaries. The compiler itself is only - provided as a source distribution and OCaml\u2019..." - embed_path: /videos/embed/8c1c3fda-0106-4c7d-a794-33da7e758fee - thumbnail_path: /lazy-static/thumbnails/485ae080-f057-4f0d-be1e-c88ad2a22ab7.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Coq of OCaml - description: "Coq of OCaml, by Guillaume Claret\r\n\r\nThe CoqOfOCaml project is - a compiler from a subset of the OCaml language to the Coq programming language. - This com- piler aims to allow reasoning about OCaml programs, or to im- port existing - OCaml libraries in..." - embed_path: /videos/embed/fc7201df-ec27-4735-a51d-d3170d390346 - thumbnail_path: /lazy-static/thumbnails/f355df78-a634-408c-952e-73312d8b92e3.jpg - published_at: 2021-10-02T02:06:52.778Z - language: English - category: Unknown -- name: Core Time stamp counter - A fast high resolution time source - embed_path: /videos/embed/b6c7860d-e6eb-4404-96c3-917b81ee1f98 - thumbnail_path: /lazy-static/thumbnails/f4d75771-8394-438f-b8eb-86baff8863d6.jpg - published_at: 2021-09-11T02:42:33.957Z - language: English - category: Unknown -- name: 'Core Time stamp counter: A fast high resolution time source' - embed_path: /videos/embed/75b4d60f-3e37-40bd-b025-f39dcce0c42c - thumbnail_path: /lazy-static/thumbnails/43248673-6478-4e96-b8ac-cd415d85569b.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: Debugging Native OCaml with Breakpoints and Stepping - embed_path: /videos/embed/59d2cdd9-3d1e-4a6a-ae0e-ab9ee2882dd3 - thumbnail_path: /lazy-static/thumbnails/723ee60d-2829-462f-b79d-d5174722430c.jpg - published_at: 2023-07-07T17:18:45.492Z - language: Unknown - category: Unknown -- name: Deductive Verification of Realistic OCaml Code - description: We present the formal verification of a subset of the Set module from - the OCaml standard library. The proof is conducted using Cameleer, a new tool - for the deductive verification of OCaml code. Cameleer takes as input an OCaml - program, annotated u... - embed_path: /videos/embed/92309d92-8cbf-4545-980c-209c96e42a79 - thumbnail_path: /lazy-static/thumbnails/db29d3bf-784c-47f1-bf90-f13fd2a9d530.jpg - published_at: 2021-08-27T10:33:38.000Z - language: English - category: Science & Technology -- name: 'Demo: Solo5 Unikernel Hosting the MirageOS www-htdocs on a Raspberry Pi' - description: 'A demo showing a Solo5 unikernel hosting the MirageOS www-htdocs on - a Raspberry Pi ' - embed_path: /videos/embed/06e1d349-d082-4836-ab39-fb26d0898aae - thumbnail_path: /lazy-static/thumbnails/9c7c43b9-de1a-440b-a7be-8298ae5f25e2.jpg - published_at: 2023-09-20T11:27:06.813Z - language: Unknown - category: Science & Technology -- name: Develop Cross-Platform Software using 2+ Languages - description: "Explore how high school robotics software was developed that works - on Android phones and desktop PCs. Use OCaml alongside common programming languages - like Java and Python.\r\n\r\nDkSDK Subscription: https://diskuv.com/pricing/\r\nLearning - OCaml: https:..." - embed_path: /videos/embed/6162e7b7-f2dd-47e6-8133-c4126ce1b508 - thumbnail_path: /lazy-static/thumbnails/4a50eb98-ab79-4a57-87d9-a55a91654301.jpg - published_at: 2023-11-16T22:18:27.526Z - language: Unknown - category: Unknown -- name: Digodoc and Docs - description: In this talk, we will introduce a new tool called digodoc, that builds - a graph of an opam switch, associating files, libraries and opam packages into - a cyclic graph of inclusions and dependencies. We will then explain how we used - that tool to buil... - embed_path: /videos/embed/db6ed2c4-e940-4d5f-82ee-d3d20eb4ceb7 - thumbnail_path: /lazy-static/thumbnails/43a418d6-56ec-48f4-852b-0a18ec0789aa.jpg - published_at: 2021-08-27T12:09:56.000Z - language: English - category: Science & Technology -- name: Documenting OCaml - description: 'Documenting OCaml, (Invited Talk: Florian Angeletti)' - embed_path: /videos/embed/9f9ea4a5-4d6a-4da5-9080-833b25c26511 - thumbnail_path: /lazy-static/thumbnails/29f8a1a6-3728-4b27-9cd4-889c70ad1a7d.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: DragonKit - an extensible language oriented compiler - description: DragonKit - an extensible language oriented compiler, by Wojciech Meyer - embed_path: /videos/embed/8326a03e-02d5-4b32-8789-b7a76c30cf95 - thumbnail_path: /lazy-static/thumbnails/b9c74825-d374-4afb-9c5f-82cab13c1bb8.jpg - published_at: 2021-10-03T22:44:22.886Z - language: English - category: Unknown -- name: Effective Concurrency through Algebraic Effects - embed_path: /videos/embed/e9f6c837-1435-4349-af0f-07d22d1c11ea - thumbnail_path: /lazy-static/thumbnails/1de58bd2-d2f9-428c-8b8c-97b48d6d2c7e.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: "Efficient \u201Cout of heap\u201D pointers for multicore OCaml" - description: "Efficient \u201Cout of heap\u201D pointers for multicore OCaml\r\n\r\nGuillaume - Munch-Maccagnoni (INRIA)\r\n\r\nThis paper reports an experiment with a large - pages allocator for the OCaml runtime, with measured performance improvements. - A large pages allocator (als..." - embed_path: /videos/embed/0aa64600-b142-4c11-964d-dab8d509d08f - thumbnail_path: /lazy-static/thumbnails/f6850c67-39bc-45b4-bf00-8e6238baa413.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Ephemerons meet OCaml GC - description: " Ephemerons meet OCaml GC, by Fran\xE7ois Bobot\r\n\r\nGarbage collectors - (GCs) manage the memory for the programmers and help to ensure the safety of the - programs by freeing memory only when it cannot be used anymore. GCs detect that - a memory block can\u2019..." - embed_path: /videos/embed/556c8f75-b456-43a3-b9cb-97ae35b82072 - thumbnail_path: /lazy-static/thumbnails/f03f27d0-ca66-40b3-938d-65230885cd85.jpg - published_at: 2021-10-02T02:09:19.827Z - language: English - category: Unknown -- name: Episode3-Youtube - description: "Everything you need to know to install and use the DkML distribution - of OCaml on Windows. Includes a 5-minute quick install for learners. Includes - how to setup projects and configuring IDEs for software creators/engineers.\r\n\r\nAt - the time of this v..." - embed_path: /videos/embed/4d2578c2-20bf-4cd7-9256-b0eb49716009 - thumbnail_path: /lazy-static/thumbnails/669c9550-883a-4610-8450-504b172762ed.jpg - published_at: 2023-12-08T12:14:13.996Z - language: Unknown - category: Unknown -- name: Experiences with Effects in OCaml - description: The multicore branch of OCaml adds support for effect handlers. In - this talk, we report our experiences with effects, both from converting existing - code, and from writing new code. Converting the Angstrom parser from a callback - style to effects gr... - embed_path: /videos/embed/74ece0a8-380f-4e2a-bef5-c6bb9092be89 - thumbnail_path: /lazy-static/thumbnails/d48bf7bb-8c46-4d49-a3a6-734bf339343b.jpg - published_at: 2021-08-27T14:41:07.000Z - language: English - category: Science & Technology -- name: Experiments in Generic Programming - description: "Experiments in generic programming: runtime type representation and - implicit values, by Pierre Chambart & Gr\xE9goire Henry" - embed_path: /videos/embed/5ae26b10-9a5d-4395-89c6-a2e28e68d206 - thumbnail_path: /lazy-static/thumbnails/b1e66943-a372-4909-a8f6-70470546e69d.jpg - published_at: 2021-10-03T22:40:53.446Z - language: English - category: Unknown -- name: Extending OCaml's `open` - description: 'Speaker: Runhang Li' - embed_path: /videos/embed/8d5a83f5-ad98-4f45-9259-c84194134c20 - thumbnail_path: /lazy-static/thumbnails/e89d8c31-6100-4b14-97af-8bb02519dc86.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: From 2n+1 to n - description: "\r\nOCaml relies on a type-agnostic object representation centred - around values which unify odd integers and aligned pointers. The last bit of a - value distinguishes the two variants: zero indicates a pointer on the OCaml heap, - while one encodes a ta..." - embed_path: /videos/embed/74b32dae-11c6-4713-be1b-946260196e50 - thumbnail_path: /lazy-static/thumbnails/a2042ab9-9025-421a-9eae-176462ac594b.jpg - published_at: 2021-08-31T08:30:23.211Z - language: English - category: Unknown -- name: Generic Programming in OCaml - description: Florent Balestrieri, Michel Mauny - embed_path: /videos/embed/0aae98b9-3d0c-427b-af09-802b671dd66e - thumbnail_path: /lazy-static/thumbnails/55fba346-262d-4925-841d-dad58e694467.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: 'Genspio: Generating Shell Phrases in OCaml' - description: 'Speaker: Sebastien Mondet' - embed_path: /videos/embed/9a7bf8cc-38c5-4f67-ab25-0ea1388100d3 - thumbnail_path: /lazy-static/thumbnails/5c63a3fd-40fe-45e8-849e-6b0876ab915a.jpg - published_at: 2018-01-02T00:00:00.000Z - language: English - category: Science & Technology -- name: Github Pull Requests for OCaml development - a field report - description: "Github Pull Requests for OCaml development - a field report, by Gabriel - Scherer\r\n\r\nOn 2014/01/30, we started an experiment allowing users to submit - and discussion patches to the OCaml distribution on its Github mirror rather than - through the exist..." - embed_path: /videos/embed/f0021d24-9104-4672-a363-de5c1c514c2e - thumbnail_path: /lazy-static/thumbnails/6f0ed101-6c6f-4380-8a98-118ba6783fff.jpg - published_at: 2021-10-02T02:09:58.770Z - language: English - category: Unknown -- name: Global Semantic Analysis on OCaml programs - embed_path: /videos/embed/51e4bdf0-50f7-4b13-8514-2d62b5341066 - thumbnail_path: /lazy-static/thumbnails/8255d370-e621-44bc-b7c3-6dd39fab4d1d.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: 'GopCaml: A Structural Editor for OCaml' - description: "This talk presents GopCaml-mode, the first structural editing plugin - for OCaml. We will give a tour of the main plugin features, discussing the plugin\u2019s - internal design and its integration with existing OCaml and GNU Emacs toolchains.\r\n\r\nKiran - Gop..." - embed_path: /videos/embed/e0a6e6f2-0d40-4dfc-9308-001c8e0f64d6 - thumbnail_path: /lazy-static/thumbnails/729cda51-abb3-4c8d-9d0e-b922e81be518.jpg - published_at: 2021-08-27T10:12:58.000Z - language: English - category: Science & Technology -- name: High Performance Client-Side Web Programming with SPOC and Js of ocaml - description: "High Performance Client-Side Web Programming with SPOC and Js of ocaml - - by Mathias Bourgoin and Emmmanuel Chailloux (Universit\xE9 Pierre et Marie Curie)\r\n\r\nWe - present WebSpoc, an OCaml GPGPU library targeting web applications that is built - upon SPO..." - embed_path: /videos/embed/9e68174a-5c92-41f1-abdf-387a6cca7cf1 - thumbnail_path: /lazy-static/thumbnails/9cdceddf-7460-4843-acdd-99bdf0315732.jpg - published_at: 2021-10-02T02:49:14.435Z - language: English - category: Unknown -- name: Highest-performance Stream Processing - description: "Highest-performance Stream Processing\r\n\r\nOleg Kiselyov (Tohoku - University, Japan)\r\nTomoaki Kobayashi (Tohoku University)\r\nAggelos Biboudis - (Oracle)\r\nNick Palladinos (Nessos Information Technologies, SA)\r\n\r\nWe present - the stream processing library ..." - embed_path: /videos/embed/c75ed758-d513-4453-af68-c50c1d9a1469 - thumbnail_path: /lazy-static/thumbnails/129a91d7-e8d1-4eba-97ad-17d1f160f69a.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Homogeneous builds with OBuilder and OCaml - description: "Homogeneous builds with OBuilder and OCaml\r\n\r\nTim McGilchrist - (Tarides)\r\nDavid Allsopp (Tarides UK)\r\nPatrick Ferris (Tarides)\r\nAntonin - D\xE9cimo (Tarides)\r\nThomas Leonard (Tarides UK)\r\nAnil Madhavapeddy (University - of Cambridge, UK)\r\nKate Deplaix (Ta..." - embed_path: /videos/embed/29055525-2b0f-4f00-a0a0-26c9d4e97f9c - thumbnail_path: /lazy-static/thumbnails/50176590-0805-4125-ae46-7555c5d69474.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Implementing an interval computation library for OCaml - description: "Implementing an interval computation library for OCaml, by Jean-Marc - Alliot, Charlie Vanaret, Jean-Baptiste Gotteland, Nicolas Durand and David Gianazza.\r\n\r\nIn - this paper we present two implementation of interval arithmetics for Ocaml on - x86/amd64..." - embed_path: /videos/embed/e228951b-f544-4bd6-892a-2aca7e2065f9 - thumbnail_path: /lazy-static/thumbnails/1a0f9278-1e15-45c8-b7ae-ee882f4a3360.jpg - published_at: 2021-10-03T22:21:59.398Z - language: Unknown - category: Unknown -- name: Improving Type Error Messages in OCaml - description: "Improving Type Error Messages in OCaml, by Arthur Chargu\xE9raud (INRIA - & Universit\xE9 Paris Sud)\r\n\r\nCryptic type error messages are a major obstacle - to learning OCaml. In many cases, error messages cannot be interpreted with- out - a sufficiently-precis..." - embed_path: /videos/embed/9fa54aee-6b2f-492f-abbe-51affc07ec24 - thumbnail_path: /lazy-static/thumbnails/0522b690-1b00-4c83-b30a-9d7437b953f9.jpg - published_at: 2021-10-02T02:52:41.884Z - language: English - category: Unknown -- name: Improving the OCaml web stack - description: Spiridon Eliopoulos - embed_path: /videos/embed/513a2157-6844-4823-bef7-b26f3b635fbe - thumbnail_path: /lazy-static/thumbnails/4a3d2057-bb16-4bfd-bdcf-2e6ea3c0345b.jpg - published_at: 2016-10-08T00:00:00.000Z - language: English - category: Science & Technology -- name: Inline Assembly in OCaml - description: "Inline Assembly in OCaml \u2014 by Vladimir Brankov" - embed_path: /videos/embed/736857f3-99d9-46fb-9b4a-92eba42b2672 - thumbnail_path: /lazy-static/thumbnails/db12715d-3333-4568-80f6-e41edc813e1b.jpg - published_at: 2021-10-02T01:45:22.792Z - language: English - category: Unknown -- name: Inline Assembly in OCaml - embed_path: /videos/embed/632f520f-8f83-4b6f-89f1-5cde088436c7 - thumbnail_path: /lazy-static/thumbnails/5d2f65d1-6129-4206-832b-c3d4bab410df.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: Introduction to 0install - description: "Introduction to 0install by Thomas Leonard\r\n\r\n0install (pronounced - \u201CZero Install\u201D) is a decentralised cross-platform package manager. \u201CDecentralised\u201D - means that organisations and individuals can host their software in their own - package repositorie..." - embed_path: /videos/embed/21a21c83-a35d-4c09-b13c-8f060590c45c - thumbnail_path: /lazy-static/thumbnails/64211d01-b071-4755-a1ba-abf86f7800c8.jpg - published_at: 2021-10-02T02:54:53.718Z - language: English - category: Unknown -- name: Introduction to Eio by Thomas Leonard - description: This talk introduces the Eio library, a replacement for Lwt that uses - the new effects and multicore features in OCaml 5. It was an internal tech talk - given at Tarides, but we later decided to share it more widely. - embed_path: /videos/embed/02a7accc-2a2c-44d5-889e-d75e1489946e - thumbnail_path: /lazy-static/thumbnails/bdc3ee5c-9c6f-4f8c-8ab8-b292767777e2.jpg - published_at: 2023-03-03T09:36:03.399Z - language: English - category: Science & Technology -- name: Irmin v2 - description: 'Irmin is an OCaml library for building distributed databases with - the same design principles as Git. Existing Git users will find many familiar - features: branching/merging, immutable causal history for all changes, and the - ability to restore to an...' - embed_path: /videos/embed/53e497b0-898f-4c85-8da9-39f65ef0e0b1 - thumbnail_path: /lazy-static/thumbnails/138e7c05-185b-4e54-95d0-d15018905a39.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: Irminsule - a branch-consistent distributed library database - embed_path: /videos/embed/5546bb89-93a3-4407-a810-2d437479025f - thumbnail_path: /lazy-static/thumbnails/bdca687f-b58e-4167-b7d3-86daacaf4395.jpg - published_at: 2021-10-03T21:56:52.709Z - language: English - category: Unknown -- name: Ketrew and Biokepi - embed_path: /videos/embed/f3dcee35-bc04-453a-ba35-7aec90599661 - thumbnail_path: /lazy-static/thumbnails/0a36e8ce-c415-4191-ad5b-6ef2eb23db4e.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: 'Learning OCaml: An Online Learning Centre for OCaml' - description: "Learn OCaml: An Online Learning Center for OCaml, by Benjamin Canou, - Gr\xE9goire Henry, \xC7agdas Bozman and Fabrice Le Fessant.\r\n\r\nWe present - Learn OCaml, a Web application that packs a set of learning activities for people - who want to learn OCaml. It ..." - embed_path: /videos/embed/ea643e64-2393-4c24-9ccf-7216e3ded2ce - thumbnail_path: /lazy-static/thumbnails/c1911047-e6b0-4673-b0ed-8716533cd601.jpg - published_at: 2021-10-09T00:16:14.033Z - language: English - category: Unknown -- name: Leveraging Formal Specifications to Generate Fuzzing Suites - description: "When testing a library, developers typically first have to capture - the semantics they want to check. They then write the code implementing these - tests and find relevant test cases that expose possible misbehaviours.\r\n\r\nIn - this work, we present a t..." - embed_path: /videos/embed/d9a36c9f-1611-42f9-8854-981b1e2d7d75 - thumbnail_path: /lazy-static/thumbnails/e5d18bd4-b482-463c-80f8-35d9fbb46b23.jpg - published_at: 2021-08-27T10:40:06.000Z - language: English - category: Science & Technology -- name: LexiFi Runtime Types - description: OCaml programmers make deliberate use of abstract data types for composing - safe and reliable software systems. The OCaml compiler relies on the invariants - imposed by the type system to produce efficient and compact runtime data representations. - Be... - embed_path: /videos/embed/cc7e3242-0bef-448a-aa13-8827bba933e3 - thumbnail_path: /lazy-static/thumbnails/1d43d8b4-87d1-4398-b925-10a42460b8dc.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Science & Technology -- name: LibreS3 - design, challenges, and steps toward reusable libraries - embed_path: /videos/embed/c1b00980-3a4f-4222-b539-392815f7954f - thumbnail_path: /lazy-static/thumbnails/ee8640c9-d827-498b-8e20-bed53e7481f7.jpg - published_at: 2021-10-03T21:57:39.057Z - language: English - category: Unknown -- name: Lock free programming for the masses - description: KC Sivaramakrishnan and Theo Laurent at OCaml Workshop 2016 - embed_path: /videos/embed/4435adfc-e97e-42c5-8bb7-1578bd76e42b - thumbnail_path: /lazy-static/thumbnails/1dc20eb1-2898-48ff-bf3f-544c775b392e.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: 'Love: a readable language interpreted by a blockchain' - description: We present Love, a smart contract language embedded in the Dune Network - blockchain. It benefits from an OCaml-like syntax and a system-F inspired type - system. Love has been used for deploying complex services such as games, ERC20s, - atomic swaps, e... - embed_path: /videos/embed/d3b2b31e-1739-406e-8de7-d5f21bc01836 - thumbnail_path: /lazy-static/thumbnails/93a6e9ac-2266-408a-81e7-1ebf239233f8.jpg - published_at: 2021-08-27T15:10:17.000Z - language: English - category: Science & Technology -- name: 'Memo: an incremental computation library that powers Dune' - description: "Memo: an incremental computation library that powers Dune\r\n\r\nAndrey - Mokhov (Jane Street)\r\nArseniy Alekseyev (Jane Street)\r\n\r\nWe present Memo, - an incremental computation library that supports a new, faster and more scalable, - file-watching build mod..." - embed_path: /videos/embed/d6a126b9-05f6-4b0f-ac6b-ad14d9bf12c9 - thumbnail_path: /lazy-static/thumbnails/7594e9b6-ab48-47dd-9da7-5b42c5a4a24f.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Multicore OCaml - description: "Multicore OCaml, by Stephen Dolan, Leo White, Anil Madhavapeddy (University - of Cambridge).\r\n\r\nCurrently, threading is supported in OCaml only by means - of a global lock, allowing at most thread to run OCaml code at any time. We present - ongo- ing wo..." - embed_path: /videos/embed/490b5363-01b6-45d8-9b7e-c883a20026a1 - thumbnail_path: /lazy-static/thumbnails/07162af4-06f9-4d3c-954a-4c35dc87fd21.jpg - published_at: 2021-10-03T21:59:49.549Z - language: English - category: Unknown -- name: Multicoretests - Parallel Testing Libraries for OCaml 5.0 - description: "Multicoretests - Parallel Testing Libraries for OCaml 5.0\r\n\r\nJan - Midtgaard (Tarides)\r\nOlivier Nicole (Tarides)\r\nNicolas Osborne (Tarides)\r\n\r\nParallel - and concurrent code is notoriously hard to test because of the involved non-determinism, - yet it i..." - embed_path: /videos/embed/c844f844-acc1-4a8a-944e-4d99343a89c5 - thumbnail_path: /lazy-static/thumbnails/1cc87793-9cec-454a-905b-1c52a97776fd.jpg - published_at: 2022-10-20T00:00:00.000Z - language: English - category: Science & Technology -- name: New contributors to OCaml, an invited talk - description: "New Contributors talk, Invited Talk: S\xE9bastien Hinderer" - embed_path: /videos/embed/8fe8d294-ae8c-4f55-9750-c69fabfc8d34 - thumbnail_path: /lazy-static/thumbnails/22f3201e-98a3-4172-863b-bca26d356a11.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: Nullable Type Inference - description: "Nullable Type Inference, by Michel Mauny and Beno\xEEt Vaugon\r\n\r\nWe - present type inference algorithms for nullable types in ML-like programming languages. - Starting with a sim- ple system, presented as an algorithm, whose only inter- - est is to introdu..." - embed_path: /videos/embed/380b1c2e-6298-49fc-88a1-c440ece29c76 - thumbnail_path: /lazy-static/thumbnails/460d1b9a-8dfe-477c-b8a9-9b44f9be104d.jpg - published_at: 2021-10-03T22:00:18.779Z - language: English - category: Unknown -- name: OCaml Companion Tools - description: "OCaml Companion Tools, by Xavier Clerc.\r\n\r\nThe objective of this - talk is to present several tools that aim to ease the development of software - written with the OCaml language. These tools are particularly suited to help the - developer during the de..." - embed_path: /videos/embed/4583b254-82f9-4176-9f39-2bc0bb6a9c22 - thumbnail_path: /lazy-static/thumbnails/491ac4a3-8274-4f0d-9897-d88eece06dc4.jpg - published_at: 2021-10-03T22:45:24.958Z - language: English - category: Unknown -- name: 'OCaml Under The Hood: SmartPy' - description: SmartPy is a complete system to develop smart-contracts for the Tezos - blockchain. It is an embedded EDSL in python to write contracts and their test - scenarios. It includes an online IDE, a chain explorer, and a command-line interface. - Python is us... - embed_path: /videos/embed/7446ad4d-4ae2-4e1a-bc38-af8f71e8ebd8 - thumbnail_path: /lazy-static/thumbnails/e1ac5b07-3648-40c1-b62c-5e88471741dc.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: 'OCaml and Python: Getting the Best of Both Worlds' - description: In this talk we present how we expose a wide variety of OCaml libraries - and services so that they can be accessed from Python. Our initial use case on - the Python side consisted in Jupyter notebooks used to analyse various datasets, - these datasets ... - embed_path: /videos/embed/9eafdb1e-9be9-4a52-98b4-f4696eda4c18 - thumbnail_path: /lazy-static/thumbnails/53db83d1-0763-4dfa-a087-cce3cad1b581.jpg - published_at: 2021-08-27T10:16:54.000Z - language: English - category: Science & Technology -- name: 'OCaml behind the scenes: Exceptions' - description: "In this talk, Fabrice Buoro explained what happens at the deepest - level when your OCaml program raises or catches an exception. This inside knowledge - will lead to a number of takeaways for best performance.\r\n\r\nSlides and sources - can be found at ht..." - embed_path: /videos/embed/eed144f1-23c7-4c78-a34e-850dd57225cc - thumbnail_path: /lazy-static/thumbnails/754cfd8c-e24e-41d3-a73a-7151f70c58d1.jpg - published_at: 2022-11-18T10:00:51.000Z - language: English - category: Science & Technology -- name: 'OCaml inside: a drop in replacement for libtls' - description: "Enguerrand Decorne, Jeremy Yallop, David Kaloper Mer\u0161injak" - embed_path: /videos/embed/68a11315-f7ca-4c0e-a043-98008694671d - thumbnail_path: /lazy-static/thumbnails/ce1396e3-29f7-4419-8817-fd3d1d6eadc4.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: OCaml on Windows in 2017 - description: 'OCaml on Windows, Invited Talk: David Allsopp' - embed_path: /videos/embed/efbfd4c3-8e73-464b-a14c-c8de9f58a984 - thumbnail_path: /lazy-static/thumbnails/102d80ec-67b4-41a5-9905-70d63a68b4ad.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: 'OCaml-CI : A Zero-Configuration CI' - description: "OCaml-CI\n\nis a CI service for OCaml projects. It\nuses metadata - from the project\u2019s opam and dune\nfiles to work out what to build, and uses - caching\nto make builds fast. It automatically tests projects\nagainst multiple - OCaml versions and OS platforms..." - embed_path: /videos/embed/0fee79e8-715a-400b-bfcc-34c3610f4890 - thumbnail_path: /lazy-static/thumbnails/596f39a9-8654-4922-8bec-6e7ac5dcc319.jpg - published_at: 2020-08-28T00:00:00.000Z - language: English - category: Unknown -- name: 'OCaml-CI : A Zero-Configuration CI' - description: "OCaml-CI1 is a CI service for OCaml projects. It uses metadata from - the project\u2019s opam and dune files to work out what to build, and uses caching - to make builds fast. It automatically tests projects against multiple OCaml versions - and OS platforms..." - embed_path: /videos/embed/da88d6ac-7ba1-4261-9308-d03fe21e35b9 - thumbnail_path: /lazy-static/thumbnails/1c22a14e-f067-4d4e-8e26-027cc6d8a491.jpg - published_at: 2020-08-28T00:00:00.000Z - language: English - category: Science & Technology -- name: OCamlCC - raising low-level byte code to high-level C - description: "OCamlCC - raising low-level byte code to high-level C, by Michel Mauny - Beno\xEEt Vaugon\r\n\r\nWe present preliminary results about OCamlCC, a compiler - producing native code from OCaml bytecode executables, through the generation - of C code.\r\n" - embed_path: /videos/embed/c31ec9fa-7c65-46f5-bbc9-77c6ac87bf0b - thumbnail_path: /lazy-static/thumbnails/d1a815bb-e8ed-4d99-808a-a78d1f512712.jpg - published_at: 2021-10-03T22:17:09.763Z - language: English - category: Unknown -- name: OCamlOScope - a New OCaml API Search - description: '[OCamlOScope](http://ocamloscope.herokuapp.com) is a new search engine - for OCaml programming. Tons of OCaml library packages, modules, types, constructors, - functions and values can be searched via simple string queries.' - embed_path: /videos/embed/c3e3cf25-0fa7-46ad-b0bf-f313bad7142d - thumbnail_path: /lazy-static/thumbnails/486bbc91-0e44-4024-99e1-61326e1c95af.jpg - published_at: 2021-10-03T22:01:54.239Z - language: English - category: Unknown -- name: OCamlPro - promoting OCaml use in industry - description: OCamlPro exists with the mission of promoting the successful use of - OCaml in industry. OCamlPro builds a professional environment for the development - of OCaml applications, including IDE integration, development tools and services. - These include t... - embed_path: /videos/embed/dbf5a276-460c-45f4-b488-924cec7db3aa - thumbnail_path: /lazy-static/thumbnails/b00f092f-2b96-4623-b55b-ed5e505f4d76.jpg - published_at: 2021-10-03T22:34:20.640Z - language: English - category: Unknown -- name: OPAM - an OCaml Package Manager - description: OPAM - an OCaml Package Manager, by Thomas Gazagnaire. - embed_path: /videos/embed/3ff87a10-3785-41e6-ba47-acab21fcfa8a - thumbnail_path: /lazy-static/thumbnails/c4083614-edd9-445f-85a4-e2ae470c761e.jpg - published_at: 2021-10-03T22:42:00.207Z - language: English - category: Unknown -- name: "Ocsigen: Developing Web and mobile applications in OCaml \u2013 J\xE9r\xF4me - Vouillon & Vincent Balat" - description: This presentation gives an overview of the Ocsigen framework, which - is used in particular to develop the Be Sport social network. Ocsigen is a set - a tools to develop Web sites and applications. Amongst other things, it contains - js_of_ocaml, a comp... - embed_path: /videos/embed/c9237937-9145-443c-9a78-d3ab20d2c932 - thumbnail_path: /lazy-static/thumbnails/2dd76a3b-cfca-4ad5-b1fd-d2c60d9588b7.jpg - published_at: 2024-01-23T10:29:15.683Z - language: English - category: Science & Technology -- name: Ocsigen_Eliom - the state-of-the-art and the prospects - description: 'Ocsigen/Eliom: The state of the art, and the prospects, by Benedikt - Becker and Vincent Balat' - embed_path: /videos/embed/d010b30f-61d5-4d70-b10a-518a7a6e1e3f - thumbnail_path: /lazy-static/thumbnails/7b044637-259c-4b30-875b-4c4563ce23aa.jpg - published_at: 2021-10-03T22:15:47.662Z - language: English - category: Unknown -- name: 'Opam-bin: Binary Packages with Opam' - description: In this talk, we will present opam-bin, an Opam plugin that builds - Binary Opam packages on the fly, to speed-up reinstallation of pack- ages. opam-bin - also creates Opam Repositories for these binary pack- ages, to make them easy - to share with othe... - embed_path: /videos/embed/a889e4d3-0508-4734-b667-7060b0a253cd - thumbnail_path: /lazy-static/thumbnails/b2325a24-f068-473b-961e-a0b783ae5c39.jpg - published_at: 2021-08-27T15:01:40.000Z - language: English - category: Science & Technology -- name: Operf - Benchmarking the OCaml Compiler - description: "Operf: Benchmarking the OCaml Compiler \u2014 by Pierre Chambart, - Fabrice Le Fessant, Vincent Bernardoff" - embed_path: /videos/embed/eb229518-1108-46bd-b8b2-3ce8b886c96f - thumbnail_path: /lazy-static/thumbnails/6f55ff79-72d5-4492-b824-8464783f31c2.jpg - published_at: 2021-09-11T02:11:32.589Z - language: English - category: Unknown -- name: 'Operf: Benchmarking the OCaml Compiler' - embed_path: /videos/embed/5a4a6c12-3cb1-40d2-a663-25f294e12555 - thumbnail_path: /lazy-static/thumbnails/c2b5c90a-9c9e-4058-94a1-15525795a01a.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: Outreachy Presentations for the December 2021 Round - description: The OCaml community participated in the December 2021 round of [Outreachy](https://www.outreachy.org/) - internships. Three interns worked on a range of projects including OCaml's pre-processor - ecosystem (PPX), a metrics system for the new ocaml.org... - embed_path: /videos/embed/70610574-f213-4368-b4ae-8f7d44094883 - thumbnail_path: /lazy-static/thumbnails/c4712995-fb5d-4cbc-884e-88cd025772f6.jpg - published_at: 2023-03-07T16:12:57.251Z - language: English - category: Science & Technology -- name: Outreachy Presentations for the December 2022 Round - description: "The OCaml community participated in the December 2022 round of [Outreachy](https://www.outreachy.org/) - internships. We had one intern work on a TopoJSON parsing library.\r\n\r\nThis - meeting was an opportunity for the interns to present their work and ..." - embed_path: /videos/embed/c1151157-94fa-4fac-8ef1-c6b6ce349970 - thumbnail_path: /lazy-static/thumbnails/bc2ce81f-16c2-42c2-bb2c-7d44f36296bb.jpg - published_at: 2023-03-07T16:04:16.313Z - language: English - category: Science & Technology -- name: Outreachy Presentations for the December 2023 Round - description: The OCaml community participated in the December 2023 round of [Outreachy](https://www.outreachy.org/) - internships. Three interns worked on a range of projects including geometric creative - coding libraries, dark mode for OCaml.org and building GUI... - embed_path: /videos/embed/51e22e39-a000-460d-9d2e-1d6ee2aab1ad - thumbnail_path: /lazy-static/thumbnails/502150ad-d17b-4b52-8031-f0fe478eeaae.jpg - published_at: 2024-03-08T17:55:29.637Z - language: English - category: Science & Technology -- name: Outreachy Presentations for the May 2022 Round - description: "The OCaml community participated in the May 2022 round of [Outreachy](https://www.outreachy.org/) - internships. Two interns worked on a range of projects including Multicore OCaml - benchmarks and TopoJSON parsing libraries.\r\n\r\nThis meeting was an op..." - embed_path: /videos/embed/f2a11bb2-a28f-4e59-a5de-4f5055fb90c1 - thumbnail_path: /lazy-static/thumbnails/89cf6dcb-72dc-4f09-ac70-8a814b808f7b.jpg - published_at: 2023-03-07T16:05:33.751Z - language: English - category: Science & Technology -- name: Outreachy Presentations for the May 2023 Round - description: 'The OCaml community participated in the May 2023 round of Outreachy - internships. Three interns worked on a range of projects including: MIDI over - ethernet, persistent storage in MirageOS and improving error reporting in existing - ppxlib-based ppxs....' - embed_path: /videos/embed/a10f4f85-d176-4f69-9ca9-1651c9262a74 - thumbnail_path: /lazy-static/thumbnails/6fc5ecb9-611c-4e2c-b362-de67eb0d89b1.jpg - published_at: 2023-09-18T13:15:08.648Z - language: English - category: Unknown -- name: 'Owl: A General-Purpose Numerical Library in OCaml' - description: 'Speaker: Liang Wang' - embed_path: /videos/embed/d258fa91-ddb6-40d8-96de-e9ac97e8c899 - thumbnail_path: /lazy-static/thumbnails/70430102-7697-48eb-85e0-9d76fb712a94.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: 'Parafuzz: Coverage-guided Property Fuzzing for Multicore OCaml programs' - description: "We develop ParaFuzz, an input and concurrency fuzzing tool for Multicore - OCaml programs. ParaFuzz builds on top of Crowbar which combines AFL-based grey - box fuzzing with QuickCheck and extends it to handle parallelism.\r\n\r\nSumit - Padhiyar\r\nIndian In..." - embed_path: /videos/embed/c0d591e0-91c9-4eaa-a4d7-c4f514de0a57 - thumbnail_path: /lazy-static/thumbnails/b1a67c0a-2eb9-4c9d-97ce-b4dc039da59b.jpg - published_at: 2021-08-27T10:36:13.000Z - language: English - category: Science & Technology -- name: Parallelising your OCaml Code with Multicore OCaml - description: 'Slides, speaker notes and runnable examples mentioned in this talk - are available at: https://github.com/ocaml-multicore/ocaml2020-workshop-parallel - - - With the availability of multicore variants of the recent OCaml versions (4.10 - and 4.11) that main...' - embed_path: /videos/embed/ce20839e-4bfc-4d74-925b-485a6b052ddf - thumbnail_path: /lazy-static/thumbnails/30bc6019-ecab-40e5-a7b6-c294ac9a7344.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: Persistent Networking with Irmin and MirageOS - embed_path: /videos/embed/97dd9634-28e4-4066-96e4-9c2036ee4bb2 - thumbnail_path: /lazy-static/thumbnails/46ba8c5d-0f4a-427e-8e76-0c58cb0e70a7.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: Presenting Core - description: "Presenting Core, by Yaron Minsky\r\n\r\nCore is Jane Street's alternative - to the OCaml standard library. The need for\r\nan alternative to the standard - library is clear: OCaml's standard library is\r\nwell implemented, but it's narrow - in scope, and somewh..." - embed_path: /videos/embed/3159e115-948e-4f67-9d45-403bef003c35 - thumbnail_path: /lazy-static/thumbnails/61fe2572-358b-4110-9748-485a2e3ceffa.jpg - published_at: 2021-10-03T23:08:42.826Z - language: English - category: Unknown -- name: Probabilistic resource limits using StatMemprof - description: The goal of this talk is two-fold. First, we present memprof-limits, - a probabilistic implementation of per-thread global memory limits, and per-thread - allocation limits, for OCaml 4.12. Then, we will discuss the reasoning about programs - in the pre... - embed_path: /videos/embed/bc297e85-82dd-4baf-8556-4a3a934978f9 - thumbnail_path: /lazy-static/thumbnails/9b4dc06e-1d07-45b8-a21a-1e4f39897fef.jpg - published_at: 2021-08-27T11:08:12.000Z - language: English - category: Science & Technology -- name: Programming the Xen cloud using OCaml - description: "Programming the Xen cloud using OCaml by David Scott, Anil Madhavapeddy - and Richard Mortier.\r\n\r\nThe Xen Cloud Platform (XCP)1 is an open-source software - distribution that converts clusters of physical computers into many virtual machines, - all isol..." - embed_path: /videos/embed/360f8fe3-3268-44da-a0c4-b37c26aa7e36 - thumbnail_path: /lazy-static/thumbnails/90298af3-37a4-4420-9e3c-b30cb1369559.jpg - published_at: 2021-10-03T22:29:04.690Z - language: English - category: Unknown -- name: Property-Based Testing for OCaml through Coq - description: We will present a property-based testing framework for OCaml that leverages - the power of QuickChick, a popular and mature testing plugin for the Coq proof - assistant, by automatically constructing a extraction-based shim between OCaml - and Coq. That... - embed_path: /videos/embed/9324fba4-2482-4bab-bfdd-b8881b3ed94a - thumbnail_path: /lazy-static/thumbnails/d7e22bba-cda1-4c2b-9368-9b2c1643e751.jpg - published_at: 2021-08-31T08:37:00.571Z - language: English - category: Unknown -- name: 'R&B: Towards bringing functional programming to everyday''s web programmer' - description: 'Speaker: Hongbo Zhang' - embed_path: /videos/embed/af37368d-085d-431d-923f-cd1d81dfdbe9 - thumbnail_path: /lazy-static/thumbnails/fd4bd408-ae52-4dee-aedf-5aab29c35179.jpg - published_at: 2018-11-26T00:00:00.000Z - language: English - category: Science & Technology -- name: Real-world debugging in OCaml - description: Real-world debugging in OCaml, by Mark Shinwell - embed_path: /videos/embed/a8f4cf6b-9971-484b-ab5b-34a16fde1185 - thumbnail_path: /lazy-static/thumbnails/ea912a23-6e8b-40ec-ac45-81af2d01617a.jpg - published_at: 2021-10-03T22:35:41.668Z - language: English - category: Unknown -- name: 'Relit: Implementing Typed Literal Macros in Reason' - description: 'Speaker: Charles Chamberlain' - embed_path: /videos/embed/f75acae0-c24d-4d19-958e-0c76ff51603f - thumbnail_path: /lazy-static/thumbnails/5ef79cb1-000b-425f-8a42-4e1f67219636.jpg - published_at: 2018-11-26T00:00:00.000Z - language: English - category: Science & Technology -- name: Safe Protocol Updates via Propositional Logic - description: "If values of a given type are stored on disk, or are sent between - different executables, then changing that type or its serialization can result - in versioning issues.\r\nOften such issues are resolved by either making the deserializer - more permissiv..." - embed_path: /videos/embed/c6176f51-0277-46f0-937b-1e2721044492 - thumbnail_path: /lazy-static/thumbnails/a89a3483-274a-44f1-9a38-c679f6b12196.jpg - published_at: 2021-08-31T08:34:54.707Z - language: English - category: Unknown -- name: Semantics for the Lambda intermediate language - description: Pierre Chambart - embed_path: /videos/embed/90d9b62f-f9d6-4dd5-a7fc-f584e45ef0b7 - thumbnail_path: /lazy-static/thumbnails/22e1eac2-83d4-4af4-a5c2-0852afbee4eb.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: 'Semgrep : a fast, lightweight, polyglot static analysis tool to find bugs' - description: "Semgrep, which stands for \u201Csemantic grep,\u201D is a fast, lightweight, - polyglot, open source static analysis tool to find bugs and enforce code standards. - It is used internally by many companies including Dropbox and Snowflake. Semgrep - is also now use..." - embed_path: /videos/embed/c0d07213-1426-46a1-98e0-0b0c4515c841 - thumbnail_path: /lazy-static/thumbnails/2ab3961f-4e66-4ec9-b20e-72e25dfbebe4.jpg - published_at: 2021-08-31T08:41:15.492Z - language: English - category: Unknown -- name: Simple, efficient, sound-and-complete combinator parsing - description: This proposal describes a parsing library that is based on current - work due to be published as Simple, efficient, sound and complete combinator parsing - for all context-free grammars, using an oracle. - embed_path: /videos/embed/7a0a6d3c-dad0-4fe8-9c35-78cbfbd431d9 - thumbnail_path: /lazy-static/thumbnails/fbc3103b-30f2-45d9-85ce-95732b8e7f74.jpg - published_at: 2021-10-03T22:03:25.164Z - language: English - category: Unknown -- name: Specialization of Generic Array Accesses After Inlining - description: "Specialization of Generic Array Accesses After Inlining \u2014 by - Ryohei Tokuda, Eijiro Sumii, Akinori Abe" - embed_path: /videos/embed/515689cc-4736-4e1e-9f9f-be363b4551af - thumbnail_path: /lazy-static/thumbnails/01724d60-213c-4570-8db2-26a555304d3d.jpg - published_at: 2021-10-02T01:42:07.586Z - language: Unknown - category: Unknown -- name: Specialization of Generic Array Accesses After Inlining - embed_path: /videos/embed/80553916-b90a-4641-93c8-35b000df04c1 - thumbnail_path: /lazy-static/thumbnails/1f81fbbf-6fb0-4047-93a1-57759431166a.jpg - published_at: 2015-09-18T00:00:00.000Z - language: Unknown - category: Science & Technology -- name: Stack allocation for OCaml - description: "Stack allocation for OCaml\r\n\r\nStephen Dolan (Jane Street)\r\nLeo - White (Jane Street)\r\n\r\nAllocating values on a stack instead of the garbage - collected heap can improve performance by improving cache locality and avoiding - GC pauses. However, it requir..." - embed_path: /videos/embed/6c86b050-334b-4a11-bb04-c347a6e57215 - thumbnail_path: /lazy-static/thumbnails/51391b6c-3323-4a30-abb0-2c7990b3b5db.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: State of the OCaml Platform - embed_path: /videos/embed/390ce74c-f85f-477d-8f20-504437409add - thumbnail_path: /lazy-static/thumbnails/33258292-009b-42ee-83d3-9eb4bfb4e048.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: State of the OCaml Platform 2017 - description: Anil Madhavapeddy - embed_path: /videos/embed/3940b98a-6b33-41f7-b0e7-4b7ae5ec2b4b - thumbnail_path: /lazy-static/thumbnails/241e14b9-6e25-4eda-bf95-9d33074666bc.jpg - published_at: 2018-01-12T00:00:00.000Z - language: English - category: Science & Technology -- name: State of the OCaml Platform 2020 - description: 'This talk covers: - - - - Integrated Development Environments - - - Next Steps for the OCaml Platform - - - Plans for 2020-2021' - embed_path: /videos/embed/0e2070fd-798b-47f7-8e69-ef75e967e516 - thumbnail_path: /lazy-static/thumbnails/4fd6a51f-686c-4f6f-8026-83692304b432.jpg - published_at: 2020-08-28T00:00:00.000Z - language: English - category: Science & Technology -- name: Study of OCaml programs' memory behaviour - description: "Study of OCaml programs\u2019 memory behaviour, by \xC7agdas Bozman, - Thomas Gazagnaire, Fabrice Le Fessant and Michel Mauny.\r\n\r\nIn this paper, - we present a preliminary work on new memory profiling tool and others, to help - us to understand memory behaviour." - embed_path: /videos/embed/180ee1ea-6fa8-4dba-aa69-e3901cc3147f - thumbnail_path: /lazy-static/thumbnails/09ec226c-3670-47b3-b944-94684cf86d36.jpg - published_at: 2021-10-03T22:19:07.925Z - language: English - category: Unknown -- name: 'SundialsML: interfacing with numerical solvers' - description: 'Timothy Bourke, Jun Inoue, Marc Pouzet ' - embed_path: /videos/embed/3a00e727-45da-4c4a-a446-927cb28bb6bc - thumbnail_path: /lazy-static/thumbnails/7ca45ca6-3fe4-4429-b7da-56ab18f3210f.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: Supporting FLAT concepts in Learn-OCaml - description: "Supporting FLAT concepts in Learn-OCaml: seeing is believing, programming - is understanding\r\n\r\nArtur Miguel Dias (NOVA University of Lisbon and NOVA - LINCS)\r\nSim\xE3o Melo de Sousa (Universidade da Beira Interior and NOVA LINCS)\r\nAntonio - Ravara (NOVA L..." - embed_path: /videos/embed/aa552395-666e-4394-a42f-faaa6f3da92c - thumbnail_path: /lazy-static/thumbnails/3508c107-3f53-4000-b4d6-15ccfb72f070.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Supporting a decade of opam - description: "Supporting a decade of opam\r\n\r\nDavid Allsopp (Tarides UK)\r\nRaja - Boujbel (OCamlPro)\r\nKate Deplaix (Tarides UK)\r\nLouis Gesbert (OCamlPro)\r\n\r\nOPAM - 1.2 was released in 2014. It was four years before opam 2.0 succeeded it, and - another three for opam 2...." - embed_path: /videos/embed/039f1096-a63c-4a88-af4b-dcc48791d723 - thumbnail_path: /lazy-static/thumbnails/9443d37b-6a7a-4a90-ac14-48520c1ab0c7.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Talking with Anil Madhavapeddy about OCaml, Tezos and @TrustedCarbon - description: "Anil Madhavapeddy (@avsm), the face of OCaml\r\n\r\nIf you'd like - to support the show for more content about OCaml, Reason and ReScript you can - now do so at https://www.patreon.com/emelletv or by sending any tez amount to - emelletv.tez (tz1bQHQKT4BSoE..." - embed_path: /videos/embed/90e15dba-5a27-4897-a5fb-36bf32a01dd7 - thumbnail_path: /lazy-static/thumbnails/47fb3b16-4ca7-4526-8b51-5dc1537b7e48.jpg - published_at: 2022-04-18T00:00:00.000Z - language: English - category: Science & Technology -- name: "Talking with Ant\xF3nio Monteiro about Melange, Esy, Reason, OCaml and more" - description: "If you would like to sponsor the show contact https://twitter.com/davesnx\r\n\r\nConsider - sponsoring Ant\xF3nio's work: https://github.com/sponsors/anmonteiro" - embed_path: /videos/embed/4e362b66-3362-4390-83a9-92cd8ec8f013 - thumbnail_path: /lazy-static/thumbnails/6b016e42-8d26-4bda-ad15-dee0edfdaed3.jpg - published_at: 2021-08-20T00:00:00.000Z - language: English - category: Science & Technology -- name: Talking with Gabriel Nordeborn ReScript, Relay and everything else! - embed_path: /videos/embed/e3e0dae6-5f69-43f2-bae9-65eaf1071ad6 - thumbnail_path: /lazy-static/thumbnails/97c899e0-145f-4c1e-884c-f13e319fc184.jpg - published_at: 2021-08-03T00:00:00.000Z - language: English - category: Science & Technology -- name: Talking with Jaap Frolich about graphql-ppx - description: "Jaap (@JaapFrolich) is working at Walnut and maintainer of graphql-ppx\r\n\r\nIf - you'd like to support the show for more content about OCaml, Reason and ReScript - \ you can now do so at https://www.patreon.com/emelletv or by sending any tez - amount to em..." - embed_path: /videos/embed/74fbd6d8-8cb6-4c8d-bfb7-f030978fcde0 - thumbnail_path: /lazy-static/thumbnails/480521b9-56f3-4d85-997b-7ed7dc405977.jpg - published_at: 2021-11-02T00:00:00.000Z - language: English - category: News & Politics -- name: Talking with Oscar Spencer about Grain Lang, WASM, PLT and ML - description: "Oscar Spencer @oscar_spen is the co-author of Grain Lang\r\n \r\n\r\nIf - you'd like to support the show for more content about OCaml, Reason and ReScript - \ you can now do so at https://www.patreon.com/emelletv or by sending any tez - amount to emelletv.tez ..." - embed_path: /videos/embed/c3766619-7cc7-437e-bf5c-fc3b6a675231 - thumbnail_path: /lazy-static/thumbnails/c3735cff-1edd-401c-ae3d-327153b4c0ce.jpg - published_at: 2021-11-08T00:00:00.000Z - language: English - category: Science & Technology -- name: The ImpFS filesystem - description: "This proposal describes a presentation to be given at the OCaml\u201920 - workshop. The presentation will cover a new OCaml filesystem, ImpFS, and the related - libraries. The filesystem makes use of a B-tree library presented at OCaml\u201917, - and a key-value ..." - embed_path: /videos/embed/28545b27-4637-47a5-8edd-6b904daef19c - thumbnail_path: /lazy-static/thumbnails/dde19660-653d-4dc3-9e81-54b2e3ab22a2.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: The OCaml Platform 1.0 - Reason ML - description: 'Presented by Anil Madhavapeddy (@avsm) - - - We keep being told ReasonML can compile to native and do interop with OCaml, and - that there''s a wealth of existing code and tools we can draw into our applications - - but how do we get there? - - This video will ...' - embed_path: /videos/embed/bd9a8e54-6ca5-4036-a08c-6a47cee6619e - thumbnail_path: /lazy-static/thumbnails/ddc1e6fb-9999-4e79-b458-31c7e3ec1108.jpg - published_at: 2018-12-11T00:00:00.000Z - language: English - category: Science & Technology -- name: The OCaml Platform v1.0 - description: "The OCaml Platform v1.0, by Anil Madhavapeddy\r\n\r\nThe OCaml Platform - combines the OCaml compiler toolchain with a coherent set of tools for build, - documen- tation, testing and IDE integration. The project is a collab- orative - effort across the OCam..." - embed_path: /videos/embed/37eaef0e-d826-4452-bf84-f04244a85ce9 - thumbnail_path: /lazy-static/thumbnails/052d59ac-f44a-4730-aed6-47dd6a6f2405.jpg - published_at: 2021-10-03T22:06:15.953Z - language: English - category: Unknown -- name: The State of OCaml - description: The State of OCaml, Xavier Leroy - embed_path: /videos/embed/b04b10c1-b924-4f58-8aa9-4527dcc11d8a - thumbnail_path: /lazy-static/thumbnails/9feccd59-f677-4be6-bcf4-a07977ef5b29.jpg - published_at: 2021-10-03T22:49:54.276Z - language: English - category: Unknown -- name: The State of OCaml - description: "The State of OCaml (invited talk) \u2014 by Xavier Leroy" - embed_path: /videos/embed/69e486cd-191d-430b-8a41-0be0f806096b - thumbnail_path: /lazy-static/thumbnails/36c5055b-7c67-4208-97cc-448f52814ab0.jpg - published_at: 2021-10-02T01:51:45.256Z - language: English - category: Unknown -- name: The State of OCaml - embed_path: /videos/embed/60a2ecfb-86ea-4881-a279-0a928452a3c3 - thumbnail_path: /lazy-static/thumbnails/a5e5f630-2df9-4691-8ddf-a8137001ab4c.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: The State of OCaml (invited), Xavier Leroy - description: The State of OCaml (invited), Xavier Leroy - embed_path: /videos/embed/11844424-be9b-4427-b3dd-24c3e4ff85a9 - thumbnail_path: /lazy-static/thumbnails/9b6f683f-8726-4b78-ac8b-4dae7217eace.jpg - published_at: 2021-10-03T22:07:14.955Z - language: English - category: Unknown -- name: The State of the OCaml Platform - description: "The State of the OCaml Platform: September 2016 \r\nby Louis Gesbert, - on behalf of the OCaml Platform team" - embed_path: /videos/embed/c386fc95-092e-4ea7-9317-91edf287fea6 - thumbnail_path: /lazy-static/thumbnails/9f922a48-9902-4f08-b4f7-8b6437cf47e7.jpg - published_at: 2021-10-09T00:00:01.325Z - language: English - category: Unknown -- name: The State of the OCaml Platform - embed_path: /videos/embed/32475a83-b455-455b-937f-28e7185f4fc2 - thumbnail_path: /lazy-static/thumbnails/7eb8af05-a6d5-4a88-89f3-146673a87cf0.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: The State of the OCaml Platform - September 2015 - description: "The State of the OCaml Platform: September 2015 \u2014 by Anil Madhavapeddy, - Amir Chaudhry, Thomas Gazagnaire, Jeremy Yallop, David Sheets" - embed_path: /videos/embed/0eeab9cb-8984-4323-bad7-0630192c635d - thumbnail_path: /lazy-static/thumbnails/43586bbe-9d65-4283-88b7-3583d9ee6282.jpg - published_at: 2021-10-02T01:54:41.728Z - language: English - category: Unknown -- name: The final pieces of the OCaml documentation puzzle - description: 'Rendering OCaml document is widely known as a very difficult task: - The ever-evolving OCaml module system is extremely rich and can include complex - set of inter-dependencies that are both difficult to compute and to render in - a concise document. It...' - embed_path: /videos/embed/2acebff9-25fa-4733-83cc-620a65b12251 - thumbnail_path: /lazy-static/thumbnails/c877a501-c705-44f7-8826-e7ce846a5e42.jpg - published_at: 2020-08-28T00:00:00.000Z - language: English - category: Unknown -- name: Towards A Debugger for Native Code OCaml - description: "Towards A Debugger for Native-Code OCaml \u2014 by Fabrice Le Fessant, - Pierre Chambart" - embed_path: /videos/embed/e1a22cf8-5522-4c05-a8d4-af445bc73556 - thumbnail_path: /lazy-static/thumbnails/5e783783-056e-46c9-b1de-60fddbd36aee.jpg - published_at: 2021-10-02T01:54:48.408Z - language: English - category: Unknown -- name: Towards A Debugger for Native Code OCaml - embed_path: /videos/embed/b76f3301-261d-44f3-97ec-1910b45f6969 - thumbnail_path: /lazy-static/thumbnails/93ea327e-5e8b-4844-b237-75719a7256b9.jpg - published_at: 2015-09-18T00:00:00.000Z - language: English - category: Science & Technology -- name: Towards an OCaml Platform - description: Towards an OCaml Platform, by Yaron Minsky - embed_path: /videos/embed/96b1ab00-94a8-4059-aec6-a06a9c73c736 - thumbnail_path: /lazy-static/thumbnails/513c6f1c-df55-448f-a1db-2f13d430fdab.jpg - published_at: 2021-10-03T23:06:53.043Z - language: English - category: Unknown -- name: Tracing OCaml Programs - description: "Tracing OCaml Programs\r\n\r\nDarius Foo (National University of Singapore)\r\nWei-Ngan - Chin (National University of Singapore)\r\n\r\nThis presentation will cover a - framework for application-level tracing of OCaml programs. We outline a solution - to the mai..." - embed_path: /videos/embed/3b4401ec-f0a8-44bb-97ad-18e05c2135f9 - thumbnail_path: /lazy-static/thumbnails/b41c4404-47d5-4a59-8baf-a17671156f5f.jpg - published_at: 2022-10-19T00:00:00.000Z - language: English - category: Science & Technology -- name: Transport Layer Security purely in OCaml - description: "Transport Layer Security purely in OCaml by Hannes Mehnert and David - Kaloper Mer\u0161injak\r\n\r\nTransport Layer Security purely in OCamlTransport - Layer Security (TLS) is probably the most widely de- ployed security protocol - on the Internet. It is used t..." - embed_path: /videos/embed/03721258-b275-4c98-8a0b-9e4606b32fec - thumbnail_path: /lazy-static/thumbnails/c1f04a1e-5cd8-41f5-8bef-25122319e6a5.jpg - published_at: 2021-10-03T22:08:27.076Z - language: English - category: Unknown -- name: Types in Amber - description: Coda is a new cryptocurrency that uses zk-SNARKs to dramatically reduce - the size of data needed by nodes running its protocol. Nodes communicate in a - format automatically derived from type definitions in OCaml source files. As the - Coda software ev... - embed_path: /videos/embed/99b3dc75-9f93-4677-9f8b-076546725512 - thumbnail_path: /lazy-static/thumbnails/acd50ed1-43cf-45fd-a55e-9c40a6bf58ba.jpg - published_at: 2020-08-28T00:00:00.000Z - language: Unknown - category: Unknown -- name: Using Preferences to Tame your Package Manager - embed_path: /videos/embed/43536918-a6e5-4a53-a680-bed527319e31 - thumbnail_path: /lazy-static/thumbnails/23d48007-16ab-4e49-b979-0cf79fd685ce.jpg - published_at: 2021-10-03T22:10:19.844Z - language: English - category: Unknown -- name: Verifying an Effect-Based Cooperative Concurrency Scheduler in Iris by Adrian - Dapprich - description: "Lightweight asynchronous programming (using futures, goroutines or - green threads) has been widely adopted to organize programs with many concurrent - tasks, more than are traditionally feasible with thread-per-task models of concurrency.\r\n\r\nWith - the..." - embed_path: /videos/embed/907bac18-3532-4768-8b6f-893167bfbd81 - thumbnail_path: /lazy-static/thumbnails/4d3f7643-a935-49ca-a575-48765a553e75.jpg - published_at: 2024-01-09T16:23:50.459Z - language: English - category: Science & Technology -- name: 'Wall: rendering vector graphics with OCaml and OpenGL' - description: "Speaker: Fr\xE9d\xE9ric Bour" - embed_path: /videos/embed/2472168c-04aa-497d-a931-f866c7036550 - thumbnail_path: /lazy-static/thumbnails/0f045c03-56e5-496b-9393-088316a519c0.jpg - published_at: 2018-11-26T00:00:00.000Z - language: English - category: Science & Technology -- name: What's new in OCamls 4.03 - description: What is new in OCaml 4.03? by Damien Doligez - embed_path: /videos/embed/b967996a-3dab-415f-8e51-d8908361b2b2 - thumbnail_path: /lazy-static/thumbnails/d7e64359-41c9-47d5-8f6d-9953db6555b3.jpg - published_at: 2021-10-08T23:45:42.515Z - language: English - category: Unknown -- name: Who's got you mail? Mr Mime! - description: Romain Calascibetta - embed_path: /videos/embed/98a7972d-9323-46b3-81cc-dd86a4cc1ab3 - thumbnail_path: /lazy-static/thumbnails/3527c880-96e8-4bfb-b9b4-a668597f488f.jpg - published_at: 2016-10-07T00:00:00.000Z - language: English - category: Science & Technology -- name: Wibbily Wobbly Timey Camly - description: Time handling is commonly considered a difficult problem by programmers - due to myriad standards and complexity of time zone definitions. This also complicates - scheduling across multiple time zones especially when one takes Daylight Saving - Time int... - embed_path: /videos/embed/ec641446-823b-40ec-a207-85157a18f88e - thumbnail_path: /lazy-static/thumbnails/2300474a-7615-4c92-9489-9ff5117d8bc7.jpg - published_at: 2021-08-27T10:37:18.000Z - language: English - category: Science & Technology -- name: 'Winning on Windows: porting the OCaml platform' - description: 'Speaker: David Allsopp' - embed_path: /videos/embed/5020256d-eeb0-4e0b-81db-cde8ba00e3d7 - thumbnail_path: /lazy-static/thumbnails/bf412566-70b3-4be4-99e4-46789e33b447.jpg - published_at: 2018-11-26T00:00:00.000Z - language: English - category: Science & Technology -- name: gloc - Metaprogramming WebGL Shaders with OCaml - description: "\r\ngloc : Metaprogramming WebGL Shaders with OCaml, by David William - Wallace Sheets and Ashima Arts.\r\n\r\nWebGL is a new Khronos Group standard for - GPU-accelerated rendering by in-browser JavaScript applications. WebGL introduces - a new language, WebG..." - embed_path: /videos/embed/41ca2c8d-2238-44ca-8744-70f114fbd326 - thumbnail_path: /lazy-static/thumbnails/5f1f0afd-001f-4b15-976c-013a426360ac.jpg - published_at: 2021-10-03T22:33:00.872Z - language: English - category: Unknown -- name: k-CAS for sweat-free concurrent programming by Vesa Karvonen - description: "Original upload: https://www.youtube.com/watch?v=1z8PshvWOF8\r\n\r\nThe - slides, including full speaker's notes, can be found [here](https://gist.github.com/polytypic/3214389ad69b16d28b957ced86e1b1a4#k-cas-for-sweat-free-concurrent-programming)." - embed_path: /videos/embed/acebc363-12df-4cd6-aec0-e8239ab325e0 - thumbnail_path: /lazy-static/thumbnails/79b46298-d08a-4752-b6e1-481fbe7500dd.jpg - published_at: 2023-03-07T17:19:59.247Z - language: English - category: Science & Technology diff --git a/data/youtube.yml b/data/youtube.yml new file mode 100644 index 0000000000..dbea859f92 --- /dev/null +++ b/data/youtube.yml @@ -0,0 +1,27 @@ +- name: Jane Street - Tech Talks + kind: playlist + id: PLCiAikFFaMJoWyXnJ2BWpse5HuiYibNYs + only_ocaml: true +- name: Jane Street - OCaml Unboxed + kind: playlist + id: PLCiAikFFaMJrgFrWRKn0-1EI3gVZLQJtJ +- name: Jane Street - Signal & Threads + kind: playlist + id: PLCiAikFFaMJouorRXDSfS2UoKV4BfKyQm + only_ocaml: true +- name: Emelle TV + kind: channel + id: UCvVVfCa7-nzSuCdMKXnNJNQ +- name: The Vimeagen + kind: channel + id: UCVk4b-svNJoeytrrlOixebQ + only_ocaml: true +- name: OCAML Workshop at ICFP 2023 + kind: playlist + id: PLyrlk8Xaylp7Tq5-ZN6jkir-sYrhGi_0E +- name: "OCaml Programming: Correct + Efficient + Beautiful" + kind: playlist + id: PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU +- name: Collège de France - Sciences du logiciel + kind: playlist + id: PLtimy8tnozICbD45yhB7Ha_zIBJTIK3im diff --git a/dune b/dune index 5f4805cbb7..b3508cb4f8 100644 --- a/dune +++ b/dune @@ -40,4 +40,19 @@ %{target} (run %{gen_feed} changelog)))))) +(subdir + asset/ + (rule + (target video.xml) + (deps + (:gen_feed %{workspace_root}/tool/ood-gen/bin/feed.exe) + %{workspace_root}/data/video-youtube.yml + %{workspace_root}/data/video-watch.yml) + (action + (chdir + %{workspace_root} + (with-stdout-to + %{target} + (run %{gen_feed} video)))))) + (data_only_dirs playground data practice) diff --git a/src/ocamlorg_data/data.ml b/src/ocamlorg_data/data.ml index 86a0e223c2..b3e0b861f7 100644 --- a/src/ocamlorg_data/data.ml +++ b/src/ocamlorg_data/data.ml @@ -238,6 +238,8 @@ module Tutorial = struct |> List.map fst end +module Video = Video + module Workshop = struct include Workshop diff --git a/src/ocamlorg_data/data.mli b/src/ocamlorg_data/data.mli index 09bfd96b77..d75120fae6 100644 --- a/src/ocamlorg_data/data.mli +++ b/src/ocamlorg_data/data.mli @@ -199,6 +199,12 @@ module Tutorial : sig val search_documents : string -> search_document list end +module Video : sig + include module type of Video + + val all : t list +end + module Workshop : sig include module type of Workshop diff --git a/src/ocamlorg_data/data_intf.ml b/src/ocamlorg_data/data_intf.ml index 00c9deaaee..74ab04c1b9 100644 --- a/src/ocamlorg_data/data_intf.ml +++ b/src/ocamlorg_data/data_intf.ml @@ -575,6 +575,21 @@ module Tutorial = struct [@@deriving show] end +module Video = struct + type t = { + title : string; + content : string; + thumbnail : string; + description : string; [@default ""] + published : string; + author_name : string; + author_uri : string; + source_link : string; + source_title : string; + } + [@@deriving yaml, show] +end + module Workshop = struct type role = [ `Co_chair | `Chair ] [@@deriving show] diff --git a/src/ocamlorg_data/dune b/src/ocamlorg_data/dune index 36fd6b4aac..b2d41c0b6a 100644 --- a/src/ocamlorg_data/dune +++ b/src/ocamlorg_data/dune @@ -292,6 +292,18 @@ %{target} (run %{ood_gen} tool_page))))) +(rule + (target video.ml) + (deps + %{workspace_root}/data/video-watch.yml + (:ood_gen %{workspace_root}/tool/ood-gen/bin/gen.exe)) + (action + (chdir + %{workspace_root} + (with-stdout-to + %{target} + (run %{ood_gen} video))))) + (rule (target workshop.ml) (deps diff --git a/src/ocamlorg_frontend/components/cards.eml b/src/ocamlorg_frontend/components/cards.eml index 4176d76bf0..61f2d97e49 100644 --- a/src/ocamlorg_frontend/components/cards.eml +++ b/src/ocamlorg_frontend/components/cards.eml @@ -1,7 +1,10 @@ +let image_url img = +if String.starts_with ~prefix:"http" img then img else Ocamlorg_static.Media.url ("resources/" ^ img) + let community_resource ~title ~desc ~online_url ~source_url ?(img="") () =
-
)"> +

<%s title %>

diff --git a/src/ocamlorg_static/dune b/src/ocamlorg_static/dune index 12b87557c6..98d6914c0f 100644 --- a/src/ocamlorg_static/dune +++ b/src/ocamlorg_static/dune @@ -8,6 +8,7 @@ %{workspace_root}/asset/css/main.css %{workspace_root}/asset/planet.xml %{workspace_root}/asset/changelog.xml + %{workspace_root}/asset/video.xml (source_tree %{workspace_root}/asset)) (action (with-stdout-to diff --git a/tool/ood-gen/bin/dune b/tool/ood-gen/bin/dune index f28534d71d..0683dc8fb5 100644 --- a/tool/ood-gen/bin/dune +++ b/tool/ood-gen/bin/dune @@ -12,8 +12,3 @@ (name scrape) (modules scrape) (libraries cmdliner ood_gen)) - -(executable - (name watch_scrape) - (modules watch_scrape) - (libraries yaml ezjsonm ood_gen)) diff --git a/tool/ood-gen/bin/feed.ml b/tool/ood-gen/bin/feed.ml index d8199fdfa5..f8f302e18a 100644 --- a/tool/ood-gen/bin/feed.ml +++ b/tool/ood-gen/bin/feed.ml @@ -5,6 +5,7 @@ let term_templates = [ ("changelog", Changelog.ChangelogFeed.create_feed); ("planet", Planet.GlobalFeed.create_feed); + ("video", Video.create_feed); ] let cmds = diff --git a/tool/ood-gen/bin/gen.ml b/tool/ood-gen/bin/gen.ml index e25e84f4c7..790b7d8696 100644 --- a/tool/ood-gen/bin/gen.ml +++ b/tool/ood-gen/bin/gen.ml @@ -26,6 +26,7 @@ let term_templates = ("tool", Tool.template); ("tool_page", Tool_page.template); ("tutorial", Tutorial.template); + ("video", Video.template); ("workshops", Workshop.template); ] diff --git a/tool/ood-gen/bin/scrape.ml b/tool/ood-gen/bin/scrape.ml index e7b4a130eb..0611e1cdc1 100644 --- a/tool/ood-gen/bin/scrape.ml +++ b/tool/ood-gen/bin/scrape.ml @@ -1,6 +1,8 @@ open Cmdliner +open Ood_gen -let term_scrapers = [ ("planet", Ood_gen.Planet.Scraper.scrape) ] +let term_scrapers = + [ ("planet", Planet.Scraper.scrape); ("video", Video.scrape) ] let cmds = Cmd.group (Cmd.info "ood-scrape") diff --git a/tool/ood-gen/bin/watch_scrape.mli b/tool/ood-gen/bin/watch_scrape.mli deleted file mode 100644 index 85f012e10e..0000000000 --- a/tool/ood-gen/bin/watch_scrape.mli +++ /dev/null @@ -1 +0,0 @@ -(** Main entry point for our application. *) diff --git a/tool/ood-gen/lib/dune b/tool/ood-gen/lib/dune index 4e5d91e2eb..c605afbf2c 100644 --- a/tool/ood-gen/lib/dune +++ b/tool/ood-gen/lib/dune @@ -5,6 +5,7 @@ ocamlorg.global ocamlorg.data_intf cmarkit + ezjsonm yaml unix ptime @@ -18,6 +19,7 @@ fpath ppx_stable hilite - re) + re + xmlm) (preprocess (pps ppx_deriving_yaml ppx_stable ppx_deriving.show))) diff --git a/tool/ood-gen/lib/video.ml b/tool/ood-gen/lib/video.ml new file mode 100644 index 0000000000..3ab1be5d2e --- /dev/null +++ b/tool/ood-gen/lib/video.ml @@ -0,0 +1,43 @@ +open Data_intf.Video + +type video_list = t list [@@deriving yaml, show] + +let all () = Youtube.all () @ Watch.all () + +let template () = + Format.asprintf {ocaml| +include Data_intf.Video +let all =%a +|ocaml} + pp_video_list (all ()) + +let create_entry (v : t) = + let url = Uri.of_string v.content in + let source : Syndic.Atom.source = + Syndic.Atom.source ~authors:[] + ~id:(Uri.of_string v.source_link) + ~title:(Syndic.Atom.Text v.source_title) + ~links:[ Syndic.Atom.link (Uri.of_string v.source_link) ] + ?updated:None ?categories:None ?contributors:None ?generator:None + ?icon:None ?logo:None ?rights:None ?subtitle:None + in + let content = Syndic.Atom.Text v.description in + let id = url in + let authors = + (Syndic.Atom.author ~uri:(Uri.of_string v.author_uri) v.author_name, []) + in + let updated = Syndic.Date.of_rfc3339 v.published in + Syndic.Atom.entry ~content ~source ~id ~authors + ~title:(Syndic.Atom.Text v.title) ~updated + ~links:[ Syndic.Atom.link id ] + () + +let create_feed () = + let open Rss in + () |> all + |> create_feed ~id:"video.xml" ~title:"OCaml Videos" ~create_entry ~span:3653 + |> feed_to_string + +let scrape () = + Youtube.scrape "data/video-youtube.yml"; + Watch.scrape "data/vide-watch.yml" diff --git a/tool/ood-gen/bin/watch_scrape.ml b/tool/ood-gen/lib/watch.ml similarity index 56% rename from tool/ood-gen/bin/watch_scrape.ml rename to tool/ood-gen/lib/watch.ml index 1e47a32e87..e4af89f947 100644 --- a/tool/ood-gen/bin/watch_scrape.ml +++ b/tool/ood-gen/lib/watch.ml @@ -1,12 +1,16 @@ -type watch = { - name : string; - embed_path : string; - thumbnail_path : string; - description : string option; - published_at : string; - language : string; - category : string; -} +open Ocamlorg.Import +open Data_intf.Video + +type video_list = t list [@@deriving yaml, show] + +let all () = + let ( let* ) = Result.bind in + let videos = + let file = "video-watch.yml" in + let* yaml = Utils.yaml_file file in + yaml |> video_list_of_yaml |> Result.map_error (Utils.where file) + in + Result.get_ok ~error:(fun (`Msg msg) -> Exn.Decode_error msg) videos (* Extract published_at date, I believe `originallyPublishedAt` applies to videos imported from other platforms and `publishedAt` to this videos @@ -20,39 +24,38 @@ let get_publish_date json = | `String s -> s | _ -> failwith "Couldn't calculate the videos original publish date" -(* extract value of language and category *) -let get_language_category json = - let label = Ezjsonm.find json [ "label" ] in - Ezjsonm.get_string label - -let get_string_or_none = function `String s -> Some s | _ -> None +let get_string_or_none = function `String s -> s | _ -> "" let of_json json = { - name = Ezjsonm.find json [ "name" ] |> Ezjsonm.get_string; + title = Ezjsonm.find json [ "name" ] |> Ezjsonm.get_string; description = Ezjsonm.find json [ "description" ] |> get_string_or_none; - embed_path = Ezjsonm.find json [ "embedPath" ] |> Ezjsonm.get_string; - thumbnail_path = Ezjsonm.find json [ "thumbnailPath" ] |> Ezjsonm.get_string; - published_at = get_publish_date json; - language = Ezjsonm.find json [ "language" ] |> get_language_category; - category = Ezjsonm.find json [ "category" ] |> get_language_category; + content = Ezjsonm.find json [ "url" ] |> Ezjsonm.get_string; + thumbnail = + "https://watch.ocaml.org" + ^ (Ezjsonm.find json [ "thumbnailPath" ] |> Ezjsonm.get_string); + published = get_publish_date json; + author_name = "Unknown"; + author_uri = "https://watch.ocaml.org/"; + source_link = "https://watch.ocaml.org/"; + source_title = "Watch OCaml"; } let watch_to_yaml t = `O - ([ ("name", `String t.name) ] - @ (match t.description with - | Some s -> [ ("description", `String s) ] - | None -> []) - @ [ - ("embed_path", `String t.embed_path); - ("thumbnail_path", `String t.thumbnail_path); - ("published_at", `String t.published_at); - ("language", `String t.language); - ("category", `String t.category); - ]) + [ + ("title", `String t.title); + ("description", `String t.description); + ("content", `String t.content); + ("thumbnail", `String t.thumbnail); + ("published", `String t.published); + ("author_name", `String t.author_name); + ("author_uri", `String t.author_uri); + ("source_link", `String t.source_link); + ("source_title", `String t.source_title); + ] -let to_yaml t = `O [ ("watch", `A (List.map watch_to_yaml t)) ] +let to_yaml t = `A (List.map watch_to_yaml t) let videos_url = Uri.of_string "https://watch.ocaml.org/api/v1/videos" (* 100 is current maximum the API can return: @@ -70,7 +73,7 @@ let get_videos ?start () = ] in let uri = Uri.add_query_params videos_url query_params in - let response = Ood_gen.Http_client.get_sync uri in + let response = Http_client.get_sync uri in let body = Ezjsonm.value_from_string response in let data = Ezjsonm.(find body [ "data" ]) in let total = Ezjsonm.find body [ "total" ] |> Ezjsonm.get_int in @@ -86,16 +89,16 @@ let get_all_videos () = in aux data -let () = +let scrape yaml_file = let watch = get_all_videos () - |> List.stable_sort (fun w1 w2 -> String.compare w1.name w2.name) + |> List.stable_sort (fun w1 w2 -> String.compare w1.title w2.title) in let yaml = to_yaml watch in let output = Yaml.pp Format.str_formatter yaml; Format.flush_str_formatter () in - let oc = open_out "data/watch.yml" in + let oc = open_out yaml_file in Printf.fprintf oc "%s" output; close_out oc diff --git a/tool/ood-gen/lib/youtube.ml b/tool/ood-gen/lib/youtube.ml new file mode 100644 index 0000000000..7f6cb90e4f --- /dev/null +++ b/tool/ood-gen/lib/youtube.ml @@ -0,0 +1,192 @@ +open Ocamlorg.Import +open Data_intf.Video + +type kind = Playlist | Channel + +let kind_of_string = function + | "playlist" -> Ok Playlist + | "channel" -> Ok Channel + | s -> Error (`Msg ("Unknown difficulty type: " ^ s)) + +let kind_to_string = function Playlist -> "playlist" | Channel -> "channel" + +let kind_of_yaml = function + | `String s -> kind_of_string s + | _ -> Error (`Msg "Expected a string for kind") + +type source_metadata = { + name : string; + kind : kind; + id : string; + only_ocaml : bool option; +} +[@@deriving of_yaml] + +type source = { name : string; kind : kind; id : string; only_ocaml : bool } +[@@deriving stable_record ~version:source_metadata ~modify:[ only_ocaml ]] + +let source_of_yaml x = + x |> source_metadata_of_yaml + |> Result.map + (source_of_source_metadata + ~modify_only_ocaml:(Option.value ~default:false)) + +type source_list = source list [@@deriving of_yaml] + +let source_to_url { kind; id; _ } = + Uri.of_string @@ "https://www.youtube.com/feeds/videos.xml?" + ^ kind_to_string kind ^ "_id=" ^ id + +let source_to_id { kind; id; _ } = + Printf.sprintf "yt:%s:%s" (kind_to_string kind) id + +type video_list = t list [@@deriving yaml, show] + +type tag = + | Entry + | Title of string + | Content of string + | Thumbnail of string + | Description of string + | Published of string + | Author_name of string + | Author_uri of string + +let walk_mrss xml = + let rec loop tags () = + let open Seq in + let get_url = List.assoc ("", "url") in + let tweak url = + url |> String.split_on_char '/' + |> List.filter_map (function + | "?version=3" -> None + | "v" -> Some "watch" + | str -> Some str) + |> String.concat "/" + in + match (Xmlm.input xml, tags) with + | `El_start ((_, "entry"), _), _ -> Cons (Entry, loop ("entry" :: tags)) + | `El_start ((_, "content"), attrs), "group" :: _ -> + Cons (Content (get_url attrs |> tweak), loop ("content" :: tags)) + | `El_start ((_, "thumbnail"), attrs), "group" :: _ -> + Cons (Thumbnail (get_url attrs), loop ("thumbnail" :: tags)) + | `El_start ((_, tag), _), _ -> loop (tag :: tags) () + | `El_end, [ _ ] -> Nil + | `El_end, _ -> loop (List.tl tags) () + | `Data data, "title" :: "group" :: _ -> Cons (Title data, loop tags) + | `Data data, "description" :: "group" :: _ -> + Cons (Description data, loop tags) + | `Data data, "published" :: "entry" :: _ -> Cons (Published data, loop tags) + | `Data data, "name" :: "author" :: "entry" :: _ -> + Cons (Author_name data, loop tags) + | `Data data, "uri" :: "author" :: "entry" :: _ -> + Cons (Author_uri data, loop tags) + | _ -> loop tags () + in + loop [] + +let set_0 (_, x1, x2, x3, x4, x5, x6) x0 = (Some x0, x1, x2, x3, x4, x5, x6) +let set_1 (x0, _, x2, x3, x4, x5, x6) x1 = (x0, Some x1, x2, x3, x4, x5, x6) +let set_2 (x0, x1, _, x3, x4, x5, x6) x2 = (x0, x1, Some x2, x3, x4, x5, x6) +let set_3 (x0, x1, x2, _, x4, x5, x6) x3 = (x0, x1, x2, Some x3, x4, x5, x6) +let set_4 (x0, x1, x2, x3, _, x5, x6) x4 = (x0, x1, x2, x3, Some x4, x5, x6) +let set_5 (x0, x1, x2, x3, x4, _, x6) x5 = (x0, x1, x2, x3, x4, Some x5, x6) +let set_6 (x0, x1, x2, x3, x4, x5, _) x6 = (x0, x1, x2, x3, x4, x5, Some x6) + +let video_opt source = function + | ( Some title, + Some content, + Some thumbnail, + Some description, + Some published, + Some author_name, + Some author_uri ) -> + Some + { + title; + content; + thumbnail; + description; + published; + author_name; + author_uri; + source_link = source |> source_to_url |> Uri.to_string; + source_title = source.name; + } + | _ -> None + +let rec tags_to_video source vect = function + | Title v :: tags -> tags_to_video source (set_0 vect v) tags + | Content v :: tags -> tags_to_video source (set_1 vect v) tags + | Thumbnail v :: tags -> tags_to_video source (set_2 vect v) tags + | Description v :: tags -> tags_to_video source (set_3 vect v) tags + | Published v :: tags -> tags_to_video source (set_4 vect v) tags + | Author_name v :: tags -> tags_to_video source (set_5 vect v) tags + | Author_uri v :: tags -> tags_to_video source (set_6 vect v) tags + | [] -> video_opt source vect + | _ -> None + +let rec feed_entry source tags seq = + match seq () with + | Seq.Cons (Entry, seq) -> ( + match + tags_to_video source (None, None, None, None, None, None, None) tags + with + | Some v -> Some (v, seq) + | _ -> feed_entry source [] seq) + | Cons (tag, seq) -> feed_entry source (tag :: tags) seq + | Seq.Nil -> None + +let all () = + let ( let* ) = Result.bind in + let videos = + let file = "video-youtube.yml" in + let* yaml = Utils.yaml_file file in + yaml |> video_list_of_yaml |> Result.map_error (Utils.where file) + in + Result.get_ok ~error:(fun (`Msg msg) -> Exn.Decode_error msg) videos + +module VideoSet = Set.Make (struct + type nonrec t = t + + let compare a b = compare a.content b.content +end) + +let scrape yaml_file = + let ( let* ) = Result.bind in + let scraped = all () |> VideoSet.of_list in + let fetched = + let file = "youtube.yml" in + let* yaml = Utils.yaml_file file in + let* sources = + yaml |> source_list_of_yaml |> Result.map_error (Utils.where file) + in + sources |> List.to_seq + |> Seq.concat_map (fun src -> + src |> source_to_url |> Http_client.get_sync |> fun feed -> + Xmlm.make_input (`String (0, feed)) + |> walk_mrss + |> Seq.unfold (feed_entry src []) + |> Seq.filter (fun video -> + (not src.only_ocaml) + || String.( + is_sub_ignore_case "ocaml" video.title + || is_sub_ignore_case "ocaml" video.description))) + |> VideoSet.of_seq |> Result.ok + in + match fetched with + | Ok fetched -> + let yaml = + VideoSet.union fetched scraped + |> VideoSet.to_seq |> List.of_seq + |> List.sort (fun a b -> compare b.published a.published) + |> video_list_to_yaml + in + let output = + Yaml.pp Format.str_formatter yaml; + Format.flush_str_formatter () + in + let oc = open_out yaml_file in + Printf.fprintf oc "%s" output; + close_out oc + | Error (`Msg msg) -> failwith msg