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.