{"action":"created","issue":{"url":"https://api.github.com/repos/goldfirere/units/issues/45","labels_url":"https://api.github.com/repos/goldfirere/units/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/goldfirere/units/issues/45/comments","events_url":"https://api.github.com/repos/goldfirere/units/issues/45/events","html_url":"https://github.com/goldfirere/units/pull/45","id":57855728,"number":45,"title":"Add vector space operations based on the linear package","user":{"login":"hesiod","id":3159881,"avatar_url":"https://avatars.githubusercontent.com/u/3159881?v=3","gravatar_id":"","url":"https://api.github.com/users/hesiod","html_url":"https://github.com/hesiod","followers_url":"https://api.github.com/users/hesiod/followers","following_url":"https://api.github.com/users/hesiod/following{/other_user}","gists_url":"https://api.github.com/users/hesiod/gists{/gist_id}","starred_url":"https://api.github.com/users/hesiod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hesiod/subscriptions","organizations_url":"https://api.github.com/users/hesiod/orgs","repos_url":"https://api.github.com/users/hesiod/repos","events_url":"https://api.github.com/users/hesiod/events{/privacy}","received_events_url":"https://api.github.com/users/hesiod/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-16T21:55:28Z","updated_at":"2015-11-23T19:28:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/goldfirere/units/pulls/45","html_url":"https://github.com/goldfirere/units/pull/45","diff_url":"https://github.com/goldfirere/units/pull/45.diff","patch_url":"https://github.com/goldfirere/units/pull/45.patch"},"body":"Provide a `Data.Metrology.Linear` module based on Edward Kmett's `linear` package as an alternative to `Data.Metrology.Vector` based on the `vector-space` package.\r\nThe cross product on two dimensional vectors has been dropped. Affine space data types (`Point`s) are already defined in `Linear.Affine` and thus don't need to be defined here.\r\nI also dropped `QPoint`s since I don't know enough about type families to update them. A possible solution could look like this:\r\n``` Haskell\r\ntype family QPoint f a where\r\n  QPoint (Qu d l (f a)) = Qu d l (Point f a)\r\n```\r\nI didn't test the new module extensively, but there really shouldn't be any hidden surprises."},"comment":{"url":"https://api.github.com/repos/goldfirere/units/issues/comments/159037121","html_url":"https://github.com/goldfirere/units/pull/45#issuecomment-159037121","issue_url":"https://api.github.com/repos/goldfirere/units/issues/45","id":159037121,"user":{"login":"hesiod","id":3159881,"avatar_url":"https://avatars.githubusercontent.com/u/3159881?v=3","gravatar_id":"","url":"https://api.github.com/users/hesiod","html_url":"https://github.com/hesiod","followers_url":"https://api.github.com/users/hesiod/followers","following_url":"https://api.github.com/users/hesiod/following{/other_user}","gists_url":"https://api.github.com/users/hesiod/gists{/gist_id}","starred_url":"https://api.github.com/users/hesiod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hesiod/subscriptions","organizations_url":"https://api.github.com/users/hesiod/orgs","repos_url":"https://api.github.com/users/hesiod/repos","events_url":"https://api.github.com/users/hesiod/events{/privacy}","received_events_url":"https://api.github.com/users/hesiod/received_events","type":"User","site_admin":false},"created_at":"2015-11-23T19:28:55Z","updated_at":"2015-11-23T19:28:55Z","body":"Hi,\r\nit took some time, but I finally found time to have a look at this again.\r\n\r\nYou're absolutely right about building the `linear` interface on top of `Poly`. Actually, that is the main flaw of the `vector-space` interface: You can only have vector spaces as the underlying type. If you want to mix scalar units with vector units, you're going to end up having constraints like `Fractional (Scalar (Scalar a))`, and that certainly isn't the right way.\r\n\r\nLooking at the other stuff right now.\r\n\r\nPS: You forgot to include `lens` as a dependency in the cabal file."}}