Logs: freenode/#haskell
| 2020-11-25 15:58:23 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
| 2020-11-25 15:58:39 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 2020-11-25 15:58:45 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-25 15:59:01 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 264 seconds) |
| 2020-11-25 15:59:02 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 2020-11-25 15:59:56 | <PacoV> | http://ix.io/2Frq |
| 2020-11-25 15:59:59 | <PacoV> | Fail. |
| 2020-11-25 16:00:13 | → | bergey joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net) |
| 2020-11-25 16:00:13 | <PacoV> | On `cabal install stack2cabal`. |
| 2020-11-25 16:01:03 | <geekosaur> | now that looks like arch doing its thing |
| 2020-11-25 16:01:30 | <maerwald> | PacoV: there sre static binaries: https://github.com/hasufell/stack2cabal/releases/tag/v1.0.12 |
| 2020-11-25 16:01:33 | <geekosaur> | tbh you should just jettison all haskell related pakages including ghc, then use ghcup to install a working ghc |
| 2020-11-25 16:01:41 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-25 16:02:01 | hackage | reflex-monad-auth 0.1.0.0 - Utilities to split reflex app to authorized and not authorized contexts https://hackage.haskell.org/package/reflex-monad-auth-0.1.0.0 (NCrashed) |
| 2020-11-25 16:02:44 | <maerwald> | PacoV: I'm not a fan of distributing binaries via hackage, but the original mainainer put it up there. The repo itself uses a freeze file. |
| 2020-11-25 16:02:48 | → | aenesidemus joins (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) |
| 2020-11-25 16:03:01 | hackage | reflex-monad-auth 0.1.0.1 - Utilities to split reflex app to authorized and not authorized contexts https://hackage.haskell.org/package/reflex-monad-auth-0.1.0.1 (NCrashed) |
| 2020-11-25 16:04:16 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2020-11-25 16:04:26 | <honigkuchen> | are the "new" c++ concepts that enhance templating or whatsoever a form of dependently typing? |
| 2020-11-25 16:05:14 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-25 16:05:22 | <siraben> | http://ix.io/2Frs If any of the requests fail then `mapConcurrently` will fail, what should I do instead? |
| 2020-11-25 16:05:25 | <siraben> | I'm using `simpleHttp` to get the contents |
| 2020-11-25 16:05:55 | <merijn> | siraben: Well what do you wanna do on failure? |
| 2020-11-25 16:06:06 | <siraben> | merijn: Retry |
| 2020-11-25 16:06:15 | <siraben> | So I'd have to catch an IO exception? |
| 2020-11-25 16:06:35 | <merijn> | siraben: https://hackage.haskell.org/package/broadcast-chan-0.2.1.1/docs/BroadcastChan.html#v:parMapM_ :p |
| 2020-11-25 16:06:56 | × | adm quits (~adm@43.229.88.197) (Ping timeout: 240 seconds) |
| 2020-11-25 16:08:22 | <PacoV> | Looks like I need a better packages purge. |
| 2020-11-25 16:08:26 | <PacoV> | BRB |
| 2020-11-25 16:09:25 | <geekosaur> | either that or install ghc-static so at least the base package and relatives aren't broken but better is t just get a working ghc and core libraries from somewhere other than the arch repo |
| 2020-11-25 16:09:40 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-11-25 16:09:56 | <siraben> | merijn: should I not use simpleHttp then, since it returns IO ByteString.Lazy? |
| 2020-11-25 16:10:18 | <merijn> | siraben: That's easily solved with toStrict + evaluate ;) |
| 2020-11-25 16:11:02 | <merijn> | siraben: There's a conduit wrapper to stream request into too, btw |
| 2020-11-25 16:11:10 | <honigkuchen> | how is it that a dependently typed language can handle more than a not dependently typed one |
| 2020-11-25 16:13:06 | <PacoV> | WTF Could not find module ‘Prelude’ ? |
| 2020-11-25 16:13:30 | → | adm joins (~adm@43.229.88.197) |
| 2020-11-25 16:13:40 | <merijn> | PacoV: That's usual if your GHC is installed via Arch packages |
| 2020-11-25 16:13:49 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
| 2020-11-25 16:14:03 | → | fg joins (5fa448e7@95.164.72.231) |
| 2020-11-25 16:14:26 | <merijn> | Because the Arch package installs a GHC with a broken default config...on purpose...yay |
| 2020-11-25 16:14:27 | fg | is now known as Guest22285 |
| 2020-11-25 16:14:54 | <PacoV> | I listed every single package installed on my system (haskell ones are prefixed with `haskell-` on arch), filtered them and remove all the `haskell-*` then installed `cabal-install`. |
| 2020-11-25 16:15:11 | <maerwald> | merijn: arch is starting to be more annoying than the macOS PATH issues :p |
| 2020-11-25 16:15:14 | <PacoV> | Ho, ok, you're telling me not to install cabal-install using pacman. |
| 2020-11-25 16:15:39 | <PacoV> | I'll give ghcup a try. |
| 2020-11-25 16:15:54 | <merijn> | maerwald: I mean, the macOS PATH issue is at least defensible, since those are indeed not standard PATH locations |
| 2020-11-25 16:16:33 | <merijn> | If Arch insists on shipping a dynamic GHC, could they not at least set it to link dynamic by default? >.> |
| 2020-11-25 16:17:18 | × | aenesidemus quits (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) (Quit: Leaving) |
| 2020-11-25 16:18:48 | × | hseg quits (~gesh@IGLD-84-228-238-117.inter.net.il) (Ping timeout: 256 seconds) |
| 2020-11-25 16:23:27 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2020-11-25 16:23:35 | <PacoV> | Looks like ghcup is doing the trick. |
| 2020-11-25 16:23:41 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 2020-11-25 16:24:08 | → | jollygood2 joins (~bc8165ab@217.29.117.252) |
| 2020-11-25 16:24:19 | <ski> | @type let memoIO :: Ord k => (k -> IO v) -> IO (k -> IO v); memoIO f = do ref <- Data.IORef.newIORef M.empty; return (\k -> do map <- Data.IORef.readIORef ref; case M.lookup k map of Just v -> return v; Nothing -> do v <- f k; Data.IORef.writeIORef ref (M.insert k v map); return v) in memoIO |
| 2020-11-25 16:24:21 | <lambdabot> | Ord k => (k -> IO v) -> IO (k -> IO v) |
| 2020-11-25 16:24:30 | → | ClaudiusMaximus joins (~claude@198.123.199.146.dyn.plus.net) |
| 2020-11-25 16:24:34 | <ski> | @type let memoIO :: Ord k => (k -> IO v) -> IO (k -> IO v); memoIO f = do ref <- Data.IORef.newIORef M.empty; return (\k -> mfix (\v -> maybe (f k) return =<< Data.IORef.atomicModifyIORef ref (\map -> case M.lookup k map of Just v -> (map,Just v); Nothing -> (M.insert k v map,Nothing)))) in memoIO |
| 2020-11-25 16:24:36 | <lambdabot> | Ord k => (k -> IO v) -> IO (k -> IO v) |
| 2020-11-25 16:24:38 | × | ClaudiusMaximus quits (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
| 2020-11-25 16:24:38 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 2020-11-25 16:24:46 | <ski> | @type let memoIO :: Ord k => (k -> IO v) -> IO (k -> IO v); memoIO f = do ref <- Data.IORef.newIORef M.empty; return (\k -> mfix (\v -> maybe (f k) return =<< Data.IORef.atomicModifyIORef ref (swap . M.insertLookupWithKey (\_ _ v -> v) k v))) in memoIO |
| 2020-11-25 16:24:48 | <lambdabot> | Ord k => (k -> IO v) -> IO (k -> IO v) |
| 2020-11-25 16:24:54 | <ski> | @type let memoIO :: Ord k => (k -> IO v) -> IO (k -> IO v); memoIO f = do ref <- Data.IORef.newIORef M.empty; return (\k -> do v <- System.IO.Unsafe.unsafeInterleaveIO (f k); Data.IORef.atomicModifyIORef ref (\map -> case M.lookup k map of Just v -> (map,v); Nothing -> (M.insert k v map,v))) in memoIO |
| 2020-11-25 16:24:56 | <lambdabot> | Ord k => (k -> IO v) -> IO (k -> IO v) |
| 2020-11-25 16:25:00 | → | gproto23 joins (~gproto23@unaffiliated/gproto23) |
| 2020-11-25 16:25:04 | <ski> | @type let memoIO :: Ord k => (k -> IO v) -> IO (k -> IO v); memoIO f = do ref <- Data.IORef.newIORef M.empty; return (\k -> do v <- System.IO.Unsafe.unsafeInterleaveIO (f k); fromMaybe v <$> Data.IORef.atomicModifyIORef ref (swap . M.insertLookupWithKey (\_ _ v -> v) k v)) in memoIO |
| 2020-11-25 16:25:05 | <lambdabot> | Ord k => (k -> IO v) -> IO (k -> IO v) |
| 2020-11-25 16:25:10 | <jollygood2> | hi. I asked the other day, but I didn't keep logs. I need to make a simple personal website, and I want to explore FRP. what library do you recommend? |
| 2020-11-25 16:25:27 | <PacoV> | jollygood2: Hakyll? |
| 2020-11-25 16:26:12 | <ski> | merijn,kuribas : i don't really see how to do `Ord k => (k -> IO v) -> IO (k -> v)' (e.g. with `unsafeInterleaveIO'), without also passing a collection of valid `k's |
| 2020-11-25 16:27:18 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-25 16:27:26 | <PacoV> | ghcup actually allowed me to install stack2cabal. |
| 2020-11-25 16:27:39 | <jollygood2> | PacoV thanks, I'll take a look |
| 2020-11-25 16:27:45 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 2020-11-25 16:27:46 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 246 seconds) |
| 2020-11-25 16:27:55 | <PacoV> | But the later failed to process my package as we expected. |
| 2020-11-25 16:28:09 | <maerwald> | PacoV: yes, I posted above what needs to be adjusted |
| 2020-11-25 16:28:13 | × | thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202) |
| 2020-11-25 16:28:55 | <PacoV> | jollygood2: And if you plan on writting on multiple languages, I published https://hackage.haskell.org/package/hakyll-contrib-i18n yesterday :-) |
| 2020-11-25 16:29:03 | <maerwald> | PacoV: https://github.com/hasufell/stack2cabal/blob/master/lib/StackageToHackage/Stackage/YAML.hs both the packages and the resolver parser need another alternative |
| 2020-11-25 16:29:26 | → | boxscape joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
| 2020-11-25 16:30:12 | <PacoV> | maerwald: I guess I'm too new to understand the meaning of this :-/ |
| 2020-11-25 16:30:22 | <maerwald> | it's just a yaml parser |
| 2020-11-25 16:30:30 | <PacoV> | But cabal actually builds my package right now. |
| 2020-11-25 16:30:39 | <PacoV> | So I might not need anything else. |
| 2020-11-25 16:30:44 | × | alp quits (~alp@2a01:e0a:58b:4920:c9e7:a101:608d:5391) (Ping timeout: 240 seconds) |
| 2020-11-25 16:30:51 | <maerwald> | stack.yaml follows some weird "pantry" thing, which has so many ways to express the same thing that I can't keep up |
| 2020-11-25 16:31:00 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 2020-11-25 16:31:18 | <PacoV> | It's okay. I mean, I'd gladly get rid of the stack part if possible. |
| 2020-11-25 16:31:25 | <maerwald> | the line between package and dependency is also completely blurred |
| 2020-11-25 16:31:43 | <ski> | @hoogle (a -> IO b) -> IO (a -> b) |
| 2020-11-25 16:31:44 | <lambdabot> | No results found |
| 2020-11-25 16:32:18 | <PacoV> | Well, it'll take time. I'll walk the dog in the mean time. |
| 2020-11-25 16:32:25 | × | sdx23 quits (~sdx23@unaffiliated/sdx23) (Ping timeout: 240 seconds) |
| 2020-11-25 16:33:59 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 2020-11-25 16:35:10 | × | Boomerang_ quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 2020-11-25 16:35:12 | <ski> | @type let unsafeInterleaveIOResult :: (a -> IO b) -> IO (a -> b); unsafeInterleaveIOResult f = return (System.IO.Unsafe.unsafePerformIO . f) in unsafeInterleaveIOResult -- perhaps something like this could be used, assuming `NOINLINE',&c. precautions |
| 2020-11-25 16:35:14 | <lambdabot> | (a -> IO b) -> IO (a -> b) |
| 2020-11-25 16:35:32 | → | Lycurgus joins (~niemand@98.4.114.74) |
All times are in UTC.