All Projects → AestheticIntegration → reasonml-tic-tac-toe

AestheticIntegration / reasonml-tic-tac-toe

Licence: other
www.imandra.ai

Programming Languages

reason
219 projects
HTML
75241 projects
CSS
56736 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to reasonml-tic-tac-toe

high-assurance-legacy
Legacy code connected to the high-assurance implementation of the Ouroboros protocol family
Stars: ✭ 81 (+326.32%)
Mutual labels:  formal-methods, formal-verification
intrepid
Intrepyd Model Checker
Stars: ✭ 14 (-26.32%)
Mutual labels:  formal-methods, formal-verification
fm-notes
Unassorted scribbles on formal methods, type theory, category theory, and so on, and so on
Stars: ✭ 19 (+0%)
Mutual labels:  formal-methods, formal-verification
vsrl-framework
The Verifiably Safe Reinforcement Learning Framework
Stars: ✭ 42 (+121.05%)
Mutual labels:  formal-methods, formal-verification
tutoriel wp
Frama-C and WP tutorial
Stars: ✭ 31 (+63.16%)
Mutual labels:  formal-methods, formal-verification
klever
Read-only mirror of the Klever Git repository
Stars: ✭ 18 (-5.26%)
Mutual labels:  formal-methods, formal-verification
refabricator
Static Site Generator for/in ReasonML
Stars: ✭ 31 (+63.16%)
Mutual labels:  reasonml
react-rules-of-hooks-ppx
This ppx validates the rules of React hooks.
Stars: ✭ 40 (+110.53%)
Mutual labels:  reasonml
rembrandt
Simple UI framework written in Reasonml.
Stars: ✭ 81 (+326.32%)
Mutual labels:  reasonml
bs-decode
Type-safe JSON decoding for ReasonML and OCaml
Stars: ✭ 105 (+452.63%)
Mutual labels:  reasonml
ogaml
Ocaml multimedia library
Stars: ✭ 28 (+47.37%)
Mutual labels:  reasonml
rx-reason
Reactive programming library for ReasonML/OCaml
Stars: ✭ 49 (+157.89%)
Mutual labels:  reasonml
rekernel
A minimal setup for writing Unikernels in ReasonML
Stars: ✭ 28 (+47.37%)
Mutual labels:  reasonml
ts2re
Convert TypeScript type declarations to Reason
Stars: ✭ 32 (+68.42%)
Mutual labels:  reasonml
reason-react-lazy-loading
Example project to show how to use components lazy loading in ReasonReact
Stars: ✭ 41 (+115.79%)
Mutual labels:  reasonml
markdown-reason-react
Generate ReasonReact Pages from Markdown
Stars: ✭ 17 (-10.53%)
Mutual labels:  reasonml
ideas-for-project-names-starting-with-re
No description or website provided.
Stars: ✭ 27 (+42.11%)
Mutual labels:  reasonml
tlacli
A script for running TLA+/TLC from the command line
Stars: ✭ 75 (+294.74%)
Mutual labels:  formal-methods
turaku-client
Web / Electron client application for Turaku
Stars: ✭ 27 (+42.11%)
Mutual labels:  reasonml
remachine
[WIP] Reason pattern matching viz
Stars: ✭ 44 (+131.58%)
Mutual labels:  reasonml

ReasonML Tic Tac Toe with Imandra

Imandra

This repo contains a ReasonReact app containing a game of Tic Tac Toe. The core logic of the game has been checked with some verification statements using Imandra.

See https://docs.imandra.ai/imandra-docs/notebooks/reasonml-tic-tac-toe/ for a walk through of the model, and explanation of the verify and instance comments throughout the file src/TicTacToeLogic.re.

See https://docs.imandra.ai/reasonml-tic-tac-toe/ for the built example.

Run Project

You'll need a docker image with imandra-extract in it pre-pulled to convert the Imandra source file src/TicTacToeLogic.ire to regular OCaml so it can be compiled with bucklescript (the conversion is done using bucklescript generators, see bsconfig.json):

docker pull imandra/imandra-client-switch
npm install
npm start
# in another tab
npm run parcel

Then visit http://localhost:1234/index.html or http://localhost:1234/index-initial.html for the version of the model that contains the deliberate bug.

Build for Production

npm run build
npm run parcel:production

This will replace the development artifact with an optimized version.

To deploy:

npm run deploy
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].