const React = require('react'); const pre = '```'; const PASCALIGO_EXAMPLE = `${pre}pascaligo // variant defining pseudo multi-entrypoint actions type action is | Increment of int | Decrement of int function add (const a : int ; const b : int) : int is a + b function subtract (const a : int ; const b : int) : int is a - b // real entrypoint that re-routes the flow based on the action provided function main (const p : action ; const s : int) : (list(operation) * int) is ((nil : list(operation)), case p of | Increment (n) -> add (s, n) | Decrement (n) -> subtract (s, n) end) ${pre}`; const CAMELIGO_EXAMPLE = `${pre}ocaml type storage = int (* variant defining pseudo multi-entrypoint actions *) type action = | Increment of int | Decrement of int let add (a: int) (b: int): int = a + b let subtract (a: int) (b: int): int = a - b (* real entrypoint that re-routes the flow based on the action provided *) let%entry main(p : action) storage = let storage = match p with | Increment n -> add storage n | Decrement n -> subtract storage n in (([] : operation list), storage) ${pre}`; module.exports = props => { const MarkdownBlock = props.MarkdownBlock; return (
PascaLIGO
CameLIGO
ReasonLIGO (coming soon)
{PASCALIGO_EXAMPLE}
{CAMELIGO_EXAMPLE}
); };