{"id":13726409,"url":"https://github.com/DanCouper/resources-reasonml","last_synced_at":"2025-05-07T21:32:27.185Z","repository":{"id":70024314,"uuid":"106252268","full_name":"DanCouper/resources-reasonml","owner":"DanCouper","description":"List of ReasonML resources","archived":false,"fork":false,"pushed_at":"2020-02-19T11:10:43.000Z","size":7,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-02T18:04:30.580Z","etag":null,"topics":["reason","reason-react","reasonml"],"latest_commit_sha":null,"homepage":"","language":null,"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/DanCouper.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}},"created_at":"2017-10-09T07:45:51.000Z","updated_at":"2023-11-10T15:16:23.000Z","dependencies_parsed_at":"2023-02-22T10:15:24.593Z","dependency_job_id":null,"html_url":"https://github.com/DanCouper/resources-reasonml","commit_stats":null,"previous_names":["dancouper/resources-reasonml","sutor-design/resources-reasonml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanCouper%2Fresources-reasonml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanCouper%2Fresources-reasonml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanCouper%2Fresources-reasonml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanCouper%2Fresources-reasonml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanCouper","download_url":"https://codeload.github.com/DanCouper/resources-reasonml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224587023,"owners_count":17335952,"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":["reason","reason-react","reasonml"],"created_at":"2024-08-03T01:03:03.575Z","updated_at":"2024-11-14T16:33:47.935Z","avatar_url":"https://github.com/DanCouper.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# ReasonML Resources\n\n\n## Curated Lists\n\n- [Awesome ReasonML](https://github.com/vramana/awesome-reasonml). A little out of date - this repo is an attempt to collate current state with the intention of PR-ing useful stuff back to the ARL repo at some point...\n\n## Reference\n\n- [Reason Docs](https://reasonml.github.io/)\n-  [ReasonReact Docs](https://reasonml.github.io/reason-react/)\n\nGoogle isn't indexing the above two at all well as things stand, dead links or GitHub repo come up first.\n\n- [BuckleScript Manual](https://bucklescript.github.io/bucklescript/Manual.html)\nFairly exhaustive guide to BuckleScript. Examples can be lacking slightly. Very technically-oriented.\n\n- [BuckleScript Bundled JS API Reference](https://bucklescript.github.io/bucklescript/api/index.html)\nBasic core bindings to JS/DOM/Node. Link hidden in the BuckleScript docs.\n\n- [BuckleScript Build config file (bsconfig.json) schema](http://bucklescript.github.io/bucklescript/docson/#build-schema.json)\nConfig schema, link to which is hidden in the BuckleScript docs.\n\n### Internals\n\n- [Intro to ReasonML Compilation](https://github.com/chenglou/intro-to-reason-compilation) - possibly going out of date slightly atm?\n\n### OCaml\n\n#### Basics\n\n- [Beginners guide to OCaml beginners' guides](http://blog.nullspace.io/beginners-guide-to-ocaml-beginners-guides.html). Basically, \"read Real World OCaml\" is the main takeaway.\n- [Learn OCaml in Y Minutes](https://learnxinyminutes.com/docs/ocaml/)\n- [OCaml for the Skeptical](http://www2.lib.uchicago.edu/keith/ocaml-class/home.html). Old resources, but still a good path to learning the language.\n- [A Concise Introduction to Objective Caml](http://web.archive.org/web/20111205183829/http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html). [Archived] link from previous, nice walkthrough.\n- [Unreliable Guide to OCaml Modules](http://lambdafoo.com/blog/2015/05/15/unreliable-guide-to-ocaml-modules/)\n- [OCaml Coding Considerations](https://wiki.xen.org/wiki/OCaml_Coding_Considerations). Very short list, from the Xen project.\n- [Comparing Objective Caml and Standard ML](http://adam.chlipala.net/mlcomp/).\n\n#### Examples\n\n- [OsciBlog Markdown Parser](https://github.com/MFP/OcsiBlog/blob/master/simple_markup.ml). Actual top-down parser (vs most MD parsers) written in OCaml. Extremely compact code, extremely fast.\n\n\n## Books\n\nOCaml-specific. Use [reason-tools](https://github.com/reasonml/reason-tools) in Chrome/Firefox to convert OCaml code to Reason syntax in-browser.\n\n- [Real World OCaml](https://realworldocaml.org/)\nCanonical guide. Uses Jane Street's [Core](https://github.com/janestreet/core) as a stdlib replacement. [Real World OCaml 2 (Beta)](https://dev.realworldocaml.org/) is available and under active development.\n\n\n## Examples\n\n- [BuckleScript Cookbook](https://github.com/glennsl/bucklescript-cookbook)\n- [Type-safe Bindings from JS to Reason For Dummies](http://blog.klipse.tech/reason/2017/10/17/externals-js-ffi-reason.html)\n\n- [Notes on using Promises](https://gist.github.com/Lokeh/a8d1dc6aa2043efa62b23e559291053e)\n- [Example Reason + BuckleScript Bindings](https://gist.github.com/sgrove/707d55a3874045287c142732932597b9)\n- [A Simple Signup Form Written in ReasonML](https://gist.github.com/Zerim/6ff94ae1897d65bfbdae7279860bd43a)\n- [Phantom Types in ReasonML](https://gist.github.com/busypeoples/3a28d039272ec3eb33ca2fc6b32dafc7)\n\n## Tutorials/Walkthroughs\n\n- [Getting started with BuckleScript](http://pcarleton.github.io/2017/01/02/bucklescript-1.html) and [Buckle Pixi - Using PixiJS with BuckleScript](http://pcarleton.github.io/2017/01/14/buckle-pixi.html). Former gives a brief rundown on installing and using BS, latter looks at binding to PixiJS and generating clean JS output.\n\n- [How to build #disruptive OCaml #microservices with BuckleScript](https://medium.com/dailyjs/how-to-build-disruptive-ocaml-microservices-with-bucklescript-8c2f774f67cd) and [Typesafe JavaScript Chaining with OCaml and BuckleScript](https://medium.com/dailyjs/typesafe-javascript-chaining-with-ocaml-and-bucklescript-ff489fe287c2). Again, looks at binding to existing JS libs. The former binds to the tiny [Micro](https://github.com/zeit/micro) library. The latter looks at binding to a more complex lib - in this case Express (with nice rundown of leveraging `send.pipe`).\n\n- [A First Reason React app for Javascript developers](https://jamesfriend.com.au/a-first-reason-react-app-for-js-developers)\n- [A Reason React Tutorial](https://jaredforsyth.com/2017/07/05/a-reason-react-tutorial/)\n- [Yet anohter Reason React Tutorial for Beginners](https://www.robinwieruch.de/reason-react-tutorial/)\n- [A Simple HTTP Form Post with React and ReasonML](http://marcusr.wpengine.com/?p=15), [Simple JSON parsing with Reason and React](http://www.marcusr.com/?p=16) and [ReasonML, React and Routing](http://www.marcusr.com/?p=18)\n\n- [Scalable and Serverless Media Processing Using Bucklescript, OCaml and AWS Lambda API Gateway](https://medium.com/@romain.beauxis/scalable-and-serverless-media-processing-using-bucklescript-ocaml-and-aws-lambda-api-gateway-4efe39331f33)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDanCouper%2Fresources-reasonml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDanCouper%2Fresources-reasonml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDanCouper%2Fresources-reasonml/lists"}