{"id":17157767,"url":"https://github.com/lessp/rask","last_synced_at":"2025-08-18T12:17:20.473Z","repository":{"id":41765737,"uuid":"214685891","full_name":"lessp/rask","owner":"lessp","description":"Experimental exploration of a SwiftUI-like syntax in ReasonML","archived":false,"fork":false,"pushed_at":"2023-01-04T12:22:09.000Z","size":693,"stargazers_count":9,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-27T06:57:26.520Z","etag":null,"topics":["experimental","reasonml"],"latest_commit_sha":null,"homepage":"","language":"Reason","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lessp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-12T17:17:00.000Z","updated_at":"2023-09-01T19:14:54.000Z","dependencies_parsed_at":"2023-02-02T12:01:42.636Z","dependency_job_id":null,"html_url":"https://github.com/lessp/rask","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lessp/rask","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lessp%2Frask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lessp%2Frask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lessp%2Frask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lessp%2Frask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lessp","download_url":"https://codeload.github.com/lessp/rask/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lessp%2Frask/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263247740,"owners_count":23436898,"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":["experimental","reasonml"],"created_at":"2024-10-14T22:09:44.089Z","updated_at":"2025-07-03T02:34:21.682Z","avatar_url":"https://github.com/lessp.png","language":"Reason","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💨 Rask\n\nAn continuous exploration of a SwiftUI-like syntax in ReasonML.\n\n\u003e Experimental and quickly put together. In other words, only use for the purpose of exploring! 😄\n\n## Syntax\n\n```ocaml\nText.(\n  make(\"Hello World!\")\n  -\u003efontFamily(\"Roboto\")\n  -\u003efontSize(32)\n  -\u003ecolor(Red)\n);\n```\n\n## Trying it out\n\n```sh\nnpm i\nnpm start\n# in another tab\nnpm run example\n```\n\n## Example\n\nHere's an example in React, solely because it was easiest to get something up and running.\n\n```ocaml\nmodule HelloRask = {\n  [@react.component]\n  let make = () =\u003e {\n    let (greeting, setGreeting) = React.useState(() =\u003e \"Hello\");\n\n    let toggleText = _event =\u003e\n      setGreeting(prevGreeting =\u003e prevGreeting == \"Hello\" ? \"World!\" : \"Hello\");\n\n    let greetMe =\n      Text.(\n        make(greeting)\n        -\u003ecolor(Pink)\n        -\u003efontFamily(\"sans-serif\")\n        -\u003efontSize(32)\n        -\u003eonClick(toggleText)\n        -\u003etoReactElement\n      );\n\n    View.(\n      make()\n      -\u003ebackgroundColor(White)\n      -\u003ewidth(Px(320))\n      -\u003eheight(Px(320))\n      -\u003epadding(~x=Px(32), ~y=Px(32))\n      -\u003erounded(~all=5, ())\n      -\u003eshadow(\n          ~x=0,\n          ~y=8,\n          ~blur=24,\n          ~spread=12,\n          ~color=Rgba(0, 0, 0, 0.05),\n        )\n      -\u003echildren(greetMe)\n      -\u003ereactElement(\"div\")\n    );\n  };\n};\n\n\u003cHelloRask /\u003e\n```\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flessp%2Frask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flessp%2Frask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flessp%2Frask/lists"}