9 research outputs found

    Learn OCaml, An Online Learning Center for OCaml

    Get PDF
    International audienceWe present Learn OCaml, a Web application that packs a set of learning activities for people who want to learn OCaml. It includes an integrated and reworked version of the venerable Try OCaml, and an exercise environment with automated grading derived from the one developed for the OCaml MOOC. It works entirely in the browser, the server being used for storing static files and synchronizing between different devices. A special effort has been made to make it usable on tablets, and even mobiles. A main public instance will be hosted at OCamlPro, but the project is open-source, and universities can host their own version on site. We will also provide a public repository for teachers to contribute lessons and exercises. A demo is currently hosted at: http://try.ocamlpro.com/learn-ocaml-demo. The source code is available as free software at: https://github.com/ocamlpro/learn-ocaml

    Profiling the Memory Usage of OCaml Applications without Changing its Behavior

    Get PDF
    International audienceIn this paper, we present the current state of our work on profiling the memory usage of OCaml programs. Our technique allows to observe track types, allocation points and reachability paths of blocks, with no runtime cost, except for saving the observations

    ocp-lint, A Plugin-based Style-Checker with Semantic Patches

    Get PDF
    International audienceIn this talk, we will present ocp-lint, a new style-checker for OCaml projects. ocp-lint can typically be used to check pull-requests in a Github-style workflow. ocp-lint is highly ex-tensible, with a simple API to define new plu-gins that can be linked dynamically. ocp-lint is easily configurable, with plugin-and analysis-specific options and arguments. ocp-lint can also use semantic patches, a patch-style format to describe code patterns to detect. Warnings found by ocp-lint are stored in a database, to avoid useless recomputations and ease the development of external tools and GUIs to exploit its results

    Jouez à Faire Consensus Avec MITTEN (démonstration)

    Get PDF
    National audienceCet article présente Mitten, un outil pour décrire finement et jouer des scénarios sur une implémentation de Tenderbake-le prochain protocole de consensus à la pBFT de la blockchain Tezos. Mitten est paramétrable pour filtrer et examiner les messages selon des scénarios particuliers écrits dans un DSL construit sur OCaml. Grâce à Mitten, nous avons pu écrire et simuler des scénarios subtils pour reproduire des comportements difficilement atteignables en temps normal. Nous avons également pu simuler des situations permettant d'exhiber des bugs dans l'implémentation en cours et de tester des correctifs proposés

    Profiling the Memory Usage of OCaml Applications without Changing its Behavior

    Get PDF
    International audienceIn this paper, we present the current state of our work on profiling the memory usage of OCaml programs. Our technique allows to observe track types, allocation points and reachability paths of blocks, with no runtime cost, except for saving the observations

    Formally Documenting Tenderbake

    No full text
    International audienceIn this paper, we propose a formal documentation of Tenderbake, the new Tezos consensus algorithm, slated to replace the current Emmy family algorithms. The algorithm is broken down to its essentials and represented as an automaton. The automaton models the various aspects of the algorithm: (i) the individual participant, referred to as a baker, (ii) how bakers communicate over the network (the mempool) and (iii) the overall network the bakers operate in. We also present a TLA+ implementation, which has proven to be useful for reasoning about this automaton and refining our documentation. The main goal of this work is to serve as a formal foundation for extracting intricate test scenarios and verifying invariants that Tenderbake's implementation should satisfy

    ocp-memprof: un profileur mémoire pour OCaml

    Get PDF
    National audienceLa récupération automatique de la mémoire est une caractéristiquecommune des langages de programmation. Elle offre certes auprogrammeur des garanties de fiabilité, mais, en éloignant ce dernierdes détails de la gestion de la mémoire, elle rend plus difficile lacompréhension et, a fortiori, la maîtrise des allocations de mémoire.Dans ce papier, nous présentons les résultats de nos travaux surl'analyse du comportement mémoire des programmes OCaml. Nousprésentons une technique basée sur la modification des en-têtes desblocs permettant de récupérer une information de type partielle surchaque bloc tout en préservant le même comportement mémoire que leprogramme original. Ces informations de type sont enrichiesultérieurement par une technique de reconstruction de type parunification. Des algorithmes de graphes peuvent ensuite êtreappliqués dans le but d'obtenir des informations plus fines.Nous présentons également quelques cas d'usage montrant commentl'utilisation de ces techniques a permis d'optimiser plusieurslogiciels tel que Alt-Ergo et Ocsigen

    Jouez à Faire Consensus Avec MITTEN (démonstration)

    Get PDF
    National audienceCet article présente Mitten, un outil pour décrire finement et jouer des scénarios sur une implémentation de Tenderbake-le prochain protocole de consensus à la pBFT de la blockchain Tezos. Mitten est paramétrable pour filtrer et examiner les messages selon des scénarios particuliers écrits dans un DSL construit sur OCaml. Grâce à Mitten, nous avons pu écrire et simuler des scénarios subtils pour reproduire des comportements difficilement atteignables en temps normal. Nous avons également pu simuler des situations permettant d'exhiber des bugs dans l'implémentation en cours et de tester des correctifs proposés
    corecore