Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.