laop
laop copied to clipboard
Linear Algebra of Programming - Algebraic Matrices in Haskell
I think it might be possible to define an [`IsList`](https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Exts.html#t:IsList) instance for matrices.
The `FromLists` class is necessary for a lot of functionality, but it's also pretty ugly! It's full of potential runtime errors, and it uses overlapping instances. I mocked up an...
I notice for dimensions, you use `Either` and `()`. This is fine, but it seems like it might be a little cleaner if you used a custom kind. For instance,...
It seems like the functionality of some functions like `fromF` depends on the fact that the `Generic` representation of a type is equivalent to its' `Bounded`/`Enum` representation (through the `Count`...
This PR has type safe matrix construction primitives via linear maps semantics. The new file called `Alternative.hs` when ready will substitute the one called `Internal.hs`. I still need to refactor...
@bolt12 This replaces my previous PR #7. You don't have to merge it -- it's just an illustration of how the ideas from my experiment can be translated to your...
Just to show how it is possible to implement a block matrix inversion algorithm in a pretty straightforward way! Unfortunately is unstable for bigger matrices where the permutations of `Join`...
There are several algebraic properties in Linear Algebra of Programming that can save computation time! We should have them wherever possible so the compiler can optimize the code!
Right now I have `Enum`, `Bounded` orphan instance for Pairs `(,)` and `Either` types. And I'm looking to add an `Enum` instance for the List `[]` type. The reason for...