Newest at the top
2025-01-15 16:57:03 +0100 | <tomsmeding> | nobody said that the errors were _good_ |
2025-01-15 16:56:55 +0100 | <yahb2> | <interactive>:1:3: error: [GHC-18872] ; • Couldn't match type ‘Many’ with ‘One’ ; arising from multiplicity of ‘m’ ; • In the expression: (\ m -> return ()) :: IO () %1 -> IO () |
2025-01-15 16:56:55 +0100 | <pounce> | % :t (\m -> return ()) :: IO () %1-> IO () |
2025-01-15 16:56:45 +0100 | <pounce> | ty |
2025-01-15 16:56:41 +0100 | <tomsmeding> | missing :: |
2025-01-15 16:56:35 +0100 | <yahb2> | <interactive>:1:25: error: [GHC-58481] parse error on input ‘%’ |
2025-01-15 16:56:35 +0100 | <pounce> | % :t (\m -> return ()) IO () %1-> IO () |
2025-01-15 16:56:29 +0100 | <pounce> | oop |
2025-01-15 16:56:29 +0100 | <yahb2> | <interactive>:37:28: error: [GHC-58481] parse error on input ‘%’ |
2025-01-15 16:56:29 +0100 | <pounce> | % t: (\m -> return ()) IO () %1-> IO () |
2025-01-15 16:55:40 +0100 | ystael | (~ystael@user/ystael) ystael |
2025-01-15 16:55:30 +0100 | <int-e> | every syntactic niche is occupied |
2025-01-15 16:55:20 +0100 | <tomsmeding> | it has all the things |
2025-01-15 16:55:20 +0100 | <tomsmeding> | Haskell is the new C++ |
2025-01-15 16:55:20 +0100 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
2025-01-15 16:55:20 +0100 | <yahb2> | <interactive>:1:3: error: [GHC-18872] ; • Couldn't match type ‘Many’ with ‘One’ ; arising from multiplicity of ‘m’ ; • In the expression: (\ m -> m >> m) :: IO a %1 -> IO a |
2025-01-15 16:55:20 +0100 | <tomsmeding> | % :t (\m -> m >> m) :: IO a %1-> IO a |
2025-01-15 16:55:20 +0100 | <yahb2> | (\m -> m) :: IO a %1-> IO a :: forall a. IO a %1 -> IO a |
2025-01-15 16:55:20 +0100 | <tomsmeding> | % :t (\m -> m) :: IO a %1-> IO a |
2025-01-15 16:55:20 +0100 | <yahb2> | <interactive>:31:1: error: [GHC-39999] ; • No instance for ‘Show (IO a0 %1 -> IO a0)’ ; arising from a use of ‘Yahb2Defs.limitedPrint’ ; (maybe you haven't applied a function to... |
2025-01-15 16:55:20 +0100 | <tomsmeding> | % (\m -> m) :: IO a %1-> IO a |
2025-01-15 16:55:20 +0100 | <pounce> | yeah found those |
2025-01-15 16:55:20 +0100 | <yahb2> | <no output> |
2025-01-15 16:55:20 +0100 | <tomsmeding> | % :set -XLinearTypes |
2025-01-15 16:54:13 +0100 | <tomsmeding> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/linear_types.html#extension-LinearT… |
2025-01-15 16:54:13 +0100 | notzmv | (~umar@user/notzmv) (Ping timeout: 265 seconds) |
2025-01-15 16:54:00 +0100 | <pounce> | huh didn't know those existed |
2025-01-15 16:53:31 +0100 | <tomsmeding> | pounce: M a %1-> M a |
2025-01-15 16:53:11 +0100 | <Leary> | ... In any case, we have linear arrows; you can use them whenever you want to. Just try not to infect the rest of the typeverse. |
2025-01-15 16:52:20 +0100 | <tomsmeding> | but no type system ever cared about that, did they |
2025-01-15 16:51:55 +0100 | <tomsmeding> | and if we `m = take_money_out_of wallet >> put_money_back_in wallet`, then we can even `m >> m >> m` and the only thing that'll happen is that any spectators will be thinking "what's this person doing" |
2025-01-15 16:50:52 +0100 | <pounce> | lol |
2025-01-15 16:50:27 +0100 | <tomsmeding> | if your currency disappears the moment it leaves your wallet, I'm going to stay with mine that is more solid |
2025-01-15 16:49:55 +0100 | <tomsmeding> | not if it's the same money you're putting back in |
2025-01-15 16:49:49 +0100 | <pounce> | that would make money out of thin air |
2025-01-15 16:48:11 +0100 | <tomsmeding> | pounce: no, but you can `take_money_out_of wallet >> put_money_back_in wallet`, and then you're still using the wallet twice. :) |
2025-01-15 16:46:28 +0100 | <pounce> | tomsmeding: you think you can just `take_money_out_of_wallet >> take_money_out_of_wallet` hmm >_> |
2025-01-15 16:43:18 +0100 | <pounce> | no it's probably right the continuation approach does seem useful at times |
2025-01-15 16:43:09 +0100 | <tomsmeding> | then go wild! |
2025-01-15 16:43:09 +0100 | <tomsmeding> | I think m >> m should be allowed :p |
2025-01-15 16:42:39 +0100 | <pounce> | tomsmeding: original |
2025-01-15 16:42:33 +0100 | <pounce> | i think type systems should be linear and m >> m shouldn't be allowed >_> |
2025-01-15 16:42:16 +0100 | <tomsmeding> | of the original or of your fork? |
2025-01-15 16:42:12 +0100 | swistak | (~swistak@185.21.216.141) |
2025-01-15 16:42:00 +0100 | pounce | is now maintainer of this codebase |
2025-01-15 16:41:42 +0100 | <pounce> | buh |
2025-01-15 16:41:18 +0100 | <Leary> | s/In short,/E.g./ |
2025-01-15 16:40:08 +0100 | <Leary> | In short, `withAgda` could get cleanup code added to it later, and the change would only need to be made in the definition of `withAgda`, nowhere else. |
2025-01-15 16:38:49 +0100 | <Leary> | It's more powerful. That's a bad thing in the sense that function signatures should be restrictive for ease of reasoning, but if you expect to actually need that power at some point, you can then use it without needing to refactor other code. |
2025-01-15 16:38:38 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |