{"id":16242290,"url":"https://github.com/michaelboulton/reason-hedgehog","last_synced_at":"2026-03-18T18:35:53.702Z","repository":{"id":71030405,"uuid":"595188042","full_name":"michaelboulton/reason-hedgehog","owner":"michaelboulton","description":"Experiment at creating a version of Hedgehog with Reason","archived":false,"fork":false,"pushed_at":"2023-01-30T15:28:33.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T06:33:16.486Z","etag":null,"topics":["hedgehog","reasonml","testing"],"latest_commit_sha":null,"homepage":"","language":"Reason","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/michaelboulton.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-30T15:24:37.000Z","updated_at":"2023-10-12T08:54:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc5bdab0-d989-4a57-8c3c-2a830255524d","html_url":"https://github.com/michaelboulton/reason-hedgehog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michaelboulton/reason-hedgehog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelboulton%2Freason-hedgehog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelboulton%2Freason-hedgehog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelboulton%2Freason-hedgehog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelboulton%2Freason-hedgehog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelboulton","download_url":"https://codeload.github.com/michaelboulton/reason-hedgehog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelboulton%2Freason-hedgehog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29362202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: 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":["hedgehog","reasonml","testing"],"created_at":"2024-10-10T14:10:13.542Z","updated_at":"2026-02-12T09:02:37.395Z","avatar_url":"https://github.com/michaelboulton.png","language":"Reason","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reasonml-hedgehog\n\nThis is an old project I did when I was more interested in https://reasonml.github.io/. This was a simple implementation of https://hedgehog.qa/ in ReasonML, mostly inspired by the F# version. I was trying to get the same code to compile to native code, as well as with js_of_ocaml and bucklescript.\n\nI stopped working on it as the reason-native projects seemed to stall (both facebook repos and revery), and I generally didn't have anything to use it with. If I was doing this now I would only target rescript, or just use a newer version of the quickcheck module which includes the hedgehog-style automatic shrinking. I still think Rescript is a really good language, I'd choose it any day over typescript!\n\n- js_of_ocaml build doesn't work any more, and I'm not sure why.\n- This used to build with bucklescript, but doesn't any more with rescript:\n\n      Signature mismatch:\n      ...\n      Values do not match:\n        let mempty: array('_weak1)\n      is not included in\n        let mempty: t('a)\n\n  the definition in question:\n\n      let mempty: t('a);\n\n  and the implementation:\n\n      let mempty = [||];\n\n  This is 'obviously correct' but for some reason it broke in a more recent release of buckescript/rescript. There's also a couple of other issues with the 'Obj' library which seem to have changed.\n\n- The 'esy' build still works.\n\n# Original readme\n\nThis uses some code from facebook's reason-native project https://github.com/reasonml/reason-native\n\n```\nnpm install -g esy\ngit clone \u003cthis-repo\u003e\nesy install\nesy build\n```\n\n## Running Binary:\n\nAfter building the project, you can run the main binary that is produced.\n\n```\nesy x ReasonmlHedgehogApp.exe\n```\n\n## Running Tests:\n\n```\n# Runs the \"test\" command in `package.json`.\nesy test\n```\n\n# Building via buckescript\n\n```\nnpm install\nnpm run build\n```\n\n# Building JS via js_of_ocaml\n\nCompletely ridiculous, depends on how you build it\n\n```\nesy @js install\nesy @js b refmterr dune build --root . -j 3 --verbose\nesy @js run\n```\n\n## Requirements for revery\n\n- `libx11-dev`\n- `libxinerama-dev`\n- `libxcursor-dev`\n- `libxi-dev`\n- `libglu1-mesa-dev`\n- `libgl1-mesa-dev`\n- `libbz2-dev`\n- `libgtk-3-dev`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelboulton%2Freason-hedgehog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelboulton%2Freason-hedgehog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelboulton%2Freason-hedgehog/lists"}