{"id":13395255,"url":"https://github.com/vramana/awesome-reasonml","last_synced_at":"2026-01-17T12:55:12.251Z","repository":{"id":50394986,"uuid":"70804893","full_name":"vramana/awesome-reasonml","owner":"vramana","description":"A collection of awesome things regarding Reason/OCaml ecosystem.","archived":false,"fork":false,"pushed_at":"2024-06-21T04:45:22.000Z","size":80,"stargazers_count":1477,"open_issues_count":2,"forks_count":81,"subscribers_count":62,"default_branch":"master","last_synced_at":"2026-01-03T02:35:20.550Z","etag":null,"topics":["awesome-list","bucklescript","reasonml"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"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/vramana.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}},"created_at":"2016-10-13T12:37:54.000Z","updated_at":"2025-12-15T05:35:10.000Z","dependencies_parsed_at":"2022-09-05T05:30:29.512Z","dependency_job_id":null,"html_url":"https://github.com/vramana/awesome-reasonml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vramana/awesome-reasonml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vramana%2Fawesome-reasonml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vramana%2Fawesome-reasonml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vramana%2Fawesome-reasonml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vramana%2Fawesome-reasonml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vramana","download_url":"https://codeload.github.com/vramana/awesome-reasonml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vramana%2Fawesome-reasonml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28494115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["awesome-list","bucklescript","reasonml"],"created_at":"2024-07-30T17:01:47.866Z","updated_at":"2026-01-17T12:55:12.218Z","avatar_url":"https://github.com/vramana.png","language":null,"funding_links":[],"categories":["Others","Technical","Other Lists","Contribute"],"sub_categories":["awesome-*","TeX Lists","Example Apps"],"readme":"### **Awesome ReasonML** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA collection of awesome things regarding Reason/OCaml ecosystem. Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. Feel free to improve this list.\n\n- [Reason](#reason)\n  - [General Resources](#general-resources)\n  - [Melange](#melange)\n  - [Starter Kits](#starter-kits)\n  - [Tutorials](#tutorials)\n  - [Talks](#talks)\n  - [Tools](#tools)\n  - [Libraries](#libraries)\n    - [Standard Libs](#standard-libs)\n    - [Web](#web)\n    - [JSON encoding and decoding](#json-encoding-and-decoding)\n    - [Server](#server)\n    - [Testing](#testing)\n    - [GraphQL](#graphQL)\n  - [Editor Plugins](#reason-editor-plugins)\n- [Example Apps](#example-apps)\n- [Contribution](#contribution)\n\n## Reason\n### General Resources\n* [Documentation](https://reasonml.org/)\n* [Homepage](https://reasonml.github.io/)\n* [Blog](https://reasonml.github.io/blog/)\n* [Reason Github](https://github.com/facebook/reason)\n* [Reason Twitter](https://twitter.com/reasonml)\n* [Discord Community](https://discord.gg/reasonml)\n\n### Melange\n* [Homepage](https://melange.re/)\n* [Melange documentation](https://melange.re/v4.0.0/what-is-melange.html)\n* [Melange Playground](https://melange.re/unstable/playground)\n* [Reason Playground](https://reasonml.github.io/en/try.html)\n* [Reason package index](https://redex.github.io/)\n* [Melange for React Devs](https://react-book.melange.re/)\n\n### Starter Kits\n* [create-melange-app](https://github.com/dmmulroy/create-melange-app)\n* [Melange Project template with opam](https://github.com/melange-re/melange-opam-template)\n* [Melange Project template with esy](https://github.com/melange-re/melange-esy-template)\n* [Example Project](https://reasonml.github.io/docs/en/installation)\n* [Reason Starter kit for Advent of Code](https://github.com/ManasJayanth/reason-aoc-starter)\n\n### Tutorials\n* [Melange for React Devs](https://react-book.melange.re/)\n* [An Invitation to ReasonML](https://protoship.io/blog/2017/05/10/an-invitation-to-reasonml.html)\n* [Armed with Reason](http://kcsrk.info/reason/arm/2016/05/16/armed-with-reason/) - Target Raspberry PI\n* [Intro to Reason Compilation](https://github.com/chenglou/intro-to-reason-compilation)\n* [Exploring ReasonML](http://reasonmlhub.com/exploring-reasonml/toc.html)\n* [Build Tic-Tac-Toe with ReasonML](https://medium.freecodecamp.org/learn-reasonml-by-building-tic-tac-toe-in-react-334203dd513c)\n* [Get Started with Reason (Free Video Course)](https://egghead.io/courses/get-started-with-reason)\n* [Build a Simon Game in ReasonReact](https://medium.com/@arecvlohe/lets-build-a-simon-game-in-reasonreact-pt-1-randos-c6db32bf4c1)\n* [Implement a chart layout algorithm in ReasonML](https://www.huy.dev/squarified-tree-map-reasonml-part-1-2019-03/)\n\n### ReasonReact\n* [A First ReasonReact App for JS Developers](https://jamesfriend.com.au/a-first-reason-react-app-for-js-developers)\n* [A ReasonReact Tutorial](https://jaredforsyth.com/2017/07/05/a-reason-react-tutorial/)\n* [Another ReasonReact Tutorial for Beginners](https://www.robinwieruch.de/reason-react-tutorial/)\n\n### Talks\n* 2024/03 - [@dillon_mulroy](https://x.com/dillon_mulroy) - Frontrunners - [Melange: The Next Frontier in Type-Safe Web Development](https://www.youtube.com/watch?v=wl8zUq1FUzM)\n* 2023/08 - [@davesnx](https://x.com/davesnx) - React Alicante - [Server side rendering React natively with Reason](https://www.youtube.com/watch?v=e3qY-Eg9zRY)\n* 2019/09 - [@flaviocorpa](https://github.com/kutyel) - LambdAle - [What happens if you let the creator of React design a programming language](https://youtu.be/5IcG_BCGxEY)\n* 2019/08 - [@jordwalke](https://github.com/jordwalke) - ReasonConf US - [React to the Future](https://www.youtube.com/watch?v=5fG_lyNuEAw)\n* 2018/05 – [@cristianoc](https://github.com/cristianoc) – React Europe – [ReasonReact and local state](https://www.youtube.com/watch?v=qJnP-Vatp3M)\n* 2017/11 - [@sgrove](https://github.com/sgrove) - [Finding joy in programming](https://vimeo.com/242081961)\n* 2017/10 - [@bassjacob](https://github.com/bassjacob/) - [Universal Reason](https://www.youtube.com/watch?v=L0xz-ILKsLE)\n* 2017 06 – [@bassjacob](https://github.com/bassjacob/) – [Node.ninjas Sydney](https://www.meetup/com/en-AU/sydney-node-ninjas/) – [Everything happens for a Reason ](https://www.youtube.com/watch?v=lLqLqFgsimQ\u0026ab_channel=ANZCoders)\n* 2017/05 – [@chenglou](https://github.com/chenglou) – React Europe – [Imperfection](https://www.youtube.com/watch?v=tCVXp6gFD8o)\n* 2017/05 – [@chenglou](https://github.com/chenglou) – React London – [What's in a language?](https://www.youtube.com/watch?v=24S5u_4gx7w)\n* 2017/04 – [@chenglou](https://github.com/chenglou) – React Conf – [Taming the Meta Language](h/ttps://www.youtube.com/watch?v=_0T5OSSzxms)\n* 2016 Phil Holden - Reason [slides](http://philholden.me.uk/reason/reason.pdf)\n* 2016/11 - [@sgrove](https://github.com/sgrove) - [Age of Reason](https://www.youtube.com/watch?v=8LCmLQ1-YqQ\u0026t=6s) + [slides](https://sgrove.github.io/age-of-reason/)\n* 2016/11 - [@ferakpeter](https://github.com/ferakpeter) - How to build your first Reason App/ - [slides](https://docs.google.com/presentation/d/1iua5cdq5ecvj8NZqisjwhuhNb_1ljP45K9xMhgLoj8o/edit)\n* 2016 - Dawn of Reason - Sander Spies [slides](https://sanderspies.github.io/slides/dawn-of-reason.pdf)\n* 2016/07 - [@sgrove](https://github.com/sgrove) - [From Unikernels to Databases to UIs: Truly full-stack apps in OCaml](https://youtu.be/QWfHrbSqnB0)\n\n---\n\n### Tools\n* [opam](https://opam.ocaml.org) - OCaml Package Manager\n* [dune](https://dune.readthedocs.io/en/stable) - Dune is a build system for OCaml projects. Using it, you can build executables, libraries, run tests, and much more\n* [Vite plugin](https://github.com/pdelacroix/vite-plugin-melange) - A Vite plugin for Melange\n* [reason-tools](https://github.com/reasonml/reason-tools) - Chrome/Firefox Reason extension\n* [RED](https://github.com/frantic/red) - Native Reason/OCaml debugger\n* [type-o-rama](https://github.com/stereobooster/type-o-rama) - JS type systems interportability\n\n### Libraries\n\n#### Standard Libs\n* [Belt](https://melange.re/v4.0.0/api/re/melange/Belt/) - A stdlib shipped with Melange.\n* [Js](https://melange.re/v4.0.0/api/re/melange/Js/) - Bindings to several browser and Node JavaScript APIs\n* [tablecloth](https://github.com/darklang/tablecloth) - An ergonomic, cross-platform, standard library for ReasonML and OCaml\n* [relude](https://github.com/reazen/relude) - FP-inspired prelude/standard library for ReasonML projects.\n* [Rationale](https://github.com/jonlaing/rationale) - Ramda inspired library of helper functions for ReasonML\n\n#### Web\n* [reason-react](https://github.com/reasonml/reason-react) - React.js bindings\n* [promise](https://github.com/aantron/promise) - Light and type-safe binding to JS promises\n* [styled-ppx](https://github.com/davesnx/styled-ppx) - Type-safe styled components for ReScript, Melange and native with type-safe CSS\n* [melange-fetch](https://github.com/melange-community/melange-fetch) - Fetch bindings for Melange\n\n#### JSON encoding and decoding\n* [melange-json](https://github.com/melange-community/melange-json) - Compositional JSON encode/decode library for Melange\n* [ocaml-decoders](https://github.com/mattjbray/ocaml-decoders) - Elm-inspired decoders for Ocaml\n* [atd](https://github.com/ahrefs/atd) - Static types for JSON APIs\n* [bs-decode](https://github.com/mlms13/bs-decode) - Type-safe JSON decoding for ReasonML and OCaml ([documentation site](https://mlms13.github.io/bs-decode/docs/what-and-why))\n\n#### Server\n* [Dream](https://github.com/aantron/dream) - Tidy, feature-complete Web framework\n* [html_of_jsx](https://github.com/davesnx/html_of_jsx) - Render HTML with JSX\n* [server-reason-react](https://github.com/ml-in-barcelona/server-reason-react) - Server render Reason React components with OCaml natively\n\n#### GraphQL\n* [reasonql](https://github.com/sainthkh/reasonql) - Type-safe and simple GraphQL client for ReasonML\n* [graphql_ppx](https://github.com/teamwalnut/graphql-ppx) - GraphQL PPX rewriter for Bucklescript/ReasonML written in ReasonML.\n* [melange-relay](https://github.com/anmonteiro/melange-relay) - Use Relay with ReasonML\n\n#### Testing\n* [melange-fest](https://github.com/ahrefs/melange-fest) - A minimal test framework for Melange using Node test runner\n* [melange-jest](https://github.com/melange-community/melange-jest/) - Melange bindings for Jest\n* [melange-testing-library](https://github.com/melange-community/melange-testing-library) - Melange bindings for testing-library (dom-testing-library and react-testing-library)\n\n### Editor Plugins\n\nSee the official guide [here](https://reasonml.github.io/docs/en/editor-plugins)\n* [vscode-ocaml-platform](https://github.com/ocamllabs/vscode-ocaml-platform) - Visual Studio Code extension for ReasonML and OCaml\n* [ocaml-lsp](https://github.com/ocaml/ocaml-lsp) - OCaml Language Server Protocol implementation\n\n---\n\n### Example Apps\n* [Reason Catstagram](https://github.com/kutyel/reason-catstagram) - A Catstagram built with Reason and React hooks!\n* [ReasonReact example](https://github.com/reasonml-community/reason-react-example) - ReasonReact examples\n* [ReasonReact Hacker News](https://github.com/reasonml-community/reason-react-hacker-news) - Hacker News written in Reason\n* [Mareo](https://github.com/reasonml-community/Mareo) - Online Mario game demo drawn on canvas\n* [Reason Maze](https://github.com/jaredly/reason-maze) - Amazing online maze generation\n* [ReLayout](https://github.com/jordwalke/ReLayout) - Standalone CSS Flexbox Implementation in Reason\n* [Red](https://github.com/excitement-engineer/Red) - Simple to use pomodoro webapp\n* [Si](https://github.com/scottcheng/si-reason) - A 3D connect four game\n* [99.re](https://github.com/shrynx/99.re) - Solutions to 99 problems implemented in Reason\n* [Gravitron](https://github.com/jaredly/gravitron) - A game about gravity on iOS/Android/Browser\n* [Reason Game of Life](https://github.com/alanrsoares/reasonml-game-of-life) - Conway's Game of Life written in Reason using ReasonReact. [(demo)](https://alanrsoares.github.io/reasonml-game-of-life/)\n* [2048 Reasons](https://github.com/alanrsoares/2048-reasons) - A functional implementation of the viral 2048 game in Reason using ReasonReact. [(demo)](https://alanrsoares.github.io/2048-reasons/)\n* [ReasonML RealWorld example app](https://github.com/gothinkster/reasonml-realworld-example-app) - Medium.com clone written using ReasonReact\n* [ReasonML RealWorld example app #2](https://github.com/jihchi/reason-react-realworld-example-app) - Another Medium.com clone written using ReasonReact\n* [re:bench](https://github.com/rebench/rebench.github.io) - Benchmarking playground built with ReasonReact. A real app in real use.\n* [TicTacToe ReasonML engine](https://github.com/venil7/ReasonML-TicTacToe) - Minimax Tic-Tac-Toe implementation in ReasonML\n* [reason-chess](https://github.com/venil7/reason-chess) - Chess engine for multiple platforms and web example chess game. [(demo)](http://darkruby.co.uk/reason-chess/)\n* [Repos](https://github.com/lrosa007/repos) - Fetches Github repos by username\n* [Re-Memory](https://github.com/dtasic/re-memory) - Memory game in ReasonReact\n* [Another memory cards game](https://github.com/liubko/reason-memory-gifs) - Memory cards game with GIFs [(demo)](https://liubko.github.io/reason-memory-gifs/)\n* [Reason Reversi Game](https://github.com/marmelab/reversi-reason) - Reversi Game in ReasonReact\n* [Snake](https://github.com/rdavison/llama-snake/tree/master/websnake) - Snake game in ReasonReact [(demo)](http://192.241.133.216/projects/websnake/index.html)\n* [ReasonML CRUD example](https://github.com/monadoy/reasonml-crud-example) - RealWorld CRUD entity example\n* [Dokusho](https://github.com/rawtoast/dokusho) - CRUD example with authentication, react toolbox, and CI.\n* [A* pathfinder maze](https://github.com/puemos/reasonml-astar-maze) -  A* search algorithm written in ReasonML [(demo)](https://puemos.github.io/reasonml-astar-maze)\n* [Reatris: ReasonReact tetris](https://github.com/denis-ok/reasonml-reatris) - Classic tetris game written on ReasonReact [(demo)](https://denis-ok.github.io/reasonml-reatris/)\n* [ReasonSplash](https://github.com/smartlogic/reasonsplash) - Unsplash mobile client in Reason\n* [Simple Calculator](https://github.com/jimmyhuco/simple-calculator) - It's another calculator written on ReasonReact [(demo)](https://jimmyhuco.github.io/simple-calculator)\n* [Bouken](https://github.com/rawtoast/bouken) - ASCII rogue written using ReasonReact. [(demo)](https://bouken-dtangmsuhe.now.sh)\n* [Simon Game](https://github.com/arecvlohe/reason-react-simon-game/tree/master) - The handheld Simon game written in ReasonReact\n* [We Write](https://github.com/leomayleomay/we-write-app) - the App utilizes Github API as the backend, so non-tech writers could collaborate\n* [Coronate](https://github.com/johnridesabike/coronate) - A Swiss-style chess tournament manager for the web and desktop, written with ReasonReact. [(web demo)](https://johnridesa.bike/coronate/)\n* [Pomodoro](https://github.com/tkovs/pomodoro) - A pomodoro webapp written in ReasonReact, using webpack, and fully tested with bs-react-testing-library and reason-hooks-testing-library. [(demo)](https://pomodoro.tkovs.com)\n\n---\n\n## Contribution\n\nYour contributions and suggestions are heartily♡ welcome. (✿◠‿◠)\n\n---\n\n## License\n[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvramana%2Fawesome-reasonml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvramana%2Fawesome-reasonml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvramana%2Fawesome-reasonml/lists"}