{"id":22894796,"url":"https://github.com/mathusanm6/ocaml-mille-bornes","last_synced_at":"2025-03-31T22:40:18.392Z","repository":{"id":207603697,"uuid":"713054415","full_name":"mathusanm6/OCaml-Mille-Bornes","owner":"mathusanm6","description":"An OCaml-based implementation of the classic 'Mille Bornes' board game, designed with a functional programming approach, featuring comprehensive unit testing using Alcotest and QCheck.","archived":false,"fork":false,"pushed_at":"2023-12-09T11:07:49.000Z","size":1251,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T01:34:49.053Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathusanm6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-01T18:39:11.000Z","updated_at":"2023-11-14T15:58:00.000Z","dependencies_parsed_at":"2023-12-09T11:41:23.138Z","dependency_job_id":null,"html_url":"https://github.com/mathusanm6/OCaml-Mille-Bornes","commit_stats":null,"previous_names":["mathusanme/ocaml-mille-bornes","mathusanm6/ocaml-mille-bornes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathusanm6%2FOCaml-Mille-Bornes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathusanm6%2FOCaml-Mille-Bornes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathusanm6%2FOCaml-Mille-Bornes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathusanm6%2FOCaml-Mille-Bornes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathusanm6","download_url":"https://codeload.github.com/mathusanm6/OCaml-Mille-Bornes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246552966,"owners_count":20795835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T23:19:50.401Z","updated_at":"2025-03-31T22:40:18.375Z","avatar_url":"https://github.com/mathusanm6.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mille bornes\n[![OCaml CI](https://github.com/mathusanMe/OCaml-Mille-Bornes/actions/workflows/github-ci.yml/badge.svg)](https://github.com/mathusanMe/OCaml-Mille-Bornes/actions/workflows/github-ci.yml)\n## Members\n\n| Name                | Gaufre username |\n| :------------------ | :-------------: |\n| Thomas ARROUS       |     @arrous     |\n| Gabin DUDILLIEU     |    @gdudilli    |\n| Mathusan SELVAKUMAR |    @selvakum    |\n\n## Development environment setup\n\nInstall [Opam](https://opam.ocaml.org/doc/Install.html), the OCaml\npackage manager, on your system.\n\nFor convenience, we setup a [local](https://opam.ocaml.org/blog/opam-local-switches/) Opam distribution, using the following commands:\n\n```\n$ opam init\n$ opam switch create . --deps-only --with-doc --with-test\n$ eval $(opam env)\n```\n\nConfigure your favorite text editor, see the [Real World OCaml setup](http://dev.realworldocaml.org/install.html#editor-setup).\n\nYou will want to have a working, integrated type-checker in your\neditor, as well as type-directed completion. Your favorite text editor\nbeing Emacs, this leads to:\n\n```\n$ opam install user-setup tuareg ocamlformat merlin\n$ opam user-setup install\n```\n\nMake sure that your text editor applies\n[OCamlformat](https://ocaml.org/p/ocamlformat/0.22.4/doc/editor_setup.html#editor-setup)\neach time a file is modified, this helps settle styling war and avoids\nline-noisy patches down the line.\n\nIn Emacs, this amounts to adding the following lines to your `.emacs`\nconfiguration file:\n\n```elisp\n(require 'ocamlformat)\n\n(add-hook 'tuareg-mode-hook (lambda ()\n  (define-key tuareg-mode-map (kbd \"C-M-\u003ctab\u003e\") #'ocamlformat)\n  (add-hook 'before-save-hook #'ocamlformat-before-save)))\n```\n\nIf need be, you can invoke Dune to re-format the whole codebase:\n\n```\n$ dune fmt\n```\n\n## Building mille_bornes\n\nTo build the project, type:\n\n```\n$ dune build\n```\n\nFor continuous build, use\n\n```\n$ dune build --watch\n```\n\ninstead.\n\n## Running mille_bornes\n\nTo run the project, type:\n\n```\n$ dune exec mille_bornes\n```\n\n## Running the tests\n\nTo execute all the tests, type:\n\n```\n$ dune runtest\n```\n\nThis can be combined with continuous build \u0026 test, using\n\n```\n$ dune runtest --watch\n```\n\n## Documentation\n\nThe internal project documentation can be compiled to HTML through\n\n```\n$ dune build @doc-private\n```\n\nThe resulting document is available with\n\n```\n$ open _build/default/_doc/_html/mille_bornes@*/Mille_bornes/index.html\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathusanm6%2Focaml-mille-bornes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathusanm6%2Focaml-mille-bornes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathusanm6%2Focaml-mille-bornes/lists"}