Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-02 14:33:26 <dminuoso> merijn: Question, do you ever use OverloadedStrings?
2020-11-02 14:33:29 <dminuoso> say for text
2020-11-02 14:33:41 <dminuoso> (I know you can use T.pack, but lets face it, who does it)
2020-11-02 14:33:55 <geekosaur> OerloadedStrings is not something where use internally forces use externally
2020-11-02 14:34:04 <dminuoso> Ah
2020-11-02 14:34:06 <merijn> I don't really like it, but yes
2020-11-02 14:34:07 <geekosaur> it's a convenience externally
2020-11-02 14:35:30 hackage prolude 0.0.0.5 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.5 (saramuse)
2020-11-02 14:35:43 × bliminse quits (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 265 seconds)
2020-11-02 14:36:27 bliminse joins (~bliminse@host109-156-197-211.range109-156.btcentralplus.com)
2020-11-02 14:36:59 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
2020-11-02 14:39:11 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-11-02 14:39:30 hackage primitive-unlifted 1.0.0.0 - Primitive GHC types with unlifted types inside https://hackage.haskell.org/package/primitive-unlifted-1.0.0.0 (andrewthad)
2020-11-02 14:39:33 × sam___ quits (~sam@187.164.185.81.rev.sfr.net) (Quit: Lost terminal)
2020-11-02 14:41:30 hackage persistent 2.10.5.3 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.10.5.3 (parsonsmatt)
2020-11-02 14:43:14 LKoen_ joins (~LKoen@79.160.9.109.rev.sfr.net)
2020-11-02 14:44:31 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-02 14:45:32 × LKoen quits (~LKoen@79.160.9.109.rev.sfr.net) (Ping timeout: 260 seconds)
2020-11-02 14:47:04 <bqv> dminuoso: I used to
2020-11-02 14:47:14 <bqv> I used to avoid every and all extensions
2020-11-02 14:47:24 <bqv> That meant a lot of pack
2020-11-02 14:47:30 × geekosaur quits (ac3a8c5f@172.58.140.95) (Remote host closed the connection)
2020-11-02 14:47:31 <bqv> And a lot of unpack
2020-11-02 14:48:02 × borne quits (~fritjof@200116b864ec3c00c8b76624f4b75a13.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-02 14:48:05 <bqv> Sometimes in that order...
2020-11-02 14:48:41 <dminuoso> bqv: What about packages that impose FlexibleContexts/FlexibleInstances on you?
2020-11-02 14:48:53 <dminuoso> Especially since 8.10 it's getting increasingly harder to avoid extensions
2020-11-02 14:49:07 <dminuoso> (The change itself is welcome, but the impact could be undesirable)
2020-11-02 14:49:11 <bqv> Never had the pleasure of one back then
2020-11-02 14:49:15 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-02 14:49:54 <bqv> Nowadays of course, my haskell files come with lists of extensions like I'm ordering á la carte
2020-11-02 14:50:11 <bqv> If I can't have none, not much point being skiddish
2020-11-02 14:50:24 × chaosmasttter quits (~chaosmast@p200300c4a72dee01a86cafb086ba766e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-11-02 14:50:41 × alx741 quits (~alx741@186.178.110.178) (Ping timeout: 268 seconds)
2020-11-02 14:51:05 <bqv> I would care about portable haskell, but ghc has a pretty unholy monopoly thats really not going anywhere anyway
2020-11-02 14:52:24 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-11-02 14:56:44 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-02 14:56:54 × idhugo quits (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 258 seconds)
2020-11-02 14:58:48 Gurkenglas__ joins (~Gurkengla@unaffiliated/gurkenglas)
2020-11-02 14:59:30 hackage wai-log 0.3.0.0 - A logging middleware for WAI applications https://hackage.haskell.org/package/wai-log-0.3.0.0 (jonathanjouty_scrive)
2020-11-02 15:00:01 × notmyname quits (~notmyname@84.39.116.180) ()
2020-11-02 15:00:34 × nkly quits (~nkly@ip5b40d080.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2020-11-02 15:01:27 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-02 15:01:49 × toorevitimirp quits (~tooreviti@117.182.183.132) (Remote host closed the connection)
2020-11-02 15:02:28 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Read error: Connection reset by peer)
2020-11-02 15:04:11 PacoV joins (2d535a95@gateway/web/cgi-irc/kiwiirc.com/ip.45.83.90.149)
2020-11-02 15:04:46 <PacoV> Hi there.
2020-11-02 15:04:57 alx741 joins (~alx741@186.178.110.193)
2020-11-02 15:05:20 <yushyin> Hi PacoV
2020-11-02 15:05:42 <PacoV> I've multiple functions of type "a -> mb" and a list of "[a]".
2020-11-02 15:06:06 <PacoV> At the moment I do "mapM_ function list" for each function.
2020-11-02 15:06:34 <PacoV> Is there a way to call every function with the list as arguments (and discard the result)?
2020-11-02 15:07:42 <dminuoso> PacoV: That's still traverse_/mapM_
2020-11-02 15:08:01 <dminuoso> traverse ($ xs) [f, g, h]
2020-11-02 15:08:04 <dminuoso> traverse_ ($ xs) [f, g, h]
2020-11-02 15:08:43 <dminuoso> % traverse_ ($ "foo") [putStr, putStr, putStr]
2020-11-02 15:08:43 <yahb> dminuoso: foofoofoo
2020-11-02 15:08:45 × sveit quits (~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Quit: Bye)
2020-11-02 15:08:49 <PacoV> Ok, I'll have a look at traverse.
2020-11-02 15:08:56 <merijn> dminuoso: That's just a single item, though, not a list of items
2020-11-02 15:09:00 <dminuoso> PacoV: traverse/traverse_ are just mapM/mapM_
2020-11-02 15:09:13 <PacoV> Ho, so, not enough.
2020-11-02 15:09:16 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-11-02 15:09:17 <merijn> :t \fs as -> mapM_ (sequence fs) as
2020-11-02 15:09:18 <lambdabot> (Monad m, Traversable m, Foldable t) => m (a -> b) -> t a -> m ()
2020-11-02 15:09:22 <dminuoso> merijn: huh?
2020-11-02 15:09:22 <merijn> boom
2020-11-02 15:09:29 texasmynsted joins (~texasmyns@212.102.45.115)
2020-11-02 15:09:33 <merijn> dminuoso: He wants to apply a list of functions to a list of values
2020-11-02 15:09:52 <dminuoso> Guess there's two ways to read this..
2020-11-02 15:10:21 <merijn> % mapM_ (sequence [print, print]) [1..5]
2020-11-02 15:10:22 <yahb> merijn: ; <interactive>:331:1: error:; * Could not deduce: Item (m (a0 -> b0)) ~ (a1 -> IO ()); from the context: (Monad m, Traversable m, Show a, IsList (m (a2 -> b)), IsList (t a2), Num (Item (t a2)), Enum (Item (t a2)), Foldable t, Item (m (a2 -> b)) ~ (a -> IO ())); bound by the inferred type for `it':; forall (m :: * -> *) a a2 b (t :: * -> *). (Monad m, Traversable m,
2020-11-02 15:10:58 <merijn> ugh, how do I reset yahb?
2020-11-02 15:11:10 <dminuoso> It's ghci
2020-11-02 15:11:11 sveit joins (~sveit@45.77.0.246)
2020-11-02 15:11:12 <dminuoso> So :q
2020-11-02 15:11:16 <merijn> % :q
2020-11-02 15:11:16 <yahb> merijn:
2020-11-02 15:11:18 <merijn> % mapM_ (sequence [print, print]) [1..5]
2020-11-02 15:11:20 <yahb> merijn: [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()]
2020-11-02 15:11:37 <merijn> that's not right..
2020-11-02 15:12:00 <dminuoso> well..
2020-11-02 15:12:05 <merijn> :t sequence [print, print]
2020-11-02 15:12:07 <lambdabot> Show a => a -> [IO ()]
2020-11-02 15:12:13 borne joins (~fritjof@200116b864ec3c00c8b76624f4b75a13.dip.versatel-1u1.de)
2020-11-02 15:12:14 <merijn> ah
2020-11-02 15:12:15 <dminuoso> this is just ap..
2020-11-02 15:12:35 <merijn> % mapM_ (sequence_ [print, print]) [1..5]
2020-11-02 15:12:35 <yahb> merijn: ; <interactive>:2:8: error:; * Couldn't match type `()' with `m b0'; Expected type: a0 -> m b0; Actual type: a0 -> (); * In the first argument of `mapM_', namely `(sequence_ [print, print])'; In the expression: mapM_ (sequence_ [print, print]) [1 .. 5]; In an equation for `it': it = mapM_ (sequence_ [print, print]) [1 .. 5]; * Relevant bindings include it :: m () (bou
2020-11-02 15:12:49 <dminuoso> % sequence ([print, print] <$> [1...5])
2020-11-02 15:12:49 <yahb> dminuoso: ; <interactive>:3:11: error:; * Couldn't match expected type `Over p0 f0 s0 t0 a1 b0 -> m a' with actual type `[a0 -> IO ()]'; * In the first argument of `(<$>)', namely `[print, print]'; In the first argument of `sequence', namely `([print, print] <$> [1 ... 5])'; In the expression: sequence ([print, print] <$> [1 ... 5]); * Relevant bindings include it :: m [a] (bound at <inter
2020-11-02 15:12:50 <PacoV> It looks just about what I need.
2020-11-02 15:12:50 <merijn> ok, I give up on making it work :p
2020-11-02 15:13:06 <dminuoso> % sequence ([print, print] <*> [1...5])
2020-11-02 15:13:06 <yahb> dminuoso: ; <interactive>:4:12: error:; * No instance for (Show (Over p0 f0 s0 t0 a0 b0)) arising from a use of `print'; (maybe you haven't applied a function to enough arguments?); * In the expression: print; In the first argument of `(<*>)', namely `[print, print]'; In the first argument of `sequence', namely `([print, print] <*> [1 ... 5])'; <interactive>:4:31: error:; * No insta
2020-11-02 15:13:13 <PacoV> Thanks!
2020-11-02 15:13:15 <dminuoso> huh
2020-11-02 15:13:21 <dminuoso> % sequence ([print, print] <*> [1...5] :: [Int])
2020-11-02 15:13:21 <yahb> dminuoso: ; <interactive>:5:11: error:; * Couldn't match type `IO ()' with `Int'; Expected type: [Int]; Actual type: [IO ()]; * In the first argument of `sequence', namely `([print, print] <*> [1 ... 5] :: [Int])'; In the expression: sequence ([print, print] <*> [1 ... 5] :: [Int]); In an equation for `it': it = sequence ([print, print] <*> [1 ... 5] :: [Int]); <interactive>:5:11:
2020-11-02 15:13:26 <dminuoso> *shrugs*

All times are in UTC.