{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":307819939,"defaultBranch":"master","name":"simplex-method","ownerLogin":"rasheedja","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-10-27T20:28:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13501865?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713624531.0","currentOid":""},"activityList":{"items":[{"before":"73050bb799b5f68e6f58560569920e88c282f024","after":"772e0320fba85356dfa248e7d4af1551d5293833","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-31T19:02:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Implement and use LinearSystem\n\n- used after adding slack variables\n- realised I need to allow empty expressions to keep things simple\n - so refactored that, too\n- todo: tests for new functions","shortMessageHtmlLink":"Implement and use LinearSystem"}},{"before":"f5ac83e1847b94817f3aebce25bf0adebc396b1e","after":"73050bb799b5f68e6f58560569920e88c282f024","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-31T16:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"use ExprVarsOnly for LinearSystem","shortMessageHtmlLink":"use ExprVarsOnly for LinearSystem"}},{"before":"75643ced12f1271ae27b9470c5868d38d6c1c6a3","after":"f5ac83e1847b94817f3aebce25bf0adebc396b1e","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-31T16:13:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"split modules up reasonably\n\n+ create new types for TermVarsOnly, ExprVarsOnly\n+ Make Expr a non-empty list of terms\n+ solver class for the future","shortMessageHtmlLink":"split modules up reasonably"}},{"before":"871d6ce6c158bbc5e1a39cbac5a2bc842f80d621","after":"75643ced12f1271ae27b9470c5868d38d6c1c6a3","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-31T15:52:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"split modules up reasonably\n\n+ create new types for TermVarsOnly, ExprVarsOnly\n+ Make Expr a non-empty list of terms\n+ solver class for the future","shortMessageHtmlLink":"split modules up reasonably"}},{"before":"b1ec5cc174aa92beb80dcd3b50557baccab766f9","after":"871d6ce6c158bbc5e1a39cbac5a2bc842f80d621","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-31T09:52:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"bffa13b9293dba65aa514b81023da8e8e70135d3","after":"b1ec5cc174aa92beb80dcd3b50557baccab766f9","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-24T17:19:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"[wip] split modules up reasonably","shortMessageHtmlLink":"[wip] split modules up reasonably"}},{"before":"ead6abccdce532450d53ace35773978a0b621293","after":"bffa13b9293dba65aa514b81023da8e8e70135d3","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-24T17:18:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"fmt","shortMessageHtmlLink":"fmt"}},{"before":"fe80fcf4ca3616127196153ade60f84738276901","after":"ead6abccdce532450d53ace35773978a0b621293","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-24T17:17:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"[wip] split modules up reasonably","shortMessageHtmlLink":"[wip] split modules up reasonably"}},{"before":"79a5a6f4b9e8feded2662975070d7348b8f967b3","after":"fe80fcf4ca3616127196153ade60f84738276901","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-08-24T17:12:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"[wip] split modules up reasonably","shortMessageHtmlLink":"[wip] split modules up reasonably"}},{"before":"d1f2fc6422ad5c5adf3198852266ead2171ecfa5","after":"79a5a6f4b9e8feded2662975070d7348b8f967b3","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-05-18T12:20:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Test findHighestVar\n\n+ And fix bug with findHighestVar","shortMessageHtmlLink":"Test findHighestVar"}},{"before":"8a9e15b11596fa96a06731f85b9fd76d1bf0832b","after":"d1f2fc6422ad5c5adf3198852266ead2171ecfa5","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-05-18T12:07:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Test Bounds\n\n+ Fix bug with mergeBounds","shortMessageHtmlLink":"Test Bounds"}},{"before":null,"after":"8a9e15b11596fa96a06731f85b9fd76d1bf0832b","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2024-04-20T14:48:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"b377658386e169e4935603f21b91eab6dd88c977","after":"72d536a84b50e32c26028a8f5f5071427dec7d74","ref":"refs/heads/master","pushedAt":"2023-12-02T14:56:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"M.fromList -> Map.fromList in README","shortMessageHtmlLink":"M.fromList -> Map.fromList in README"}},{"before":"cfc1dd6fd3214d8b0b32f555a6c15ff2ba2dc809","after":null,"ref":"refs/heads/junaidr/update-docs","pushedAt":"2023-12-02T14:55:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"}},{"before":"84c89e752765b9a7a5ee09e43e05644df97eacee","after":"b377658386e169e4935603f21b91eab6dd88c977","ref":"refs/heads/master","pushedAt":"2023-12-02T14:55:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Update docs (#11)","shortMessageHtmlLink":"Update docs (#11)"}},{"before":"84c89e752765b9a7a5ee09e43e05644df97eacee","after":null,"ref":"refs/tags/v0.2.0.0","pushedAt":"2023-12-02T13:54:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"}},{"before":null,"after":"cfc1dd6fd3214d8b0b32f555a6c15ff2ba2dc809","ref":"refs/heads/junaidr/update-docs","pushedAt":"2023-12-02T13:54:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Update docs","shortMessageHtmlLink":"Update docs"}},{"before":"0c125f3d05b0e1cf5e994de18f41402a052aa8f0","after":null,"ref":"refs/heads/junaidr/add-missing-package-bounds","pushedAt":"2023-12-02T13:28:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"}},{"before":"d053637c7a4632daecbd20c2a3a2fb36a3939968","after":"84c89e752765b9a7a5ee09e43e05644df97eacee","ref":"refs/heads/master","pushedAt":"2023-12-02T13:28:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Add package versions for `time` (#10)","shortMessageHtmlLink":"Add package versions for time (#10)"}},{"before":"d053637c7a4632daecbd20c2a3a2fb36a3939968","after":"0c125f3d05b0e1cf5e994de18f41402a052aa8f0","ref":"refs/heads/junaidr/add-missing-package-bounds","pushedAt":"2023-12-02T12:59:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Add package versions for `time`","shortMessageHtmlLink":"Add package versions for time"}},{"before":null,"after":"d053637c7a4632daecbd20c2a3a2fb36a3939968","ref":"refs/heads/junaidr/add-missing-package-bounds","pushedAt":"2023-12-02T12:58:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Initial refactor - much better types (#9)\n\n* Initial refactor - much better types\r\n\r\n+ Use types which are way clearer\r\n+ Some docs\r\n+ Use lens where they make things easier\r\n+ New types required quite a significant factor of the codebase\r\n+ Cleanup\r\n+ Further refactoring/polishing\r\n + I want type names to reflect those typically used when talking about simplex methods\r\n + But first, I need to learn what the actual terms are\r\n + I'd also like to simplify a lot of these functions\r\n + The refactor has made it easier for me to think about these functions, which makes it easier to simplify them\r\n\r\n* Run formatter\r\n\r\n* `FeasibleSystem` instances\r\n\r\n* Re-add stack\r\n\r\n* (wip) fix pivoting issues\r\n\r\n* Switch CI to stack\r\n\r\n* Use stack to build haddocks\r\n\r\n* Run formatter\r\n\r\n* Matrix test windows and macos\r\n\r\n* Remove ghc 8.10 from CI\r\n\r\n* Make CI fail when tests fail\r\n\r\n* Run formatter\r\n\r\n* Fix broken tests\r\n\r\n+ test10 was broken due to an LLM sneakily adding extra constraints and changing objective\r\n+ testQuickCheck1/2 were broken because the constraints were built using `Map.fromList` with duplicate keys\r\n + only one of the key values were used, others were ignored\r\n\r\n* polishing\r\n\r\n* Lens getters -> RecordDot getters\r\n\r\n* Add logging, improve docs, more tests, handle edge cases\r\n\r\n+ Control.Monad.Logger used for logging\r\n+ Documented various functions\r\n+ Handled some edge cases which shouldn't be possible (and log warnings/errors when we reach these edge cases)\r\n\r\n* fixme\r\n\r\n* Improve logging\r\n\r\n* Fourmolu upgrade: limit lines to 120 chars\r\n\r\n* Upgrade fourmolu action, specify fourmolu version\r\n\r\n* Bump package version\r\n\r\n* Bump lts\r\n\r\n* some helper functions\r\n\r\n* Rename Linaer.Simplex.Simplex to Linear.Simplex.Solver.TwoPhase\r\n\r\n+ I like this name better\r\n+ Allows for alternative solvers\r\n\r\n* Fix caching\r\n\r\n+ I was using the cabal plan as a key, now I use stack files/cabal generated files\r\n\r\n* Update lts\r\n\r\n* Diagnose caching issues\r\n\r\n* Try fixing caching\r\n\r\n* Remove windows from CI\r\n\r\n+ Don't want to spend effor fixing windows caching\r\n\r\n* Update workflow step labels\r\n\r\n* Update stack yaml lock\r\n\r\n* Add windows + caching to ci\r\n\r\n* Save .stack-work for windows too\r\n\r\n* Only save when cache is not hit\r\n\r\n* Update ChangeLog\r\n\r\n* Update copyright dates","shortMessageHtmlLink":"Initial refactor - much better types (#9)"}},{"before":"38b55a27d455194360fa19e3aa357e4889502084","after":null,"ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T15:10:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"}},{"before":"72c820153b0b716630fe98888cc7ee454599f2e6","after":"d053637c7a4632daecbd20c2a3a2fb36a3939968","ref":"refs/heads/master","pushedAt":"2023-11-25T15:10:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Initial refactor - much better types (#9)\n\n* Initial refactor - much better types\r\n\r\n+ Use types which are way clearer\r\n+ Some docs\r\n+ Use lens where they make things easier\r\n+ New types required quite a significant factor of the codebase\r\n+ Cleanup\r\n+ Further refactoring/polishing\r\n + I want type names to reflect those typically used when talking about simplex methods\r\n + But first, I need to learn what the actual terms are\r\n + I'd also like to simplify a lot of these functions\r\n + The refactor has made it easier for me to think about these functions, which makes it easier to simplify them\r\n\r\n* Run formatter\r\n\r\n* `FeasibleSystem` instances\r\n\r\n* Re-add stack\r\n\r\n* (wip) fix pivoting issues\r\n\r\n* Switch CI to stack\r\n\r\n* Use stack to build haddocks\r\n\r\n* Run formatter\r\n\r\n* Matrix test windows and macos\r\n\r\n* Remove ghc 8.10 from CI\r\n\r\n* Make CI fail when tests fail\r\n\r\n* Run formatter\r\n\r\n* Fix broken tests\r\n\r\n+ test10 was broken due to an LLM sneakily adding extra constraints and changing objective\r\n+ testQuickCheck1/2 were broken because the constraints were built using `Map.fromList` with duplicate keys\r\n + only one of the key values were used, others were ignored\r\n\r\n* polishing\r\n\r\n* Lens getters -> RecordDot getters\r\n\r\n* Add logging, improve docs, more tests, handle edge cases\r\n\r\n+ Control.Monad.Logger used for logging\r\n+ Documented various functions\r\n+ Handled some edge cases which shouldn't be possible (and log warnings/errors when we reach these edge cases)\r\n\r\n* fixme\r\n\r\n* Improve logging\r\n\r\n* Fourmolu upgrade: limit lines to 120 chars\r\n\r\n* Upgrade fourmolu action, specify fourmolu version\r\n\r\n* Bump package version\r\n\r\n* Bump lts\r\n\r\n* some helper functions\r\n\r\n* Rename Linaer.Simplex.Simplex to Linear.Simplex.Solver.TwoPhase\r\n\r\n+ I like this name better\r\n+ Allows for alternative solvers\r\n\r\n* Fix caching\r\n\r\n+ I was using the cabal plan as a key, now I use stack files/cabal generated files\r\n\r\n* Update lts\r\n\r\n* Diagnose caching issues\r\n\r\n* Try fixing caching\r\n\r\n* Remove windows from CI\r\n\r\n+ Don't want to spend effor fixing windows caching\r\n\r\n* Update workflow step labels\r\n\r\n* Update stack yaml lock\r\n\r\n* Add windows + caching to ci\r\n\r\n* Save .stack-work for windows too\r\n\r\n* Only save when cache is not hit\r\n\r\n* Update ChangeLog\r\n\r\n* Update copyright dates","shortMessageHtmlLink":"Initial refactor - much better types (#9)"}},{"before":"b024b6b527276a21df3969b4570319187396a093","after":"38b55a27d455194360fa19e3aa357e4889502084","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T14:19:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Update copyright dates","shortMessageHtmlLink":"Update copyright dates"}},{"before":"542fb3d01b73327e572c6b0989ecec7059da83b4","after":"b024b6b527276a21df3969b4570319187396a093","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T14:18:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Update ChangeLog","shortMessageHtmlLink":"Update ChangeLog"}},{"before":"86254136a75fcd45a26250522c404dad445518c6","after":"542fb3d01b73327e572c6b0989ecec7059da83b4","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T13:21:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Only save when cache is not hit","shortMessageHtmlLink":"Only save when cache is not hit"}},{"before":"e287894ce6bdb9c52b3fe9b7651ae3d55a2812e8","after":"86254136a75fcd45a26250522c404dad445518c6","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T13:06:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Add windows + caching to ci","shortMessageHtmlLink":"Add windows + caching to ci"}},{"before":"cd8d39958e81457600ef76deba7b7ed9a71e46c8","after":"e287894ce6bdb9c52b3fe9b7651ae3d55a2812e8","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-25T13:05:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Add windows + caching to ci","shortMessageHtmlLink":"Add windows + caching to ci"}},{"before":"04538663c82c7e390ac35a6e05bb9d438a1d88f5","after":"cd8d39958e81457600ef76deba7b7ed9a71e46c8","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-24T19:32:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Update workflow step labels","shortMessageHtmlLink":"Update workflow step labels"}},{"before":"45cee63fb6a31275cb26cec558926b9fad8814ab","after":"04538663c82c7e390ac35a6e05bb9d438a1d88f5","ref":"refs/heads/junaidr/refactor-types","pushedAt":"2023-11-24T19:04:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rasheedja","name":"Junaid Ali Rasheed","path":"/rasheedja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13501865?s=80&v=4"},"commit":{"message":"Remove windows from CI\n\n+ Don't want to spend effor fixing windows caching","shortMessageHtmlLink":"Remove windows from CI"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEqYFpJAA","startCursor":null,"endCursor":null}},"title":"Activity ยท rasheedja/simplex-method"}