Home freenode/#haskell: Logs Calendar

Logs on 2021-01-13 (freenode/#haskell)

00:00:27 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
00:01:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:04:11 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
00:06:10 × tsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) ()
00:06:16 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
00:10:13 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 246 seconds)
00:13:06 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
00:13:20 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
00:13:43 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
00:14:15 × drbean quits (~drbean@TC210-63-209-185.static.apol.com.tw) (Ping timeout: 265 seconds)
00:17:36 × david__ quits (~david@234.109.45.217.dyn.plus.net) (Ping timeout: 240 seconds)
00:19:10 drbean joins (~drbean@TC210-63-209-63.static.apol.com.tw)
00:19:41 × matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
00:19:49 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
00:19:54 × Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Remote host closed the connection)
00:20:35 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
00:21:09 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
00:21:19 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
00:21:42 jedws joins (~jedws@121.209.139.157)
00:22:29 atraii joins (~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
00:22:46 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Read error: Connection reset by peer)
00:23:07 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
00:24:49 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
00:27:10 atraii_ joins (~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
00:27:49 × atraii quits (~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 260 seconds)
00:27:49 atraii_ is now known as atraii
00:28:08 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:29:03 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:6525:380:35f5:9d2f) (Quit: Leaving)
00:30:17 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Remote host closed the connection)
00:31:56 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
00:32:35 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
00:32:44 matryoshka` joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:34:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
00:37:14 iridescent joins (2fe3e53b@047-227-229-059.res.spectrum.com)
00:37:43 <iridescent> is there a faster dev cycle than running "cabal build" and then "cabal exec" every time i want to make an update?
00:38:35 <glguy> koz_: I don't know, but I'd check to see if StandaloneDeriving let's you
00:38:45 <koz_> glguy: I found the problem - old Haddock.
00:39:04 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
00:39:26 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:39:47 <ephemient> iridescent: cabal run?
00:40:12 <iridescent> i tried that but it didn't update when i changed things
00:40:45 <iridescent> i also tried runhaskell but it doesn't handle module dependencies
00:40:49 <ephemient> oh looking at the docs that may have changed between v1 and v2, hmm
00:41:37 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
00:41:51 <ephemient> if ghcid works, it will start up faster than building
00:43:04 <iridescent> do i need to install something for that
00:43:22 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
00:43:43 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
00:44:05 <ephemient> https://github.com/ndmitchell/ghcid
00:44:54 <ephemient> e.g. ghcid --test=:Main.main will re-run your main on every edit
00:46:57 <koz_> OK, this is weird. I'm trying to use https://haskell-haddock.readthedocs.io/en/latest/markup.html#deriving-clauses, specifically the DerivingVia example, but every time I try to run haddock, it voms on the '-- ^ @since 0.0.1.0' bit.
00:47:21 × matryoshka` quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
00:47:30 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:47:37 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
00:49:16 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
00:54:52 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
00:55:14 × borne quits (~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f) (Ping timeout: 264 seconds)
00:55:15 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:58:17 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
00:58:54 × usr25 quits (~usr25@unaffiliated/usr25) (Ping timeout: 256 seconds)
01:00:13 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
01:01:24 × LiamD quits (43aae10c@c-67-170-225-12.hsd1.ca.comcast.net) (Quit: Connection closed)
01:01:24 × iridescent quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Quit: Connection closed)
01:01:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:03:43 <sm[m]> iridescent: ghcid, definitely
01:05:46 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:06:25 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:07:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
01:09:00 × piezoid quits (~piezoid@82-64-150-32.subs.proxad.net) (Remote host closed the connection)
01:09:14 × philopsos quits (~caecilius@45.133.192.108) (Ping timeout: 260 seconds)
01:09:49 × runawayfive quits (~nope@unaffiliated/runawayfive) (Ping timeout: 260 seconds)
01:11:36 × remexre quits (~nathan@207-153-38-50.fttp.usinternet.com) (Ping timeout: 240 seconds)
01:12:47 remexre joins (~nathan@207-153-38-50.fttp.usinternet.com)
01:13:22 rajivr joins (uid269651@gateway/web/irccloud.com/x-itvlzupsyknqkfml)
01:14:07 runawayfive joins (~nope@unaffiliated/runawayfive)
01:15:33 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:15:55 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:17:31 bi_functor joins (~bi_functo@192-0-134-138.cpe.teksavvy.com)
01:21:33 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
01:21:35 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
01:21:58 × bi_functor quits (~bi_functo@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 246 seconds)
01:22:19 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
01:22:28 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:24:11 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:24:41 zaquest joins (~notzaques@5.128.210.178)
01:24:49 × columbarius1 quits (~columbari@muedsl-82-207-236-249.citykom.de) (Ping timeout: 265 seconds)
01:26:15 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
01:26:57 columbarius1 joins (~columbari@87.123.198.176)
01:27:42 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
01:35:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:35:56 × Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
01:36:44 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:38:29 iridescent joins (2fe3e53b@047-227-229-059.res.spectrum.com)
01:39:13 <iridescent> I'm doing the parser exercise from cis194 (https://www.seas.upenn.edu/~cis194/spring13/hw/10-applicative.pdf), and I'm stuck trying to combine two parsers
01:39:26 <iridescent> I have an applicative instance and two "Parser Char" instances which parse characters "a" and "b", and I'm trying to parse "ab"
01:39:38 <iridescent> could anyone help me think through how I might accomplsih this?
01:40:26 × mmmattyx quits (uid17782@gateway/web/irccloud.com/x-tzsvjcfzpzlemwdx) (Quit: Connection closed for inactivity)
01:40:48 <ski> exercise 2 should be a hint
01:41:09 <iridescent> I guess i fundamentally don't understand what the <*> is doing
01:41:12 <maerwald> :t (<*>)
01:41:13 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
01:41:17 <iridescent> Because the first thing is a function
01:41:44 <iridescent> To me, it doesn't really make sense what parsing a function means, I just wrote applicative such that the types match but don't know what I wrote
01:42:18 <ski> have you seen the `liftA2' function ?
01:42:25 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:42:43 <iridescent> yeah
01:43:31 <maerwald> :t (+) <$> Just 3 <*> Just 2
01:43:33 <lambdabot> Num b => Maybe b
01:43:48 <maerwald> do you know that pattern? (which is basically liftA2)
01:44:06 <iridescent> yeah
01:44:15 <maerwald> :t Just 3 <*> Just 2
01:44:16 <ski> @quote and.it.works
01:44:16 <lambdabot> autrijus says: * autrijus stares at type Eval x = forall r. ContT r (ReaderT x IO) (ReaderT x IO x) and feels very lost <shapr> Didn't you write that code? <autrijus> yeah. and it works <autrijus> I
01:44:17 <lambdabot> just don't know what it means.
01:44:17 <lambdabot> Num b => Maybe b
01:44:27 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
01:44:48 <maerwald> wait, what
01:44:58 <ski> > Just (3 2)
01:45:01 <lambdabot> Just 3
01:45:52 <maerwald> what's going on here
01:45:54 <ski> iridescent : perhaps it'd help to implement `liftA2' yourself (including understanding how the types work)
01:46:05 <ski> maerwald : `instance Num a => Num (rho -> a)'
01:46:33 <maerwald> that instance is not a default instance
01:46:55 <ski> it was semi-recently added to lambdabot, with `@let'
01:47:07 <maerwald> can we remove it? this is bad
01:47:33 vappend joins (~ezrakilty@75-172-99-84.tukw.qwest.net)
01:47:59 <ski> it just takes an `@undefine', or a restart of lambdabot
01:49:44 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
01:50:14 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:50:34 × arguapacha quits (uid134895@gateway/web/irccloud.com/x-tkjkldidxnknhjth) (Quit: Connection closed for inactivity)
01:53:26 × kini quits (~kini@unaffiliated/kini) (Ping timeout: 264 seconds)
01:53:27 krkini joins (~kini@unaffiliated/kini)
01:53:29 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:55:25 × lambda-11235 quits (~lambda-11@108-237-120-58.lightspeed.frokca.sbcglobal.net) (Quit: Bye)
01:56:50 × ep1ctetus quits (~marcus_au@ip184-187-162-163.sb.sd.cox.net) (Read error: Connection reset by peer)
01:57:05 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:58:40 <iridescent> how would I go about the parser that does "integer value or an uppercase character"?
01:58:57 <iridescent> i just implemented Alternative and want to combine with <|> somehow, but i'm not sure how to make the types work
01:59:47 <iridescent> my 2 parsers are Parser Int and Parser Char, but I somehow want to combine them with <|> and get a Parser ()
02:00:09 ep1ctetus joins (~epictetus@ip184-187-162-163.sb.sd.cox.net)
02:00:26 × dandart quits (~Thunderbi@home.dandart.co.uk) (Ping timeout: 256 seconds)
02:00:38 <ski> `<|>' expects its two operand parsers to have the same result type
02:01:02 <ski> (<|>) :: Parser a -> Parser a -> Parser a -- in this case
02:01:14 <ski> since you want to get a `Parser ()', `a' would be `()'
02:01:53 <ski> so, you need some way of converting your parsers of type `Parser Int' and `Parser Char', to be able to pass them to `<|>'
02:02:03 <iridescent> is that what the applicative instance is for?
02:02:14 <iridescent> like somehow I want a Parser (Int -> ())?
02:02:14 <ski> do you know of a way to do this ?
02:02:41 <ski> that would be a roundabout (but possible) way to do it
02:02:46 <ski> there's a simpler way
02:03:19 <iridescent> Hm, not sure
02:03:26 <monochrom> fmap Left fooInt <|> fmap Right fooChar :: Parser (Either Int Char)
02:03:54 <siraben> (a <|> b) $> () :: Parser ()
02:04:25 × Entertainment quits (~entertain@104.246.132.210) (Ping timeout: 264 seconds)
02:04:27 <iridescent> what does that middle operator do :o
02:04:27 <ephemient> :t void
02:04:29 <ski> what monochrom just showed is another way to make the two operand parsers have the same common type (not being `Parser ()' in that case)
02:04:30 <lambdabot> Functor f => f a -> f ()
02:04:36 <monochrom> That one is applying $>() too late. You have to get past the type error first.
02:04:38 <ski> siraben's version wouldn't work
02:05:01 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds)
02:05:05 <monochrom> Again remember why "map show [30, "hello", False]" is nonsense.
02:05:33 <siraben> Oh right the type error, d'oh
02:05:57 <iridescent> so once I have a Parser (Either Int Char) do i just fmap it to get a Parser ()?
02:06:04 <siraben> lol (a $> ()) <|> (b $> ())
02:06:16 <xsperry> iridescent, what are you trying to do? the big picture
02:06:37 <iridescent> oh just trying to do exercise 5 here: https://www.seas.upenn.edu/~cis194/spring13/hw/10-applicative.pdf
02:06:51 <monochrom> Alternatively, if you have a common type C and a pair of functions f::Int->C, g::Char->C such that applying f in the Int case and applying g in the Char case is what you want, fmap f fooInt <|> fmap g fooChar.
02:06:59 × FrontSevens quits (~FrontSeve@185.204.1.185) (Remote host closed the connection)
02:07:58 <monochrom> At the meta level this is reflecting the shortsightedness in thinking only "I want Int or Char" without stopping to think "but so what if I do get an Int, and so what if I do get a Char".
02:08:34 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
02:08:54 <monochrom> Because if you were aware of that, the first question would disappear.
02:09:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
02:09:42 <iridescent> makes sense
02:09:57 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
02:10:00 <iridescent> that's cool how this type of thinking is embedded in the language
02:10:10 <xsperry> iridescent, you can do something like this, then: (intParser *> pure ()) <|> (upperCase *> pure ()) (parens might be optional)
02:10:27 <ski> % map show [30,"hello",False]
02:10:27 <yahb> ski: ["30","\"hello\"","False"]
02:10:31 <ephemient> % :i *>
02:10:32 <yahb> ephemient: type Applicative :: (* -> *) -> Constraint; class Functor f => Applicative f where; ...; (*>) :: f a -> f b -> f b; ...; -- Defined in `GHC.Base'; infixl 4 *>
02:10:35 <ephemient> % :i <|>
02:10:36 <yahb> ephemient: type Alternative :: (* -> *) -> Constraint; class Applicative f => Alternative f where; ...; (<|>) :: f a -> f a -> f a; ...; -- Defined in `GHC.Base'; infixl 3 <|>
02:10:51 <ephemient> precedence allows that without parens
02:11:41 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
02:11:45 <ephemient> of course, if you find it clearer with parens, there's nothing stopping you from writing them
02:12:17 <ski> @type (<$)
02:12:19 <lambdabot> Functor f => a -> f b -> f a
02:13:25 <iridescent> what's the point of <* and *> and <$ and $>?
02:13:39 bennofs parts (~quassel@2a01:4f8:c17:5579::1) ("https://quassel-irc.org - Chat comfortably. Anywhere.")
02:13:46 <monochrom> fooInt <* spaces
02:13:53 <iridescent> is it kind of like ignoring something?
02:14:06 <ski> `<*' and `*>' is to combine two parsers, ignoring the parse result of one of them
02:14:22 <ephemient> look at the types, that tells you what the behavior could be
02:14:26 <monochrom> spaces *> mainParser <* eof
02:14:30 <ski> `<$' and `$>' is to ignore the parse result of a parser, replacing it with some particular value
02:14:42 <ski> iridescent : so, yes
02:14:46 <ephemient> well, not only for parsers; works for all applicatives (and thus all monads)
02:14:54 <ski> yes
02:15:06 <iridescent> so how could I rewrite abParser_ to ignore both? right now I have `const (\x->()) <$> aParser <*> bParser`
02:15:18 <iridescent> but I assume you could use something like <* or *>?
02:15:20 bi_functor joins (~bi_functo@192-0-134-138.cpe.teksavvy.com)
02:15:56 ski . o O ( abelian parser )
02:16:08 × bi_functor quits (~bi_functo@192-0-134-138.cpe.teksavvy.com) (Client Quit)
02:16:29 <ephemient> btw, you're running both aParser and bParser there, I thought you wanted one *or* the other?
02:17:26 <ski> ephemient : this was the earlier exercise (mentioned before the other one)
02:17:57 <iridescent> yeah
02:18:00 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 256 seconds)
02:18:07 <ski> (exercise 3 vs. 5)
02:19:16 <ephemient> exercise 3 looks like you want to return both, not ignore both...
02:19:48 <ski> abParser_ :: Parser ()
02:20:13 <ephemient> oh, that part. well if you have abparser :: Parser (Char, Char) you can make an abParser_ :: Parser ()
02:21:15 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
02:21:26 <ephemient> :t void -- I did mention this earlier
02:21:27 <lambdabot> Functor f => f a -> f ()
02:21:36 <ephemient> :t ($> ()) -- and siraben mentioned this, I think
02:21:38 <lambdabot> error:
02:21:38 <lambdabot> • Variable not in scope: ($>) :: t -> () -> t1
02:21:38 <lambdabot> • Perhaps you meant one of these:
02:21:54 <ski> @type (() <$)
02:21:56 <lambdabot> Functor f => f b -> f ()
02:22:10 <ephemient> @let import Data.Functor
02:22:12 <lambdabot> Defined.
02:22:13 <ski> @index <$
02:22:13 <lambdabot> Data.Functor, Control.Applicative, Prelude, Control.Monad.Instances
02:22:15 <ski> @index $>
02:22:15 <lambdabot> Data.Functor
02:22:20 <ski> curious
02:22:20 <ephemient> :t ($> ())
02:22:21 <lambdabot> Functor f => f a -> f ()
02:22:38 <ephemient> yeah I'm not sure why <$ is in Prelude and $> isn't, but that's how it is
02:22:41 ome joins (uid36537@gateway/web/irccloud.com/x-lgbezdowfhfizicn)
02:23:37 MartinAS1 joins (~MartinAS@185.163.110.125)
02:24:45 <ome> What does this means in the context of logic? [x -> s]x = s
02:25:16 <ome> How can you read or what should I search to find the meaning of? I am reading a book on Lambda calculus and it drops that like I am supposed to know.
02:27:47 jamm joins (~jamm@unaffiliated/jamm)
02:28:59 <sm2n> probably means [x\s]x = s, which means substitute every occurrence of x in the next term (which is x) with s
02:29:31 × iridescent quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Quit: Connection closed)
02:29:32 <ephemient> I've seen x[x := s] to mean the same
02:29:44 <ephemient> but yeah that's probably what it is
02:30:07 <sm2n> I think [x\s] is the standard notation in mathematical logic in particular
02:30:36 <ski> [x ↦ s]x
02:30:40 <ski> is sometimes used
02:30:44 × jedws quits (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:31:00 <ephemient> ah, that looks right too
02:31:32 <ski> (in Haskell, would correspond to `fmap (\x -> s) (Var x)', for an expression data-type, parameterized over type of variables. (can be made into a functor, and a monad ..))
02:31:37 <ome> ski: The book I am reading is using exactly that. It is called Types and Programming Languages by C. B. Pierce.
02:31:53 <ski> TaPL is nice
02:32:14 <ome> Yes, it is dense enough that makes lookup things but not incomprehensible.
02:32:26 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
02:33:19 <ome> And I think I have finally grokked Lambda Calculus. It is so mind numbingly simple but so powerful and paradigm shift. Just accepting the fact that you can "make notions" instead of taking them for granted is such a change.
02:34:00 × xff0x quits (~xff0x@2001:1a81:5220:500:fff1:399c:a2f4:dff6) (Ping timeout: 246 seconds)
02:35:29 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
02:35:51 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:36:12 xff0x joins (~xff0x@2001:1a81:5254:5f00:c24e:40ee:4223:92a5)
02:37:04 ski . o O ( <https://crypto.stanford.edu/~blynn/lambda/> )
02:38:16 ski . o O ( "To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction" by David C. Keenan in 1996-08-27 - 2014-04-01 at <http://dkeenan.com/Lambda/> )
02:40:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:40:49 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
02:42:29 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
02:45:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
02:46:59 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 265 seconds)
02:49:36 plutoniix joins (~q@184.82.196.93)
02:51:18 × ubert quits (~Thunderbi@p200300ecdf1ee031e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
02:53:28 Dark_Ethereal joins (~Drew@84.93.106.197)
02:53:51 ransom joins (~c4264035@8.48.134.54)
02:57:06 tabemann joins (~travisb@2600:1700:7990:24e0:46fa:9bf1:e3c9:a6a)
02:57:12 <siraben> ski: https://crypto.stanford.edu/~blynn/compiler/ is my favorite series
02:57:44 × Dark_Ethereal quits (~Drew@84.93.106.197) (Ping timeout: 260 seconds)
03:01:01 × verement quits (~anonymous@cpe-76-167-229-223.san.res.rr.com) (Remote host closed the connection)
03:02:13 AmitLevy[m] joins (amitmostly@gateway/shell/matrix.org/x-baxosktqaxjrlryv)
03:09:04 × shinobi_ quits (~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
03:12:11 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:13:35 × Techcable quits (znc@irc.techcable.net) (Quit: ZNC - http://znc.in)
03:16:52 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
03:17:06 × howdoi quits (uid224@gateway/web/irccloud.com/x-hhcvifznrcarwudg) (Quit: Connection closed for inactivity)
03:18:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:22:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:23:08 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
03:26:41 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
03:28:19 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
03:31:14 × pjb quits (~t@2a01cb04063ec500b94fa4fe14e91c99.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
03:36:07 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
03:37:58 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
03:38:51 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
03:41:33 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
03:42:16 christo joins (~chris@81.96.113.213)
03:44:05 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds)
03:44:16 × theDon quits (~td@muedsl-82-207-238-062.citykom.de) (Ping timeout: 240 seconds)
03:44:42 <ome> Why is Lambda Calculus not a mandatory introductory course in *every* let alone *most* CS degree is beyond me.
03:44:59 × plateau_ quits (~plateau@51.194.80.91) (Ping timeout: 265 seconds)
03:45:29 <ome> This thing is like magic. Honestly, there is few ideas that have left me reconsider "thinking" like Lambda Calculus.
03:45:51 <ome> Carl Yung's notion of consciousness being the other.
03:46:07 × acidjnk_new quits (~acidjnk@p200300d0c704e7426836b2ca9660f737.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
03:46:17 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
03:46:18 jespada joins (~jespada@90.254.245.49)
03:46:28 × christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
03:46:33 theDon joins (~td@94.134.91.87)
03:46:45 × krkini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
03:48:01 kini joins (~kini@unaffiliated/kini)
03:48:09 × rotaerk quits (rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 272 seconds)
03:49:23 rotaerk joins (rotaerk@2600:3c02::f03c:91ff:fe70:4a45)
03:52:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
03:53:23 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
03:53:44 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
03:55:31 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600:77cf:e09d:8abf:7983)
03:57:18 xirhtogal joins (~lagothrix@unaffiliated/lagothrix)
03:57:18 lagothrix is now known as Guest1188
03:57:18 × Guest1188 quits (~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
03:57:18 xirhtogal is now known as lagothrix
03:57:41 christo joins (~chris@81.96.113.213)
04:01:02 × xsperry quits (~as@unaffiliated/xsperry) (Read error: Connection reset by peer)
04:02:01 × christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds)
04:04:28 xsperry joins (~as@unaffiliated/xsperry)
04:04:34 × MartinAS1 quits (~MartinAS@185.163.110.125) (Remote host closed the connection)
04:13:28 × vappend quits (~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection)
04:13:59 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
04:15:23 × Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 256 seconds)
04:16:37 × revprez_anzio quits (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 246 seconds)
04:17:45 revprez_anzio joins (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
04:20:40 × sagax quits (~sagax_nb@213.138.71.146) (Quit: Konversation terminated!)
04:20:54 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:21:12 tadeo joins (~tadeo@185.103.96.147)
04:22:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
04:23:06 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:23:07 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
04:26:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
04:28:29 <pie_> is https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/comserve.pdf still worth reading? its about ffi to COM
04:28:53 <pie_> talks about haskells FFI and stuff about "import dynamic" but I cant actually find import dynamic in the manual
04:32:23 iridescent joins (2fe3e53b@047-227-229-059.res.spectrum.com)
04:35:53 <ephemient> pie_: https://www.haskell.org/onlinereport/haskell2010/haskellch8.html#x15-1620008.5.1
04:41:07 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 246 seconds)
04:42:24 <pie_> Oh right that would make sense, this paper is from way before 2010 (cant fidn the date offhand)
04:43:14 <pie_> also makes sense for it to be in the standard since the paper talks about it being designed to be compatible with multiple compilers, so it shouldnt be a ghc specific extension
04:43:17 <pie_> thanks.
04:49:29 × Wuzzy quits (~Wuzzy@p5790e10f.dip0.t-ipconnect.de) (Quit: Wuzzy)
04:51:32 conal joins (~conal@64.71.133.70)
04:51:51 Kaiepi joins (~Kaiepi@47.54.252.148)
04:57:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:00:06 RecursiveG joins (~recursive@li810-210.members.linode.com)
05:00:30 DANtheBEASTman joins (dysfigured@2600:3c00::f03c:92ff:feb4:be75)
05:00:42 × RecursiveG_ quits (~recursive@2600:3c00:e000:1ad::1) (Ping timeout: 268 seconds)
05:00:42 × dysfigured quits (dysfigured@2600:3c00::f03c:92ff:feb4:be75) (Ping timeout: 268 seconds)
05:00:56 DANtheBEASTman is now known as dysfigured
05:01:25 plateau joins (~plateau@51.194.80.91)
05:01:43 nineonine joins (~nineonine@50.216.62.2)
05:07:26 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 272 seconds)
05:07:41 dandart joins (~Thunderbi@home.dandart.co.uk)
05:08:24 × srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
05:08:24 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Read error: Connection reset by peer)
05:09:13 srk joins (~sorki@gateway/tor-sasl/sorki)
05:09:14 hexo joins (~hexo@gateway/tor-sasl/hexo)
05:10:00 <ome> How do you read t and t'?
05:10:05 <ome> t and t-what?
05:10:10 <int-e> t-prime
05:10:18 <ome> Thanks.
05:12:00 × ericsagnes quits (~ericsagne@2405:6580:0:5100:15:4fbd:9a97:4e33) (Ping timeout: 258 seconds)
05:13:14 × xff0x quits (~xff0x@2001:1a81:5254:5f00:c24e:40ee:4223:92a5) (Ping timeout: 264 seconds)
05:13:55 xff0x joins (~xff0x@2001:1a81:5254:5f00:1f78:6ba0:7365:dc7e)
05:16:17 × iridescent quits (2fe3e53b@047-227-229-059.res.spectrum.com) (Ping timeout: 248 seconds)
05:16:56 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558)
05:20:01 <ephemient> > let don't = void in don't $ putStrLn "hello, world"
05:20:04 <lambdabot> <IO ()>
05:21:13 <ephemient> hah, it's even been packaged https://hackage.haskell.org/package/acme-dont
05:22:03 <int-e> We need more INTERCAL in Haskell.
05:22:17 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
05:22:33 <int-e> . o O ( PLEASE DON'T GIVE UP )
05:22:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
05:23:08 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
05:24:20 ericsagnes joins (~ericsagne@2405:6580:0:5100:a1eb:5c8f:3763:40e4)
05:25:10 <ephemient> ah, that package's definition is a little different;
05:25:17 <ephemient> > let don't = pure () in if 0 == 1 then do error "oh no!" else don't
05:25:20 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Client Quit)
05:25:22 <lambdabot> error:
05:25:22 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M179536102250...
05:25:22 <lambdabot> prevents the constraint ‘(Show (f0 ()))’ from being solved.
05:25:30 <int-e> @bot
05:25:30 <lambdabot> :)
05:26:36 <int-e> hmm, `don't` really should take an argument
05:26:59 <int-e> and it does
05:27:06 <int-e> (in the package, I mean)
05:27:38 <int-e> > let don't _ = pure () in if 0 == 1 then do error "oh no!" else don't [42]
05:27:40 <lambdabot> error:
05:27:40 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M489607432695...
05:27:40 <lambdabot> prevents the constraint ‘(Show (f0 ()))’ from being solved.
05:28:39 × danso quits (~dan@23-233-104-25.cpe.pppoe.ca) (Quit: WeeChat 3.0)
05:28:48 <int-e> Oh, stupid me. I didn't add the type signature.
05:28:49 <ephemient> ah, I misread its source. should have just been defined as `void` then, though
05:29:21 <int-e> > let don't :: Applicative f => f a -> f (); don't _ = pure () in if 0 == 1 then do error "oh no!" else don't [42] -- third time's the charm?
05:29:23 <lambdabot> [()]
05:29:31 <int-e> :t void
05:29:32 <lambdabot> Functor f => f a -> f ()
05:29:48 <int-e> That's different though.
05:30:10 <int-e> void [1,2] = [(),()]; don't [1,2] = [()]
05:30:40 <ephemient> @let don't = void :: Applicative f => f a -> f ()
05:30:42 <lambdabot> Defined.
05:30:55 <ephemient> it's the same
05:31:20 <int-e> > let don't :: Applicative f => f a -> f (); don't _ = pure () in (void [1,2], don't [1,2])
05:31:22 <lambdabot> ([(),()],[()])
05:31:30 <int-e> How is that the same, exactly?
05:31:42 <ephemient> huh. ok it's not the same. why is it not the same?
05:31:56 × jfe quits (~user@pool-71-184-149-134.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
05:32:08 <int-e> because `void` replaces results of an action by (), while `don't` never runs the action at all
05:32:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
05:32:38 <int-e> void launchMissiles *will* launch missiles
05:32:46 <ephemient> @let don't _ = pure () -- let's fix this then, I guess
05:32:47 <lambdabot> .L.hs:158:1: error:
05:32:47 <lambdabot> Multiple declarations of ‘don't’
05:32:47 <lambdabot> Declared at: .L.hs:157:1
05:32:52 <int-e> @undef
05:32:52 <lambdabot> Undefined.
05:34:01 <ephemient> ah, I see the difference. `don't` could even be Applicative f => a -> f ()
05:35:14 × dandart quits (~Thunderbi@home.dandart.co.uk) (Quit: dandart)
05:35:30 <int-e> at the expense of possibly requiring more type annotations
05:36:06 <int-e> (inferring f from the argument is a feature)
05:37:27 <int-e> has anybody actively missed modules in lambdabot in the past two days?
05:40:01 <ephemient> maybe Data.Functor for ($>), import qualified Data.Text.NonEmpty as NE
05:40:08 <ephemient> don't think I've noticed anything else
05:40:50 <int-e> (I disentangled the build environment from the evaluation environment which means a lot of random packages that lambdabot happens to rely on are no longer available. But my theory, currently being tested, was that nobody was using them anyway.)
05:41:42 <int-e> (for reference, https://silicon.int-e.eu/lambdabot/State/packages.txt are the actual packages available right now)
05:41:59 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
05:43:23 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
05:43:48 cmcma20 joins (~cmcma20@l37-192-2-125.novotelecom.ru)
05:45:01 <int-e> Which is still somewhat random. the root packages are lens + QuickCheck(-safe) + mueval + simple-reflect + show
05:45:37 <int-e> > \() -> print "" -- `show` provides this
05:45:38 <lambdabot> <() -> IO ()>
05:45:50 <ephemient> oh packages not modules
05:45:54 <int-e> > foldl f x [a,b,c] -- `simple-reflect` does this
05:45:56 <lambdabot> f (f (f x a) b) c
05:46:08 <int-e> ephemient: modules suggestions are welcome too at this point
05:46:24 <int-e> but they're easier to modify on the fly
05:47:20 <int-e> Wouldn't people expect NE to refer to Data.List.NonEmpty though?
05:47:32 <ephemient> err, that's what I meant
05:47:52 <int-e> ah, the Text one doesn't even exist. phew.
05:48:24 <int-e> @undef
05:48:24 <lambdabot> Undefined.
05:48:26 <ephemient> finite is fun sometimes, but I don't know if DataKinds is enabled
05:49:48 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600:77cf:e09d:8abf:7983) (Ping timeout: 260 seconds)
05:50:55 <int-e> :t (:|)
05:50:57 <lambdabot> a -> [a] -> NonEmpty a
05:51:08 <int-e> :t NE.unfold
05:51:10 <lambdabot> (a -> (b, Maybe a)) -> a -> NonEmpty b
05:51:25 <ephemient> idk, maybe split and vector? haven't seen anybody try to use them on lambdabot but they might be considered sorta common
05:51:43 <ephemient> oh I see vector in there
05:51:57 <int-e> yeah vector is shipped with ghc
05:52:05 × dorkside quits (~tdbgamer@208.190.197.222) (Ping timeout: 240 seconds)
05:52:41 <int-e> wait, no
05:52:52 <int-e> I'm confused. I think it's brought in by lens.
05:53:52 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
05:54:16 × Rudd0^ quits (~Rudd0@185.189.115.108) (Ping timeout: 246 seconds)
05:54:37 iteratee joins (~kyle@162.211.154.4)
05:57:25 <int-e> I added split back (because it was there before and is fairly likely to be missed).
05:57:35 locrian9 joins (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net)
05:58:47 <int-e> I'm also open to adding some things that weren't there before, but I'd like to avoid adding everybody's favorite pet package... not quite sure how to go about that. Maybe collect suggestions and add things that several people suggested :)
05:59:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:01:23 lambda-11235 joins (~lambda-11@2600:1700:7c70:4600:fddd:a80b:3466:57f4)
06:02:02 <gentauro> int-e: wouldn't it be `ghc` that's shipped with `vectors` :)
06:02:18 dorkside joins (~tdbgamer@208.190.197.222)
06:03:38 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
06:04:03 <int-e> gentauro: vector isn't that big
06:05:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
06:07:59 × kini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
06:09:00 Rudd0 joins (~Rudd0@185.189.115.108)
06:09:02 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
06:09:22 kini joins (~kini@unaffiliated/kini)
06:12:07 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 246 seconds)
06:12:26 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
06:13:58 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
06:14:30 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
06:15:14 conal joins (~conal@64.71.133.70)
06:16:14 vappend joins (~ezrakilty@75-172-99-84.tukw.qwest.net)
06:17:37 × dorkside quits (~tdbgamer@208.190.197.222) (Ping timeout: 264 seconds)
06:18:57 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
06:19:17 × conal quits (~conal@64.71.133.70) (Client Quit)
06:20:21 conal joins (~conal@64.71.133.70)
06:24:29 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
06:26:55 × pounce quits (~pounce@ns379743.ip-5-196-70.eu) (Quit: bye bye!)
06:29:26 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
06:30:16 pounce joins (~pounce@2001:41d0:e:304::1)
06:34:30 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
06:34:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:36:37 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
06:39:38 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
06:43:50 <gentauro> int-e: my point was that it's a compiler (GHC) that would have a feature such as `vectors` and not a library that would have a compiler ;)
06:44:19 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
06:44:40 <ephemient> GHC does bundle quite a few libraries, though
06:45:31 <ephemient> e.g. bytestring, text, mtl, parsec
06:48:56 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds)
06:49:05 <ephemient> and I suppose more pertinently, arrays and containers. it wouldn't have been too surprising to hear vector is in there too (though it's not)
06:53:17 × Jd007 quits (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007)
06:54:49 × phasespace quits (~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 264 seconds)
06:55:25 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 265 seconds)
06:58:28 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:59:24 × stree quits (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Excess Flood)
06:59:48 stree joins (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net)
07:01:44 × vappend quits (~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection)
07:01:50 × pounce quits (~pounce@2001:41d0:e:304::1) (Ping timeout: 264 seconds)
07:04:02 andrew_znc joins (~andrew@andrewyu.org)
07:06:16 gzj joins (~gzj@unaffiliated/gzj)
07:07:39 pounce joins (~pounce@ns379743.ip-5-196-70.eu)
07:08:56 Bergle_1 joins (~Bergle_4@101.165.90.119)
07:09:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
07:10:37 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
07:10:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
07:10:53 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
07:12:21 Varis joins (~Tadas@unaffiliated/varis)
07:13:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
07:13:23 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
07:13:27 gzj joins (~gzj@unaffiliated/gzj)
07:14:49 michalz joins (~user@185.246.204.71)
07:14:51 phasespace joins (~sar@80-89-47-117.inet.signal.no)
07:17:34 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) ()
07:18:00 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
07:19:54 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:21:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
07:21:26 gzj joins (~gzj@unaffiliated/gzj)
07:21:30 jedws joins (~jedws@121.209.139.157)
07:22:37 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
07:23:09 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:23:41 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:23:44 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:25:39 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:25:42 × berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
07:26:03 berberman joins (~berberman@unaffiliated/berberman)
07:26:42 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:26:57 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:27:07 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:27:21 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:27:41 rmk236 joins (~lcampos@2a02:908:3616:b100:ca3b:8d07:f53c:e063)
07:27:54 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:28:06 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:28:40 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:28:48 ransom_ joins (~c4264035@8.6.112.146)
07:28:54 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
07:29:25 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
07:30:10 × MarcelineVQ quits (~anja@198.254.202.72) (Ping timeout: 246 seconds)
07:31:13 × ransom quits (~c4264035@8.48.134.54) (Ping timeout: 246 seconds)
07:32:26 MarcelineVQ joins (~anja@198.254.202.72)
07:32:38 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
07:33:06 jpds joins (~jpds@gateway/tor-sasl/jpds)
07:33:25 × monochrom quits (trebla@216.138.220.146) (Ping timeout: 240 seconds)
07:35:55 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:36:55 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
07:39:10 monochrom joins (trebla@216.138.220.146)
07:40:05 × gzj quits (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
07:40:21 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:40:26 gzj joins (~gzj@unaffiliated/gzj)
07:41:13 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
07:41:50 × ome quits (uid36537@gateway/web/irccloud.com/x-lgbezdowfhfizicn) (Quit: Connection closed for inactivity)
07:43:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:45:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
07:47:04 × kipras`away quits (~kipras@92.61.39.34) (Ping timeout: 260 seconds)
07:47:22 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
07:47:24 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: zzz)
07:47:52 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:48:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
07:48:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
07:48:28 gzj joins (~gzj@unaffiliated/gzj)
07:48:48 × jedws quits (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:48:57 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
07:50:12 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
07:50:19 × xff0x quits (~xff0x@2001:1a81:5254:5f00:1f78:6ba0:7365:dc7e) (Ping timeout: 258 seconds)
07:51:08 xff0x joins (~xff0x@port-92-195-21-125.dynamic.as20676.net)
07:52:14 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
07:53:05 Tops2 joins (~Tobias@dyndsl-095-033-093-084.ewe-ip-backbone.de)
07:53:11 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
07:53:40 kipras`away joins (~kipras@92.61.39.34)
07:54:00 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
07:54:05 × spatchkaa quits (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Ping timeout: 240 seconds)
07:55:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
07:55:28 gzj joins (~gzj@unaffiliated/gzj)
07:56:13 PERRON joins (~PERRON@177.246.218.164)
07:56:17 spatchkaa joins (~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
07:56:32 × PERRON quits (~PERRON@177.246.218.164) (Remote host closed the connection)
08:02:00 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
08:02:43 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
08:06:22 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
08:07:01 × Rudd0 quits (~Rudd0@185.189.115.108) (Remote host closed the connection)
08:07:27 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
08:07:50 ADG1089__ joins (~aditya@122.163.165.143)
08:10:49 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 265 seconds)
08:10:54 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
08:11:50 Guest_56 joins (5e9d51aa@170-81-157-94.ftth.glasoperator.nl)
08:12:14 <Guest_56> Hi! can i run GHCUP on a raspberry pi 4B?
08:12:41 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
08:12:43 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
08:13:04 <maerwald> ARM isn't properly supported yet
08:13:25 <maerwald> even GHC is still WIP wrt ARM, although there are bindists already
08:13:57 <Guest_56> Cause i want a cardano node on the raspberry pi 4
08:14:16 <maerwald> I don't think that is supported yet, but angerman is your man
08:14:25 <maerwald> He's working on basically that
08:14:31 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
08:14:31 <Guest_56> Oke
08:16:29 <maerwald> Guest_56: https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/5#note_269513
08:17:03 <maerwald> "cardano Node is not officially supported on aarch64. Running it with anything but +RTS -N1, will almost certainly deadlock at some point. armv7 is most likely broken due to Word size issues. Also cardano-node doesn’t compile for anything other than 8.4 afaik."
08:17:21 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
08:17:38 <maerwald> (the latter part isn't correct anymore, it compiles with 8.10.2/8.10.3 I think)
08:17:58 LKoen joins (~LKoen@100.170.9.109.rev.sfr.net)
08:18:09 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
08:18:13 cfricke joins (~cfricke@unaffiliated/cfricke)
08:19:23 ChanServ sets mode +o mniip
08:19:23 mniip sets mode -bo *!*@185.65.134.* mniip
08:19:41 ChanServ sets mode +o mniip
08:19:41 mniip sets mode +b-o *!b94186*@* mniip
08:20:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:20:33 <angerman> Guest_56: https://t.me/joinchat/FeKTCBu-pn5OUZUz4joF2w
08:20:38 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
08:21:34 _d0t joins (void@gateway/vpn/mullvad/d0t/x-89419360)
08:22:37 <_d0t> ohai! What is the best way to check cabal flags in haskell code? I know I could pass a -D_SOME_FLAG and check it using CPP in Haskell, but I wonder if there is a better way without involving CPP.
08:22:50 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
08:25:32 nrh^ joins (~hph@ip98-184-89-2.mc.at.cox.net)
08:29:15 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
08:30:48 <idnar> with Data.Type.Set do I want `Member e s =>` or `(MemberP e s ~ True) =>`?
08:30:55 jedws joins (~jedws@121.209.139.157)
08:32:23 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
08:32:46 pera joins (pera@gateway/vpn/mullvad/pera)
08:33:09 × MrMobius quits (~MrMobius@208.58.206.154) (Read error: Connection reset by peer)
08:34:35 × Guest_56 quits (5e9d51aa@170-81-157-94.ftth.glasoperator.nl) (Quit: Connection closed)
08:35:56 × jedws quits (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:37:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
08:38:11 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
08:39:12 dandels joins (~dandels@unaffiliated/dandels)
08:40:08 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
08:42:31 × tadeo quits (~tadeo@185.103.96.147) (Remote host closed the connection)
08:42:38 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
08:42:50 hoobop1 joins (~hoobop@84.39.117.57)
08:42:54 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 246 seconds)
08:45:04 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
08:45:23 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600:fddd:a80b:3466:57f4) (Quit: Bye)
08:45:23 × denisse_ quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
08:45:46 hacxman joins (~hexo@gateway/tor-sasl/hexo)
08:45:51 sorki joins (~sorki@gateway/tor-sasl/sorki)
08:46:03 × srk quits (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
08:46:03 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
08:46:08 hacxman is now known as hexo
08:46:34 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
08:47:44 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
08:48:15 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
08:48:43 sorki is now known as srk
08:49:11 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
08:49:16 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)
08:49:30 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
08:50:22 × rmk236 quits (~lcampos@2a02:908:3616:b100:ca3b:8d07:f53c:e063) (Quit: Leaving.)
08:51:41 borne joins (~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f)
08:53:54 <merijn> _d0t: The *best* way is "don't" :p
08:54:08 <merijn> idnar: If the latter works, then the former is a kind error
08:55:47 <idnar> merijn: note MemberP is not the same as Member
08:56:15 <_d0t> merijn: I wish I didn't have to. But I do.
08:58:16 kuribas joins (~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be)
08:58:34 <idnar> (but I'm going to just use a type-list anyway)
08:58:43 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:00:34 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
09:03:58 × locrian9 quits (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
09:04:44 nopf joins (~frosch@static.179.17.76.144.clients.your-server.de)
09:05:14 <merijn> _d0t: CPP is the only way, which sadly hasn't been enough deterrent in the past >.>
09:10:34 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:11:09 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
09:12:49 × phaul quits (~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds)
09:13:03 × ericsagnes quits (~ericsagne@2405:6580:0:5100:a1eb:5c8f:3763:40e4) (Ping timeout: 272 seconds)
09:19:22 × dandels quits (~dandels@unaffiliated/dandels) (Ping timeout: 246 seconds)
09:19:37 ransom joins (~c4264035@8.48.134.30)
09:19:51 <_d0t> merijn: seems unfortunate :( I'm surprised nobody has fixed this yet.
09:20:25 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
09:20:30 <merijn> _d0t: What are you trying to do?
09:20:45 × ransom_ quits (~c4264035@8.6.112.146) (Ping timeout: 240 seconds)
09:20:58 christo joins (~chris@81.96.113.213)
09:21:21 <_d0t> merijn: I have a path hardcoded in my code, but it differs depending on whether the package is built in Nix.
09:21:52 <merijn> Well...that's disgusting >.>
09:22:44 <_d0t> merijn: haha! Yeah, I know.
09:23:06 × nrh^ quits (~hph@ip98-184-89-2.mc.at.cox.net) ()
09:24:21 × waskell quits (~quassel@d66-183-127-166.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:24:24 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
09:24:53 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
09:25:18 ericsagnes joins (~ericsagne@2405:6580:0:5100:30bd:c020:c025:2dfe)
09:25:22 <merijn> What's the path for? Can't you replace it with use of Paths_x ?
09:30:10 <_d0t> merijn: probably not. It's some external resources. Unless it's possible to add arbitrary paths to Paths_*
09:30:55 <ephemient> cabal does generate a cabal_macros.h but no equivalent .hs
09:31:14 <merijn> If it's external then I think hardcoding it is a terrible idea anyway, tbh
09:31:26 <ephemient> that would be doable as a build hook, maybe
09:32:03 <_d0t> merijn: external to the cabal package. It's in the same repo.
09:32:20 <merijn> build hooks require build-type Custom, though
09:33:50 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
09:34:16 <_d0t> the ideal solution would be to allow other types in cabal flags, not just boolean, and make it possible to access the values in haskell code.
09:35:59 <merijn> _d0t: I will literally send assassins after anyone implementing this >.>
09:36:04 tsrt^ joins (wearamask@ip98-184-89-2.mc.at.cox.net)
09:36:16 <_d0t> merijn: why though?
09:36:40 <merijn> That'd just encourage people to use flags even more for things they're not intended (more than they're abused already) turning them into an even bigger mis-feature
09:36:54 <_d0t> merijn: how exactly are they abused? Just curious.
09:37:10 <merijn> _d0t: Any use of flags that affects the API of a package
09:37:36 <merijn> tbh, Hackage should just blog any usage of manual flags entirely
09:37:59 phaul joins (~phaul@ruby/staff/phaul)
09:38:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
09:38:52 <_d0t> merijn: that's the definition of flags, yes. Although I'd prefer if flags were only used to change some internal stuff. I.e. use a faster C library instead of reference haskell implementation, etc.
09:39:51 × LKoen quits (~LKoen@100.170.9.109.rev.sfr.net) (Remote host closed the connection)
09:40:13 <merijn> _d0t: No, that's not the definition of flags, though. The original intention is stuff like you see here: https://hackage.haskell.org/package/transformers-0.4.1.0/transformers.cabal
09:40:43 × pera quits (pera@gateway/vpn/mullvad/pera) (Ping timeout: 246 seconds)
09:40:48 <merijn> Helping toggle build-depends to accommodate "pre" and "post" applicative (in that example)
09:40:58 <merijn> Which is why originally there were only automatic flags
09:41:04 <dminuoso> Doesn't cabal have built-in support for providing external files to a package?
09:41:11 <merijn> dminuoso: Not really
09:41:25 <merijn> dminuoso: Unless you ship them as part of the cabal package
09:41:31 <merijn> as data-files
09:41:37 <dminuoso> Right, that's what I was thinking of
09:41:55 <_d0t> I mean, data-files would work for me too here. Except the files are shared between a number of cabal packages.
09:42:15 <dminuoso> _d0t: It sounds like you should maybe rethink this
09:42:23 <merijn> _d0t: Trivially solved by having a shared dependency providing said file :p
09:42:39 sagax joins (~sagax_nb@213.138.71.146)
09:42:48 <_d0t> merijn: how exactly? Cabal doesn't allow exporting non-haskell stuff as far as I know.
09:42:51 <merijn> foo-data-files package, nearly empty, only has an API for accessing it's data files, have everything else depend on that, problem done
09:43:18 <_d0t> And by 'API for accessing its data files' you mean what exactly?
09:43:31 <merijn> _d0t: Depends on what the files are for
09:43:41 <_d0t> xml mostly
09:43:57 <_d0t> I was thinking about file-embed, but this seems too cumbersome.
09:44:14 <_d0t> Like, any option I see here is bad and I have to choose between multiple bad and very bad options.
09:44:23 <merijn> _d0t: foo-data-files already has access to the Paths_ stuff to find it's data files, so all you need to do is export the Paths_ functions from the data files package for you other code to import
09:45:07 <_d0t> merijn: this would mean IO for accessing paths. And I'll have to rewrite some code I wasn't planning on rewriting.
09:45:41 <merijn> _d0t: meh, you already need IO for accessing files anyway, seems a fairly trivial hurdle
09:46:35 <_d0t> it's about as trivial as what I'm doing right now. I'll entertain this idea later, right now I just wanna make everything work.
09:46:52 <_d0t> i have already spent too much time on this whole thing :P
09:49:14 Codaraxis joins (~Codaraxis@91.193.4.10)
09:54:41 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
09:56:03 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
09:58:38 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
09:59:57 Franciman joins (~francesco@host-82-48-174-127.retail.telecomitalia.it)
10:07:10 knupfer joins (~Thunderbi@200116b82c665300508d8b68b44e778f.dip.versatel-1u1.de)
10:08:30 Rudd0 joins (~Rudd0@185.189.115.103)
10:09:26 × kuribas quits (~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
10:11:38 kritzefitz joins (~kritzefit@212.86.56.80)
10:12:39 ulidtko|kk joins (~ulidtko@193.111.48.79)
10:12:53 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
10:13:02 son0p joins (~son0p@181.58.39.182)
10:13:07 __monty__ joins (~toonn@unaffiliated/toonn)
10:13:40 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
10:14:06 × Guest1269 quits (~textual@2603-7000-3040-0000-ec46-b06f-f001-93b1.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:17:37 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
10:18:02 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
10:18:12 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:18:47 christo joins (~chris@81.96.113.213)
10:19:37 acidjnk_new joins (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
10:20:27 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:20:40 christo joins (~chris@81.96.113.213)
10:23:59 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:27:10 Adam1023 joins (3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
10:28:04 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
10:28:08 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-kaqotuxjmriehlgf) (Quit: Connection closed for inactivity)
10:28:58 jamm joins (~jamm@unaffiliated/jamm)
10:29:15 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
10:32:08 <Adam1023> Hi there, I'm new to Haskell. I have experience with Python and Java.
10:32:09 <Adam1023> My question is, when I do:
10:32:09 <Adam1023> ghci> :t (*)
10:32:10 <Adam1023> (*) :: (Num a) => a -> a -> a
10:32:10 <Adam1023> I know that what is before the => is a constraint. But why is it defined this way? Why is it illegal to do for example:
10:32:11 <Adam1023> (*) :: Num -> Num -> Num
10:32:11 <Adam1023> Thanks in advance :)
10:33:18 × jamm quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
10:33:39 <_d0t> Adam1023: Num isn't a type, it's a constraint. In your case, 'a' is a type.
10:33:53 <merijn> _d0t: Arguably Num is a type :p
10:33:59 <merijn> It's not a type that has values, though
10:34:03 <_d0t> merijn: not a conctrete type, ok
10:34:23 <merijn> _d0t: https://gist.github.com/merijn/796b8e041885df870fbb53b7191644b6 :p
10:35:08 <_d0t> merijn: and then good luck trying to explain all that to a noob %)
10:35:54 <_d0t> Adam1023: imagine you want to write a function that takes two different types and both are Num. It wouldn't be possible with the notation you provide.
10:36:21 <merijn> Adam1023: The "short and simple" explanation is "typeclasses aren't types that have values", functions can only work on values, therefore functions can only operate on types that *do* have values
10:36:52 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
10:37:07 <idnar> what is `instance a ~ b => Enum (a :~: b)` for?
10:38:15 <merijn> Adam1023: You can think of constraints as a sort of "type checking-if" "(*) :: Num a => a -> a -> a" is kinda like "IFF 'a' is an instance of the Num typeclass THEN (*) :: a -> a -> a ELSE type error"
10:38:44 <merijn> Adam1023: Which is what lets you use * for both Int and Double
10:38:50 <merijn> > 2 * 3 :: Int
10:38:53 <lambdabot> 6
10:38:54 <merijn> > 2 * 3 :: Double
10:38:56 <lambdabot> 6.0
10:39:36 <dminuoso> Adam1023: Do note that in Haskell the meaning of the term (type) class is almost, but not quite, entirely unlike Java classes.
10:39:50 <merijn> Adam1023: Note that there is such thing as *subclassing* (in the OO sense) in Haskell. So the OO idea of "(*) :: Num -> Num -> Num" working for "all subclasses of Num" is not a thing
10:40:10 <merijn> There are also other quirks you get with the subclassing idea
10:40:42 LKoen joins (~LKoen@100.170.9.109.rev.sfr.net)
10:40:47 <merijn> Such as if we consider "(==) :: Eq a => a -> a -> Bool" this compares two values *of the same type*
10:41:36 <merijn> As opposed to something like "bool equal(Comparable a, Comparable b);" which would work even if 'a' and 'b' were different types (as long as both types subclasses Comparable)
10:41:46 <__monty__> "is no such thing"?
10:41:52 nly joins (~user@unaffiliated/nly)
10:42:05 <merijn> eh, no such thing, yeah
10:42:07 <Kronic> Surely most people mean Kind :: * merijn
10:42:29 <merijn> Kronic: hmm?
10:42:37 <Kronic> In relation to your earlier post
10:42:42 <Adam1023> merijn ah okay :p  I was confused when you said "there is such thing"
10:42:58 <Adam1023> Thank you very much, it's much more clear to me guys.
10:42:58 <merijn> Kronic: I've seen *lots* of people only consider monomorphic types as "concrete"
10:43:19 <Kronic> That's surprising
10:43:32 <merijn> Kronic: Yes, which is why its a bad term that should just go away :p
10:43:33 pera joins (~pera@unaffiliated/pera)
10:43:47 <Adam1023> I came here after a suggestion from http://learnyouahaskell.com/ where the maker of the tutorial said that people here are very helpful. You are indeed. Thanks guys!
10:44:05 <yushyin> sometimes, yes.
10:44:09 <yushyin> ;D
10:44:09 <Kronic> Well, good luck changing how people talk, many have tried and few have succeeded. I see where you are coming from though, definitely
10:44:24 NGravity joins (csp@gateway/shell/xshellz/x-epmrghlaxfnvqxxx)
10:44:56 <dminuoso> idnar: Good question. https://gitlab.haskell.org/ghc/ghc/-/wikis/type-level-reasoning is what brought the implementation in.
10:45:33 <dminuoso> Also see https://mail.haskell.org/pipermail/libraries/2013-April/019653.html
10:45:58 <dminuoso> Ah hold on, that's the wrong link
10:46:01 <merijn> Adam1023: Note that LYAH is generally considered "not great" in terms of how well it teaches you to actually program Haskell. You may (at some point) wanna consider getting one of: Graham Hutton's "Programming in Haskell", Richard Bird's "Thinkin Functionally with Haskell" or "Haskell Programming from First Principles" (https://haskellbook.com/)
10:46:07 david__ joins (~david@234.109.45.217.dyn.plus.net)
10:46:40 <merijn> Adam1023: The CIS194 lectures/assignments are also widely seen as good: https://www.cis.upenn.edu/~cis194/spring13/lectures.html
10:46:52 <dminuoso> Adam1023: Haskell typeclasses are roughly similar (but much more powerful) to Java interfaces. Do not let the term "class" confuse you
10:46:58 <dminuoso> Keep that in mind for the future.
10:47:43 thc202 joins (~thc202@unaffiliated/thc202)
10:48:18 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
10:48:56 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
10:50:18 <jonathanx> So at my company we want to migrate our bash/python scripts to something more typed. We're mostly running on haskell/elm/purescript otherwise. I've heard of TopShell (own language), Shelly and .. Turtle?
10:50:51 <Adam1023> merijn: thanks for the advice and suggestions!
10:51:01 <jonathanx> Does anyone have any recommendation? Focus is LTS, ease of setup and the things needed to ahck together other programs in CI etc
10:51:05 <Adam1023> dminuoso: will definitely keep that in mind, thanks
10:51:47 <dminuoso> jonathanx: What's the use case exactly? What do you do with those scripts?
10:51:47 Alleria joins (~textual@mskresolve-a.mskcc.org)
10:51:50 <__monty__> jonathanx: Shake might be appropriate too.
10:52:11 Alleria is now known as Guest39736
10:53:01 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
10:53:12 × lazyshrk quits (~lazyshrk@128.199.58.13) (Quit: ZNC 1.8.2 - https://znc.in)
10:53:46 <jonathanx> We have a few different use cases: Some run in Jenkins, interacting with docker, running tests through the cli, uploading to dockerhub/aws etc, just basic integration. Others are for data transformation, basically a quick way to convert data to a format that's a better fit to our system
10:53:57 lazyshrk joins (~lazyshrk@128.199.58.13)
10:54:02 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
10:54:46 <jonathanx> we've started using bash/python since they are quick to setup for devs that face a problem and just want it to get over with
10:54:49 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:54:54 aveltras joins (uid364989@gateway/web/irccloud.com/x-udfdwmeiwxhqcgxw)
10:54:56 <jonathanx> But want to migrate it to a stricter alnguage
10:55:00 mastarija joins (~mastarija@93-136-110-113.adsl.net.t-com.hr)
10:55:06 <__monty__> jonathanx: Oilshell might be of interest too.
10:55:50 <mastarija> is it possible to run a module function straight from cabal? Something like "cabal run Module.function args..."?
10:56:08 × Adam1023 quits (3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Quit: Connection closed)
10:56:18 <dminuoso> mastarija: No
10:56:25 <mastarija> :(
10:56:45 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
10:56:59 <dminuoso> mastarija: The best you can do is `cabal repl`
10:57:11 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
10:57:20 <dminuoso> Assuming you're inside a cabal project that has the package supplying the module in its build-depends
10:57:25 <mastarija> dminuoso, yeah.. doing that right now
10:57:30 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
10:57:48 <dminuoso> afaik there is an issue on cabal-install to provide a take on cabal repl for ad-hoc experimenting with packages
10:58:02 <__monty__> Well, you *could* use a cabal shebang. But you'd have to add `main = function` too.
10:58:25 <__monty__> That way you could cabal run it.
10:58:50 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Ping timeout: 264 seconds)
10:59:11 <merijn> __monty__: Can't run a function that way :p
10:59:40 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
10:59:56 <__monty__> You have to incoporate it into main, yes.
11:00:07 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
11:00:09 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
11:01:03 philopsos joins (~caecilius@45.133.192.156)
11:04:12 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
11:05:18 <mastarija> well, it is what it is
11:05:26 <mastarija> for now... })
11:05:39 kuribas joins (~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be)
11:06:08 maxsu joins (~maxsu@ip-64-72-99-232.lasvegas.net)
11:06:13 × plutoniix quits (~q@184.82.196.93) (Ping timeout: 264 seconds)
11:06:45 vappend joins (~ezrakilty@75-172-99-84.tukw.qwest.net)
11:10:45 × vappend quits (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 240 seconds)
11:19:41 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
11:19:58 plutoniix joins (~q@ppp-223-24-93-72.revip6.asianet.co.th)
11:22:35 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
11:24:38 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
11:25:42 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
11:25:53 cfricke joins (~cfricke@unaffiliated/cfricke)
11:26:13 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
11:26:18 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
11:26:31 × pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
11:28:48 pacak joins (~pacak@bb116-14-220-91.singnet.com.sg)
11:30:56 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
11:32:44 × mastarija quits (~mastarija@93-136-110-113.adsl.net.t-com.hr) (Quit: Leaving)
11:33:43 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
11:33:53 cfricke joins (~cfricke@unaffiliated/cfricke)
11:34:56 × cfricke quits (~cfricke@unaffiliated/cfricke) (Client Quit)
11:35:00 <ij> I want a mutable stack for which I know the max amount of memory it'll ever need. Should it be a mutable vector + int? Other options?
11:35:06 cfricke joins (~cfricke@unaffiliated/cfricke)
11:35:11 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
11:37:21 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-uvziyudvcbiadite) (Quit: Connection closed for inactivity)
11:38:59 Dark_Ethereal joins (~Drew@84.93.106.197)
11:39:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
11:40:08 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
11:42:36 pjb joins (~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr)
11:45:02 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
11:51:02 × pjb quits (~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
11:52:06 manmachineman joins (~manmachin@93-172-48-98.bb.netvision.net.il)
11:52:46 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
11:53:20 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
11:54:15 pjb joins (~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr)
11:54:48 × manmachineman quits (~manmachin@93-172-48-98.bb.netvision.net.il) (Client Quit)
11:57:30 × MarcelineVQ quits (~anja@198.254.202.72) (Ping timeout: 265 seconds)
11:58:36 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
11:59:30 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
12:01:52 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
12:04:22 × knupfer quits (~Thunderbi@200116b82c665300508d8b68b44e778f.dip.versatel-1u1.de) (Remote host closed the connection)
12:04:34 knupfer joins (~Thunderbi@200116b82c665300c1ca56f533258321.dip.versatel-1u1.de)
12:07:46 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
12:08:35 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
12:09:35 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
12:10:42 fendor joins (~fendor@178.115.130.17.wireless.dyn.drei.com)
12:13:55 × LKoen quits (~LKoen@100.170.9.109.rev.sfr.net) (Read error: Connection reset by peer)
12:15:28 LKoen joins (~LKoen@100.170.9.109.rev.sfr.net)
12:16:43 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
12:18:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
12:18:27 gzj joins (~gzj@unaffiliated/gzj)
12:18:54 × spatchkaa quits (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Ping timeout: 256 seconds)
12:21:46 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
12:22:57 <merijn> Why mutable? "list" already makes a pretty good immutable stack, tbh
12:23:17 × kav_ quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 260 seconds)
12:23:38 Entertainment joins (~entertain@104.246.132.210)
12:26:21 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
12:27:11 <dminuoso> And you can put an IORef ontop of a list, if you need to manipulate the stack mutabily
12:27:21 <nshepperd> cache reasons?
12:27:38 <nshepperd> seems like the only reason to use a vector in this case
12:27:40 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
12:30:52 kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
12:32:46 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
12:33:47 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
12:34:56 × poljar1 quits (~poljar@93-139-24-194.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
12:35:14 poljar1 joins (~poljar@93-143-188-151.adsl.net.t-com.hr)
12:35:54 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
12:38:33 waskell joins (~quassel@d172-218-41-115.bchsia.telus.net)
12:38:45 × brisbin quits (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
12:39:50 geekosaur joins (ac3a8cac@172.58.140.172)
12:40:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
12:42:54 christo joins (~chris@81.96.113.213)
12:44:39 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
12:47:01 × philopsos quits (~caecilius@45.133.192.156) (Ping timeout: 264 seconds)
12:48:19 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
12:48:39 gzj joins (~gzj@unaffiliated/gzj)
12:56:07 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
12:59:37 urodna joins (~urodna@unaffiliated/urodna)
13:01:50 × borne quits (~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f) (Ping timeout: 264 seconds)
13:03:19 borne joins (~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
13:03:23 <ij> nshepperd, yes, hopes of it at least
13:05:09 <merijn> regular vector won't help with cache
13:05:20 <merijn> You'd need unboxed or Storable for that
13:07:23 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
13:08:27 × Lowl3v3l quits (~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de) (Quit: Leaving.)
13:09:38 Lowl3v3l joins (~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de)
13:10:39 <ij> I was indeed planning on using the unboxed version
13:11:03 <ij> do integers get boxes as well?
13:11:07 <merijn> yes
13:11:44 <ij> what does the box consist of?
13:12:19 <merijn> "boxing" just refers to a pointer indirection
13:12:38 <merijn> ij: Consider this: How do you generate code for polymorphic functions?
13:13:12 <merijn> After all, different types may have different size in memory
13:13:17 <kuribas> ij: boxes are necessary because of lazyness
13:13:25 <merijn> kuribas: That's not really it
13:13:39 <kuribas> merijn: if you are not lazy, you don't need a box, do you?
13:13:41 <merijn> kuribas: boxing makes thunking somewhat easier/more consistent
13:13:45 <merijn> kuribas: Yes you do
13:13:49 <merijn> kuribas: Java has boxing
13:13:56 <merijn> C# (presumably) has boxing
13:14:06 <kuribas> you mean for compound structures?
13:14:11 <kuribas> but in Java every is an object
13:14:15 <merijn> kuribas: No
13:14:17 <kuribas> so the box is the object :)
13:14:17 <ij> merijn, but no gc metadata?
13:14:27 <merijn> kuribas: int and char (the primitive types) are unboxed
13:14:37 <merijn> kuribas: Which is why you can't put them in generic containers
13:14:37 <kuribas> in java?
13:14:40 <merijn> kuribas: Yes
13:14:50 <kuribas> you have Integer and String
13:14:51 <merijn> This is why Integer exists separate from int
13:15:45 <ij> in java?
13:16:05 <kuribas> yes
13:16:05 <merijn> ij: There's basically 2 ways to make polymorphic code work: 1) duplicate the function/code for every type (with the right sizes), like C++ templates, 2) replace all values with "pointer to value", since all pointers are the same size, allowing you to use 1 version of the code for all types
13:16:25 × acidjnk_new quits (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:16:40 <merijn> ij: This "use pointer to value, instead of values directly" is what's called "boxing"
13:17:01 <ij> makes sense
13:17:06 <kuribas> are pick the best of the two => haskell!
13:17:19 <merijn> ij: Note that GHC supports unboxed types (although not part of the Haskell spec)
13:17:40 <merijn> ij: https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Exts.html#t:Int
13:17:46 <ij> would it duplicate the code?
13:18:04 <kuribas> ij: duplicating code is called specialization in haskell, it's a performance optimization.
13:18:21 <merijn> That's where Int is defined (and you can also see Int#, which is GHC's unboxed int type)
13:18:24 <ij> so Ints are boxed in hs?
13:18:40 <merijn> the boxedness of Int is unspecified in Haskell
13:18:40 <kuribas> ij: yes, because of lazyness
13:18:44 sord937 joins (~sord937@gateway/tor-sasl/sord937)
13:18:51 <merijn> GHC uses boxed Int, though
13:19:08 <ij> i was gonna ask
13:19:14 <kuribas> I suppose you can have lazy int using a "lazy bit"...
13:19:14 <merijn> kuribas: nothing in Haskell "is boxed", since boxing is an implementation detail of a specific compiler
13:20:02 <ij> will records with ints be likely unboxed?
13:20:20 <ij> (typing in term from phone sucks...)
13:20:23 <merijn> ij: Unspecified, but realistically no
13:20:36 <merijn> ij: You can explicitly unbox using pragmas, though
13:21:34 <ij> pragmas or Int#?
13:22:04 <merijn> ij: I'm actually not sure you can use Int# directly in product types...good question!
13:22:26 <kuribas> won't ghc use Int# when you unbox an Int field?
13:22:33 <merijn> ij: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#unboxed-types-and-primitive-operations
13:24:18 <merijn> Although this is kind of a big detour from "stacks" :D
13:26:24 × ericsagnes quits (~ericsagne@2405:6580:0:5100:30bd:c020:c025:2dfe) (Ping timeout: 246 seconds)
13:26:32 brisbin joins (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
13:30:40 Tario joins (~Tario@201.192.165.173)
13:32:29 ArConan joins (9de62a69@157.230.42.105)
13:33:22 <ArConan> Why both
13:33:33 <ArConan> >c=(*3)
13:33:36 <ArConan> and
13:33:38 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
13:33:46 <ArConan> >c=(3*)
13:33:50 <ArConan> works?
13:33:59 <geekosaur> they mean different things
13:34:06 <geekosaur> well, no
13:34:08 taurux joins (~taurux@net-188-216-43-78.cust.vodafonedsl.it)
13:34:14 <geekosaur> not for (*), but think of it for (-)
13:34:15 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
13:34:17 <geekosaur> or (/)
13:34:21 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
13:34:57 <merijn> Well, they *do* mean different things
13:35:01 × tito_04 quits (~taurux@net-109-115-33-214.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
13:35:12 <merijn> It's just the the different things end up having the same result
13:35:17 <geekosaur> haskell doesn't "know" what a given operator is, so it does the same thing for all of them
13:36:08 <geekosaur> and (-) was a bad example because of negative numbers, which are a wart
13:36:36 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
13:37:03 <geekosaur> but (5/) and (/5) are definitely different meanings
13:37:42 <opqdonut> or (2^) and (^2)
13:38:21 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
13:38:25 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)
13:38:51 ericsagnes joins (~ericsagne@2405:6580:0:5100:e7a9:963a:130c:3d7f)
13:39:49 <ArConan> I understand a little bit
13:39:50 <ArConan> .
13:39:50 <ArConan> does it have something to do with coriolisation?
13:40:50 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
13:42:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
13:42:21 <ArConan> currying not coriolisation  :')
13:43:21 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
13:43:23 <kuribas> geekosaur: also Num doesn't garantee that (*) is commutative
13:43:24 × knupfer quits (~Thunderbi@200116b82c665300c1ca56f533258321.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
13:43:53 <lortabac> ArConan: if I remember correctly, (+ 3) is just syntactic sugar for (\x -> x + 3)
13:44:04 <geekosaur> that was part of what I meant by "doesn't know"
13:44:11 <lortabac> so there is no currying involved
13:44:15 <geekosaur> you can't even describe commutability
13:44:49 <kuribas> you can with dependent types
13:45:01 <geekosaur> in Haskell
13:45:21 <kuribas> not in haskell
13:45:30 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds)
13:45:47 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
13:46:08 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 272 seconds)
13:46:34 tomku joins (~tomku@unaffiliated/tomku)
13:46:49 ADG1089__ joins (~aditya@122.163.165.143)
13:46:55 <ij> merijn, haskell is very interesting in its own right
13:47:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
13:48:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
13:48:51 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:51:14 × maxsu quits (~maxsu@ip-64-72-99-232.lasvegas.net) (Quit: Leaving)
13:52:21 <kuribas> geekosaur: perhaps with liquid haskell?
13:54:25 son0p joins (~son0p@181.136.122.143)
13:55:42 × plutoniix quits (~q@ppp-223-24-93-72.revip6.asianet.co.th) (Quit: Leaving)
13:59:49 dyeplexer joins (~lol@unaffiliated/terpin)
14:00:34 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
14:07:17 × chindy quits (~quassel@51.15.63.78) (Remote host closed the connection)
14:08:09 chindy joins (~quassel@51.15.63.78)
14:08:44 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
14:11:14 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:11:27 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 256 seconds)
14:12:09 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
14:12:17 Sheilong joins (uid293653@gateway/web/irccloud.com/x-hzhnbhdjxyzndlqo)
14:14:23 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
14:14:34 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
14:14:50 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
14:18:46 acidjnk_new joins (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
14:18:52 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
14:20:13 cgfuh joins (~cgfuh@181.167.191.58)
14:20:17 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
14:20:23 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
14:20:32 spatchkaa joins (~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
14:20:57 mmmattyx joins (uid17782@gateway/web/irccloud.com/x-ciescmgqxkvytapq)
14:25:51 carlomagno1 joins (~cararell@148.87.23.13)
14:28:56 × carlomagno quits (~cararell@148.87.23.6) (Ping timeout: 240 seconds)
14:29:49 darjeeling_ joins (~darjeelin@122.245.120.137)
14:30:35 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558)
14:30:36 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558) (Client Quit)
14:30:59 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:31:25 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds)
14:31:33 dcoutts_ joins (~duncan@33.14.75.194.dyn.plus.net)
14:31:47 niekvandepas joins (~niekvande@84.241.197.254)
14:31:55 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
14:32:40 philopsos joins (~caecilius@45.133.192.84)
14:33:06 × Vulfe quits (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
14:33:13 ulidtko|k joins (~ulidtko@194.54.80.38)
14:36:02 × ulidtko|kk quits (~ulidtko@193.111.48.79) (Ping timeout: 265 seconds)
14:39:15 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
14:39:35 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
14:40:45 Wuzzy joins (~Wuzzy@p5790e10f.dip0.t-ipconnect.de)
14:42:02 Vulfe joins (~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
14:42:13 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
14:43:04 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
14:43:07 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
14:43:49 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
14:47:56 × philopsos quits (~caecilius@45.133.192.84) (Ping timeout: 240 seconds)
14:48:43 × fendor quits (~fendor@178.115.130.17.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
14:50:45 MrMobius joins (~MrMobius@208.58.206.154)
14:51:14 bitmapper joins (uid464869@gateway/web/irccloud.com/x-tpolqtzvkjihhqny)
14:51:45 × waskell quits (~quassel@d172-218-41-115.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:51:58 fendor joins (~fendor@178.115.130.196.wireless.dyn.drei.com)
14:52:52 × geekosaur quits (ac3a8cac@172.58.140.172) (Quit: Connection closed)
14:53:26 × vst quits (~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a) (Ping timeout: 264 seconds)
14:53:28 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
14:54:15 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
14:56:18 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
14:58:36 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
14:58:59 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
14:58:59 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
14:58:59 mouseghost joins (~draco@wikipedia/desperek)
14:59:20 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
15:00:08 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
15:00:23 usr25 joins (~J@127.red-83-46-58.dynamicip.rima-tde.net)
15:00:54 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
15:04:40 × aveltras quits (uid364989@gateway/web/irccloud.com/x-udfdwmeiwxhqcgxw) (Quit: Connection closed for inactivity)
15:04:49 × LKoen quits (~LKoen@100.170.9.109.rev.sfr.net) (Remote host closed the connection)
15:06:06 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
15:08:45 vappend joins (~ezrakilty@75-172-99-84.tukw.qwest.net)
15:10:38 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
15:11:18 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
15:11:47 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
15:12:45 × vappend quits (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 240 seconds)
15:12:45 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:12:49 × phasespace quits (~sar@80-89-47-117.inet.signal.no) (Ping timeout: 264 seconds)
15:13:08 niekvand_ joins (~niekvande@84.241.197.254)
15:13:15 × niekvandepas quits (~niekvande@84.241.197.254) (Read error: Connection reset by peer)
15:14:53 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:14:57 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:15:03 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
15:15:29 Codaraxis joins (~Codaraxis@91.193.4.10)
15:15:39 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
15:16:04 × echoreply quits (~echoreply@unaffiliated/echoreply) (Ping timeout: 272 seconds)
15:16:31 echoreply joins (~echoreply@unaffiliated/echoreply)
15:17:06 Jd007 joins (~Jd007@162.156.11.151)
15:18:24 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
15:19:34 × ADG1089__ quits (~aditya@122.163.165.143) (Quit: Konversation terminated!)
15:19:56 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
15:20:57 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
15:21:37 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
15:23:30 × niekvand_ quits (~niekvande@84.241.197.254) (Remote host closed the connection)
15:23:43 LKoen joins (~LKoen@100.170.9.109.rev.sfr.net)
15:23:44 × ulidtko|k quits (~ulidtko@194.54.80.38) (Remote host closed the connection)
15:25:32 mananamenos joins (~mananamen@vpn236-53.vpns.upv.es)
15:27:01 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:27:22 Codaraxis joins (~Codaraxis@91.193.4.10)
15:30:39 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
15:31:20 ulidtko|k joins (~ulidtko@193.111.48.79)
15:32:26 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
15:32:56 jpds joins (~jpds@gateway/tor-sasl/jpds)
15:33:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
15:34:27 ulidtko|kk joins (~ulidtko@194.54.80.38)
15:35:10 ulidtko|kk is now known as ulidtko
15:37:25 × ulidtko|k quits (~ulidtko@193.111.48.79) (Ping timeout: 264 seconds)
15:37:37 × ArConan quits (9de62a69@157.230.42.105) (Ping timeout: 248 seconds)
15:37:59 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
15:41:54 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
15:42:30 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:43:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
15:43:33 <ij> should I read about LogicT?
15:44:41 jollygood2 joins (~bc8177f5@217.29.117.252)
15:45:51 Codaraxis joins (~Codaraxis@91.193.4.10)
15:47:08 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:47:47 × nly quits (~user@unaffiliated/nly) (Remote host closed the connection)
15:48:04 Codaraxis joins (~Codaraxis@91.193.4.10)
15:51:35 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:51:44 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
15:51:51 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
15:52:00 Codaraxis joins (~Codaraxis@91.193.4.10)
15:52:37 <edwardk> ij: it is a nice monad, so sure
15:55:23 <Uniaika> ij: you're in luck, there have been additions to the documentation :)
15:55:49 <ij> should I read the original PDf?
15:56:36 <ij> http://okmij.org/ftp/papers/LogicT.pdf or the library documentation?
15:58:25 × david__ quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
15:58:28 niekvandepas joins (~niekvande@84.241.193.190)
15:58:48 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
15:58:52 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
15:58:55 <edwardk> i prefer the library docs as the original paper is a bit hard to follow in places
15:59:12 Codaraxis joins (~Codaraxis@91.193.4.10)
15:59:22 <edwardk> you might also want to look up some of the stuff written on codensity, which helps make sense of why it is fast
15:59:35 <edwardk> the original paper doesn't make the codensity connection
15:59:58 <Uniaika> I wonder if someone implemented N-Queens with LogicT
16:00:02 ArConan joins (9de62a69@157.230.42.105)
16:00:05 <Uniaika> this should be an interesting showcase
16:00:58 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
16:01:49 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
16:01:52 <ij> edwardk, I'm not sure I'll be able to digest any information on that topic
16:02:12 × Codaraxis quits (~Codaraxis@91.193.4.10) (Remote host closed the connection)
16:02:27 <edwardk> Uniaika: i mean, technically almost all of guanxi sits on top a flavor of logict and i have n-queens in that, so yeah ;)
16:02:42 Codaraxis joins (~Codaraxis@91.193.4.10)
16:02:47 nbloomf joins (~nbloomf@2600:1700:ad14:3020:cc7:8bd8:9369:c502)
16:03:21 <edwardk> though it isn't logict doing the heavy lifting there, but rather dancing links
16:03:26 <Uniaika> edwardk: wait, are you vendor-locking me?? :P
16:03:36 <edwardk> yes
16:04:01 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
16:04:05 <edwardk> this is all a subtle ploy to get you to commit to using my unreleased packages that i don't want to maintain yet for public consumption ;)
16:04:18 Adam1023 joins (3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
16:04:29 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
16:04:35 <Uniaika> heya DavidEichmann :)
16:04:57 <edwardk> oh, it looks like the n queens example doesn't even bother with logict. https://github.com/ekmett/guanxi/blob/master/test/queens.hs#L13
16:05:03 ransom_ joins (~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
16:05:14 <Adam1023> Hey guys,
16:05:15 <Adam1023> ```
16:05:15 <Adam1023> elem' :: (Eq a) => a -> [a] -> Bool
16:05:16 <Adam1023> elem' _ []       = False
16:05:16 <Adam1023> elem' x (x:xs) = True
16:05:17 <Adam1023> elem' x (_:xs) = elem' x xs
16:05:17 <Adam1023> ```
16:05:17 × Adam1023 quits (3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Killed (Sigyn (Spam is off topic on freenode.)))
16:05:21 <Uniaika> oof
16:05:26 <Uniaika> poor him :(
16:05:44 <Uniaika> and I'm p. sure he's been banned, with that
16:06:08 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
16:06:35 <Uniaika> edwardk: Bird & Gibbons have presented an interesting way to do the N-Queens with bit vectors
16:06:39 <DavidEichmann> Uniaika: Hello! Did I miss something?
16:07:13 <edwardk> Uniaika: i'm partial to the dancing links version, just because it scales to all sorts of other combinatorics / logic puzzles
16:07:15 <Uniaika> DavidEichmann: yes, edward is trying to make the burden of his unreleased packages fall on unsuspecting souls
16:07:27 <Uniaika> DavidEichmann: apart from that and the end of the world, nothing much
16:07:32 <edwardk> Uniaika: that's my jam
16:08:03 <edwardk> Uniaika: i confess you are the first to spot my ploy in the wild and call me on it so directly. congrats.
16:08:31 <edwardk> usually i just sucker phadej or ryanglscott into maintaining a thing and it goes uncommented
16:08:51 <Uniaika> edwardk: I was just handed the baby for haddock maintenance. :P I know what to expect now
16:09:10 <edwardk> oh you poor sweet summer child
16:09:16 × ransom quits (~c4264035@8.48.134.30) (Ping timeout: 272 seconds)
16:09:30 <Uniaika> (well actually I was born in feb…)
16:09:36 <Uniaika> but yeah, that's true
16:10:28 <Uniaika> edwardk: I also maintain parts of the GHC CI! :^)
16:10:41 <Uniaika> that's the kind of stuff that makes one's skin thicken
16:11:04 <DavidEichmann> Oh my. Have I been elected to be one of those unsuspecting souls?
16:11:04 × columbarius1 quits (~columbari@87.123.198.176) (Ping timeout: 256 seconds)
16:11:27 <merijn> See, this is why you never make PRs to edward's repos
16:11:36 <Uniaika> DavidEichmann: congratulations, you've been volunteered! :-D (jk)
16:11:39 <merijn> He'll just give you a commit bit and tell you to deal with it >.>
16:12:16 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
16:12:25 DavidEichmann looks at all my unfinished side projects
16:12:59 <Uniaika> we should make a list of our unfinished side projects
16:12:59 danso joins (~dan@23-233-104-25.cpe.pppoe.ca)
16:13:04 columbarius1 joins (~columbari@87.123.198.176)
16:13:10 <Uniaika> especially stuff that can give ideas to newcomers
16:13:19 <merijn> Uniaika: Item one: My thesis >.>
16:13:19 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
16:13:29 <merijn> Uniaika: Actually at one point I made a wiki page for that, I think?
16:13:45 <Uniaika> merijn: are you a PHDon't? :P
16:14:16 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
16:14:33 × acidjnk_new quits (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:14:57 <merijn> It'll be finished this month!
16:15:11 <merijn> Either by my finishing or by me having a nervous breakdown >.>
16:16:39 <merijn> At least the psych ward doesn't have thesises!
16:16:51 <edwardk> Uniaika: better you than me ;)
16:17:18 ransom joins (~c4264035@8.48.134.30)
16:17:23 <edwardk> merijn: shhh. you're giving away all my secrets
16:17:44 <edwardk> ok, that one is a bit of an open secret and i may well have given a talk on the effectiveness of the ploy before
16:17:48 <merijn> I think I might still be a maintainer on lens repo and I don't even use lens... >.>
16:19:01 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 246 seconds)
16:20:36 <Uniaika> edwardk: that is certainly true :P
16:20:40 × ransom_ quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Ping timeout: 272 seconds)
16:24:01 <edwardk> merijn: it is important to have a clear (and long) line of succession.
16:24:13 <edwardk> when the go terrorists come for us, you will have to soldier on.
16:24:49 × niekvandepas quits (~niekvande@84.241.193.190) (Remote host closed the connection)
16:25:03 <edwardk> crowds chanting 'we invented that in the 70s' and 'generics no, we want go'
16:27:43 <rotaerk> lol
16:27:56 <edwardk> 'generics? no. we've got go!'?
16:28:38 <edwardk> chants can be hard to make out sometime
16:29:32 <merijn> edwardk: You're not smart enough for generics
16:29:37 <merijn> Rob Pike said so!
16:30:02 <edwardk> pike's argument for everything is that his target demographic isn't smart enough to use it.
16:30:31 <Uniaika> I wish this was a joke
16:30:36 <merijn> edwardk: Well, Google employs all the smartest programmers
16:30:48 <Uniaika> but no, the corporate brain worms have finally eaten through his brain
16:30:49 <merijn> edwardk: So clearly if *they* can't handle it, neither can anyone else!
16:30:59 <merijn> Uniaika: "finally"
16:31:16 <merijn> Uniaika: I feel like Rob Pike was never as good as everyone commonly makes him out to be
16:31:25 <merijn> He is a clever hacker and ingenious, sure
16:31:56 <merijn> But who the f- decided the people behind the hackjob that is UNIX are somehow the most qualified people in programming languages and systems design? >.<
16:34:36 <Uniaika> thank you for saying this
16:34:55 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:35:18 <merijn> It's like people glorifying Kernighan for making C as the god of programming languages
16:35:30 <srk> ++
16:35:49 ChanServ sets mode +o ski
16:35:50 <merijn> Was he a good programmer? Sure. Super influential and historically important? Hell yes. Actually good at designing programming languages? Fuck no.
16:36:01 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:36:14 ChanServ sets mode -o ski
16:36:21 × chindy quits (~quassel@51.15.63.78) (Remote host closed the connection)
16:36:44 <edwardk> merijn: i was about to chant 'go! go! go!' but then realized that could be taken the other way.
16:37:02 <srk> I've got this feeling when reading 'UNIX: History and memoir', like `there were this people using types but we didn't like it`
16:37:36 <srk> (or more like using lambda calculus)
16:37:46 <merijn> tbh, Rob Pike's most important contribution is clearly UTF-8 and none of his programming language stuff >.>
16:39:12 plutoniix joins (~q@node-und.pool-125-24.dynamic.totinternet.net)
16:39:12 chindy joins (~quassel@51.15.63.78)
16:40:00 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e)
16:40:07 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
16:40:22 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds)
16:41:11 <edwardk> to be fair utf-8 is objectively a pretty good design with few warts.
16:41:23 × Athas quits (athas@sigkill.dk) (Quit: ZNC - http://znc.sourceforge.net)
16:41:38 <edwardk> if it wasn't for the non-canonical form issues i'd be perfectly happy with it
16:41:52 xelxebar_ joins (~xelxebar@gateway/tor-sasl/xelxebar)
16:41:58 Athas_ joins (athas@sigkill.dk)
16:42:09 jmsx_ joins (~jordan@li1158-85.members.linode.com)
16:42:36 × jmsx quits (~jordan@li1158-85.members.linode.com) (Ping timeout: 240 seconds)
16:42:43 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
16:42:45 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
16:43:00 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
16:43:27 × yorick quits (~yorick@oftn/oswg-member/yorick) (Ping timeout: 260 seconds)
16:43:30 xerox_ joins (~xerox@unaffiliated/xerox)
16:43:33 × borne quits (~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
16:43:57 yorick joins (~yorick@oftn/oswg-member/yorick)
16:44:18 darjeeling_ joins (~darjeelin@122.245.120.137)
16:45:11 <jollygood2> @hoogle delete
16:45:12 <lambdabot> Data.List delete :: Eq a => a -> [a] -> [a]
16:45:12 <lambdabot> GHC.OldList delete :: Eq a => a -> [a] -> [a]
16:45:12 <lambdabot> Data.IntMap.Internal delete :: Key -> IntMap a -> IntMap a
16:45:27 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
16:45:34 <ski> > delete 'b' "abacabad"
16:45:36 <lambdabot> "aacabad"
16:45:43 <jollygood2> :i in my ghci gives me: delete :: Eq a => a -> [a] -> [a] -- Defined in `base-4.9.1.0:Data.OldList', which I can't import. wtf?
16:46:09 <ski> import it from `Data.List'
16:46:55 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
16:47:05 <jollygood2> that worked. why did :i give me that module?
16:47:07 <ski> imho, GHCi would do better to not leak implementation details like that, without one asking for it
16:47:22 <merijn> jollygood2: Because it's a re-export
16:47:31 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:47:46 <ski> because it's apparently actually defined in that module .. but that's an implementation detail. you're supposed to import it from `Data.List'
16:48:15 <ski> (or possibly from some other module that you're importing, that reexports it)
16:48:56 × ArConan quits (9de62a69@157.230.42.105) (Quit: Connection closed)
16:49:15 Adam1023 joins (3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
16:50:17 <Adam1023> Hey guys,
16:50:18 <Adam1023> elem' :: (Eq a) => a -> [a] -> Bool
16:50:18 <Adam1023> elem' _ []       = False
16:50:19 <Adam1023> elem' x (x:xs) = True
16:50:19 <Adam1023> elem' x (_:xs) = elem' x xs
16:50:20 <Adam1023> Why is the second pattern match illegal?
16:50:40 <ski> please do not paste many lines of code into the channel, Adam1023
16:51:09 <Adam1023> ski: ok, sorry for that, how shall I do if my question includes multi lines?
16:51:21 <merijn> @where paste
16:51:21 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
16:51:22 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
16:51:37 <ski> (you got automatically banned on the network, three quarters of an hour ago, for doing that. that was manually reversed, but please don't trigger it again, if you can help it)
16:51:50 <merijn> Adam1023: you can't reuse the 'x' variable name twice on the 2nd line
16:51:59 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Client Quit)
16:52:02 <Adam1023> ski: ok, thank you
16:52:47 <Adam1023> merijn: even tho I want to say that both should be the same?
16:52:48 <ski> Adam1023 : are you maybe familiar with logic programming, or with Erlang ?
16:53:02 <ski> Adam1023 : yes. you can add a guard to say that they should be equal
16:53:22 <merijn> Adam1023: Yes, you can't test for equality that way
16:53:23 <ski> elem' x0 (x:xs) | x0 == x1 = True
16:53:34 <merijn> ski: x1 not found :p
16:53:48 <ski> er, that's what i get for changing my naming :/
16:53:52 <ski> elem' x0 (x:xs) | x0 == x = True
16:54:41 <Adam1023> ski: okay, nice! understood! Thank you!
16:54:50 <ski> you understand the guard ?
16:54:59 <Adam1023> Yes
16:55:09 <Adam1023> I just thought I could pattern match this way as well
16:55:10 <ski> however .. in this case, it's possible to express it more nicely, using logical operations
16:55:25 <ski> (specifically, not naming `True' explicitly in the code)
16:55:31 geekosaur joins (42d52137@66.213.33.55)
16:56:11 <Adam1023> ski: how so? I think I'm confused
16:56:23 <ski> Adam1023 : in logic programming (Prolog,Mercury,Oz,Curry,..), and in Erlang (which inherited it from Prolog), you can write such "non-linear patterns". not in Haskell, though
16:56:34 × conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds)
16:56:52 <ski> Adam1023 : when is the value `x0' an element of a non-empty list `x:xs' ?
16:57:00 <Adam1023> ski: yes, I have a bit of experience with Prolog, probably that's why
16:57:05 ski nods
16:57:25 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
16:57:32 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
16:57:47 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
16:57:57 <Adam1023> ski: when it's equal to x or you recursively check xs
16:58:01 <ski> yes
16:58:15 <ski> can you express this "or" more nicely, in Haskell ?
16:58:39 <Adam1023> you mean with if then else? or something else?
16:58:47 <ski> that would be one possibility
16:59:03 <ski> if you want to, you could try and see if you could do it that way
16:59:34 <Adam1023> ok, will get back to you, thank you for making my brain work to the solution, it's really fun :-D
16:59:34 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-mexwpzockqddjfgo)
16:59:58 ski nods
17:02:42 <Adam1023> ski: I couldn't find how not to write True explicitly.
17:02:45 <Adam1023> This is what I have
17:02:48 <Adam1023> elem'' x0 (x:xs) = if x0 == x then True else elem'' x0 xs
17:03:03 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
17:03:41 <ski> yes, that's correct
17:04:01 <ski> (you obviously also need the base case, for this variant. i assume you know that)
17:04:21 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
17:04:48 <ski> Adam1023 : when does `if foo then True else bar' evaluate to `True' ?
17:05:34 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
17:05:38 <Adam1023> ski: if foo evaluates to True
17:05:52 <ski> so `bar' is irrelevant ?
17:05:57 phasespace joins (~sar@89-162-33-21.fiber.signal.no)
17:06:20 <Adam1023> ow yeah, you got me. Also if bar (finally) evaluates to True.
17:07:16 <ski> can you formulate "if foo evaluates to True","Also if bar (finally) evaluates to True." more succinctly ?
17:10:52 × usr25 quits (~J@127.red-83-46-58.dynamicip.rima-tde.net) (Remote host closed the connection)
17:11:05 usr25 joins (~J@127.red-83-46-58.dynamicip.rima-tde.net)
17:13:20 conal joins (~conal@64.71.133.70)
17:15:29 ADG1089__ joins (~aditya@122.163.165.143)
17:15:55 × tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
17:16:44 × Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
17:16:45 <Adam1023> ski: didn't imagine it would be that hard to formulate a general resposne to your question
17:16:47 <Adam1023> I'd say (as a beginner): "It will evaluate to True if foo or bar (which can be a variable or a function ?) has Bool as return type and it returns True"
17:16:51 tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64)
17:17:04 <ski> ok
17:17:58 <ski> how would you check if a number `x' is *not* within the (closed/inclusive) interval from say `3' to `7' ?
17:19:24 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
17:19:30 <Adam1023> I'd make a function that checks if x is within the interval, and then inverse the True to False and make a catchall pattern at the end that returns True
17:19:34 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-tpolqtzvkjihhqny) (Quit: Connection closed for inactivity)
17:19:57 <ski> notInThreeToSeven x = ..x..
17:20:06 <ski> could you complete that definition ?
17:21:03 × Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds)
17:21:03 <Adam1023> notInThreeToSeven x = if inThreeToSeven x then False else True
17:21:29 <ski> and how's `inThreeToSeven' defined ?
17:21:49 owenowen joins (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
17:23:23 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
17:23:40 <Adam1023> where inThreeToSeven x = x `elem` [3..7]
17:24:59 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:25:44 <ski> that doesn't work properly, if `x' is a `Double'
17:25:47 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:25:58 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
17:26:00 <ski> > 2.5 `elem` [3 .. 7]
17:26:03 <lambdabot> False
17:26:27 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:27:02 <jollygood2> is there something like this in parsec?
17:27:02 <ski> > 3.5 `elem` [3 .. 7]
17:27:05 <lambdabot> False
17:27:05 <jollygood2> manyAtMost :: Int -> ParsecT s u m a -> ParsecT s u m [a]
17:27:45 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:28:46 × ericsagnes quits (~ericsagne@2405:6580:0:5100:e7a9:963a:130c:3d7f) (Ping timeout: 258 seconds)
17:29:51 <Adam1023> ski:
17:29:51 <Adam1023> inThreeToSeven x
17:29:52 <Adam1023>     | (x >= 3) && (x <= 7) = True
17:29:52 <Adam1023>     | otherwise = False
17:31:03 <enikar> so: inThereTOSeven x = (x >= 3) && (x <= 7)
17:31:10 <enikar> :)
17:31:17 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
17:31:28 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:32:03 <Adam1023> enikar: okay ... now I start to get where ski wants to bring me
17:32:12 <ski> Adam1023 : `(x >= 3) && (x <= 7)' already is a `Bool'ean. there's no reason to say "if it's `True', give `True' as result, otherwise give `False'"
17:33:17 <Adam1023> ski: okok ! thx man. Now let's get back to the initial question, I'll try to rewrite it
17:33:19 conal joins (~conal@212.102.44.51)
17:33:29 <ski> Adam1023 : now, back to `notInThreeToSeven'
17:33:46 <ski> notInThreeToSeven x = if inThreeToSeven x then False else True
17:33:54 × jdt quits (~jdt@208.85.233.130) (Ping timeout: 265 seconds)
17:34:08 <ski> this is almost the same thing as what you did in `inThreeToSeven', except that now you're flipping `True' and `False'
17:34:34 <ski> there happens to already be a standard function that does that kind of thing .. any guess what it might be called ?
17:34:58 <Adam1023> notInThreeToSeven x = (x < 3) || (x > 7)
17:35:12 <ski> yes, that would work
17:35:18 <ski> an intermediate step would have been
17:35:21 jdt joins (~jdt@208.85.233.130)
17:35:31 <ski> notInThreeToSeven x = not (x >= 3 && x <= 7)
17:35:33 <ski> because
17:35:38 <ski> @src not
17:35:39 <lambdabot> not True = False
17:35:39 <lambdabot> not False = True
17:36:07 <Adam1023> ok, got it
17:36:21 <Adam1023> So for the elem'' function, should I do this:
17:36:35 <Adam1023> elem'' x0 (x:xs) = (x0 == x) || elem'' x0 xs
17:36:36 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
17:36:40 <ski> but you can, as you realized, push the negation inwards, using a deMorgan law, replacing `&&' ("and") with `||' ("or"), and then replace the lax inequalities with the corresponding reversed strict inequalities (because we have a linear/total order)
17:36:45 <ski> yes, exactly
17:37:06 <ski> Adam1023 : wouldn't you agree that that defining equation reads much more nicely, than the previous two you had
17:37:07 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:37:30 <Adam1023> ski: okkaay ... yes, definitely !
17:37:47 <ski> this one directly expresses : `x0' is an element of the non-empty list `xs' iff `x0' is equal to `x' or `x0' is an element of the tail `xs'
17:38:00 waskell joins (~quassel@d172-218-41-115.bchsia.telus.net)
17:38:28 nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net)
17:38:34 <Adam1023> Thank you very much man!
17:39:05 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:39:08 <ski> Adam1023 : generally, whenever you see (or want to write) `if foo then True else bar', it's probably better to write `foo || bar' instead. similarly, `if foo then bar else False' can be replaced by `foo && bar'. and, `if foo then False else True' can be replaced by `not foo'
17:39:09 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:39:38 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
17:39:49 <ski> (if you have the `True'/`False' in the other branch, for the first two cases, then you can simply wrap the condition `foo' with a `not')
17:40:50 <ski> whenever you feel like wanting to write an explicit `True' or `False' as result value, you should consider whether you couldn't express the same behaviour in a more direct, or more readable, way
17:41:11 ericsagnes joins (~ericsagne@2405:6580:0:5100:9e0f:8d58:e93:7344)
17:41:22 <ski> (similarly, don't write `foo == True' and `foo == False' .. but hopefully those are more obviously redundant)
17:42:15 <ski> (there are of course valid cases of writing `True' or `False' as result value. e.g. the base case of `elem' above)
17:42:23 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:cc7:8bd8:9369:c502) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:42:40 <ski> Adam1023 : you're welcome
17:43:12 <Adam1023> Ok got it. It's definitely useful to know. Thank you again!
17:43:37 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:43:52 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
17:44:15 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f)
17:46:33 elfets_ joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
17:48:24 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds)
17:48:28 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
17:50:15 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
17:54:52 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:56:39 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
17:57:39 × geekosaur quits (42d52137@66.213.33.55) (Quit: Connection closed)
17:58:25 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 264 seconds)
17:58:33 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
17:58:49 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
17:59:55 × landonf quits (landonf@mac68k.info) (Quit: ZNC - http://znc.sourceforge.net)
18:00:06 × jespada quits (~jespada@90.254.245.49) (Ping timeout: 272 seconds)
18:02:45 jespada joins (~jespada@90.254.245.49)
18:04:14 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:05:42 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
18:07:43 Guest_15 joins (a11623aa@161.22.35.170)
18:08:02 × ransom quits (~c4264035@8.48.134.30) (Quit: Textual IRC Client: www.textualapp.com)
18:08:11 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:f44b:edaa:7941:25b5)
18:08:20 landonf joins (landonf@mac68k.info)
18:09:00 Guest_15 parts (a11623aa@161.22.35.170) ()
18:09:21 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
18:10:38 × michalz quits (~user@185.246.204.71) (Ping timeout: 265 seconds)
18:11:55 coot_ joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:12:05 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
18:12:47 × rajivr quits (uid269651@gateway/web/irccloud.com/x-itvlzupsyknqkfml) (Quit: Connection closed for inactivity)
18:13:55 × owenowen quits (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Ping timeout: 272 seconds)
18:14:03 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
18:15:06 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:15:06 pfurla joins (~pfurla@222.15.195.173.client.static.strong-in52.as13926.net)
18:16:16 × coot_ quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 246 seconds)
18:16:50 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
18:17:19 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
18:18:47 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
18:19:10 × nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
18:19:41 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
18:20:05 nineonine joins (~nineonine@50.216.62.2)
18:22:02 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:22:41 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
18:22:43 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 265 seconds)
18:23:01 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:23:29 Athas_ is now known as Athas
18:26:22 geekosaur joins (42d52137@66.213.33.55)
18:28:25 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds)
18:28:46 × ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
18:29:23 ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
18:29:58 × Katarushisu quits (~Katarushi@cpc149726-finc20-2-0-cust203.4-2.cable.virginm.net) (Ping timeout: 265 seconds)
18:30:16 × pfurla quits (~pfurla@222.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 240 seconds)
18:31:30 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:33:04 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
18:33:40 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 272 seconds)
18:33:53 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
18:34:14 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
18:34:52 poljar joins (~poljar@93.139.40.93)
18:35:13 coot_ joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:35:35 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:37:16 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
18:37:42 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
18:37:49 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:38:01 × poljar1 quits (~poljar@93-143-188-151.adsl.net.t-com.hr) (Ping timeout: 264 seconds)
18:38:58 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds)
18:39:25 × coot_ quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
18:39:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:39:28 knupfer joins (~Thunderbi@200116b82c665300c888b3fffeb9f9f2.dip.versatel-1u1.de)
18:39:30 × knupfer quits (~Thunderbi@200116b82c665300c888b3fffeb9f9f2.dip.versatel-1u1.de) (Client Quit)
18:39:44 knupfer joins (~Thunderbi@mue-88-130-61-014.dsl.tropolys.de)
18:40:26 × mmmattyx quits (uid17782@gateway/web/irccloud.com/x-ciescmgqxkvytapq) (Quit: Connection closed for inactivity)
18:40:30 Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578)
18:41:04 Lycurgus joins (~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
18:41:38 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
18:41:49 dandart joins (~Thunderbi@home.dandart.co.uk)
18:44:10 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:45:41 × dandart quits (~Thunderbi@home.dandart.co.uk) (Client Quit)
18:47:13 dandart joins (~Thunderbi@home.dandart.co.uk)
18:47:24 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
18:47:25 × jneira quits (5127ac9c@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.172.156) (Ping timeout: 246 seconds)
18:49:09 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
18:49:48 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
18:50:03 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
18:50:23 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:50:49 oats is now known as Hornswaggler_Man
18:51:11 Katarushisu joins (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
18:51:24 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
18:51:47 Hornswaggler_Man is now known as HornswagglerMang
18:52:24 ukari joins (~ukari@unaffiliated/ukari)
18:52:33 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
18:53:12 Tario joins (~Tario@201.192.165.173)
18:53:27 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
18:54:04 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
18:55:11 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
18:55:27 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
18:55:43 <koz_> Is there such a thing as a free Category? Or for that matter, a free Profunctor?
18:56:08 <dolio> Yes.
18:56:41 <koz_> How are they defined?
18:57:27 <dolio> Via left adjoint to something that forgets some aspect.
18:57:47 <koz_> I meant it more in the sense of 'what would such a thing look like as a Haskell data type'.
18:58:29 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
18:58:56 <dolio> Well, it's currently underspecified. Free category on what sort of structure?
19:00:09 <dolio> The free category on a digraph, for instance, has nodes as objects, and paths as arrows.
19:00:11 <koz_> I guess I'm looking for an analog to the free Monad, which turns basically anything (well, Functor anything) of kind Type -> Type into a Monad.
19:00:31 <koz_> Which I guess means that a free Category turns things of kind Type -> Type -> Type into a Category.
19:00:40 <koz_> (same with free Profunctor)
19:02:01 <dolio> Oh, you mean the classes.
19:02:10 <dolio> Well, profunctor is easy.
19:02:41 <koz_> Yes, I did - I capitalized for this exact reason.
19:02:41 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
19:02:41 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: jsdkjdk)
19:02:52 × kuribas quits (~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:02:55 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
19:03:15 <dolio> data Free r x y = forall i o. FP (x -> i) (r i o) (o -> y)
19:03:18 <dolio> I think that should do it.
19:03:23 jpds joins (~jpds@gateway/tor-sasl/jpds)
19:03:29 berberman_ joins (~berberman@unaffiliated/berberman)
19:04:05 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
19:04:13 <koz_> Oh yeah, I see how that would work.
19:04:41 <koz_> So 'lifting' into it would just be 'lift foo = FP id foo id'
19:04:46 <koz_> And dimap follows naturally.
19:04:47 × berberman_ quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
19:04:53 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
19:04:57 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
19:05:11 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
19:05:18 berberman joins (~berberman@unaffiliated/berberman)
19:05:33 <dolio> To make a Category, you need to instead create a type of sequences of `r i o` that match up to adjacent values in the 'obvious' way.
19:06:11 × jollygood2 quits (~bc8177f5@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
19:06:18 <dolio> The empty sequence is the identity, and catenating sequences is composition.
19:06:21 conal_ joins (~conal@66.115.157.52)
19:06:25 × conal quits (~conal@212.102.44.51) (Ping timeout: 240 seconds)
19:06:37 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
19:06:37 <koz_> So it's a special kind of heterogenous list?
19:07:13 <dolio> The only possible technical detail is whether an actual list data type would really be free in Haskell, due to lazy evaluation.
19:07:13 berberman joins (~berberman@unaffiliated/berberman)
19:07:20 tzh joins (~xax@c-24-21-73-154.hsd1.wa.comcast.net)
19:07:35 <dolio> Similar to lists not technically being the free monoid.
19:07:41 <koz_> You could use the same trick I saw someone write in the Comonad Reader (I think) to get around this exact problem for free monoids, right?
19:07:49 × xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 260 seconds)
19:07:57 <dolio> Yeah.
19:08:25 × berberman quits (~berberman@unaffiliated/berberman) (Max SendQ exceeded)
19:08:29 <dolio> But regardless, that's the general idea, at least.
19:08:37 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds)
19:08:43 <koz_> OK, thanks, that makes a lot of sense.
19:08:48 berberman joins (~berberman@unaffiliated/berberman)
19:09:20 <koz_> Thinking about it, free Profunctor is the co-and-contra Yonedas glued together, while the free Category is basically a free Monoid, but with extra rules.
19:09:43 <dolio> Right.
19:12:11 owenowen joins (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
19:12:39 <dolio> Oh, also, the profunctor thing is actually co-yoneda. Doing Yoneda (with a forall instead of exists) would get you the cofree profunctor.
19:13:37 xsperry joins (~as@unaffiliated/xsperry)
19:14:24 <dolio> Free profunctor has an inclusion `r i o -> Free r i o` and cofree has a projection `Cofree r i o -> r i o` without constraining r.
19:14:50 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
19:15:05 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
19:15:07 vicfred joins (~vicfred@unaffiliated/vicfred)
19:15:11 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 256 seconds)
19:15:36 cfricke joins (~cfricke@unaffiliated/cfricke)
19:16:02 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
19:16:42 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
19:16:51 coot joins (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
19:21:56 × coot quits (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
19:24:01 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
19:25:38 mmmattyx joins (uid17782@gateway/web/irccloud.com/x-xamyedegeiljgbot)
19:25:52 × Adam1023 quits (3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Quit: Connection closed)
19:25:57 borne joins (~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
19:26:07 × owenowen quits (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Ping timeout: 272 seconds)
19:27:04 jneira joins (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
19:27:49 <fresheyeball> is there a way to run a wai Application in a monad other than IO?
19:28:21 <merijn> fresheyeball: You can run it in basically anything that has a function "X a -> IO a"? :p
19:28:47 <merijn> Actually, you can use anything that has a function "X -> IO a" the parameterisation of X isn't required
19:28:54 <fresheyeball> right, which doesn't work for custom monads based on ReaderT
19:29:09 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
19:30:03 × conal_ quits (~conal@66.115.157.52) (Quit: Computer has gone to sleep.)
19:31:02 <merijn> Sure it does
19:31:21 <merijn> "\x -> runReaderT x readerArg"
19:31:23 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
19:31:39 <ski> koz_ : you need to specify both the source and the target, for "free". e.g. free abelian group on a group is different from free abelian group on a set (e.g. the set of elements of the group)
19:32:04 HornswagglerMang is now known as oats
19:32:06 <fresheyeball> merijn: I can construct such a function with `x` you are right
19:32:23 <fresheyeball> but that doesn't work for this use-case, all these function end with `m Y`
19:32:27 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
19:32:44 <fresheyeball> I would have to unReaderTify the whole app
19:32:49 <fresheyeball> and pass around the context explictly
19:32:49 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:32:52 <merijn> fresheyeball: I mean, where is the reader argument supposed to come from when WAI "magically" runs your monad stack
19:33:13 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
19:33:19 <fresheyeball> ultimately, there is a usage of runReaderT in this app
19:33:51 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:34:04 <fresheyeball> right now there are servant routes like this
19:34:23 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:34:26 <fresheyeball> type Foo = "foo" :> Capture "id" Int :> Get '[JSON] User
19:34:35 <fresheyeball> and they have handlers like this
19:34:48 <fresheyeball> fooHandler :: MuchMonad m => Int -> m User
19:34:58 <fresheyeball> but need to change the route to this
19:35:11 <fresheyeball> type Foo = "foo" :> Capture "id" Int :> Raw
19:35:19 <fresheyeball> which means the handler needs to become like this
19:35:31 <fresheyeball> fooHandler :: MuchMonad m => Int -> Tagged m Application
19:35:46 <fresheyeball> conversion so far has killed hours of my time, and I still don't see how to do it
19:35:57 <opqdonut> https://docs.servant.dev/en/stable/cookbook/using-custom-monad/UsingCustomMonad.html mentions "To use Raw endpoints, look at the servant-rawm package.
19:36:12 <fresheyeball> oh interesting
19:36:46 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:36:53 <opqdonut> the docs start with a ReaderT example
19:36:54 <opqdonut> https://hackage.haskell.org/package/servant-rawm-1.0.0.0/docs/Servant-RawM.html
19:37:43 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:38:23 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:39:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
19:40:38 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
19:41:30 ADG1089__ joins (~aditya@122.163.165.143)
19:41:41 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:42:25 bitmapper joins (uid464869@gateway/web/irccloud.com/x-hjezqzmmydacwjuo)
19:42:33 <fresheyeball> opqdonut:++
19:42:42 <fresheyeball> I think RawM will just work for this
19:44:29 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:44:57 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:45:24 conal joins (~conal@66.115.157.64)
19:45:57 owenowen joins (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
19:46:33 <koz_> dolio: Wait, what would a _cofree_ Profunctor be?
19:47:45 × geekosaur quits (42d52137@66.213.33.55) (Ping timeout: 248 seconds)
19:48:06 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:48:48 royal_screwup21 joins (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
19:49:25 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 240 seconds)
19:50:02 × royal_screwup21 quits (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Client Quit)
19:50:20 royal_screwup21 joins (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
19:52:07 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:52:10 <ski> koz_ : `data Cofree r x y = CP (forall i o. (i -> x) -> (y -> o) -> r i o)'
19:52:24 <ski> (or, i suppose, s/data/newtype/)
19:52:51 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:53:28 acidjnk_new joins (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
19:53:36 <koz_> ski: Ah, interesting.
19:53:49 <ski> exercise, write `include :: r i o -> Free r i o' and `project :: Cofree r i o -> r i o', and the `dimap' implementations for both types
19:53:57 × Lycurgus quits (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
19:54:20 matt26 joins (6b9e9b23@107.158.155.35)
19:55:37 × matt26 quits (6b9e9b23@107.158.155.35) (Client Quit)
19:56:05 <koz_> ski: Wouldn't 'include' be named 'lift'?
19:56:17 <koz_> (and 'project' be named 'retract'?)
19:56:44 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
19:57:20 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
19:57:37 <ski> i just went with the descriptions dolio used
19:57:44 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
19:58:26 × dmwit quits (~dmwit@pool-108-18-106-204.washdc.fios.verizon.net) (Quit: IT support calls lol)
19:58:31 × owenowen quits (~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Quit: Leaving.)
19:59:53 <ski> anyway, compare with `Coyoneda f b = exists a. (a -> b) * f a' vs. `Yoneda f a = forall b. (a -> b) -> f b'
20:02:42 <hyperisco> ski, what sort of f's are used with Yoneda?
20:03:51 <koz_> hyperisco: Anything of kind Type -> Type.
20:04:06 <hyperisco> there are no particular constraints of interest?
20:04:25 × Franciman quits (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Ping timeout: 264 seconds)
20:04:43 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
20:05:09 darjeeling_ joins (~darjeelin@122.245.120.137)
20:05:52 <hyperisco> to construct a Yoneda f a I need an a and I need to be able to stick something in an f
20:06:04 <hyperisco> just wondering what the utility is
20:08:09 × vicfred quits (~vicfred@unaffiliated/vicfred) (Read error: Connection reset by peer)
20:08:11 jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de)
20:08:34 geekosaur joins (42d52137@66.213.33.55)
20:09:13 <ski> to make a functor of a type function
20:09:22 <jumper149> If I have a thread running readChan on an empty Chan it waits until there is a next value, right?
20:09:23 <ski> (both `Yoneda' and `Coyoneda' do that)
20:09:27 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
20:09:46 <jumper149> If I then kill that thread before it reads a next value, will that next value still be consumed?
20:10:15 <ski> and, in case `f' is already a functor, what it does is it fuses calls to `fmap' together, so that you're only traversing the `f'-structure once
20:10:16 <koz_> hyperisco: It lets you turn anything into a Functor.
20:10:22 <koz_> And also that, yes.
20:10:41 <dolio> jumper149: I think the kill exception will interrupt the read.
20:10:59 <hyperisco> I see
20:12:05 <merijn> jumper149: Async exception will interrupt blocking on MVars (and thus Chan), yes
20:12:06 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
20:12:21 <jumper149> merijn: perfect :)
20:12:23 <merijn> In fact, async exceptions will even interrupt blocking on MVars while masked
20:12:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:13:12 × royal_screwup21 quits (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Quit: Connection closed)
20:13:29 royal_screwup21 joins (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
20:16:08 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
20:16:33 tito_04 joins (~taurux@net-188-216-43-78.cust.vodafonedsl.it)
20:16:35 jpds joins (~jpds@gateway/tor-sasl/jpds)
20:17:01 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
20:17:23 <koz_> :t foldr
20:17:24 <lambdabot> Foldable t => (a -> b -> b) -> b -> t a -> b
20:17:37 × taurux quits (~taurux@net-188-216-43-78.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
20:18:31 × geekosaur quits (42d52137@66.213.33.55) (Quit: Connection closed)
20:19:14 geekosaur joins (42d52137@66.213.33.55)
20:19:37 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
20:20:10 × usr25 quits (~J@127.red-83-46-58.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
20:23:13 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f) (Read error: Connection reset by peer)
20:23:42 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
20:26:28 Franciman joins (~francesco@host-82-48-174-127.retail.telecomitalia.it)
20:27:28 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Read error: Connection reset by peer)
20:27:34 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:28:36 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f)
20:30:35 × stree quits (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
20:30:55 stree joins (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net)
20:31:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:32:35 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
20:33:34 × DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
20:34:03 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
20:36:25 × knupfer quits (~Thunderbi@mue-88-130-61-014.dsl.tropolys.de) (Ping timeout: 240 seconds)
20:36:55 × conal quits (~conal@66.115.157.64) (Quit: Computer has gone to sleep.)
20:37:26 conal joins (~conal@66.115.157.64)
20:37:35 × conal quits (~conal@66.115.157.64) (Client Quit)
20:39:42 conal joins (~conal@66.115.157.64)
20:39:46 × conal quits (~conal@66.115.157.64) (Client Quit)
20:40:20 conal joins (~conal@66.115.157.64)
20:40:30 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
20:40:53 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
20:42:10 Aquazi joins (uid312403@gateway/web/irccloud.com/x-mgixrozgwxipkcfn)
20:44:09 usr25 joins (~J@203.red-79-159-208.dynamicip.rima-tde.net)
20:45:01 × conal quits (~conal@66.115.157.64) (Ping timeout: 246 seconds)
20:45:33 Deide joins (~Deide@217.155.19.23)
20:47:30 denisse_ joins (~spaceCat@gateway/tor-sasl/alephzer0)
20:47:57 ruapho joins (~ruapho___@ip-176-199-104-21.hsi06.unitymediagroup.de)
20:48:18 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
20:49:02 ukari joins (~ukari@unaffiliated/ukari)
20:49:03 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
20:49:28 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
20:53:40 mtae joins (uid179115@gateway/web/irccloud.com/x-yrhfyomnuczddnfb)
20:53:53 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
20:57:02 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:04:01 knupfer joins (~Thunderbi@200116b82c665300103922fffe5f0231.dip.versatel-1u1.de)
21:06:24 × royal_screwup21 quits (d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Quit: Connection closed)
21:06:26 × knupfer quits (~Thunderbi@200116b82c665300103922fffe5f0231.dip.versatel-1u1.de) (Remote host closed the connection)
21:06:36 knupfer joins (~Thunderbi@200116b82c66530045b41e29d13e0431.dip.versatel-1u1.de)
21:07:23 × denisse_ quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
21:08:04 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
21:12:26 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
21:18:27 son0p joins (~son0p@181.136.122.143)
21:19:25 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
21:19:42 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
21:20:25 <maralorn> I have "jsaddle-dom" in my cabal build-depends. But I get: Could not load module ‘GHCJS.DOM.Storage’ It is a member of the hidden package ‘jsaddle-dom-0.9.4.1’. Perhaps you need to add ‘jsaddle-dom’ to the build-depends in your .cabal file.
21:20:30 <maralorn> Can anyone gues how that can happen? I am really confused.
21:20:43 × denisse quits (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
21:21:27 <Uniaika> utterly bizarre
21:21:40 etothepiiminus1_ joins (uid140653@gateway/web/irccloud.com/x-ypdfugpfcgnjxlri)
21:22:02 <geekosaur> wrong jsaddle-dom version for that module to exist?
21:22:23 <koz_> Yeah, did you specify bounds in build-depends?
21:22:47 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
21:23:05 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
21:23:31 mmfood joins (~mmfood@45.91.21.42)
21:24:20 denisse joins (~spaceCat@gateway/tor-sasl/alephzer0)
21:28:58 <maralorn> Yeah, I guess it has something to do with that.
21:29:10 Etothepiiminus1 joins (~Etothepii@216.15.13.199)
21:30:40 <b4er> Is there something that extends Functor/Foldable from n-ary case to more type variables?
21:31:12 <b4er> There's bifunctor but it is also constant in the #typevariables.
21:31:46 <merijn> b4er: not in haskell
21:32:03 <b4er> Yeah, I meant in Haskell ^^
21:32:16 × jneira quits (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 240 seconds)
21:32:32 philopsos joins (~caecilius@45.133.192.84)
21:34:34 × Etothepiiminus1 quits (~Etothepii@216.15.13.199) (Remote host closed the connection)
21:34:35 etothepiiminus1_ is now known as etothepiiminus1
21:36:35 × ericsagnes quits (~ericsagne@2405:6580:0:5100:9e0f:8d58:e93:7344) (Ping timeout: 272 seconds)
21:40:39 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
21:40:48 <b4er> What n-ary functors did come to your mind btw.?
21:40:56 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Remote host closed the connection)
21:41:16 mirrorbird joins (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
21:43:29 × ruapho quits (~ruapho___@ip-176-199-104-21.hsi06.unitymediagroup.de) (Remote host closed the connection)
21:43:30 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
21:44:06 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
21:46:05 × mirrorbird quits (~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
21:48:28 ericsagnes joins (~ericsagne@2405:6580:0:5100:6ec1:4cfc:2443:dfd5)
21:49:43 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
21:49:46 × geekosaur quits (42d52137@66.213.33.55) (Quit: Connection closed)
21:51:13 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
21:52:36 <Boarders> does anyone know if it is possible to pass an argument to gauge to get it to only run one group in a benchmark?
21:53:38 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
21:53:54 EncodePanda joins (b9eeefcd@185.238.239.205)
21:54:50 × EncodePanda quits (b9eeefcd@185.238.239.205) (Client Quit)
21:55:51 EncodePanda joins (~user@185.238.239.205)
21:57:28 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 246 seconds)
21:57:38 hidedagger joins (~nate@unaffiliated/hidedagger)
21:58:10 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
21:58:14 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
21:58:34 vicfred joins (vicfred@gateway/vpn/mullvad/vicfred)
21:58:47 × hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit)
21:59:42 DataComputist joins (~lumeng@50.43.26.251)
22:00:03 matryoshka joins (~matryoshk@184.75.223.227)
22:00:18 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:00:36 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
22:00:37 conal joins (~conal@209.58.128.97)
22:01:19 <pja> maralorn: Sometimes cabal gets in a weird state & I have to start adding -package arguments to ghc (if invoking it directly) for no obvious reason.
22:01:33 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
22:01:53 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:02:23 testelo joins (b9eeefcd@185.238.239.205)
22:02:42 × testelo quits (b9eeefcd@185.238.239.205) (Client Quit)
22:03:25 motherfsck joins (~motherfsc@unaffiliated/motherfsck)
22:04:26 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
22:04:41 × Tops2 quits (~Tobias@dyndsl-095-033-093-084.ewe-ip-backbone.de) (Read error: Connection reset by peer)
22:05:29 Rudd0 joins (~Rudd0@185.189.115.108)
22:05:34 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
22:06:13 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:06:52 urodna_ joins (~urodna@unaffiliated/urodna)
22:06:52 mmfood_1 joins (~mmfood@45.91.21.42)
22:06:55 × mmfood quits (~mmfood@45.91.21.42) (Ping timeout: 246 seconds)
22:09:00 × urodna quits (~urodna@unaffiliated/urodna) (Ping timeout: 272 seconds)
22:09:32 × usr25 quits (~J@203.red-79-159-208.dynamicip.rima-tde.net) (Quit: Bye)
22:09:44 <ephemient> Boarders: it should just work to list the group names on the command line; the default match type is prefix
22:09:49 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:10:02 <ephemient> may need to quote them to get through shell
22:10:22 <Boarders> @ephemient: could you give me an example of that? if I run cabal run bench -- -- [benchmark-name]
22:10:22 <lambdabot> Unknown command, try @list
22:10:24 <Boarders> is that correct?
22:10:49 × jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.0)
22:11:06 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
22:11:43 jpds joins (~jpds@gateway/tor-sasl/jpds)
22:12:08 <ephemient> I believe cabal bench --benchmark-options='"group name/"' should just work
22:12:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:12:14 × philopsos quits (~caecilius@45.133.192.84) (Quit: leaving)
22:12:21 <maralorn> I think the problem I had was that those Modules actually weren‘t in that module …
22:12:36 philopsos joins (~caecilius@gateway/tor-sasl/caecilius)
22:14:20 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
22:14:33 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
22:15:46 × matryoshka quits (~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
22:16:04 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
22:17:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
22:18:00 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
22:18:28 × alx741 quits (~alx741@186.178.110.185) (Ping timeout: 246 seconds)
22:18:34 darjeeling_ joins (~darjeelin@122.245.120.137)
22:18:38 × borne quits (~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
22:18:41 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:18:42 mananamenos_ joins (~mananamen@84.122.202.215.dyn.user.ono.com)
22:18:55 p-core joins (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
22:22:05 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-hjezqzmmydacwjuo) (Quit: Connection closed for inactivity)
22:22:19 × mananamenos quits (~mananamen@vpn236-53.vpns.upv.es) (Ping timeout: 246 seconds)
22:22:46 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
22:23:04 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
22:23:20 × mananamenos_ quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Client Quit)
22:23:26 × acidjnk_new quits (~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
22:24:12 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
22:24:43 × xelxebar_ quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
22:28:38 × EncodePanda quits (~user@185.238.239.205) (Ping timeout: 272 seconds)
22:29:09 × noob_on_rails quits (~kvirc@ppp-2-86-127-175.home.otenet.gr) (Ping timeout: 272 seconds)
22:29:31 <Boarders> I'll try that, thanks ephemient!
22:31:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
22:31:29 alx741 joins (~alx741@186.178.110.154)
22:33:35 × Franciman quits (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving)
22:34:17 × knupfer quits (~Thunderbi@200116b82c66530045b41e29d13e0431.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
22:35:41 borne joins (~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
22:36:52 × darjeeling_ quits (~darjeelin@122.245.120.137) (Ping timeout: 272 seconds)
22:38:51 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
22:40:25 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
22:40:46 niekvandepas joins (~niekvande@84.241.193.190)
22:41:56 × _d0t quits (void@gateway/vpn/mullvad/d0t/x-89419360) (Ping timeout: 240 seconds)
22:42:58 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
22:43:49 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
22:44:11 × fendor quits (~fendor@178.115.130.196.wireless.dyn.drei.com) (Remote host closed the connection)
22:44:43 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
22:46:37 × conal quits (~conal@209.58.128.97) (Quit: Computer has gone to sleep.)
22:46:50 <Boarders> @ephemient: I had multiple benchmarks so I was using cabal run but this worked: cabal run bench -- "[bench-name]"
22:46:51 <lambdabot> Unknown command, try @list
22:48:15 × niekvandepas quits (~niekvande@84.241.193.190) (Remote host closed the connection)
22:48:43 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:49:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:49:32 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:f44b:edaa:7941:25b5) (Quit: Leaving)
22:50:00 × ADG1089__ quits (~aditya@122.163.165.143) (Remote host closed the connection)
22:50:03 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
22:50:50 darjeeling_ joins (~darjeelin@122.245.120.137)
22:52:26 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
22:52:50 mmfood_2 joins (~mmfood@45.91.21.42)
22:53:07 × mmfood_1 quits (~mmfood@45.91.21.42) (Ping timeout: 246 seconds)
22:54:21 niekvandepas joins (~niekvande@84.241.193.190)
22:54:25 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
22:56:37 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 264 seconds)
22:58:25 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Ping timeout: 240 seconds)
22:58:57 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
22:59:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
22:59:37 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
23:00:31 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
23:00:45 conal joins (~conal@138.199.52.87)
23:01:26 × conal quits (~conal@138.199.52.87) (Client Quit)
23:04:01 EncodePanda joins (~user@185.238.239.205)
23:04:16 × niekvandepas quits (~niekvande@84.241.193.190) (Remote host closed the connection)
23:04:50 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
23:05:14 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
23:07:42 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:09:13 × EncodePanda quits (~user@185.238.239.205) (Ping timeout: 264 seconds)
23:10:36 × heatsink quits (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
23:10:46 vst joins (~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a)
23:11:49 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:12:17 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
23:12:50 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
23:15:50 jamesfielder[m] joins (jamesfield@gateway/shell/matrix.org/x-hodgerwioachkctf)
23:18:07 × dandart quits (~Thunderbi@home.dandart.co.uk) (Quit: dandart)
23:21:49 × ulidtko quits (~ulidtko@194.54.80.38) (Ping timeout: 264 seconds)
23:22:46 × zebrag quits (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
23:22:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:23:05 zebrag joins (~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
23:23:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
23:26:45 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
23:27:40 × LKoen quits (~LKoen@100.170.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
23:29:39 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
23:29:55 × etothepiiminus1 quits (uid140653@gateway/web/irccloud.com/x-ypdfugpfcgnjxlri) (Quit: Connection closed for inactivity)
23:31:05 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
23:31:28 niekvandepas joins (~niekvande@dhcp-077-249-088-250.chello.nl)
23:33:22 × mtae quits (uid179115@gateway/web/irccloud.com/x-yrhfyomnuczddnfb) (Quit: Connection closed for inactivity)
23:34:01 pavonia joins (~user@unaffiliated/siracusa)
23:34:33 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
23:35:36 × niekvandepas quits (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)
23:39:02 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:44:19 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
23:44:46 ukari joins (~ukari@unaffiliated/ukari)
23:46:25 × dcoutts_ quits (~duncan@33.14.75.194.dyn.plus.net) (Ping timeout: 240 seconds)
23:48:21 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
23:51:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
23:52:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:53:10 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
23:57:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)

All times are in UTC on 2021-01-13.