{"id":18103346,"url":"https://github.com/fresheyeball/purescript-geometry","last_synced_at":"2026-01-20T16:07:01.426Z","repository":{"id":22562553,"uuid":"25903838","full_name":"Fresheyeball/purescript-geometry","owner":"Fresheyeball","description":"Basic geometry types and instances","archived":false,"fork":false,"pushed_at":"2015-05-18T00:30:56.000Z","size":364,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T11:49:51.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PureScript","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/Fresheyeball.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":"2014-10-29T04:06:40.000Z","updated_at":"2015-05-04T01:32:35.000Z","dependencies_parsed_at":"2022-08-21T07:31:19.799Z","dependency_job_id":null,"html_url":"https://github.com/Fresheyeball/purescript-geometry","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fresheyeball%2Fpurescript-geometry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fresheyeball%2Fpurescript-geometry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fresheyeball%2Fpurescript-geometry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fresheyeball%2Fpurescript-geometry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fresheyeball","download_url":"https://codeload.github.com/Fresheyeball/purescript-geometry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441007,"owners_count":20939235,"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":[],"created_at":"2024-10-31T22:11:53.638Z","updated_at":"2026-01-20T16:07:01.391Z","avatar_url":"https://github.com/Fresheyeball.png","language":"PureScript","readme":"## Geometry\n[![Build Status](https://travis-ci.org/Fresheyeball/purescript-geometry.svg?branch=master)](https://travis-ci.org/Fresheyeball/purescript-geometry)\n[![Bower version](https://badge.fury.io/bo/purescript-geometry.svg)](http://badge.fury.io/bo/purescript-geometry)\n[![Dependency Status](https://www.versioneye.com/user/projects/546fe2ef81010687ac000605/badge.svg?style=flat)](https://www.versioneye.com/user/projects/546fe2ef81010687ac000605)\n\n\nSimple geometry types and instances.\n\n## Module Data.Geometry\n\n### Type Classes\n\n    class Area g where\n      area :: g -\u003e Number\n\n    class Perimeter g where\n      perimeter :: g -\u003e Number\n\n\n## Module Test.Classes\n\n### Values\n\n    checkApplicative :: forall f a b c. (Applicative f, Arbitrary (f a), Arbitrary (f (a -\u003e b)), Arbitrary (f (b -\u003e c)), CoArbitrary a, Arbitrary b, Arbitrary a, Eq (f a), Eq (f b), Eq (f c)) =\u003e f a -\u003e f b -\u003e f c -\u003e QC Unit\n\n    checkFunctor :: forall f a. (Functor f, Arbitrary a, CoArbitrary a, Arbitrary (f a), Eq (f a)) =\u003e f a -\u003e QC Unit\n\n    checkMonad :: forall m a. (Monad m, Arbitrary a, CoArbitrary a, Arbitrary (m a), Eq (m a)) =\u003e m a -\u003e QC Unit\n\n\n## Module Data.Geometry.Circle.Test\n\n### Type Class Instances\n\n    instance arbCircle :: (Arbitrary a) =\u003e Arbitrary (Circle a)\n\n\n### Values\n\n    (=~=) :: Number -\u003e Number -\u003e Boolean\n\n\n## Module Data.Geometry.Circle\n\n### Types\n\n    data Circle a where\n      Circle :: Point a -\u003e a -\u003e Circle\n\n\n### Type Class Instances\n\n    instance applicativeCircle :: Applicative Circle\n\n    instance applyCircle :: Apply Circle\n\n    instance areaCircle :: Area (Circle Number)\n\n    instance eqCircle :: (Eq a) =\u003e Eq (Circle a)\n\n    instance functorCircle :: Functor Circle\n\n    instance hasPointsCircle :: HasPoints Circle\n\n    instance perimeterCircle :: Perimeter (Circle Number)\n\n    instance showCircle :: (Show a) =\u003e Show (Circle a)\n\n\n### Values\n\n    circumference :: Circle Number -\u003e Number\n\n\n## Module Data.Geometry.Line.Test\n\n### Type Class Instances\n\n    instance arbLine :: (Arbitrary a) =\u003e Arbitrary (Line a)\n\n\n### Values\n\n    (=~=) :: Number -\u003e Number -\u003e Boolean\n\n    mkLine :: Number -\u003e Number -\u003e Number -\u003e Number -\u003e Line Number\n\n\n## Module Data.Geometry.Line\n\n### Types\n\n    data Line a where\n      Line :: Point a -\u003e Point a -\u003e Line\n\n\n### Type Class Instances\n\n    instance applicativeLine :: Applicative Line\n\n    instance applyLine :: Apply Line\n\n    instance areaLine :: Area (Line Number)\n\n    instance eqLine :: (Eq a) =\u003e Eq (Line a)\n\n    instance functorLine :: Functor Line\n\n    instance hasPointsLine :: HasPoints Line\n\n    instance hasSizeLine :: HasSize (Line Number)\n\n    instance perimeterLine :: Perimeter (Line Number)\n\n    instance showLine :: (Show a) =\u003e Show (Line a)\n\n\n## Module Data.Geometry.Point.Test\n\n### Type Class Instances\n\n    instance arbPoint :: (Arbitrary a) =\u003e Arbitrary (Point a)\n\n\n## Module Data.Geometry.Point\n\n### Types\n\n    data Point a where\n      Point :: a -\u003e a -\u003e Point\n\n\n### Type Classes\n\n    class HasPoints g where\n      points :: forall a. g a -\u003e [Point a]\n\n\n### Type Class Instances\n\n    instance applicativePoint :: Applicative Point\n\n    instance applyPoint :: Apply Point\n\n    instance eqPoint :: (Eq a) =\u003e Eq (Point a)\n\n    instance functorPoint :: Functor Point\n\n    instance showPoint :: (Show a) =\u003e Show (Point a)\n\n\n### Values\n\n    (|*|) :: Number -\u003e Point Number -\u003e Point Number\n\n    (|+|) :: Point Number -\u003e Point Number -\u003e Point Number\n\n    (|-|) :: Point Number -\u003e Point Number -\u003e Point Number\n\n    (|@|) :: Point Number -\u003e Point Number -\u003e Number\n\n    distance :: Point Number -\u003e Point Number -\u003e Number\n\n    l22dist :: Point Number -\u003e Point Number -\u003e Number\n\n\n## Module Data.Geometry.Rect.Test\n\n### Type Class Instances\n\n    instance arbRect :: (Arbitrary a) =\u003e Arbitrary (Rect a)\n\n\n## Module Data.Geometry.Rect\n\n### Types\n\n    data Rect a where\n      Rect :: Point a -\u003e Point a -\u003e Rect\n\n\n### Type Class Instances\n\n    instance applicative :: Applicative Rect\n\n    instance applyRect :: Apply Rect\n\n    instance areaRect :: Area (Rect Number)\n\n    instance eqRect :: (Eq a) =\u003e Eq (Rect a)\n\n    instance functorRect :: Functor Rect\n\n    instance hasPointsRect :: HasPoints Rect\n\n    instance hasSizeRect :: HasSize (Rect Number)\n\n    instance perimeterRect :: Perimeter (Rect Number)\n\n    instance showRect :: (Show a) =\u003e Show (Rect a)\n\n\n## Module Data.Geometry.Size.Test\n\n### Type Class Instances\n\n    instance arbSize :: (Arbitrary a) =\u003e Arbitrary (Size a)\n\n\n## Module Data.Geometry.Size\n\n### Types\n\n    data Size a where\n      Size :: { height :: a, width :: a } -\u003e Size\n\n\n### Type Classes\n\n    class HasSize a where\n      size :: a -\u003e Size Number\n\n\n### Type Class Instances\n\n    instance applicativeSize :: Applicative Size\n\n    instance applySize :: Apply Size\n\n    instance areaSizes :: Area (Size Number)\n\n    instance eqSize :: (Eq a) =\u003e Eq (Size a)\n\n    instance functorSize :: Functor Size\n\n    instance showSize :: (Show a) =\u003e Show (Size a)\n\n\n### Values\n\n    getHeight :: forall a. Size a -\u003e a\n\n    getWidth :: forall a. Size a -\u003e a\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffresheyeball%2Fpurescript-geometry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffresheyeball%2Fpurescript-geometry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffresheyeball%2Fpurescript-geometry/lists"}