Home liberachat/#haskell: Logs Calendar

Logs on 2021-11-24 (liberachat/#haskell)

00:07:24 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:08:02 × acidjnk quits (~acidjnk@p200300d0c7271e75119700900401854f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
00:08:34 pfurla joins (~pfurla@2804:14d:5c81:4104:7d52:bf34:226e:199c)
00:10:55 × infinity0 quits (~infinity0@occupy.ecodis.net) (Ping timeout: 250 seconds)
00:12:03 infinity0 joins (~infinity0@occupy.ecodis.net)
00:13:39 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
00:14:12 × retroid_ quits (~retro@97e2ba2e.skybroadband.com) (Ping timeout: 268 seconds)
00:14:51 × nautical quits (~nautical@2601:602:900:1630::396f) (Quit: WeeChat 3.3)
00:17:48 <dsal> @pl \x -> Just <$> x <|> empty
00:17:48 <lambdabot> (<|> empty) . (Just <$>)
00:17:54 <dsal> Proof that pl always makes things better
00:18:03 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
00:21:14 jonrh_ is now known as jonrh
00:21:55 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
00:22:10 × FragByte quits (~christian@user/fragbyte) (Ping timeout: 260 seconds)
00:22:26 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
00:25:39 × jgeerds quits (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 260 seconds)
00:28:24 <pavonia> It makes them pointless, not necessarily better
00:32:09 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
00:32:51 × emf quits (~emf@2620:10d:c090:400::5:824c) (Ping timeout: 264 seconds)
00:33:40 <dsal> It'd be extra cool if it pointed out that the `(<|> empty) . ` was the real pointless.
00:34:23 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
00:35:39 motherfsck joins (~motherfsc@user/motherfsck)
00:35:40 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:35:56 viluon joins (uid453725@id-453725.helmsley.irccloud.com)
00:42:11 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
00:43:13 emf joins (~emf@2620:10d:c090:400::5:824c)
00:45:15 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
00:48:04 gaff joins (~gaff@49.207.195.213)
00:48:10 × mmhat quits (~mmh@55d42af1.access.ecotel.net) (Quit: WeeChat 3.3)
00:50:09 FragByte joins (~christian@user/fragbyte)
00:50:47 × servytor quits (uid525486@id-525486.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
00:51:57 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
00:52:10 ph88^ joins (~ph88@2a02:8109:9e00:71d0:ccfc:bf5f:d318:f468)
00:53:54 <monochrom> PHB = pointless haskell boss >:)
00:55:36 Nolrai2 joins (~Nolrai2@c-76-27-202-218.hsd1.or.comcast.net)
00:55:39 × emf quits (~emf@2620:10d:c090:400::5:824c) (Ping timeout: 264 seconds)
00:55:59 <Nolrai2> In places where both would work is it better to use type families or functional depencies?
00:56:45 × ph88 quits (~ph88@2a02:8109:9e00:71d0:980f:fceb:aad:f12) (Ping timeout: 268 seconds)
00:56:57 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
00:58:21 × DNH quits (~DNH@2a02:8108:1100:16d8:5c1e:444:cdf3:4e4) (Quit: Textual IRC Client: www.textualapp.com)
00:59:06 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 260 seconds)
00:59:15 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
01:00:46 × jmorris quits (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
01:01:09 <geekosaur> I think it comes down to personal preference; arguments can be made for both
01:01:39 <geekosaur> the downside of fundeps is they're harder to reason about because they're more Prolog than Haskell
01:02:14 <geekosaur> the downside of type familoies is, especially if non-injective, they can be harder to reason about
01:02:32 <geekosaur> so basically different varieties of the same downside for both
01:03:29 <dsal> I've only had fundeps come up as a "I need this thing." Maybe I'm ignorant and they're more related than I thought.
01:03:32 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
01:04:01 <geekosaur> fundeps and associated type families do pretty much the same thing
01:04:12 <geekosaur> iirc they've been proven equivalent in expressive power
01:05:47 <dsal> I guess I need to understand the latter a bit more.
01:05:57 <dsal> I needed this one day: `class Projector a b | a -> b where project :: a -> b -> [a]`
01:05:59 <c_wraith> since this just came up in r/haskell, here. https://aphyr.com/posts/342-typing-the-technical-interview
01:06:05 <c_wraith> all about fundeps :)
01:06:13 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
01:07:44 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:07:44 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
01:07:45 wroathe joins (~wroathe@user/wroathe)
01:11:30 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:59 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
01:12:34 boxscape_ joins (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de)
01:13:08 <arahael> jackdk: i am indeed on M1
01:13:31 <dsal> M1 posse
01:13:36 <arahael> jackdk: and complicating it further, it seems my llvm is version 13.0.0 (which is whatever got installed by xcode)
01:13:55 <jackdk> arahael: I'm on x86_64-pc-linux-gnu so I can't help sorry
01:14:20 <dsal> I just run out of nix.
01:14:25 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
01:14:31 <Axman6> pretty keen to get an M1 in the next few years. one of Twitter's engineering teams reackon the faster build times mean that they pey for themselves in saved dev time within about three months
01:14:48 <arahael> dsal: even if i "ran out of nix" here, i'd still be using apple's xcode for the llvm.
01:15:22 <boxscape_> hm I seem to remember recently seeing someone write a pattern synonym to check if a string has a certain prefix, which I previously thought you could only do with a view pattern + matching on Just. But I can't find it anymore. Any idea where I might find that or how to write such a pattern synonym?
01:15:33 <arahael> Axman6: definitely, though then again, linux is by far the better trodden path, especially for haskell.
01:15:59 <Axman6> There's little difference between macOS and linux when it comes to Haskell
01:16:09 <Axman6> I've been developing for linus on macOS for years
01:16:13 <Axman6> linux too
01:16:32 <Axman6> spews Linus, you've been using proprietary software this whole time!
01:17:06 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
01:17:36 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:21 <boxscape_> (as in, say, `foo (Prefix "pref" rest) = rest <> " is the rest"`)
01:18:47 justsomeguy joins (~justsomeg@user/justsomeguy)
01:19:03 × cheater quits (~Username@user/cheater) (Ping timeout: 264 seconds)
01:19:04 cheater1__ joins (~Username@user/cheater)
01:19:08 cheater1__ is now known as cheater
01:20:58 <justsomeguy> I defined the function taken :: Word -> [a] -> [a]; taken _ [] = []; taken 0 _ []; taken n (x:xs) = x : taken (n-1) xs, but when I run taken (-4) [1..20] I don't get a type error, but the numeric literal overflows and taken still runs. Is there a compiler flag I can turn on to make it a type error, instead?
01:22:34 <dsal> boxscape_: I think Text has something for that.
01:22:35 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
01:23:03 <dsal> boxscape_: https://hackage.haskell.org/package/text-1.2.5.0/docs/Data-Text.html#g:22
01:23:18 <justsomeguy> The idea is to prevent invalid uses of taken with negative numbers by changing the type. I'm just kind of confused why ghci let's me run it with a negative number in the first place.
01:23:29 <dsal> > -5 :: Word
01:23:30 <lambdabot> 18446744073709551611
01:23:49 jinsun joins (~quassel@user/jinsun)
01:23:50 <dsal> You might try Natural.
01:23:56 <dsal> -5 :: Natural
01:23:59 <dsal> > -5 :: Natural
01:24:00 <lambdabot> error:
01:24:00 <lambdabot> Not in scope: type constructor or class ‘Natural’
01:24:04 <dsal> See, that doesn't work.
01:24:22 <dsal> @let import Numeric.Natural
01:24:23 <lambdabot> Defined.
01:24:25 <dsal> > -5 :: Natural
01:24:27 <lambdabot> *Exception: arithmetic underflow
01:24:37 <geekosaur> justsomeguy, it can't be a type error. it might be a different kind if error but you might need NumericLiterals because by default (-5) is a function application and the checking qould have to be runtime, not compile time
01:24:54 <dsal> This is similar to a conversation we were having recently. You can't really have a positive-only type.
01:24:54 <geekosaur> % :set -XNumericLiterals
01:24:54 <yahb> geekosaur: Some flags have not been recognized: -XNumericLiterals
01:25:07 <geekosaur> hm
01:25:39 <geekosaur> oh right, they reorganized that whole mess
01:25:54 <geekosaur> % :set -XLexicalNegation
01:25:54 <yahb> geekosaur:
01:25:56 × zava quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3)
01:26:06 <geekosaur> % (-5) :: Word
01:26:07 <yahb> geekosaur: ; <interactive>:30:2: warning: [-Woverflowed-literals] Literal -5 is out of the Word range 0..18446744073709551615; 18446744073709551611
01:26:32 <Nolrai2> Nice!
01:27:35 × jinsun__ quits (~quassel@user/jinsun) (Ping timeout: 268 seconds)
01:28:58 <dsal> The downside is that requires that to have been the case all along the calling path. One place missed and you just have a big number.
01:29:59 <justsomeguy> If I set that project-wide using stack, could I still encounter overflows?
01:30:01 <geekosaur> but that's what's happening now, with no possibility of even a warning
01:31:50 <geekosaur> possibly you'd have to also recompile any dependencies with the same flag
01:31:53 <arahael> Axman6: little difference, maybe, so why can't i build sdl2 in cabal (my llvm is too new), or why can't i "cabal install shake"? :)
01:32:33 <Axman6> probably because you're using a very newly supported architecture :) can you install older LLVM with homebrew?
01:32:40 <geekosaur> although at some point you might just have to trust that no dependency uses a negative number as a Word value
01:33:08 <geekosaur> because the warning (or error if -Werror) is thrown at the point the numeric literal appears
01:33:23 <geekosaur> and won't happen if you for example do
01:33:31 <geekosaur> % 3 - 4 :: Word
01:33:32 <yahb> geekosaur: 18446744073709551615
01:34:13 <geekosaur> that one would again have to be a runtime error, the compiler cannot detect this for you
01:36:03 <justsomeguy> Ok, interesting.
01:37:50 <Cajun> does GHC compute expressions consisting of purely literals pre-compilation? i havent heard anyone mention it so i assume not
01:37:50 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
01:38:13 <geekosaur> it does not
01:38:22 <Axman6> it doesn't do any sort of constant folding?
01:38:30 wei2912 joins (~wei2912@116.88.103.128)
01:38:47 <geekosaur> nope
01:38:58 <Cajun> has that idea been passed around?
01:39:05 <geekosaur> it's been discussed
01:39:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
01:39:47 <geekosaur> there are problems like (a) which operations do you constant fold (b) what are the laziness/strictness implications in each case
01:40:00 <boxscape_> doesn't it constant fold with RULES pragmas
01:40:12 <boxscape_> see e.g. https://gitlab.haskell.org/ghc/ghc/-/issues/9136
01:40:19 <geekosaur> RULES pragmas only know types, not whether something is a constant or not
01:40:35 <Axman6> LLVM can sometimes do it for you, I remember Don Stewart's posts on writing H?Askell faster than C years ago showing that you could get sum [1..1000000] to compile to a constant
01:40:50 Guest63 joins (~Guest63@2601:282:500:80c0:1165:8bfb:dd94:6233)
01:41:34 <geekosaur> (and "what operations" is complicated by typeclass instances in scope, potentially including nonstandard Num instances and such)
01:42:18 <geekosaur> (and there are indeed alternative Preludes which use different Num instances for even the basic types)
01:42:40 <geekosaur> basically the whole issue has a number of minefields you can't encounter in other languages
01:43:28 <Guest63> https://paste.tomsmeding.com/NlqoFQO2
01:44:01 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection)
01:44:10 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
01:44:12 <Guest63> I'm receiving an error whenever I am trying to test my function allAnswers
01:44:39 <Cajun> Axman6: https://mail.haskell.org/pipermail/haskell-cafe/2009-February/056248.html looks like something you are referring to
01:45:29 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
01:46:07 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
01:47:16 ph88_ joins (~ph88@2a02:8109:9e00:71d0:fc62:cdb:5eac:d781)
01:47:28 × curiousgay quits (~gay@77-120-141-90.kha.volia.net) (Quit: Leaving)
01:48:11 <Cajun> Guest63: are those `ints` in the type signature deliberately lowercase? try making that a capital-I Int
01:48:35 <geekosaur> won't work, you can't (usefully?) say Show Int as a constraint I think
01:48:55 <Cajun> well removing those should rid you of that issue yeah?
01:48:56 cheater joins (~Username@user/cheater)
01:49:22 <geekosaur> but that does look confusing and likely the cause, because I think that it can't do defaulting through shouldBe and therefore has no idea what type to use there
01:49:36 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
01:50:04 <Cajun> also shouldnt that be (a -> Maybe [b]) in `nonsense` since `allAnswers` expects (a -> Maybe [b])
01:50:22 <Cajun> or rather `Int -> Maybe Int`
01:50:28 jmorris joins (uid433911@id-433911.hampstead.irccloud.com)
01:50:39 <Cajun> s/Maybe Int/Maybe [Int]
01:51:11 × ph88^ quits (~ph88@2a02:8109:9e00:71d0:ccfc:bf5f:d318:f468) (Ping timeout: 245 seconds)
01:52:55 <monochrom> Then "Just n" makes no sense.
01:53:24 <monochrom> Well, it never made sense in the first place.
01:53:55 <Cajun> yeah i think changing the `int` to `Int` and following the type errors and trusting the compiler will lead to something that works
01:54:10 <Cajun> or a billion constraints, whichever comes first
01:56:28 lavaman joins (~lavaman@98.38.249.169)
01:56:38 <monochrom> Pessimistically I actually think that the current story state of affairs was the outcome of some kind of following the type errors and listening to compiler suggestions.
01:56:56 <monochrom> The original version had Int -> Maybe Int.
01:57:24 <monochrom> It did not fit allAnswer's expectations.
01:58:13 <monochrom> The student did not "understand" the error message. They decided that polymorphism would relax type restrictions. Afterall, it's "polymorphic".
01:58:21 <Guest63> https://paste.tomsmeding.com/z34BjgOM
01:58:22 <Cajun> yeah i do too, considering the show, eq, and num constraints. but i think those are because int wasnt capitalized so the compiler said to add those
01:58:36 <Guest63> I changed int to a, and gave the complete context
01:58:38 <monochrom> So it was changed to "int -> Maybe int" with a type variable.
01:58:39 × ph88_ quits (~ph88@2a02:8109:9e00:71d0:fc62:cdb:5eac:d781) (Ping timeout: 264 seconds)
01:59:01 <monochrom> And then the compiler "helpfully" suggested that "you need to add those Eq, Num, Show conditions".
02:00:38 <Cajun> thats what im thinking, yeah
02:00:39 <Guest63>  "int" wasn't supposed to be "Int". it was just a type variable, i've now changed it to "a" or similar.
02:00:46 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
02:00:48 <Cajun> ah welp
02:02:04 × burnsidesLlama quits (~burnsides@dhcp168-024.wadham.ox.ac.uk) (Remote host closed the connection)
02:02:36 burnsidesLlama joins (~burnsides@client-8-92.eduroam.oxuni.org.uk)
02:03:27 <awpr> if it's polymorphic, you'll have to choose a particular type to test it on -- e.g. try putting a type signature `2 :: Int` inside the test case input list
02:04:05 mimmy joins (~mimmy@2607:fea8:6e0:7f90:b4bd:ed21:7e07:d0e0)
02:05:48 <monochrom> I don't understand why allAnswers is not "(a -> Maybe b) -> [a] -> [b]".
02:05:53 <Cajun> im confused on `nonsense` being passed to `allAnswers`. `nonsense :: (a -> Maybe a)` and the first argument of allAnswers `(a -> Maybe [b])` are different arent they? unless a ~ [b]?
02:06:18 <c_wraith> monochrom: because then it's too obviously a variant of concatMap
02:06:46 <boxscape_> I can see "copyFile" in System.Directory, but if I'm seeing this correctly it doesn't work for directories. Is there a way to copy directories?
02:06:51 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
02:06:52 <monochrom> And I don't understand why "firstAnswer nonsense [2,3,4] `shouldBe` Just 3" (note that it is not Just 2) and yet the allAnswers version can have 2 in [2,3,4].
02:07:19 × burnsidesLlama quits (~burnsides@client-8-92.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
02:08:20 × Nolrai2 quits (~Nolrai2@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Client closed)
02:09:05 <Cajun> boxscape_: `Shelly` has good implementations of those kinda things, but i havent dabbled in that too much
02:09:15 <boxscape_> hm okay thanks
02:09:22 <dsal> I was about to link to that. heh
02:09:29 <dsal> It's a higher level abstraction needed, as the system doesn't typically have that.
02:09:42 <boxscape_> I see
02:09:51 <geekosaur> boxscape_, the problem is directory package wants to be system-agnostic but there's no system-agnostic way to copy a directory tree
02:09:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:10:00 <boxscape_> okay
02:10:40 <geekosaur> windows and unix do different things, at least if you want to copy all attributes
02:10:49 <boxscape_> right, makes sense
02:11:22 <geekosaur> Shelly can do it but I'm pretty sure it's unix-only
02:12:31 <boxscape_> cobbling something together in terms of directory's createDirectory and copyFile might be enough for me
02:13:33 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
02:13:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1)
02:14:41 × nf quits (~n@monade.li) (Quit: Fairfarren.)
02:14:53 nf joins (~n@monade.li)
02:21:27 × mvk quits (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 264 seconds)
02:22:26 emf joins (~emf@2620:10d:c090:400::5:3efc)
02:26:57 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
02:29:15 × emf quits (~emf@2620:10d:c090:400::5:3efc) (Ping timeout: 264 seconds)
02:29:24 caef^ joins (~caef@68.101.63.101)
02:29:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:29:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
02:29:48 wroathe joins (~wroathe@user/wroathe)
02:32:54 × Feuermagier_ quits (~Feuermagi@154.28.188.153) (Remote host closed the connection)
02:33:03 Feuermagier joins (~Feuermagi@user/feuermagier)
02:33:09 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
02:34:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
02:37:00 mimmy_ joins (~mimmy@2607:fea8:6e0:7f90:e81a:fa7:1342:3782)
02:37:04 <boxscape_> good news: it works. Bad news: I must have the wrong type signature somewhere, because it created 1479 copies of my directory instead of 25
02:37:16 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
02:37:29 <c_wraith> ... that sounds like AoC prep
02:37:47 <boxscape_> yep :)
02:38:02 × viluon quits (uid453725@id-453725.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
02:39:02 <c_wraith> you're prepared for the long version now!
02:39:13 mvk joins (~mvk@2607:fea8:5cc1:fa00::4702)
02:39:26 <boxscape_> good point
02:39:27 × mimmy quits (~mimmy@2607:fea8:6e0:7f90:b4bd:ed21:7e07:d0e0) (Ping timeout: 264 seconds)
02:40:58 × xff0x quits (~xff0x@2001:1a81:52f2:7200:e03c:a5df:843b:e9fd) (Ping timeout: 268 seconds)
02:41:51 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
02:42:03 <boxscape_> % newtype Day = MkDay {unDay :: Int} deriving (Enum, Eq, Ord, Num, Show, Read) via Int
02:42:03 <yahb> boxscape_:
02:42:10 <boxscape_> % instance Bounded Day where minBound = 1; maxBound = 25
02:42:10 <yahb> boxscape_:
02:42:16 <boxscape_> % [minBound :: Day ..]
02:42:22 <yahb> boxscape_: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127
02:42:27 <boxscape_> I expected this to stop at 25
02:42:28 xff0x joins (~xff0x@2001:1a81:5337:5300:80c9:d1d4:6212:bca5)
02:42:38 <geekosaur> Enum is not Bounded
02:42:53 <boxscape_> I suppose I can see why
02:42:59 <awpr> it got the Enum instance by taking the instance for `Int` and using it for `Day`
02:43:23 <boxscape_> yes, I expected enumFrom to check for maxBound (which doesn't make sense to be fair, looking at the type signature
02:43:24 <boxscape_> )
02:44:31 <geekosaur> where's merijn to complain about Enum and Bounded being wrong :þ
02:45:31 <boxscape_> boundedEnumFrom exists so that's nice
02:46:07 <EvanR> for some reason enumFrom screams "infinite" to me
02:46:21 <boxscape_> I always do things like [Monday ..] to get all the days of the week
02:46:35 <boxscape_> I hadn't considered before that [minBound..] can be different from [minBound..maxBound]
02:47:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
02:47:34 <boxscape_> (And I suppose it can't if you use `deriving stock (Bounded, Enum)`)
02:47:46 × lyxia quits (~lyxia@poisson.chat) (Ping timeout: 260 seconds)
02:48:14 × stilgart quits (~Christoph@chezlefab.net) (Ping timeout: 260 seconds)
02:48:20 × shane_ quits (~shane@ana.rch.ist) (Ping timeout: 246 seconds)
02:48:23 stilgart joins (~Christoph@chezlefab.net)
02:48:27 shane joins (~shane@ana.rch.ist)
02:48:32 <EvanR> tbf [minBound..] is technically not infinite? xD
02:48:50 <boxscape_> it is in the case I asked of yahb above
02:48:51 × peutri quits (~peutri@ns317027.ip-94-23-46.eu) (Ping timeout: 250 seconds)
02:49:02 × SIben quits (~SIben@ns3106586.ip-5-135-191.eu) (Ping timeout: 246 seconds)
02:49:04 <EvanR> > enumFrom 9223372036854775807 :: [Int]
02:49:05 <lambdabot> [9223372036854775807]
02:49:07 <EvanR> hmm
02:49:13 <boxscape_> ah, well
02:49:22 lyxia joins (~lyxia@poisson.chat)
02:49:23 × pippijn quits (~pippijn@ra.xinutec.org) (Ping timeout: 246 seconds)
02:49:23 <boxscape_> I suppose I would have to use Integer for it to be truly infinite
02:49:38 <EvanR> > [9223372036854775807 ..] :: [Int]
02:49:39 <lambdabot> [9223372036854775807]
02:49:46 <EvanR> hehe
02:50:21 × mimmy_ quits (~mimmy@2607:fea8:6e0:7f90:e81a:fa7:1342:3782) (Ping timeout: 245 seconds)
02:50:29 peutri joins (~peutri@ns317027.ip-94-23-46.eu)
02:50:50 SIben joins (~SIben@ns3106586.ip-5-135-191.eu)
02:51:13 pippijn joins (~pippijn@ra.xinutec.org)
02:51:17 <EvanR> varying levels of infinite
02:51:53 <EvanR> i can't really go through all the numbers in an Int... and Integer craps out at some point
02:52:21 mimmy_ joins (~mimmy@2607:fea8:6e0:7f90:50e8:62eb:be31:28d8)
02:52:28 <EvanR> (later)
02:53:14 × sluigi quits (~sluigi@2603-900a-1600-ba00-413a-d0a0-1d2f-7111.inf6.spectrum.com) (Quit: Client closed)
02:54:04 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:54:07 ph88_ joins (~ph88@2a02:8109:9e00:71d0:fc62:cdb:5eac:d781)
03:00:38 <arahael> I have this specific issue: https://github.com/corsis/clock/issues/70 - I noticed that it's just been closed, what must have been the fix?
03:03:01 × Guest63 quits (~Guest63@2601:282:500:80c0:1165:8bfb:dd94:6233) (Quit: Client closed)
03:03:13 <boxscape_> I have a better solution for my bounds issue now https://paste.tomsmeding.com/dcNwvBwN
03:03:44 <boxscape_> (last line is supposed to have `Between 1 25`, not `Between 1 2`)
03:04:11 <boxscape_> (also I accidentally wrote toEnum instead of fromEnum)
03:04:13 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
03:05:40 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
03:10:51 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
03:11:55 gdown joins (~gavin@h69-11-248-109.kndrid.broadband.dynamic.tds.net)
03:15:03 isovector1 joins (~isovector@S010650395555cb6e.gv.shawcable.net)
03:16:39 <dsal> boxscape_: https://hackage.haskell.org/package/finite-typelits
03:17:09 <boxscape_> thanks
03:17:31 ec joins (~ec@gateway/tor-sasl/ec)
03:17:51 × mimmy_ quits (~mimmy@2607:fea8:6e0:7f90:50e8:62eb:be31:28d8) (Ping timeout: 245 seconds)
03:19:54 mimmy_ joins (~mimmy@2607:fea8:6e0:7f90:fd83:28f5:d4ef:37d4)
03:19:58 Axma59590 joins (~Axman6@user/axman6)
03:20:42 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 260 seconds)
03:20:44 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:20:44 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:20:44 finn_elija is now known as FinnElija
03:22:31 <dsal> boxscape_: I used this a couple days ago. It's pretty great: https://dustin.github.io/tesla/Tesla-Car-Command.html
03:22:50 <dsal> Tesla API takes an int number of minutes since midnight.
03:22:57 × pfurla quits (~pfurla@2804:14d:5c81:4104:7d52:bf34:226e:199c) (Quit: gone to sleep. ZZZzzz…)
03:24:57 boxscape_72 joins (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de)
03:25:06 boxscape_72 is now known as boxscape__
03:25:30 <boxscape__> dsal yeah definitely looks useful
03:25:35 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
03:25:46 × renzhi quits (~xp@2607:fa49:6500:b100::6e7f) (Ping timeout: 245 seconds)
03:27:13 × boxscape_ quits (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
03:27:28 × boxscape__ quits (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (Client Quit)
03:28:24 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
03:29:29 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
03:30:20 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:30:25 mimmy joins (~mimmy@2607:fea8:6e0:7f90:da6:ed1e:9ca5:1d2)
03:32:11 × isovector1 quits (~isovector@S010650395555cb6e.gv.shawcable.net) (Quit: Leaving)
03:32:51 × mimmy_ quits (~mimmy@2607:fea8:6e0:7f90:fd83:28f5:d4ef:37d4) (Ping timeout: 264 seconds)
03:33:29 × hiruji quits (~hiruji@user/hiruji) (Ping timeout: 250 seconds)
03:37:28 renzhi joins (~xp@2607:fa49:6500:b100::5cef)
03:38:33 <dsal> I rewrote a recursive function with `fix` and I'm not sure why I did that. Are there places where it makes sense?
03:38:36 hiruji joins (~hiruji@user/hiruji)
03:39:15 mbuf joins (~Shakthi@223.178.98.255)
03:39:34 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
03:40:10 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 268 seconds)
03:40:26 mimmy_ joins (~mimmy@2607:fea8:6e0:7f90:2900:5624:d5f:15dc)
03:43:03 × mimmy quits (~mimmy@2607:fea8:6e0:7f90:da6:ed1e:9ca5:1d2) (Ping timeout: 264 seconds)
03:46:17 jinsun__ joins (~quassel@user/jinsun)
03:46:53 <EvanR> sometimes fix makes the whole thing smaller
03:47:20 <EvanR> and pretty much guarantees someone (possibly you) will look at the code later and not know wtf is happening
03:47:30 <c_wraith> I like fix in very limited cases, where it means I don't have to define a recursive operation inline and call it in separate steps.
03:48:11 × td_ quits (~td@94.134.91.203) (Ping timeout: 268 seconds)
03:48:56 <c_wraith> like... fix $ \loop -> do ...
03:49:25 × jinsun quits (~quassel@user/jinsun) (Ping timeout: 268 seconds)
03:49:52 td_ joins (~td@94.134.91.109)
03:51:46 mimmy joins (~mimmy@2607:fea8:6e0:7f90:88c3:30a7:232e:140)
03:53:51 × mimmy_ quits (~mimmy@2607:fea8:6e0:7f90:2900:5624:d5f:15dc) (Ping timeout: 264 seconds)
03:57:26 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
04:00:08 × mimmy quits (~mimmy@2607:fea8:6e0:7f90:88c3:30a7:232e:140) (Quit: WeeChat 3.3)
04:01:06 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
04:01:36 yauhsien_ joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
04:02:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:02:47 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:03:12 × russruss quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
04:03:49 russruss joins (~russruss@my.russellmcc.com)
04:04:37 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Read error: Connection reset by peer)
04:09:30 × yauhsien_ quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Remote host closed the connection)
04:15:23 <dsal> Ah, yeah. I think I needed mfix once ever. Then I later didn't need it.
04:15:55 <dsal> In this particular case, I just noticed I changed it and didn't commit it, so I have the smaller version which is easier to read as a reference. heh
04:20:18 × jmorris quits (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
04:21:23 brainfreeze joins (~brainfree@2a03:1b20:4:f011::20d)
04:24:25 sprout_ joins (~quassel@2a02:a467:ccd6:1:3017:c1dd:5d13:2be1)
04:27:51 × sprout quits (~quassel@2a02:a467:ccd6:1:cd02:5ed5:f7c5:1e43) (Ping timeout: 245 seconds)
04:29:42 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
04:36:39 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
04:37:01 deadmarshal joins (~deadmarsh@95.38.117.32)
04:37:38 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
04:39:44 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
04:40:41 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
04:44:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:45:27 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 264 seconds)
04:47:22 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
04:49:05 retroid_ joins (~retro@97e2ba2e.skybroadband.com)
04:50:06 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
04:51:46 × mbuf quits (~Shakthi@223.178.98.255) (Quit: Leaving)
04:52:54 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
04:54:14 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
04:57:27 × jbox quits (~jbox@user/jbox) (Ping timeout: 264 seconds)
04:58:29 × ph88_ quits (~ph88@2a02:8109:9e00:71d0:fc62:cdb:5eac:d781) (Ping timeout: 268 seconds)
04:58:41 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
05:03:34 rkrishnan joins (~user@122.172.141.170)
05:04:06 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 245 seconds)
05:04:37 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
05:07:23 jmorris joins (uid433911@id-433911.hampstead.irccloud.com)
05:09:16 × caef^ quits (~caef@68.101.63.101) (Remote host closed the connection)
05:09:48 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
05:09:54 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
05:13:04 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
05:13:16 <EvanR> recursive do can be used to manually create looping data structures, but I'm not sure if its practical
05:13:42 <EvanR> I guess it could be a slick way to generate a node list
05:13:47 <EvanR> of a graph
05:17:26 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
05:18:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
05:22:36 dsrt^ joins (~dsrt@68.101.63.101)
05:23:08 jinsun joins (~quassel@user/jinsun)
05:26:51 × jinsun__ quits (~quassel@user/jinsun) (Ping timeout: 268 seconds)
05:29:04 zebrag joins (~chris@user/zebrag)
05:31:09 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
05:31:42 sprout joins (~quassel@2a02:a467:ccd6:1:cb:bef4:82f4:b2d6)
05:32:33 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
05:33:56 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
05:34:47 reumeth joins (~reumeth@user/reumeth)
05:35:15 × sprout_ quits (~quassel@2a02:a467:ccd6:1:3017:c1dd:5d13:2be1) (Ping timeout: 250 seconds)
05:36:51 <dsal> I was reading some of the RULES in Data.List and see `foldr/id" foldr (:) [] = \x -> x` and... that's kind of weird.
05:40:59 × gaff quits (~gaff@49.207.195.213) (Remote host closed the connection)
05:41:11 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 245 seconds)
05:41:33 <rkrishnan> trying to build ghcjs from their default branch 8.10.7 and the build process builds ghc and gives me this error: https://pastebin.com/YDi0QaTr I pasted the code around the reported line here: https://pastebin.com/8qFquJHg Seem like the #include in the previous line is the culprit?
05:46:50 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
05:47:34 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:47:34 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
05:47:34 wroathe joins (~wroathe@user/wroathe)
05:48:30 betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be)
05:52:45 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
05:56:54 jbox joins (~jbox@user/jbox)
05:57:18 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
05:57:51 × drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 245 seconds)
05:58:14 lavaman joins (~lavaman@98.38.249.169)
05:59:21 sayola joins (~vekto@dslb-002-201-085-156.002.201.pools.vodafone-ip.de)
06:01:51 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
06:02:15 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 264 seconds)
06:02:53 drdo joins (~drdo@roach0.drdo.eu)
06:02:54 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
06:03:57 deadmarshal joins (~deadmarsh@95.38.117.32)
06:04:18 <arahael> Can I specify a default set of additional ghc-options to be used system-wide?
06:04:21 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
06:04:36 <arahael> Getting a bit tired of typing the likes of: cabal run --ghc-option=(pkg-config --cflags libffi)
06:06:35 <xsperry> IIRC I there's a way to do that, but the more common approach is to put it in ghc-options section of the project's cabal file
06:07:03 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:07:29 <xsperry> {-# OPTIONS_GHC ... #-} on top of the file works too
06:08:17 <arahael> xsperry: It needs to be applied to the modules that cabal would install as dependencies, though.
06:08:36 sub0 joins (~bc8165b6@217.29.117.252)
06:08:48 <arahael> Ie, I really do want it to be as global as I've got it there.
06:08:58 <arahael> Otherwise I can't install or build anything that requires the ffi.
06:10:11 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
06:11:03 ph88_ joins (~ph88@2a02:8109:9e00:71d0:e191:f0f5:a80a:e4b9)
06:12:45 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
06:13:00 <sub0> arahael, wellshouldn't those modules have ffi specified in their cabal file, if they require it? I never had problems installing modules that require FFI, without specifying any global cabal options
06:13:30 <arahael> sub0: I have this bug: https://gitlab.haskell.org/ghc/ghc/-/issues/20592
06:14:31 gaff joins (~gaff@49.207.199.69)
06:18:29 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:18:29 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
06:18:29 wroathe joins (~wroathe@user/wroathe)
06:18:41 × gaff quits (~gaff@49.207.199.69) (Ping timeout: 245 seconds)
06:23:17 chomwitt joins (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374)
06:23:22 <sub0> arahael, I never encountered similar error. perhaps ask your question again at a more busy hour
06:23:26 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
06:24:25 <c_wraith> arahael: the last comment there suggests you can just set an env variable
06:25:52 <arahael> Oh, of course. Let me try that.
06:25:56 × chomwitt quits (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer)
06:27:32 <arahael> That does work a charm. :)
06:30:27 × infinity0 quits (~infinity0@occupy.ecodis.net) (Ping timeout: 264 seconds)
06:31:33 infinity0 joins (~infinity0@occupy.ecodis.net)
06:33:07 × quintasan quits (~quassel@quintasan.pl) (Quit: No Ping reply in 180 seconds.)
06:34:15 quintasan joins (~quassel@quintasan.pl)
06:37:45 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
06:37:46 × jbox quits (~jbox@user/jbox) (Read error: Connection reset by peer)
06:38:36 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
06:40:41 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Remote host closed the connection)
06:42:03 jbox joins (~jbox@user/jbox)
06:43:02 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
06:43:43 gaff joins (~gaff@49.207.222.229)
06:43:59 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
06:46:35 zaquest joins (~notzaques@5.130.79.72)
06:47:24 emf joins (~emf@163.114.132.7)
06:50:37 sprout_ joins (~quassel@2a02:a467:ccd6:1:4de4:2055:b8c4:f1e)
06:54:27 × sprout quits (~quassel@2a02:a467:ccd6:1:cb:bef4:82f4:b2d6) (Ping timeout: 264 seconds)
07:01:53 mei joins (~mei@user/mei)
07:02:40 × mei quits (~mei@user/mei) (Client Quit)
07:04:27 mei joins (~mei@user/mei)
07:04:30 × brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Quit: Leaving)
07:07:40 jakalx parts (~jakalx@base.jakalx.net) ()
07:08:36 jakalx joins (~jakalx@base.jakalx.net)
07:08:40 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
07:13:53 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
07:14:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:16:39 × statusbot3 quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
07:16:52 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
07:16:56 yuri joins (~yuri@85.89.126.31)
07:18:51 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3)
07:20:31 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
07:21:08 fr33domlover joins (~fr33@2.55.142.25)
07:21:37 yauhsien joins (~yauhsien@49.216.238.61)
07:28:37 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 256 seconds)
07:31:34 trillp joins (~trillp@69.233.98.238)
07:31:38 deadmarshal joins (~deadmarsh@95.38.117.32)
07:32:24 × yauhsien quits (~yauhsien@49.216.238.61) (Remote host closed the connection)
07:34:16 yauhsien joins (~yauhsien@49.216.238.61)
07:35:39 cosimone joins (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
07:36:45 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:37:11 × jmorris quits (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
07:38:19 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 250 seconds)
07:41:36 × xff0x quits (~xff0x@2001:1a81:5337:5300:80c9:d1d4:6212:bca5) (Ping timeout: 245 seconds)
07:42:40 xff0x joins (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05)
07:47:03 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:48:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:49:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
07:49:16 trcc joins (~trcc@users-1190.st.net.au.dk)
07:49:35 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:50:36 × gdown quits (~gavin@h69-11-248-109.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
07:53:49 × trcc quits (~trcc@users-1190.st.net.au.dk) (Client Quit)
07:55:29 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:55:46 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:56:42 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:58:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:58:30 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:00:10 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:01:48 lortabac joins (~lortabac@2a01:e0a:541:b8f0:30f2:c6f2:bddd:bf44)
08:03:08 deadmarshal joins (~deadmarsh@95.38.117.32)
08:04:59 × thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 250 seconds)
08:04:59 × cfebs quits (~cfebs@user/cfebs) (Ping timeout: 250 seconds)
08:05:23 drewolson3 joins (~drewolson@user/drewolson)
08:05:49 cfebs joins (~cfebs@user/cfebs)
08:05:51 × abrar_ quits (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Ping timeout: 250 seconds)
08:06:15 abrar_ joins (~abrar@static-108-2-152-54.phlapa.fios.verizon.net)
08:06:17 × drewolson quits (~drewolson@user/drewolson) (Ping timeout: 250 seconds)
08:06:17 × jlamothe quits (~jlamothe@198.251.61.229) (Ping timeout: 250 seconds)
08:06:17 drewolson3 is now known as drewolson
08:06:23 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 264 seconds)
08:06:29 jlamothe joins (~jlamothe@198.251.61.229)
08:07:17 thaumavorio joins (~thaumavor@thaumavor.io)
08:09:35 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:10:17 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
08:13:19 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:13:20 × yauhsien quits (~yauhsien@49.216.238.61) (Read error: Connection reset by peer)
08:13:36 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:14:05 cfricke joins (~cfricke@user/cfricke)
08:15:12 × ph88_ quits (~ph88@2a02:8109:9e00:71d0:e191:f0f5:a80a:e4b9) (Ping timeout: 268 seconds)
08:15:47 lavaman joins (~lavaman@98.38.249.169)
08:16:27 gehmehgeh joins (~user@user/gehmehgeh)
08:16:32 chele joins (~chele@user/chele)
08:19:29 acidjnk joins (~acidjnk@p200300d0c7271e75119700900401854f.dip0.t-ipconnect.de)
08:20:45 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
08:21:25 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
08:22:09 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Remote host closed the connection)
08:22:21 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection)
08:23:59 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 260 seconds)
08:25:58 michalz joins (~michalz@185.246.204.45)
08:27:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:30:29 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
08:33:09 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:33:27 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:37:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:37:25 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:38:31 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:42:38 ph88_ joins (~ph88@2a02:8109:9e00:71d0:e191:f0f5:a80a:e4b9)
08:45:37 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:45:55 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:46:23 jgeerds joins (~jgeerds@55d45b75.access.ecotel.net)
08:46:44 lavaman joins (~lavaman@98.38.249.169)
08:47:09 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
08:47:37 ChaiTRex joins (~ChaiTRex@user/chaitrex)
08:52:40 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
08:53:51 × mvk quits (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 264 seconds)
08:53:58 Unhammer joins (~Unhammer@user/unhammer)
08:54:21 whatif joins (~user@2400:8902::f03c:92ff:fe60:98d8)
08:54:43 <whatif> is linked list useful in haskell?
08:55:02 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
08:55:39 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:55:45 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
08:55:55 <kuribas> whatif: why wouldn't it be?
08:56:09 <kuribas> Most of the prelude functions are on linked lists.
08:56:24 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:56:53 <whatif> I haven't used it, I don't know what case it is for
08:57:15 <kuribas> I guess that means you haven't used haskell at all?
08:57:31 <whatif> ...
08:58:24 <kuribas> lists and maps are pretty much the most used collection in my code.
08:58:32 <merijn> whatif: That's not a weird question. I would honestly be fairly astonished if you haven't used linked lists in Haskell
08:58:40 <whatif> I learn a few language, like python kotlin and haskell, I don't know when to use "linked list"
08:59:12 <dminuoso> whatif: In Haskell, the regular list type [] is used often as a plain substitute for generic lists or implicitly for control flow
08:59:17 <merijn> whatif: Haskell's list *is* a linked list, so if you've used lists in haskell, you already have used them
08:59:18 <dminuoso> It's very ubiquitious
08:59:41 <dminuoso> Even when you use String, you are using a list because `type String = [Char]`
08:59:54 <dminuoso> (Of course whether that was ever a good idea is debatable)
08:59:56 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:59:57 <kuribas> whatif: whenever you need to store many values.
09:01:00 <whatif> I saw someone implement a linked list with class in python, I don't know what's the point
09:01:20 <whatif> like implement a linked list in haskell?
09:01:37 max22- joins (~maxime@2a01cb0883359800b50cd0817109af2c.ipv6.abo.wanadoo.fr)
09:01:41 <whatif> and [] is already a linked list, what's the point?
09:01:48 <dminuoso> What's the point of what?
09:02:03 <whatif> to creat a new linked list
09:02:08 <kuribas> whatif: indeed, there is no point in reimplementing a linked list in haskell, except for teaching the concept.
09:02:13 <dminuoso> Who is telling yout o "create a new linked list", whatif?
09:02:43 <whatif> dminuoso: I saw someone's code is doing that
09:02:44 <kuribas> whatif: though many guides do it show that a list is not a primitive in haskell.
09:02:58 AlexNoo_ is now known as AlexNoo
09:03:00 <dminuoso> whatif: Ask them, then?
09:03:12 <dminuoso> Without knowing more details, we cant tell you why someone else did what they did.
09:03:29 <whatif> right
09:03:45 neurocyte0132889 joins (~neurocyte@212.232.84.133)
09:03:45 × neurocyte0132889 quits (~neurocyte@212.232.84.133) (Changing host)
09:03:45 neurocyte0132889 joins (~neurocyte@user/neurocyte)
09:05:27 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:05:45 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:05:48 <kuribas> whatif: use only good code as examples of writing haskell, not bad code.
09:06:10 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
09:06:36 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
09:08:26 deadmarshal joins (~deadmarsh@95.38.117.32)
09:11:23 <sub0> I can't see any practical reason for implementing and then using your own linked list in haskell, vs a built in one. so it was probably in the context of teaching
09:12:43 <merijn> sub0: Well, NonEmpty is one :p
09:13:12 <kuribas> Or doubly linked one, use tie the knot?
09:13:28 <kuribas> Hard to know without whatif giving more info.
09:16:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:16:30 × trillp quits (~trillp@69.233.98.238) (Quit: nyaa~)
09:16:32 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:16:55 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
09:17:27 geekosaur joins (~geekosaur@xmonad/geekosaur)
09:18:29 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
09:20:11 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:20:29 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:22:48 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
09:24:28 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:24:36 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
09:24:45 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:26:57 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
09:28:39 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8) (Ping timeout: 264 seconds)
09:31:14 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:31:29 × gaff quits (~gaff@49.207.222.229) (Remote host closed the connection)
09:31:31 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:33:11 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:33:29 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:33:55 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
09:34:10 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
09:36:12 atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net)
09:38:08 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
09:38:35 alzgh joins (~alzgh@user/alzgh)
09:41:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:42:01 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:43:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:43:59 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:45:39 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:45:57 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:47:45 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:48:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:50:16 CiaoSen joins (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
09:51:47 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
09:52:45 neurocyte0132889 joins (~neurocyte@212.232.84.133)
09:52:45 × neurocyte0132889 quits (~neurocyte@212.232.84.133) (Changing host)
09:52:45 neurocyte0132889 joins (~neurocyte@user/neurocyte)
09:56:23 × cosimone quits (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection)
09:56:44 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
09:56:48 fr33domlover_ joins (~fr33@2.55.143.230)
09:56:51 × fr33domlover quits (~fr33@2.55.142.25) (Ping timeout: 264 seconds)
09:56:55 cosimone joins (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
09:58:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
09:59:01 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
09:59:59 chomwitt joins (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374)
10:01:09 DNH joins (~DNH@2a02:8108:1100:16d8:a418:17da:6b4f:5fc3)
10:02:18 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
10:02:26 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds)
10:02:34 ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
10:04:25 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
10:06:04 <rkrishnan> Does ghcjs support compiling packages that has C code?
10:07:58 <merijn> Almost certainly not
10:11:17 × Moyst quits (~moyst@user/moyst) (Ping timeout: 250 seconds)
10:12:03 <rkrishnan> merijn: thanks. That is what I guessed too. But then I saw emcc being used. Seem like it is only used as a preprocessor?
10:12:43 Moyst joins (~moyst@user/moyst)
10:12:45 <rkrishnan> I guess this means, packages that depend on cryptonite cannot be compiled using ghcjs. :-(
10:14:31 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:14:48 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:15:27 × cosimone quits (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 268 seconds)
10:15:36 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
10:15:55 kmein joins (~weechat@user/kmein)
10:16:53 canxiu joins (uid524910@id-524910.helmsley.irccloud.com)
10:17:31 <[exa]> rkrishnan: not sure that it would be a great idea even if it worked, you'd lose most of the good properties of the implemnetation there anyway
10:19:46 × td_ quits (~td@94.134.91.109) (Ping timeout: 268 seconds)
10:20:20 <rkrishnan> [exa]: yes, agreed.
10:21:00 <[exa]> otoh "at least it would work"... :D
10:21:23 td_ joins (~td@94.134.91.173)
10:22:40 <kuribas> merijn: no webassembly hack?
10:25:31 <merijn> I dunno
10:25:48 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
10:26:45 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:28:41 × mcglk quits (~mcglk@131.191.49.120) (Remote host closed the connection)
10:30:06 mcglk joins (~mcglk@131.191.49.120)
10:30:31 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
10:31:18 puke joins (~puke@user/puke)
10:32:01 × ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
10:32:14 ubert joins (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33)
10:34:25 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:34:42 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
10:34:42 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:35:39 × DNH quits (~DNH@2a02:8108:1100:16d8:a418:17da:6b4f:5fc3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:36:40 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:36:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:38:31 DNH joins (~DNH@2a02:8108:1100:16d8:a418:17da:6b4f:5fc3)
10:39:27 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 264 seconds)
10:41:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:41:24 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:43:04 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:43:22 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:45:02 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:45:19 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:46:59 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:47:16 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:48:56 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:49:14 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:51:23 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:51:40 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:52:21 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:30f2:c6f2:bddd:bf44) (Quit: WeeChat 2.8)
10:54:22 mmhat joins (~mmh@55d43159.access.ecotel.net)
10:55:09 deadmarshal joins (~deadmarsh@95.38.117.32)
10:57:39 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:57:56 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
10:58:01 mc47 joins (~mc47@xmonad/TheMC47)
10:59:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
10:59:59 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:01:39 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:01:57 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:03:37 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:03:56 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:05:36 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:05:55 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:06:23 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
11:08:52 <dminuoso> Gah, why do let bindings in do-notation force Monad while ApplicativeDo is enabled?
11:09:13 <dminuoso> Couldn't GHC assume referential transparency, and just inline the let binding instead?
11:09:56 × Moyst quits (~moyst@user/moyst) (Ping timeout: 245 seconds)
11:10:04 Nselm joins (~Nselm@p200300d56f0dd27991c77759d1a6858b.dip0.t-ipconnect.de)
11:11:42 <opqdonut> dminuoso: let <pattern> = ... needs MonadFail I guess? Maybe GHC doesn't detect whether patterns can fail?
11:12:58 Moyst joins (~moyst@user/moyst)
11:13:31 <dminuoso> opqdonut: Id be surprised if it did. MonadFail is about pattern matches on <-, no?
11:13:52 <dminuoso> @undo do { let x = 1; pure () }
11:13:52 <lambdabot> <unknown>.hs:1:25:Parse error: }
11:14:34 <opqdonut> > do let Just x = Nothing; [True]
11:14:35 <lambdabot> <hint>:1:32: error:
11:14:35 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
11:14:41 <opqdonut> > do {let Just x = Nothing; [True]}
11:14:43 <lambdabot> <hint>:1:33: error: parse error on input ‘}’
11:14:45 <opqdonut> meh
11:14:51 <dminuoso> Yeah I cant figure it out either
11:15:51 <dminuoso> undo do {a <- x; let b = a; f a b }
11:15:53 <dminuoso> @undo do {a <- x; let b = a; f a b }
11:15:53 <lambdabot> <unknown>.hs:1:30:Parse error: }
11:16:18 oxide joins (~lambda@user/oxide)
11:16:59 <dminuoso> @undo do let { x = 1} in pure ()
11:16:59 <lambdabot> let { x = 1} in pure ()
11:17:02 <dminuoso> opqdonut: ^-
11:17:30 × jbox quits (~jbox@user/jbox) (Read error: Connection reset by peer)
11:18:17 <kuribas> dminuoso: probably applicativeDo is done before optimizations.
11:20:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:21:11 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:21:33 <kuribas> dminuoso: but I find it a rather half-assed extension.
11:21:45 <kuribas> Perhaps it is hard to do whole-assed.
11:23:17 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
11:24:57 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:25:14 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:25:40 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:28:08 <opqdonut> dminuoso: I'd expect "let ... in ..." to work in ApplicativeDo, but that's different from "let ...;"
11:29:19 <opqdonut> but looks like I was wrong about MonadFail, at least the Haskell2010 standard specifies that <- generates calls to fail but let doesn't
11:29:31 mreh joins (~mreh@2a00:23c7:2803:ef00:2cfc:8111:4bd9:f4d7)
11:31:11 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:31:30 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:33:10 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:33:28 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:33:57 × mreh quits (~mreh@2a00:23c7:2803:ef00:2cfc:8111:4bd9:f4d7) (Ping timeout: 256 seconds)
11:35:37 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:35:56 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:36:43 × deadmarshal quits (~deadmarsh@95.38.117.32) (Ping timeout: 260 seconds)
11:36:53 <dminuoso> kuribas: Im not talking about inlining as an optimization.
11:37:08 <dminuoso> Im talking about inlining as a sort of gap filler
11:37:42 <dminuoso> In the sense of "If ApplicativeDo is enabled, do an additional pass on the do-block inlining all let bindings"
11:38:15 <opqdonut> that might surprise some users
11:38:23 <opqdonut> breaks the "a defined name is evaluated at most once" rule
11:39:18 <kuribas> dminuoso: it looks to me like there is a lot of overhanging fruit for ApplicativeDo.
11:39:28 <kuribas> But maybe there are subtle details that I don't see...
11:39:57 <dminuoso> opqdonut: Where is that rule written?
11:40:27 <dminuoso> Haskell already does inlining everywhere anyway
11:40:34 <dminuoso> So I dont have that guarantee either way
11:41:03 deadmarshal joins (~deadmarsh@95.38.114.216)
11:41:34 <dminuoso> Or differently phrased: if what you wrote was true, haskell could *never* inline something that was named
11:41:43 <dminuoso> Or inline it twice, at least.
11:41:51 × CiaoSen quits (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
11:44:05 <opqdonut> dminuoso: it's my mental model for reasoning about haskell performance, at least, and it's kinda the definition of lazy evaluation
11:44:12 <opqdonut> but yeah it might not be strictly true
11:44:22 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
11:44:31 <opqdonut> (heh, strictly)
11:44:43 <dminuoso> cute pun indeed :()
11:45:26 <dminuoso> opqdonut: Im not sure you even need that for lazy evaluation, as long as its not observably different. The only place this matters for is tractable sharing
11:45:41 <dminuoso> Because sharing relies on GHC not inlining the very definition
11:46:22 <opqdonut> mhmm
11:46:27 <dminuoso> And infact, there's a good reason global IORefs use NOLINE
11:46:31 <dminuoso> NOINLINE even
11:47:09 <dminuoso> Because otherwise GHC would be free to inline that `foo = unsafePerformIO (newIORef "foo")` everywhere
11:48:46 <dminuoso> Maybe Ill throw this question towards the GHC folks, they ought to know what the simplifier does best
11:48:47 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
11:49:32 <arahael> Am I able to have two different versions of ghcup and have it manage their own haskells?
11:51:12 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:51:29 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:52:03 × Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 264 seconds)
11:53:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
11:53:58 boxscape_ joins (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de)
11:54:00 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
11:54:25 <arahael> (It's not a stupid question - I basically want to have two different architectures installed simultaniously)
11:57:02 <boxscape_> If I use unsafePerformIO to read a config file, is it advisable to add a NOINLINE pragma?
11:57:45 <tomsmeding> dminuoso: I would love for ghc to inline my 1 + x, but wouldn't like my ghc to inline 'sum (primesUntil 1e8)'
11:58:05 <tomsmeding> the definition of work duplication becomes fuzzy when talking about optimising compilers, because sometimes duplication of work is beneficial
11:58:24 <dminuoso> boxscape_: My two cents are, probably yes?
11:58:32 <tomsmeding> but I wouldn't want this to influence whether my do block has a MonadFail constraint -- that's a huge breaking of abstraction
11:58:49 <dminuoso> boxscape_: Ive been bitten sorely by unsafePerformIO in multiple ways, suggesting what GHC does is not very intuitive.,
11:58:55 <tomsmeding> boxscape_: if you don't want your program to sometimes read the config file lots of times :)
11:58:55 <boxscape_> okay
11:59:02 <boxscape_> makes sense
11:59:11 <nf> how can i turn a lens into a Context/Pretext?
11:59:22 <nf> i mean applying it to some structure
11:59:26 <dminuoso> boxscape_: My favourite was doing something like `traverse (\x -> Foo { field1 = x, field2 = unsafePerformIO (newIORef []) ) structure`
11:59:37 <dminuoso> GHC floated that IORef out, sharing all those mutable buffers into one
11:59:44 <boxscape_> oh, nice
12:00:03 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
12:01:00 <dminuoso> nf: You use `sell`
12:01:04 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:01:12 <dminuoso> See https://hackage.haskell.org/package/lens-5.1/docs/src/Control.Lens.Lens.html#cloneLens for instance
12:01:33 <nf> hm, thanks
12:01:45 <nf> isn't that internal
12:01:52 <dminuoso> Yes.
12:02:09 <dminuoso> You asked how to turn it into Pretext, I answered? :p
12:02:21 <dminuoso> nf: What is the problem you are trying to solve?
12:02:26 lortabac joins (~lortabac@2a01:e0a:541:b8f0:3095:3db8:3339:3962)
12:02:32 viluon joins (uid453725@id-453725.helmsley.irccloud.com)
12:04:06 × yuri quits (~yuri@85.89.126.31) (Remote host closed the connection)
12:04:12 <nf> i have a list, say [1, 2, 3]. i want to apply a function Int -> [Int] to each element and get a list of lists
12:04:28 pfurla joins (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c)
12:04:45 <dminuoso> Im a bit baffled, how do you possibly arrive at Context/Pretext with that question?
12:05:07 yuri joins (~yuri@85.89.126.31)
12:05:08 <nf> good question
12:05:32 <dminuoso> Anyway. You just use `fmap` or its operator version `<$>`
12:05:44 <nf> that's not what i mean
12:05:49 <nf> say f is \n -> replicate n n
12:06:00 <nf> i want to get [[1, 2, 3], [1, 2, 2, 3], [1, 2, 3, 3, 3]]
12:06:19 __monty__ joins (~toonn@user/toonn)
12:06:25 <nf> my current idea is to use suffixed suffix . prefixed prefix
12:06:33 <nf> where suffix/prefix map over the tails and inits
12:06:43 <nf> that gets me a list of lenses
12:07:03 <dminuoso> Im not sure I see the pattern here
12:07:03 <nf> then i guess i can just use the lenses on the initial list, i don't really need contexts
12:07:15 <dminuoso> And Im also not sure what this has to do with lenses yet
12:07:44 <dminuoso> You want the nth element to be replicated n times in place?
12:08:01 <nf> that particular f is only an example
12:08:05 <nf> it should work for any f
12:08:21 <nf> the [] in f's return type isn't nondeterminism, it's the thing i want to insert in place of the element
12:08:36 <dminuoso> Ah I see
12:08:42 <nf> btw i'm not married to lists, if there's a data structure with a better interface for this i'm all ears
12:09:12 <nf> Sequence has sliced but it applies f to each element of the slice. vector has sliced too but it comes with a big warning "don't change the length of the list"
12:09:45 <nf> and if you want the FULL full context, i'm trying to solve advent of code 2015 day 19 part 1.
12:10:19 arahael is impressed :)
12:10:21 <nf> (in an elegant and/or overengineered way)
12:10:40 <arahael> I drown the past years in sorrow and continue blindly forwards each year. ;)
12:11:06 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
12:11:13 <dminuoso> nf: So intuitively Id stare at contextsOf
12:11:23 × Moyst quits (~moyst@user/moyst) (Ping timeout: 268 seconds)
12:11:28 <dminuoso> This has Plated written all over it
12:11:56 <nf> yeah but the contexts given by contextsOf don't really let you insert a list into a single element
12:13:07 Moyst joins (~moyst@user/moyst)
12:15:21 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
12:15:38 notzmv joins (~zmv@user/notzmv)
12:16:36 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 245 seconds)
12:17:06 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:17:41 <nf> maybe there's something to do with iconcatMap
12:18:28 <nf> or concatMapOf
12:18:55 <dminuoso> nf: The closest thing I can see is actually Monad on Tree
12:19:02 <dminuoso> Is this what you are after?
12:19:20 <nf> i was thinking about that
12:19:39 <dminuoso> Or rather Monad even on List
12:20:14 <nf> that would be the iconcatMap idea
12:20:50 ph88^ joins (~ph88@2a02:8109:9e00:71d0:6dfb:d68d:ebe:207)
12:21:02 <nf> iconcatMap (\i x -> if i == j then f x else [x]) where j ranges over the length of the list
12:21:03 <dminuoso> Yeah I guess
12:22:09 <dminuoso> nf: Though I think the i is a red herring, since you can trivially just zip some index into the structure
12:22:35 <dminuoso> As long as its Traversable, anyway
12:22:42 <nf> yes, it's just convenient
12:24:45 × ph88_ quits (~ph88@2a02:8109:9e00:71d0:e191:f0f5:a80a:e4b9) (Ping timeout: 250 seconds)
12:26:30 × canxiu quits (uid524910@id-524910.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
12:28:07 lavaman joins (~lavaman@98.38.249.169)
12:29:47 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:30:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:31:44 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:32:03 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:33:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:34:02 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:35:07 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
12:35:59 Unhammer joins (~Unhammer@user/unhammer)
12:36:25 deadmarshal joins (~deadmarsh@95.38.114.216)
12:36:38 betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be)
12:37:28 <nf> ugh, my prefixed . suffixed idea just unfolds itself into normal lens-free code
12:37:56 <nf> hate when that happens
12:39:47 × Unhammer quits (~Unhammer@user/unhammer) (Quit: WeeChat 2.3)
12:44:45 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:45:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:46:44 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:47:03 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:48:47 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:49:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:50:59 × jgeerds quits (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 250 seconds)
12:52:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
12:52:59 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
12:53:06 Unhammer joins (~Unhammer@user/unhammer)
12:54:34 × max22- quits (~maxime@2a01cb0883359800b50cd0817109af2c.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
12:55:08 abrantesasf joins (~abrantesa@187.36.170.211)
12:56:03 × tafa quits (~tafa@2a04:52c0:101:85c::1) (Quit: ZNC - https://znc.in)
12:56:12 tafa joins (~tafa@tafa.xyz)
12:57:42 × Unhammer quits (~Unhammer@user/unhammer) (Quit: WeeChat 2.3)
12:58:27 × yuri quits (~yuri@85.89.126.31) (Quit: Ухожу я от вас (xchat 2.4.5 или старше))
13:01:44 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:02:02 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:03:31 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 256 seconds)
13:04:05 × wei2912 quits (~wei2912@116.88.103.128) (Quit: Lost terminal)
13:04:42 × tafa quits (~tafa@tafa.xyz) (Remote host closed the connection)
13:04:52 tafa joins (~tafa@tafa.xyz)
13:05:44 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
13:08:39 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
13:08:51 chexum joins (~quassel@gateway/tor-sasl/chexum)
13:10:23 deadmarshal joins (~deadmarsh@95.38.114.216)
13:11:53 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:12:27 × Moyst quits (~moyst@user/moyst) (Ping timeout: 264 seconds)
13:13:21 akegalj joins (~akegalj@50-194.dsl.iskon.hr)
13:13:23 Moyst joins (~moyst@user/moyst)
13:13:48 <tomsmeding> oh no, no more fancy stuffs, my code is too simple!
13:14:07 <tomsmeding> nf: when in need, you can always @pl
13:14:24 <nf> :D
13:14:47 <arahael> Is it possible to use a custom fork of a dependency?
13:15:01 <tomsmeding> with cabal.project or stack.yaml, yes
13:15:18 <arahael> Ah, nifty, so I should look at the docs for cabal.project.
13:15:19 <tomsmeding> add a git repo dependency with the right name, then I think it will be used instead of the hackage one
13:15:25 <arahael> Neat.
13:15:35 <arahael> That should work around a basement issue I've got.
13:15:35 <maerwald> or create your own hackage repo
13:17:15 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:17:26 <arahael> maerwald: I don't think I want that overhead, but the thought is intriguing.
13:17:33 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:17:46 boxscape_ .。oOI should do AoC purely on the type-level one of these days
13:18:33 <tomsmeding> tip, uses idris, then that goal can be reached without changing code
13:18:54 <boxscape_> that's cheating :(
13:19:08 <tomsmeding> agreed
13:20:35 maerwald closes the DH proposal with "go use Idris"
13:21:58 <tomsmeding> that's cheating :(
13:22:17 <maerwald> agreed
13:22:20 <arahael> This makes me feel good - G'night. :) ( boxscape_: AoC's a good place for cheating. Just don't tell santa.)
13:22:27 Unhammer joins (~Unhammer@user/unhammer)
13:22:54 × pfurla quits (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c) (Quit: gone to sleep. ZZZzzz…)
13:23:21 <boxscape_> :)
13:26:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:26:26 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:28:03 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
13:30:05 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:30:17 × tafa quits (~tafa@tafa.xyz) (Quit: ZNC - https://znc.in)
13:30:22 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:30:26 tafa joins (~tafa@tafa.xyz)
13:30:50 × Nselm quits (~Nselm@p200300d56f0dd27991c77759d1a6858b.dip0.t-ipconnect.de) (Quit: Client closed)
13:32:06 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:33:37 × tafa quits (~tafa@tafa.xyz) (Remote host closed the connection)
13:33:46 tafa joins (~tafa@tafa.xyz)
13:36:06 acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
13:37:31 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 256 seconds)
13:41:17 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:41:34 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:43:14 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:43:32 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:43:45 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:43:49 max22- joins (~maxime@2a01cb0883359800180cddb567bc39f4.ipv6.abo.wanadoo.fr)
13:43:59 × tafa quits (~tafa@tafa.xyz) (Changing host)
13:43:59 tafa joins (~tafa@user/tafa)
13:46:02 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
13:49:55 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:50:12 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:50:30 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
13:52:10 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
13:52:27 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
13:52:49 iphy_ is now known as iphy
13:53:10 renatofdds[m] joins (~renatofdd@2001:470:69fc:105::1:3cfe)
13:55:13 pfurla joins (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c)
13:57:55 × hiruji quits (~hiruji@user/hiruji) (Ping timeout: 256 seconds)
13:58:31 Nselm joins (~Nselm@p200300d56f0dd27991c77759d1a6858b.dip0.t-ipconnect.de)
13:58:35 hiruji joins (~hiruji@user/hiruji)
14:00:37 deadmarshal joins (~deadmarsh@95.38.114.216)
14:01:03 × curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 264 seconds)
14:02:34 gaff joins (~gaff@49.207.205.97)
14:03:24 × pfurla quits (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c) (Quit: gone to sleep. ZZZzzz…)
14:05:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:05:19 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
14:05:20 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:05:30 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:06:59 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
14:07:28 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
14:07:38 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
14:09:18 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:09:36 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:09:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:11:31 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:11:48 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:12:05 × Moyst quits (~moyst@user/moyst) (Ping timeout: 256 seconds)
14:13:25 Moyst joins (~moyst@user/moyst)
14:14:30 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
14:14:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
14:17:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:17:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:19:48 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:20:06 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:22:04 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:22:21 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:23:04 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
14:23:22 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:23:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:23:35 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
14:23:35 wroathe joins (~wroathe@user/wroathe)
14:26:07 slack1256 joins (~slack1256@181.42.51.52)
14:26:41 <slack1256> Does DerivingVia only make sense for newtypes, not for data? is that right?
14:28:51 <boxscape_> that's right
14:28:53 <int-e> The intermediate type (the `via` one) is always a newtype.
14:29:07 ec joins (~ec@gateway/tor-sasl/ec)
14:29:10 reumeth joins (~reumeth@user/reumeth)
14:29:12 <[exa]> slack1256: it explicitly requires that the 2 things are coercible, which basically means that it must be a newtype
14:29:24 <int-e> But you can derive instances for any type. So... which of these types is the question about?
14:29:57 <boxscape_> right, you could have something like `data Foo a = ... deriving Show via Bar Foo`, here `Bar` has to be a newtype
14:30:08 <nf> looking for inspiration, what do i name a function of type Ord k => [(k, a)] -> Map k [a] ?
14:30:30 <int-e> :t M.fromListWith (++)
14:30:31 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
14:30:31 <lambdabot> Ord k => [(k, [a])] -> M.Map k [a]
14:30:39 <nf> not quite
14:30:42 <int-e> :t M.fromListWith (++) . map (second pure)
14:30:43 <lambdabot> Ord k => [(k, a)] -> M.Map k [a]
14:30:43 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:31:03 <nf> now give it a name
14:31:05 <slack1256> boxscape_ , int-e : Got it, it is clear now! :-)
14:31:19 <janus> tomsmeding: code evaluated at compile time in idris can be way slower. so it is not always feasible to take previously compiled code and evaluate it
14:31:21 <int-e> nf: I've done it a number of time and never named it
14:31:34 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:31:37 <int-e> nf: so I'll just refuse again.
14:31:45 <nf> :(
14:32:55 <int-e> well, `group` or `classify` are verbs in this context
14:33:03 × emf quits (~emf@163.114.132.7) (Ping timeout: 256 seconds)
14:33:15 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 250 seconds)
14:33:47 renatofdds[m] parts (~renatofdd@2001:470:69fc:105::1:3cfe) ()
14:33:59 <tomsmeding> janus: who said anything about performance :)
14:34:10 jkaye joins (~jkaye@2601:281:8300:7530:1d7b:c50:11c3:7017)
14:34:12 <tomsmeding> but you're right of course
14:34:13 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
14:34:28 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:35:01 <janus> but with AoC don't you have to submit some kind of result? if it finishes a computation, nothing can be submitted
14:35:11 <janus> *if it never
14:35:40 <boxscape_> usually the performance requirements aren't *too* bad as long as you choose an algorithm with alright asymptotics
14:36:50 <boxscape_> I think I'm misunderstanding readPrec. I have `newtype Day = MkDay Int`, and `instance Read Day where readPrec = MkDay <$> readPrec @Int`. But if I try something like `read "24" :: Day`, I get an infinite loop. Any idea why?
14:37:23 emf joins (~emf@2620:10d:c091:480::1:8be1)
14:37:47 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
14:38:02 <janus> boxscape_: i had a problem the other day with type-level nats being way to slow when interpreted. the asymptotics are probably the same but the constant factor is way larger. so given that i am just a beginning idris programmer and i ran into this, i am not convinced it is usually ok. asymptotics don't matter if the constants are huge.
14:38:40 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:38:42 × sub0 quits (~bc8165b6@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
14:39:22 <boxscape_> doesn't that change the asymptotics because Idris uses unary for type-level nats but binary for term-level nats? I could be wrong.
14:39:26 × slack1256 quits (~slack1256@181.42.51.52) (Remote host closed the connection)
14:40:22 <boxscape_> (Though to be clear I meant the performance requirements for AOC, I didn't mean to comment before on how using a function on a type-level in Idris affects its performance)
14:43:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:45:22 <boxscape_> Okay when I try the same thing yahb it's not an infinite loop, hmm
14:45:42 ees joins (~user@pool-108-18-30-46.washdc.fios.verizon.net)
14:45:54 <boxscape_> Ohh I think my Show instance is actually what's producing the infinite loop
14:46:31 emf_ joins (~emf@2620:10d:c090:400::5:2b81)
14:47:19 <kuribas> janus: slow to compile?
14:47:51 × emf quits (~emf@2620:10d:c091:480::1:8be1) (Ping timeout: 264 seconds)
14:48:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
14:48:57 <janus> kuribas: yes, because code evaluated at compile time is apparently never compiled, always interpreted
14:49:27 <kuribas> janus: that makes sense, because type checking must preserve syntax.
14:50:02 <kuribas> janus: or you need a compiler that can pre-compile, while preserving syntax.
14:50:36 × Nselm quits (~Nselm@p200300d56f0dd27991c77759d1a6858b.dip0.t-ipconnect.de) (Quit: Client closed)
14:50:47 <tomsmeding> more than preserving syntax, you need to _partially evaluate_, which is quite different from normal full evaluation
14:51:01 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
14:51:04 <kuribas> janus: But I doubt it's a current goal for idris, it just wants to have a working compiler, and put optimizations as much as possible on the backend.
14:53:23 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
14:53:40 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
14:54:28 <tomsmeding> nf: groupToMap
14:55:09 <nf> thx
14:55:15 <kuribas> also, typechecking and evaluation is intertwined, so I don't it's trivial to "compile" type level.
14:55:41 <kuribas> Maybe an interesting topic for someone's PHD :)
14:57:53 × NinjaTrappeur quits (~ninja@user/ninjatrappeur) (Ping timeout: 268 seconds)
14:59:21 AndreasK__ is now known as AndreasK
14:59:55 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:00:49 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
15:01:02 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
15:03:26 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds)
15:03:33 deadmarshal joins (~deadmarsh@95.38.114.216)
15:05:50 phma_ joins (phma@2001:5b0:2172:a1f8:a2fb:22b6:7e7d:59c1)
15:06:43 CiaoSen joins (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
15:06:50 × phma quits (phma@2001:5b0:212a:9168:d8ac:a312:b259:ce6e) (Read error: Connection reset by peer)
15:06:55 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
15:08:52 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
15:10:43 × Moyst quits (~moyst@user/moyst) (Ping timeout: 250 seconds)
15:13:10 Moyst joins (~moyst@user/moyst)
15:16:24 Sgeo joins (~Sgeo@user/sgeo)
15:16:28 × tafa quits (~tafa@user/tafa) (Quit: ZNC - https://znc.in)
15:16:42 tafa joins (~tafa@user/tafa)
15:16:51 × abrantesasf quits (~abrantesa@187.36.170.211) (Read error: Connection reset by peer)
15:17:15 abrantesasf joins (~abrantesa@187.36.170.211)
15:18:25 phma_ is now known as phma
15:18:51 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
15:19:33 MiguelNegrao joins (~MiguelNeg@194.210.216.113)
15:20:05 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 256 seconds)
15:20:42 × ees quits (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
15:21:58 <MiguelNegrao> Hi all, I need to write a function which receives an 'HList as' with the following constraints: all 'as' are of type '(Text,Something o -> o)' and there is a Constraint on 'o'. Is this possible ? Eventually I want to call hMap on it.
15:23:16 × acidjnk quits (~acidjnk@p200300d0c7271e75119700900401854f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
15:24:56 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
15:25:13 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
15:26:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
15:27:10 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
15:27:55 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
15:27:55 ec joins (~ec@gateway/tor-sasl/ec)
15:28:34 × Flow quits (~none@gentoo/developer/flow) (Quit: WeeChat 3.2)
15:30:47 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
15:31:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
15:32:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:32:51 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8) (Ping timeout: 264 seconds)
15:33:56 <kuribas> looking at the HList library makes my head hurt...
15:33:58 fresheyeball joins (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net)
15:34:42 <MiguelNegrao> indeed... :-(
15:36:06 × akegalj quits (~akegalj@50-194.dsl.iskon.hr) (Quit: leaving)
15:36:16 <kuribas> out of curiosity, what are you trying to do?
15:36:28 <kuribas> That needs fancy types?
15:36:50 burnsidesLlama joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
15:40:50 zer0bitz joins (~zer0bitz@2001:2003:f6bc:f00:4c2d:8074:ff8b:55dd)
15:41:02 shryke parts (~shryke@91.103.43.254) (WeeChat 3.3)
15:41:47 <kuribas> There should be an 'All' constraint on type level lists somewhere...
15:42:00 <kuribas> And you can make an intermediary class to catch that constraint.
15:43:01 <kuribas> But my best advice is, don't do this stuff in haskell :-P
15:44:31 <MiguelNegrao> In gtk Its possible to get a group of widgets to be constucted based on a text file generated by GUI which lets you design windows and widgets
15:45:04 <MiguelNegrao> Then it is possible to extract the individual widgets from a text label, but you need to provide the type that it should have
15:45:27 <MiguelNegrao> I wanted to do it all in a function, construct the widgets and extract them with the right type
15:45:28 <kuribas> link to do?
15:45:32 <kuribas> to doc
15:46:42 <MiguelNegrao> The relevant function is https://github.com/mr/reactive-banana-gi-gtk/blob/b1b72d58bf45ac111e320cc0308d00ce6f9fbfe4/reactive-banana-gi-gtk/src/Reactive/Banana/GI/Gtk.hs#L71
15:47:10 <MiguelNegrao> Instead of a single GObject o I want to deal with a list of them
15:47:30 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
15:48:02 <MiguelNegrao> But each o will have a different type
15:48:11 <kuribas> Couldn't you use an existential instead?
15:50:17 <kuribas> data AnyGObject = forall o . GObject o => AnyGObject o
15:50:49 <kuribas> Then [AnyGObject o] -> ...
15:50:57 <kuribas> erm [AnyGObject]
15:51:10 <kuribas> well something like that.
15:51:20 <kuribas> Seems much more sane than HList.
15:51:44 <kuribas> Most likely there is an even easier way, but hard to say without context.
15:51:53 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
15:51:58 <MiguelNegrao> Right, I think that would work, but would require wrapping each element in AnyGObject. On the other hand HList also requires knowing the syntax for constructing the list, so it might be as onerous to the user.
15:52:21 <kuribas> Existentials are way easier then HLists.
15:52:28 <kuribas> But still fancy haskell mind you...
15:53:10 <MiguelNegrao> Thanks, for the suggestion, I might go with that.
15:53:50 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
15:54:45 lavaman joins (~lavaman@98.38.249.169)
15:54:59 deadmarshal joins (~deadmarsh@95.38.114.216)
15:55:59 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
15:57:54 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
15:59:06 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 245 seconds)
15:59:18 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
16:02:26 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:3095:3db8:3339:3962) (Ping timeout: 245 seconds)
16:04:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:04:31 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:04:44 lortabac joins (~lortabac@37.171.24.180)
16:05:24 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
16:06:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
16:10:27 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:10:45 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:11:51 × Moyst quits (~moyst@user/moyst) (Ping timeout: 265 seconds)
16:13:41 Moyst joins (~moyst@user/moyst)
16:16:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:16:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:17:35 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
16:18:15 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
16:22:55 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:23:13 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:24:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:25:08 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
16:25:11 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:28:02 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:28:20 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:28:26 × lortabac quits (~lortabac@37.171.24.180) (Quit: WeeChat 2.8)
16:29:21 zmt01 joins (~zmt00@user/zmt00)
16:31:59 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:32:16 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:33:17 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds)
16:42:43 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 268 seconds)
16:43:15 deadmarshal joins (~deadmarsh@95.38.114.216)
16:43:57 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:44:08 cfricke joins (~cfricke@user/cfricke)
16:44:14 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:44:51 × rkrishnan quits (~user@122.172.141.170) (Ping timeout: 264 seconds)
16:47:26 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 245 seconds)
16:48:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:48:27 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
16:50:48 hippoid joins (~hippoid@d60-65-25-145.col.wideopenwest.com)
16:52:22 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:53:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
16:55:08 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:55:09 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
16:56:49 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:57:07 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:59:26 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
16:59:38 mreh joins (~mreh@2a00:23c7:2803:ef00:6835:402a:bc64:5737)
17:00:05 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
17:01:57 neurocyte0132889 joins (~neurocyte@212.232.84.133)
17:01:57 × neurocyte0132889 quits (~neurocyte@212.232.84.133) (Changing host)
17:01:57 neurocyte0132889 joins (~neurocyte@user/neurocyte)
17:02:27 dyeplexer joins (~dyeplexer@user/dyeplexer)
17:03:16 × ysh quits (sid6017@ilkley.irccloud.com) (Ping timeout: 245 seconds)
17:03:41 × JSharp quits (sid4580@lymington.irccloud.com) (Ping timeout: 245 seconds)
17:04:08 ysh joins (sid6017@id-6017.ilkley.irccloud.com)
17:04:19 × mreh quits (~mreh@2a00:23c7:2803:ef00:6835:402a:bc64:5737) (Ping timeout: 256 seconds)
17:04:56 × Firedancer quits (sid336191@hampstead.irccloud.com) (Ping timeout: 245 seconds)
17:05:21 × NiKaN quits (sid385034@helmsley.irccloud.com) (Ping timeout: 245 seconds)
17:06:15 machinedgod joins (~machinedg@24.105.81.50)
17:06:15 Firedancer joins (sid336191@id-336191.hampstead.irccloud.com)
17:06:30 NiKaN joins (sid385034@id-385034.helmsley.irccloud.com)
17:07:05 mei8 joins (~mei@user/mei)
17:07:13 burnside_ joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
17:07:13 Codaraxis_ joins (~Codaraxis@user/codaraxis)
17:07:47 sm2n_ joins (~sm2n@user/sm2n)
17:08:15 ralu6 joins (~ralu@static.211.245.203.116.clients.your-server.de)
17:08:23 raoul2 joins (~raoul@95.179.203.88)
17:08:50 vdsa joins (~pc@41.68.196.175)
17:08:54 × vdsa quits (~pc@41.68.196.175) (K-Lined)
17:09:02 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:09:19 FragByte_ joins (~christian@user/fragbyte)
17:09:20 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:09:23 cfebs_ joins (~cfebs@user/cfebs)
17:09:23 connrs_ joins (~connrs@user/connrs)
17:09:24 a1paca_ joins (~a1paca@user/a1paca)
17:09:27 × gaff quits (~gaff@49.207.205.97) (Read error: Connection timed out)
17:09:48 cfricke_ joins (~cfricke@user/cfricke)
17:10:03 gaff joins (~gaff@49.207.205.97)
17:10:15 S11001001_ joins (sid42510@id-42510.ilkley.irccloud.com)
17:10:27 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
17:10:31 hueso_ joins (~root@user/hueso)
17:11:06 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:11:12 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
17:11:20 Moyst_ joins (~moyst@user/moyst)
17:11:40 m1dnight_ joins (~christoph@christophe.dev)
17:11:54 stilgart_ joins (~Christoph@chezlefab.net)
17:11:57 carter_ joins (sid14827@id-14827.helmsley.irccloud.com)
17:12:03 × MiguelNegrao quits (~MiguelNeg@194.210.216.113) (Quit: Client closed)
17:12:06 mcglk_ joins (~mcglk@131.191.49.120)
17:12:07 kritzefitz_ joins (~kritzefit@debian/kritzefitz)
17:12:12 slowButP1esent joins (~slowButPr@user/slowbutpresent)
17:13:35 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
17:13:57 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
17:13:59 × hippoid quits (~hippoid@d60-65-25-145.col.wideopenwest.com) (Ping timeout: 256 seconds)
17:14:12 × ubert quits (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) (Remote host closed the connection)
17:16:24 lbseale joins (~ep1ctetus@user/ep1ctetus)
17:16:42 × ysh quits (sid6017@id-6017.ilkley.irccloud.com) (*.net *.split)
17:16:43 × cfricke quits (~cfricke@user/cfricke) (*.net *.split)
17:16:43 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8) (*.net *.split)
17:16:43 × Moyst quits (~moyst@user/moyst) (*.net *.split)
17:16:43 × burnsidesLlama quits (~burnsides@dhcp168-032.wadham.ox.ac.uk) (*.net *.split)
17:16:43 × emf_ quits (~emf@2620:10d:c090:400::5:2b81) (*.net *.split)
17:16:43 × jkaye quits (~jkaye@2601:281:8300:7530:1d7b:c50:11c3:7017) (*.net *.split)
17:16:43 × slowButPresent quits (~slowButPr@user/slowbutpresent) (*.net *.split)
17:16:43 × acowley quits (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (*.net *.split)
17:16:43 × ph88^ quits (~ph88@2a02:8109:9e00:71d0:6dfb:d68d:ebe:207) (*.net *.split)
17:16:43 × boxscape_ quits (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (*.net *.split)
17:16:43 × mcglk quits (~mcglk@131.191.49.120) (*.net *.split)
17:16:43 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (*.net *.split)
17:16:43 × whatif quits (~user@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
17:16:43 × cfebs quits (~cfebs@user/cfebs) (*.net *.split)
17:16:43 × xff0x quits (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05) (*.net *.split)
17:16:45 × mei quits (~mei@user/mei) (*.net *.split)
17:16:45 × sprout_ quits (~quassel@2a02:a467:ccd6:1:4de4:2055:b8c4:f1e) (*.net *.split)
17:16:45 × zaquest quits (~notzaques@5.130.79.72) (*.net *.split)
17:16:45 × dsrt^ quits (~dsrt@68.101.63.101) (*.net *.split)
17:16:45 × stilgart quits (~Christoph@chezlefab.net) (*.net *.split)
17:16:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
17:16:45 × FragByte quits (~christian@user/fragbyte) (*.net *.split)
17:16:45 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (*.net *.split)
17:16:45 × motherfsck quits (~motherfsc@user/motherfsck) (*.net *.split)
17:16:45 × Jing quits (~hedgehog@2604:a840:3::105f) (*.net *.split)
17:16:45 × echoreply quits (~echoreply@45.32.163.16) (*.net *.split)
17:16:45 × saolsen quits (sid26430@id-26430.lymington.irccloud.com) (*.net *.split)
17:16:45 × tapas quits (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
17:16:45 × cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (*.net *.split)
17:16:45 × enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (*.net *.split)
17:16:45 × S11001001 quits (sid42510@5.254.36.60) (*.net *.split)
17:16:45 × lagash quits (lagash@lagash.shelltalk.net) (*.net *.split)
17:16:45 × siers quits (~ij@user/ij) (*.net *.split)
17:16:45 × bjs quits (sid190364@user/bjs) (*.net *.split)
17:16:45 × m1dnight quits (~christoph@christophe.dev) (*.net *.split)
17:16:45 × kuribas quits (~user@ptr-25vy0iagc74l4rb6r6j.18120a2.ip6.access.telenet.be) (*.net *.split)
17:16:45 × kritzefitz quits (~kritzefit@debian/kritzefitz) (*.net *.split)
17:16:45 × sclv quits (sid39734@haskell/developer/sclv) (*.net *.split)
17:16:45 × mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split)
17:16:45 × dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (*.net *.split)
17:16:45 × acertain quits (sid470584@id-470584.hampstead.irccloud.com) (*.net *.split)
17:16:45 × sm2n quits (~sm2n@user/sm2n) (*.net *.split)
17:16:45 × a1paca quits (~a1paca@user/a1paca) (*.net *.split)
17:16:45 × Pent quits (sid313808@id-313808.lymington.irccloud.com) (*.net *.split)
17:16:45 × Codaraxis quits (~Codaraxis@user/codaraxis) (*.net *.split)
17:16:45 × ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split)
17:16:45 × connrs quits (~connrs@user/connrs) (*.net *.split)
17:16:45 × gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (*.net *.split)
17:16:45 × hueso quits (~root@user/hueso) (*.net *.split)
17:16:45 × gustik quits (~gustik@2a01:c844:240a:de20:3606:7339:bc88:b5f5) (*.net *.split)
17:16:45 × V quits (~v@anomalous.eu) (*.net *.split)
17:16:45 × raoul quits (~raoul@95.179.203.88) (*.net *.split)
17:16:45 × AndreasK quits (sid320732@id-320732.uxbridge.irccloud.com) (*.net *.split)
17:16:45 × SethTisue__ quits (sid14912@id-14912.ilkley.irccloud.com) (*.net *.split)
17:16:45 × hongminhee quits (sid295@id-295.tinside.irccloud.com) (*.net *.split)
17:16:45 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (*.net *.split)
17:16:45 × carter quits (sid14827@helmsley.irccloud.com) (*.net *.split)
17:16:45 × Boarders_ quits (sid425905@lymington.irccloud.com) (*.net *.split)
17:16:45 FragByte_ is now known as FragByte
17:16:45 raoul2 is now known as raoul
17:16:45 carter_ is now known as carter
17:16:45 mei8 is now known as mei
17:16:45 S11001001_ is now known as S11001001
17:16:45 cfebs_ is now known as cfebs
17:16:45 Lord_of_Life_ is now known as Lord_of_Life
17:16:45 ralu6 is now known as ralu
17:16:45 connrs_ is now known as connrs
17:18:22 kritzefitz_ is now known as kritzefitz
17:18:22 mreh joins (~mreh@2a00:23c7:2803:ef00:6835:402a:bc64:5737)
17:18:22 hippoid joins (~hippoid@d60-65-25-145.col.wideopenwest.com)
17:22:04 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
17:22:27 × mreh quits (~mreh@2a00:23c7:2803:ef00:6835:402a:bc64:5737) (Ping timeout: 256 seconds)
17:22:54 acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
17:22:54 dsrt^ joins (~dsrt@68.101.63.101)
17:22:54 Boarders_ joins (sid425905@id-425905.lymington.irccloud.com)
17:22:54 JSharp joins (sid4580@id-4580.lymington.irccloud.com)
17:22:54 ysh joins (sid6017@id-6017.ilkley.irccloud.com)
17:22:54 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
17:22:54 emf_ joins (~emf@2620:10d:c090:400::5:2b81)
17:22:54 jkaye joins (~jkaye@2601:281:8300:7530:1d7b:c50:11c3:7017)
17:22:54 ph88^ joins (~ph88@2a02:8109:9e00:71d0:6dfb:d68d:ebe:207)
17:22:54 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
17:22:54 whatif joins (~user@2400:8902::f03c:92ff:fe60:98d8)
17:22:54 xff0x joins (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05)
17:22:54 sprout_ joins (~quassel@2a02:a467:ccd6:1:4de4:2055:b8c4:f1e)
17:22:54 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:22:54 Jing joins (~hedgehog@2604:a840:3::105f)
17:22:54 saolsen joins (sid26430@id-26430.lymington.irccloud.com)
17:22:54 tapas joins (sid467876@id-467876.ilkley.irccloud.com)
17:22:54 cbarrett joins (sid192934@id-192934.helmsley.irccloud.com)
17:22:54 enemeth79 joins (sid309041@id-309041.lymington.irccloud.com)
17:22:54 lagash joins (lagash@lagash.shelltalk.net)
17:22:55 siers joins (~ij@user/ij)
17:22:55 bjs joins (sid190364@user/bjs)
17:22:55 kuribas joins (~user@ptr-25vy0iagc74l4rb6r6j.18120a2.ip6.access.telenet.be)
17:22:55 sclv joins (sid39734@haskell/developer/sclv)
17:22:55 mrianbloom joins (sid350277@id-350277.ilkley.irccloud.com)
17:22:55 dmj` joins (sid72307@id-72307.hampstead.irccloud.com)
17:22:55 acertain joins (sid470584@id-470584.hampstead.irccloud.com)
17:22:55 Pent joins (sid313808@id-313808.lymington.irccloud.com)
17:22:55 gaze___ joins (sid387101@id-387101.helmsley.irccloud.com)
17:22:55 gustik joins (~gustik@2a01:c844:240a:de20:3606:7339:bc88:b5f5)
17:22:55 V joins (~v@anomalous.eu)
17:22:55 AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com)
17:22:55 SethTisue__ joins (sid14912@id-14912.ilkley.irccloud.com)
17:22:55 hongminhee joins (sid295@id-295.tinside.irccloud.com)
17:22:55 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:22:57 echoreply joins (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
17:23:18 × dsrt^ quits (~dsrt@68.101.63.101) (Max SendQ exceeded)
17:23:20 × lagash quits (lagash@lagash.shelltalk.net) (Max SendQ exceeded)
17:23:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:23:35 lagash joins (lagash@lagash.shelltalk.net)
17:23:53 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
17:24:09 motherfsck joins (~motherfsc@user/motherfsck)
17:24:12 zaquest joins (~notzaques@5.130.79.72)
17:24:19 dsrt^ joins (~dsrt@68.101.63.101)
17:24:51 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
17:25:19 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
17:25:49 slack1256 joins (~slack1256@181.42.51.52)
17:27:01 <slack1256> I think we need a "heartbeat" for hackage pages. It would a soft way of saying "we haven't updated this package since 2016, but it still compiles and works on ghc 9.2.1". Do other communities have something similar?
17:27:58 neurocyte0132889 joins (~neurocyte@212.232.84.133)
17:27:58 × neurocyte0132889 quits (~neurocyte@212.232.84.133) (Changing host)
17:27:58 neurocyte0132889 joins (~neurocyte@user/neurocyte)
17:28:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
17:28:51 <geekosaur> there is one sort of, I think? there's some stuff about last successful build, but I don't know if it retries the build when a new ghc is released
17:30:31 xkuru joins (~xkuru@user/xkuru)
17:30:37 × fresheyeball quits (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
17:31:11 × hippoid quits (~hippoid@d60-65-25-145.col.wideopenwest.com) (Ping timeout: 245 seconds)
17:32:30 slac38457 joins (~slack1256@191.126.99.222)
17:33:17 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
17:33:31 × cfricke_ quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
17:34:31 × slack1256 quits (~slack1256@181.42.51.52) (Ping timeout: 245 seconds)
17:35:33 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
17:36:04 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
17:37:16 <kuribas> Does there exist a zipFoldMap?
17:37:51 <awpr> I use metadata revisions for that kind of heartbeat. if it doesn't need revisions to keep building after a new GHC release, then its version bounds were done incorrectly
17:38:06 <kuribas> like zipFoldMap :: (Foldable t, Monoid m) => (a -> b -> m) -> t a -> t b -> m
17:38:31 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
17:38:43 <awpr> so, recent revisions => "probably still maintained", and no recent revisions => "unmaintained or unreliable"
17:39:11 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
17:39:30 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
17:39:31 deadmarshal joins (~deadmarsh@95.38.114.216)
17:40:26 <kuribas> :t \f a b -> foldMap (uncurry f) $ zip a b
17:40:27 <lambdabot> Monoid m => (a -> b -> m) -> [a] -> [b] -> m
17:40:27 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:42:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:42:26 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:44:57 hippoid joins (~hippoid@d60-65-25-145.col.wideopenwest.com)
17:45:43 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds)
17:46:33 × emf_ quits (~emf@2620:10d:c090:400::5:2b81) (Quit: emf_)
17:48:31 × CiaoSen quits (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
17:49:13 yauhsien joins (~yauhsien@61-231-30-221.dynamic-ip.hinet.net)
17:50:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:51:11 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:52:51 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:53:10 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:53:41 × yauhsien quits (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
17:55:26 × burnside_ quits (~burnsides@dhcp168-032.wadham.ox.ac.uk) (Remote host closed the connection)
17:57:06 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:57:25 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:57:52 × benin quits (~benin@183.82.179.164) (Quit: The Lounge - https://thelounge.chat)
17:59:43 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 250 seconds)
18:01:31 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:01:49 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:02:39 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
18:03:10 slack1256 joins (~slack1256@191.126.99.81)
18:05:29 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:05:42 × slac38457 quits (~slack1256@191.126.99.222) (Ping timeout: 260 seconds)
18:05:48 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:06:20 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
18:07:27 <EvanR> kuribas, wouldn't that be better served by doing like... a bifold instead of going though a tuple
18:09:17 <kuribas> :t bifold
18:09:18 <lambdabot> error:
18:09:18 <lambdabot> • Variable not in scope: bifold
18:09:18 <lambdabot> • Perhaps you meant one of these:
18:09:25 <kuribas> @hoogle bifold
18:09:26 <lambdabot> Data.Bifoldable bifold :: (Bifoldable p, Monoid m) => p m m -> m
18:09:26 <lambdabot> RIO.Prelude bifold :: (Bifoldable p, Monoid m) => p m m -> m
18:09:26 <lambdabot> Relude.Foldable.Reexport bifold :: (Bifoldable p, Monoid m) => p m m -> m
18:11:58 <slack1256> geekosaur: Oh, that is a equivalent signal!
18:12:23 <slack1256> Well, it would be if `--allow-newer` was the default
18:12:41 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 265 seconds)
18:14:05 Moyst_ joins (~moyst@user/moyst)
18:14:10 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
18:15:17 machinedgod joins (~machinedg@24.105.81.50)
18:16:36 <EvanR> heh, instance Bifoldable BiList
18:17:44 <EvanR> the way they accomplish your zip map thing is with AppEndo monoid
18:18:25 <dsal> monochrom: what's that thing you say about brains and memoization? I asked lambdabot but it wasn't helpful.
18:19:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
18:19:43 × hippoid quits (~hippoid@d60-65-25-145.col.wideopenwest.com) (Ping timeout: 256 seconds)
18:19:51 <monochrom> Memoized randomization. You form an opinion randomly, then remember that you stand by that opinion.
18:20:08 <dsal> It's Oh yes!
18:20:28 <dsal> Thanks. :)
18:20:51 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
18:22:34 Topsi joins (~Tobias@dyndsl-095-033-095-172.ewe-ip-backbone.de)
18:22:51 <EvanR> gotta clear the opinion cache or it gets out of date
18:23:12 <dsal> I try pretty hard not to remember things when I can avoid it.
18:23:13 <geekosaur> if only that worked
18:23:29 <[exa]> flush the cache with quality fermented contents.
18:23:50 slack4341 joins (~slack1256@181.42.51.52)
18:23:51 × xff0x quits (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05) (Ping timeout: 264 seconds)
18:24:19 <monochrom> My observation is that humans don't tend to update their opinions over time.
18:25:34 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:25:45 zincy_ joins (~zincy@host86-181-60-139.range86-181.btcentralplus.com)
18:25:47 mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
18:25:57 × slack1256 quits (~slack1256@191.126.99.81) (Ping timeout: 256 seconds)
18:26:13 <dsal> You mean your persistent opinion is that humans don't tend to update their opinions over time.
18:26:21 <monochrom> haha
18:26:34 × DNH quits (~DNH@2a02:8108:1100:16d8:a418:17da:6b4f:5fc3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:26:55 <dsal> People do tend to back-rationalize just about anything, though.
18:27:09 <dsal> If I prove you wrong, you just disagree for a different reason.
18:27:09 emf joins (~emf@2620:10d:c090:400::5:2b81)
18:27:37 <monochrom> This is known as creativity!
18:28:03 × jkaye quits (~jkaye@2601:281:8300:7530:1d7b:c50:11c3:7017) (Ping timeout: 264 seconds)
18:28:47 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 256 seconds)
18:29:24 pfurla joins (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c)
18:29:32 lavaman joins (~lavaman@98.38.249.169)
18:30:29 Moyst_ joins (~moyst@user/moyst)
18:30:54 <monochrom> Today I saw a conference announcement on the haskell mailing list, the MSFP one, and the phrase "[where would] call-by-push-values [be] without adjunctions?" caught my attention.
18:31:34 <monochrom> So I Googled call-by-push-values and eventually found the PhD thesis that started it: https://www.cs.bham.ac.uk/~pbl/papers/thesisqmwphd.pdf
18:31:37 <EvanR> call by push value ...
18:32:00 <monochrom> That is going to be a very deep rabbit hole...
18:32:43 <int-e> just don't drink from labelled bottles
18:33:08 <int-e> (stick to the mushrooms instead)
18:33:21 burnsidesLlama joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
18:33:37 <dsal> int-e: ++
18:33:41 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
18:33:59 <monochrom> I don't understnad.
18:34:29 <EvanR> 🍄 1UP
18:34:53 × pfurla quits (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c) (Quit: gone to sleep. ZZZzzz…)
18:34:55 DNH joins (~DNH@2a02:8108:1100:16d8:a418:17da:6b4f:5fc3)
18:35:18 <int-e> Oh you should read Charles Dogson's thesis on rabbit holes then.
18:35:19 <geekosaur> was thinking lewis carroll vs. mario…
18:35:44 <int-e> geekosaur: There's a mushroom in Alice in Wonderland too.
18:36:02 <int-e> I think. I may be mixing up the books, there are several and it's been a while.
18:36:11 <geekosaur> yes, I know, but they weren't so different from the bottles
18:36:32 <int-e> geekosaur: We *were* discussing opinions.
18:36:35 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
18:36:36 <int-e> :)
18:37:17 × Flonk quits (~Flonk@vps-zap441517-1.zap-srv.com) (Quit: Ping timeout (120 seconds))
18:37:30 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 260 seconds)
18:37:52 <int-e> geekosaur: I have no problem with the Mario association... it just didn't occur to me.
18:38:30 <geekosaur> I was kinda riffing on EvanR and thinking you leap out of the hole for the mushrooms
18:38:32 × burnsidesLlama quits (~burnsides@dhcp168-032.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
18:39:03 × zincy_ quits (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
18:39:08 <geekosaur> so kinda mishmashing my references a bit :)
18:39:30 Flonk joins (~Flonk@vps-zap441517-1.zap-srv.com)
18:39:40 <EvanR> so my emoji made it through the transporter beam in one piece
18:39:53 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
18:40:10 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
18:40:15 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Read error: Connection reset by peer)
18:40:33 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
18:42:44 zincy_ joins (~zincy@host86-181-60-139.range86-181.btcentralplus.com)
18:43:59 × Flonk quits (~Flonk@vps-zap441517-1.zap-srv.com) (Quit: Ping timeout (120 seconds))
18:44:29 Flonk joins (~Flonk@vps-zap441517-1.zap-srv.com)
18:44:38 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
18:46:13 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:46:20 × oxide quits (~lambda@user/oxide) (Quit: oxide)
18:46:32 × Flonk quits (~Flonk@vps-zap441517-1.zap-srv.com) (Client Quit)
18:46:54 Flonk joins (~Flonk@vps-zap441517-1.zap-srv.com)
18:48:34 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:50:21 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 245 seconds)
18:51:35 xff0x joins (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05)
18:52:41 × zincy_ quits (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
18:58:18 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
19:03:08 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8) (Remote host closed the connection)
19:03:52 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:05:31 rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
19:05:54 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 260 seconds)
19:07:21 × gaff quits (~gaff@49.207.205.97) (Remote host closed the connection)
19:08:25 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
19:10:06 × rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
19:10:51 zincy_ joins (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186)
19:14:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
19:15:21 × zincy_ quits (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Ping timeout: 245 seconds)
19:18:41 zincy_ joins (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186)
19:18:58 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
19:21:42 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:22:32 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
19:24:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:28:03 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
19:28:13 pfurla joins (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c)
19:28:15 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
19:29:16 × kuribas quits (~user@ptr-25vy0iagc74l4rb6r6j.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:30:00 waleee joins (~waleee@h-82-196-111-63.NA.cust.bahnhof.se)
19:30:32 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 240 seconds)
19:31:58 Moyst_ joins (~moyst@user/moyst)
19:32:00 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:32:38 × zincy_ quits (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection)
19:32:52 zincy_ joins (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186)
19:33:59 <dsal> I realize I don't *really* understand record syntax. What's the best way to fix htat?
19:34:12 <dsal> e.g., it didn't even occur to me it could change types.
19:34:22 <geekosaur> the modern way seems to be "don't use it" :þ
19:34:59 <dsal> I'm not actually, but apparently $> confuses people.
19:35:29 <dsal> And lens is generally banned, so if already don't like me using *sigh* a type variable, then saying "let's just use lens" is probably not going to help.
19:35:37 <Rembane_> dsal: This makes me curious. What's the main stumbling block to use $>?
19:35:52 <monochrom> I think you now understand record syntax. That's the last piece you were missing.
19:36:03 <EvanR> you have a haskell job and lens is banned? interesting
19:36:06 <dsal> Rembane_: I'm just assigning a value to a field.
19:36:24 <monochrom> Although, I can't connect record syntax with $>
19:36:37 <Rembane_> dsal: And your coworkers go bananas?
19:36:51 <dsal> x $> v could be x { field = v }
19:37:04 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
19:37:13 <Cale> There's another thing which may be surprising: you can use patterns of the form (K {}) to match a constructor with zero or more fields even if your type was not defined using record syntax
19:37:14 <dsal> I don't disagree with that one. It just never even occurred to me to use record syntax here.
19:37:21 <geekosaur> Rembane_: weird senior programmer who thinks most idiomatic haskell is "too hard"
19:37:53 <dsal> geekosaur: I have two kinds. The weird senior guy and the weird junior guy. This one is the latter.
19:38:09 <monochrom> "bananas" is exactly right
19:38:13 <Rembane_> That there are two must make it all much more ... interesting.
19:38:30 <dsal> It's a thing that all of us have to use and his thing is *super* hard to use. I made it super easy to use, but the implementation complexity isn't worth it. (I reduced complexity considerably)
19:40:10 <tomsmeding> dsal: by now you've probably figured that out, but I think semantically, for `data K a b c = K a b c`, the record update function `\x -> K { b = x }` is semantically equivalent to the function 'foo x (K a _ c) = K a x c`, with its appropriate most general type
19:40:18 <tomsmeding> which, here, allows changing a type parameter
19:40:28 <tomsmeding> generalise as appropriate to other data type definitions :p
19:40:47 <tomsmeding> oh, 'data K a b c = K { a :: a, b :: b, c :: c }' of course
19:41:21 <monochrom> I was surprised when I learned this a long time ago, too. But it is retrospectively natural since it is a syntax sugar.
19:41:23 <dsal> tomsmeding: Yeah. It's weird that it just never occurred to me that I could do it that way. I thought "I've got a type variable, so this is a functor" and went down that path.
19:41:31 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:41:43 <tomsmeding> dsal: yeah, I would've done the same :p
19:42:22 <dsal> The junior guy asked why I didn't do the record thing and I was like, "That's not the same!" then realized I'm probably dumb and checked. Of course it's the same. If I were writing a lens, that's exactly what I'd do.
19:42:33 <EvanR> functors everywhere
19:42:37 <Cale> It can be good for code readability to have a chance to say which field is being updated
19:43:10 <dsal> Just gonna newtype the hell out of this thing so I can have a functor for every field and coerce for my <$>
19:43:15 <monochrom> Bah these days it's adjoint functors everywhere for me.
19:43:15 <Cale> I like <$ quite a bit most of the time, but there have been times when it has obscured what should have been an obvious bug
19:43:39 <dsal> Yeah, I think the field update thing is actually the right thing here.
19:44:00 <monochrom> The "field update" mental model is pretty universal.
19:44:03 <dsal> There's also the "What if we have more of these!" which I rejected a couple of times. mu. But that argument also goes away.
19:44:41 <dsal> My brain just changed shape s lightly to think of field update as also changing the type since I've never actually held those two concepts near each other.
19:45:20 <monochrom> That one is a surprise. Don't blame yourself. :)
19:45:54 <monochrom> Also it usually doesn't hurt, even when you aren't aware of it.
19:46:07 <dsal> Nah, I love finding out I'm wrong about stuff. I sit around wondering what I'm wrong about and just not knowing most of the time.
19:46:41 <monochrom> Ah. Did you know that Earth rotation is slowing down? >:)
19:47:48 <dsal> I knew of that at the listicle level. I watch lots of YouTube channels that make me feel like I know about things.
19:48:03 <dsal> (about is the keyword there)
19:48:51 <monochrom> Ah. Have you watched the recent Veritasium video that explains how electric energy is transferred, and it is not exactly via current or even the cable? >:)
19:49:43 <EvanR> god I hate that video
19:50:00 × zincy_ quits (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection)
19:50:14 <EvanR> I'm waiting for his follow up where he apologizes and clarifies
19:50:23 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:50:24 <dsal> I... played that video. I didn't follow it very closely, though.
19:50:43 <monochrom> ObHaskell: Did you know that GHC compiles "if null xs then foo else bar (head xs) (tail xs)" to "case xs of [] -> foo; x:xt -> bar x xt" so it is "OK"? >:)
19:50:55 <dsal> I build radio stuff and do various electronics junk, but I don't pretend to understand how EM stuff works.
19:51:27 <monochrom> Sounds about right for the sterotypical programmer >:)
19:51:31 <EvanR> physics is full of stories
19:52:04 <monochrom> Err no, sounds about the opposite.
19:52:31 <monochrom> The stereotypical programmer does pretend they understand. >:)
19:52:33 <tomsmeding> typical for stereo people?
19:53:19 <dsal> I back and forth between pretending I understand and accepting I don't. Haskell has a lot of great abstractions that can be used pretty well without understanding them.
19:53:41 <dsal> i.e., lazy understanding. I'll eventually force the understanding after I've been using this abstraction for a bit.
19:54:32 <monochrom> Haha stereo people. There is a Chinese proverb, "the government official has two mouths", to express that the government official can decree whatever they want and thus wins all arguments. That would be stereo people.
19:55:38 <monochrom> It concides with the character 官 for officials containing two mouth parts (the two squares).
19:56:14 <tomsmeding> heh nice
19:58:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
19:59:04 × Topsi quits (~Tobias@dyndsl-095-033-095-172.ewe-ip-backbone.de) (Read error: Connection reset by peer)
19:59:37 <janus> EvanR: what's wrong with the video?
20:00:06 <EvanR> we have to wait for his follow up to find out
20:00:17 <EvanR> was the whole thing
20:01:48 <janus> at the end he recognizes that it is controversial to explain
20:01:59 zincy_ joins (~zincy@host86-181-60-139.range86-181.btcentralplus.com)
20:03:06 <int-e> monochrom: "did you know" -- I'd expect that (inline null, head, tail, and elide the redundant case matches) but never checked whether it gets them all :P
20:03:31 <Cale> The main thing which is misleading about it, I think, is that none of the magnitudes of the vectors are being considered, and we're being asked an idealised question using a lightbulb that will light instantly with any amount of power being delivered
20:04:15 <Cale> Some amount of power will doubtless be delivered in 1m/c seconds, but how much is a good question.
20:05:14 × juhp quits (~juhp@128.106.188.82) (Ping timeout: 260 seconds)
20:05:26 <monochrom> int-e: I wrote an article touching on null-head-tail, so I have a motive to actually check. :)
20:05:40 <monochrom> To be sure, I am a rare writer. Most writers don't want to check.
20:07:14 <EvanR> yeah I had to fill in the 1 "meter" over c myself xD
20:07:45 <int-e> monochrom: right, and you can't really know without checking
20:07:47 <monochrom> Oh yeah, that one I looked at "1/c" and thought "wrong unit, discarded".
20:08:10 <int-e> even if you have a good reason to believe that ghc will elide all the redundant checks :)
20:08:12 juhp joins (~juhp@128.106.188.82)
20:08:57 mrckndt joins (~mrckndt@user/mrckndt)
20:10:21 burnsidesLlama joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
20:11:05 <Cale> But there ought to be a not insubstantial fraction of the power... not at 1m/c seconds, but slightly afterward. You pretty quickly get a situation that effectively has antennas attached to the ends of the battery, and as the fields from those antennas propagate across, you'll get some amount of power being delivered. Not sure it'll be enough to light an incandescent bulb though.
20:11:55 × slack4341 quits (~slack1256@181.42.51.52) (Ping timeout: 256 seconds)
20:12:05 × mrckndt quits (~mrckndt@user/mrckndt) (Client Quit)
20:12:11 × pfurla quits (~pfurla@2804:14d:5c81:4104:d22:12b7:6d7c:fb3c) (Quit: gone to sleep. ZZZzzz…)
20:12:21 mrckndt joins (~mrckndt@user/mrckndt)
20:13:13 <monochrom> Did you also read the slides linked in the description? There you have two physicists specializing in EM or power transmission doing the detailed modeling. There are graphs show that they predict that the power level increases slowly, as you expect.
20:13:28 <EvanR> there will be like an evanescent wave between the transmission lines
20:14:13 <Cale> I haven't, and I also haven't really done the calculations to know what any of the magnitudes are... this is just my intuition about what will happen.
20:14:30 <monochrom> And there is even a wacky scenerio in which there is an overshoot.
20:16:06 <Cale> Well, from another perspective it's like a tiny (but expanding... and eventually shorting out) capacitor being attached to a DC source, so seeing a spike seems to make some sense
20:17:02 <monochrom> Ah the capacitor view is nice.
20:17:26 deadmarshal joins (~deadmarsh@95.38.114.216)
20:19:01 <Sqaure> Im mostly using Nix for my projects lately. I would want to start using Haskell for scripting more. How do you install haskel for scripting? Im feeling a complete, per script, download of libraries and ghc feels a bit savy. Also would be neat to avoid that first "setup". But then again, global install of ghc + libs might lead to old cabal life?! Any smart trick around this?
20:19:04 cosimone joins (~user@93-47-230-47.ip115.fastwebnet.it)
20:19:38 <dsal> If you're using nix, then nix can manage your ghcs and stuff.
20:19:58 <Cale> Sqaure: Well, you'll end up with GHC and all the related libraries in your nix store after first use, so as long as you're not often switching, it's a one-time cost.
20:20:01 <dsal> I just use haskell.nix for a project. Nothing I'd consider a "script" (I just make a new stack project when I want to do a thing), but I'm curious how stack scripts and nix work together.
20:20:19 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
20:20:29 <Sqaure> Ah ok. So you encourage Nix for scripting. Makes sense.
20:20:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
20:20:51 <Cale> I have this: nix-shell -p "(import <nixpkgs> {}).haskell.packages.ghc884.ghcWithPackages (pkgs: with pkgs; [ $* ])"
20:21:08 <Cale> in a file called "ghcWithPackages" marked executable in my ~/bin
20:21:30 <Cale> and then for quick things, I'll just use that to get an environment having whatever packages I want
20:21:51 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 250 seconds)
20:22:31 × zincy_ quits (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
20:22:46 <Cale> Note that you can choose which version of GHC it defaults to. I just have it set to what we use at work right now, but occasionally I'll adjust that e.g. to help someone with a problem they're having on a different ghc
20:26:04 Flow joins (~none@gentoo/developer/flow)
20:26:54 × Ranhir quits (~Ranhir@157.97.53.139) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
20:27:36 <Sqaure> Cale, so imagine you use ghcWithPackages as your shebang? How do you write the actual script code?
20:27:55 × xff0x quits (~xff0x@2001:1a81:5337:5300:9054:dfe3:6e71:3a05) (Ping timeout: 250 seconds)
20:28:46 xff0x joins (~xff0x@2001:1a81:5337:5300:b447:8c77:1877:d5ca)
20:29:18 <Cale> Sqaure: I never use this as a shebang, but it puts you in a bash shell
20:29:38 <Cale> in which you have the appropriate GHC to run Haskell scripts
20:30:51 <Sqaure> So then you just do Main.hs and run it from that the shell? cabal new-run ... ?
20:31:00 <Sqaure> -the*
20:31:03 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 260 seconds)
20:31:31 <Cale> Just ghc/ghci whatever or runghc I suppose (though I don't really use that much)
20:32:05 Ranhir joins (~Ranhir@157.97.53.139)
20:32:15 Moyst_ joins (~moyst@user/moyst)
20:32:16 <Cale> Whatever packages you specified will already be installed, so cabal is somewhat unnecessary, but you can use it also if you like.
20:32:32 zincy_ joins (~zincy@host86-181-60-139.range86-181.btcentralplus.com)
20:33:15 <Sqaure> Ive got little experience working with ghc alone
20:33:49 <Sqaure> i guess i need to learn
20:33:58 <dsal> I think I wrote a stack script once, but it didn't end up making any sense in the long term.
20:34:57 <Sqaure> seems to work great
20:36:12 <Sqaure> whenever i do small ad-hoc / data-mangling jobs i do some sloppy bash and then realize id be better of with haskell. And that happens quite often
20:36:43 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
20:37:26 <EvanR> the import list is often 5 times the size of your script xD
20:37:36 <dsal> And then you need to make sure those libraries are available.
20:37:48 <dsal> And somewhat stable the next time you run your script.
20:37:54 × alx741 quits (~alx741@186.178.108.244) (Ping timeout: 260 seconds)
20:39:19 × zincy_ quits (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
20:39:50 zincy_ joins (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186)
20:40:00 × phma quits (phma@2001:5b0:2172:a1f8:a2fb:22b6:7e7d:59c1) (Read error: Connection reset by peer)
20:41:25 phma joins (phma@2001:5b0:212a:8778:d128:5f0e:1eb9:3baa)
20:44:09 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
20:44:26 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:45:44 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
20:48:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
20:48:25 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:50:05 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
20:50:18 × gustik quits (~gustik@2a01:c844:240a:de20:3606:7339:bc88:b5f5) (Quit: Leaving)
20:50:23 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:50:37 alx741 joins (~alx741@186.178.109.248)
20:50:57 pavonia joins (~user@user/siracusa)
20:51:21 pfurla joins (~pfurla@201.17.118.230)
20:52:27 unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
20:52:51 _xft0 joins (~jaroslawj@185.234.208.208.r.toneticgroup.pl)
20:54:31 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
20:54:46 <sm> Sqaure: i use stack scripts a lot
20:54:49 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:56:07 <sm> I have found they aren't always justified though, and I am using bash more than ever
20:58:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
20:59:10 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
21:01:17 × td_ quits (~td@94.134.91.173) (Ping timeout: 250 seconds)
21:02:57 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
21:03:01 td_ joins (~td@muedsl-82-207-238-097.citykom.de)
21:03:15 jkaye joins (~jkaye@2601:281:8300:7530:2d14:c2ec:d957:4121)
21:03:15 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
21:03:18 Cajun joins (~Cajun@user/cajun)
21:04:07 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:05:08 <janus> sm: what your opinion on the oil shell?
21:06:02 acidjnk joins (~acidjnk@p200300d0c7271e1745429fe452954a90.dip0.t-ipconnect.de)
21:06:18 <sm> i have not tried it yet,
21:06:18 <sm> but I'm a big fan of the writing and work
21:06:27 <sm> how about you ?
21:07:36 <janus> havn't tried it, trying to find someone with an opinion on it :P
21:07:58 <sm> its good , you should try it :)
21:08:11 <dsal> I've heard of Shell Oil, but not oil shell.
21:08:54 <sm> but are we talking about the project generally, or the bash-replacing osh language, or the more forward-looking oil language ?
21:10:15 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
21:10:22 <janus> i guess all of it, since you'll need all of it to replace bash?
21:10:30 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
21:11:08 <sm> no, the osh language is enough
21:11:36 × drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 245 seconds)
21:11:44 <hololeap> I'm getting this when I try to run `./setup copy` for the integer-gmp package:
21:11:49 acidjnk_new joins (~acidjnk@p200300d0c7271e17949910e638228d35.dip0.t-ipconnect.de)
21:11:49 <hololeap> setup: can't find include file ghc-gmp.h
21:11:56 <sm> I saw recently there's a serious discussion in nix of switching to osh
21:12:10 <hololeap> it's referenced in integer-gmp.buildinfo.in ; what kind of file is this?
21:12:42 <geekosaur> .in file is input to autoconf
21:13:13 <geekosaur> which will generate integer-gmp.buildinfo which is used by Cabal build infrastructure
21:13:34 <hololeap> oh ok
21:13:35 <geekosaur> (and is normally generated by Setup.hs configure)
21:15:22 <hololeap> I never learned how to use autoconf, but this should be an easy fix. thanks
21:15:38 × acidjnk quits (~acidjnk@p200300d0c7271e1745429fe452954a90.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:17:48 <maerwald> autoconf is a beauty of constantly changing macros
21:18:20 <geekosaur> actually I'm wondering if it's being used by setup configure instead of autoconf
21:18:41 <geekosaur> or cabal run-as-setup configure
21:18:51 <maerwald> The only people who learn autoconf usually satisfy all of these constraints: 1. you love pain, 2. you love pain, 3. you're a student and have too much time, 4. you love obscure bash, 5. you enjoy complexity
21:19:06 <unit73e> I was here thinking, is haskell jersey or mit style? as in "worse is better" or "the right thing". It's kind of both imo.
21:19:34 <unit73e> certainly simple enough but tries to be correct
21:19:42 <hololeap> maerwald: sounds fun
21:19:58 <hololeap> I knew I avoided it for a reason
21:20:12 <sm> I'd say more the right thing style at the core, for sure
21:20:33 <unit73e> btw maven is a million times better than autoconf and maven is kind of crappy
21:20:38 <maerwald> hololeap: you've watched one of those "slap contest" things on youtube? autoconf is like that
21:20:48 <sm> devolving to worse is better at the edges ?
21:21:37 <unit73e> if you compare to scala it's a lot more unnecessarily complex, for example
21:21:39 <sm> ps can you link that paper/article for us
21:22:19 <unit73e> even in scala channel they agree lol
21:26:16 <maerwald> compare anything to scala and you come to the conclusion: ok, that was unnecessarily complex
21:26:33 <sm> for anyone wondering: https://en.wikipedia.org/wiki/Worse_is_better, well worth reading the original articles linked there
21:28:05 <int-e> oh the perils of multi-objective optimization
21:29:31 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 245 seconds)
21:30:18 <unit73e> scala is for java devs is what C++ was to C guys. I still find C++ unnecessarely complex, but I don't think neither scala or C++ are bad. It's like that because legacy support.
21:30:30 drdo joins (~drdo@roach0.drdo.eu)
21:31:15 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:31:56 Moyst_ joins (~moyst@user/moyst)
21:32:28 × cosimone quits (~user@93-47-230-47.ip115.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
21:34:14 TranquilEcho joins (~grom@user/tranquilecho)
21:34:40 johnw joins (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0)
21:34:42 ph88 joins (~ph88@2a02:8109:9e00:71d0:cdf3:eec1:2823:7459)
21:40:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:40:40 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
21:40:40 wroathe joins (~wroathe@user/wroathe)
21:40:48 <Sqaure> i found scala before haskell and did some years of that. Once i got to know haskell my scala interest disappeared completely. Around 2013/2014 scala had so many weird quirks. Haskell felt more consistent, simpler and clear. Once i got over the lazy eval / monadic IO part.
21:40:57 × pfurla quits (~pfurla@201.17.118.230) (Quit: gone to sleep. ZZZzzz…)
21:42:33 <janus> Sqaure: i read it has gotten a lot better with scala 3 though
21:43:52 <Sqaure> glad to hear. JVM needs that.
21:44:14 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
21:48:26 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
21:48:29 gdown joins (~gavin@h69-11-248-109.kndrid.broadband.dynamic.tds.net)
21:48:31 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
21:48:40 jakalx joins (~jakalx@base.jakalx.net)
21:50:48 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
21:53:02 deadmarshal joins (~deadmarsh@95.38.114.216)
21:54:32 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 240 seconds)
21:54:39 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
21:54:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:56:07 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
21:57:02 × deadmarshal quits (~deadmarsh@95.38.114.216) (Ping timeout: 240 seconds)
21:57:21 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
21:58:06 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
21:58:43 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
21:59:34 RobotMicrowave joins (~user@2804:d41:c2b2:be00:2926:cba1:14b8:da8b)
22:00:27 Ranhir joins (~Ranhir@157.97.53.139)
22:01:02 <RobotMicrowave> Wow, a lot of hackers here, many l33t speak users.
22:01:19 <Cajun> scala has always seemed weird to me, i still dont entirely get the point of mixed functional langauges
22:01:26 <Cajun> like F# or Scala
22:02:25 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
22:03:09 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
22:03:16 × Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 245 seconds)
22:04:13 <zero> some people don't get the point of purely functional programming languages too so...
22:04:44 <zero> i guesss it's good we have a choice
22:07:36 <EvanR> haven't used F#, but I can imagine hoping something haskell-like would invade my horrible day to day language
22:08:19 <EvanR> sometimes it would be nice if an imperative DSL could invade haskell, without making a mess that is
22:11:32 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
22:14:33 jgeerds joins (~jgeerds@55d45b75.access.ecotel.net)
22:14:41 × michalz quits (~michalz@185.246.204.45) (Remote host closed the connection)
22:15:02 <arahael> Cajun: i find that mixed languages get this weird situation where you have OOP design mixed in with a functional design. especially when using code smells that are very much OOP in nature (eg, "everything has an interface")
22:15:25 <arahael> Cajun: and devs keep trying to apply OOP good practices such as data hiding.
22:15:29 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
22:16:20 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 268 seconds)
22:17:38 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
22:18:40 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
22:18:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:18:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
22:18:54 wroathe joins (~wroathe@user/wroathe)
22:19:19 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
22:19:39 alzgh joins (~alzgh@user/alzgh)
22:20:11 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
22:23:16 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
22:23:36 <RobotMicrowave> Rust is a good example of "lets glue all of this together but with a little of OO"
22:24:51 × zincy_ quits (~zincy@2a00:23c8:970c:4801:4cc1:c671:40b5:6186) (Remote host closed the connection)
22:25:37 <Cajun> i dont like the names of things in rust just from hearing about it (like crates or whatever it is)
22:25:52 <Cajun> but the language seems very cool
22:28:30 <dolio> Yeah, what do 'cargo' and 'crate' have to do with rust? It's not even a related pun.
22:28:34 × _xft0 quits (~jaroslawj@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal)
22:28:59 <dolio> That's the true tragedy of epigram never coming to fruition.
22:29:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
22:30:45 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 256 seconds)
22:31:49 Moyst_ joins (~moyst@user/moyst)
22:33:38 Pickchea joins (~private@user/pickchea)
22:33:57 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:36:16 benin joins (~benin@183.82.179.164)
22:38:15 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
22:41:36 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:43:07 × chomwitt quits (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds)
22:43:47 × drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 256 seconds)
22:54:11 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:55:16 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
22:55:42 mreh joins (~mreh@2a00:23c7:2803:ef00:841c:a322:61f5:4ad9)
22:55:48 <jackdk> What is this "epigram"? I can only find oblique references to it in the lens haddocks
22:56:58 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
23:00:15 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:00:21 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
23:00:53 <dibblego> jackdk: http://www.e-pig.org/
23:03:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8) (Remote host closed the connection)
23:05:53 × mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds)
23:07:41 machinedgod joins (~machinedg@142.169.78.187)
23:07:59 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
23:11:39 <[itchyjunk]> I am now back where I left. I have partially figured out out, and the only issue is the last digit!
23:12:02 <[itchyjunk]> g (f 1247)
23:12:02 <[itchyjunk]> [7,4,2]
23:12:34 <[itchyjunk]> idk how to adjoin the 1 to "the same list"
23:12:37 × max22- quits (~maxime@2a01cb0883359800180cddb567bc39f4.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
23:12:44 <[itchyjunk]> @where paste
23:12:44 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
23:14:51 × TranquilEcho quits (~grom@user/tranquilecho) (Ping timeout: 260 seconds)
23:15:00 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
23:15:32 TranquilEcho joins (~grom@user/tranquilecho)
23:18:08 <monochrom> g (f 1247) ++ [1] ?
23:19:57 <monochrom> I wonder if you're just missing how to design recursive algorithms, which is covered in my course notes: http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/01-haskell-basic.html#synev
23:21:24 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:21:33 <monochrom> I wonder if you're just missing how to design recursive algorithms, which is covered in my course notes: http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/01-haskell-basic.html#synev
23:21:39 <[itchyjunk]> Sorry, crappy computer.
23:21:41 <[itchyjunk]> https://paste.tomsmeding.com/Sb6IPzLM
23:22:13 <[itchyjunk]> In the case of (0,y), i wanted to adjoin y to the list the other case was working on, if that makes sense
23:22:26 <monochrom> Why is it not "g (0,y) = [y]" very simply?
23:23:02 <monochrom> And see my course notes mentioned above for creating recursive algorithms generally.
23:23:09 <[itchyjunk]> that works /o\ idk why it works
23:23:27 <[itchyjunk]> ah that link was for me, okay will check out now
23:23:30 <RobotMicrowave> I have a question. Is it possible to recreate the IO monad? Like, making a custom IO monad and substitute the STD?
23:23:48 <RobotMicrowave> The main would still be IO (), of course
23:24:01 × burnsidesLlama quits (~burnsides@dhcp168-032.wadham.ox.ac.uk) (Remote host closed the connection)
23:24:03 <int-e> > 1247 `divMod` 10
23:24:04 <lambdabot> (124,7)
23:24:05 <monochrom> No, IO has to be provided by the compiler/interpreter, it is not user-definable in Haskell.
23:24:08 <RobotMicrowave> Rephrasing: "Is the IO monad special to the compiler?"
23:24:09 <int-e> > 1 `divMod` 10
23:24:11 <lambdabot> (0,1)
23:24:18 <monochrom> Yes it has to be special.
23:24:20 <dibblego> not the monad, the data type
23:24:32 <c_wraith> RobotMicrowave: the monad instance is totally normal. the data type is special
23:24:33 burnsidesLlama joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
23:24:40 <RobotMicrowave> Damn! I've lost 1 week trying to implement my own IO
23:24:51 <RobotMicrowave> >:(
23:24:53 <monochrom> Well if the type is special then the monad instance is special too.
23:24:57 <int-e> [itchyjunk]: so if you can't figure out for input 1247, maybe try figuring out what happens for 1.
23:25:08 <c_wraith> RobotMicrowave: it's best to erase the phrase "IO monad" from your lexicon. It makes you think the wrong thing is special.
23:25:17 <c_wraith> RobotMicrowave: IO is special. Monad is just normal haskell.
23:25:20 srk_ joins (~sorki@user/srk)
23:25:56 × unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving)
23:26:41 × jkaye quits (~jkaye@2601:281:8300:7530:2d14:c2ec:d957:4121) (Ping timeout: 250 seconds)
23:26:51 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
23:26:53 <RobotMicrowave> ok
23:26:53 <monochrom> Anyway, if someone says "I want to use your algorithm to compute the digits of 4" then it's g (f 4) = g (0, 4) and "clearly" the desired answer is [4] so why not g (0, 4) = [4] as a base case.
23:27:39 × srk quits (~sorki@user/srk) (Ping timeout: 265 seconds)
23:28:02 srk_ is now known as srk
23:28:37 <monochrom> This is why I advocate that beginners should think algebra not control flow.
23:29:01 <monochrom> In algebra, if the correct answer is sin(x+y), you write "sin(x+y)". THE END.
23:29:07 × burnsidesLlama quits (~burnsides@dhcp168-032.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
23:29:13 <[itchyjunk]> for input 1, i want g ( f 1) to return [1]
23:29:28 <[itchyjunk]> ah, i guess g (0,y) = [y] comes from the base case itself
23:29:44 <dibblego> think algebra
23:29:51 <monochrom> None of those "how do I initialize a variable to x then add y then sin it" control flow thinking.
23:30:54 <monochrom> I mean, if you were in an assembly language course, sure.
23:30:58 × Moyst_ quits (~moyst@user/moyst) (Ping timeout: 260 seconds)
23:31:23 <int-e> now... do we want the digits of 0 to be [0] or []...
23:31:28 <[itchyjunk]> Yes, i like this approach (i think). has the sideeffect to teaching me Coq along the way maybe :D
23:31:34 <int-e> that's what would keep me up at night
23:31:57 × machinedgod quits (~machinedg@142.169.78.187) (Ping timeout: 256 seconds)
23:32:03 <EvanR> humanity bumbled to this point for a long time thinking the digits of 0 are []
23:32:07 <[itchyjunk]> i think I would? 01 = [0,1] seems okay
23:32:20 <[itchyjunk]> oh
23:32:48 Moyst_ joins (~moyst@user/moyst)
23:37:37 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
23:37:42 <arahael> I've attempted to use a cabal.project to override a hackage package, with the following line: packages: *.cabal ../foundation/basement/*.cabal
23:37:55 <arahael> However, when I rebuild my project, it still seems to use hackage's basement and not the local one I've checked out?
23:38:05 <arahael> (That's the entire contents fo my cabal.project)
23:40:11 <dsal> "I'm more in favor of following the standard." "What's 'the standard'?" [links to his own code which he defines as a standard]
23:40:25 <RobotMicrowave> At least i learned haskell, I've failed to make my own IO because it was impossible. But it was fun
23:40:46 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d837:dc58:2ea7:10e8)
23:40:49 <geekosaur> dsal, that place is a trainwreck. bail.
23:41:01 <c_wraith> you can make your own IO-like thing that happens to use IO behind the scenes
23:41:19 <monochrom> I use recursion to define iteration.
23:41:30 <monochrom> I use iteration to define recursion, too. >:)
23:42:05 <monochrom> But Kleene trumped me. He used minimization to define recursion.
23:42:21 <int-e> [itchyjunk]: well your g (f 0) produces [0] and the question is... is that the behavior you want or not?
23:42:46 <monochrom> But Church trumped him. Church used untyped lambda calculus to get it all.
23:42:56 <[itchyjunk]> It was till you questioned about him.. Now I have no idea @_@
23:43:01 <int-e> [itchyjunk]: assuming you fixed it by defining g (0,y) = [y]
23:43:08 <[itchyjunk]> not him, it!
23:43:17 <[itchyjunk]> Yes, i did that
23:43:22 <monochrom> I think [0] is acceptable.
23:43:57 <int-e> well, we're lacking a specification
23:44:30 <monochrom> If you know who will be judging the correctness of your code, ask them.
23:44:43 <[itchyjunk]> ah, god..
23:44:54 <monochrom> If you don't know... why are you in this programming business in the first place?!
23:45:17 <[itchyjunk]> I was trying to learn some math at somepoint and one thing lead to another
23:45:39 <monochrom> OK so you are the judge, so you decide.
23:46:35 <monochrom> All conventions and standards are made by humans. You may as well be one such human for once.
23:47:02 × Jing quits (~hedgehog@2604:a840:3::105f) (Remote host closed the connection)
23:47:09 [itchyjunk] looks at int-e for judgement
23:47:35 <int-e> way to shirk responsibility
23:47:43 int-e disapproves
23:47:50 Jing joins (~hedgehog@2604:a840:3::105f)
23:47:58 burnsidesLlama joins (~burnsides@dhcp168-032.wadham.ox.ac.uk)
23:47:59 <jackdk> a mathematically-literate colleague of mine once seriously entertained someone's "okay, let's say 1=2" quip by working through the consequences
23:48:13 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
23:48:34 <geekosaur> isn't that the zero ring?
23:48:49 <monochrom> Does it mean writing a PhD thesis on the zero ring? >:)
23:49:09 <jackdk> quite possibly. any part of my maths education that couldn't be translated into typeclasses has rusted away
23:49:19 <int-e> geekosaur: hey maybe it's just a semiring
23:49:33 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:49:44 <Axma59590> jackdk: surely it's the opposite of this: https://www.youtube.com/watch?v=lfP8dx2TdEM
23:50:08 wagle joins (~wagle@quassel.wagle.io)
23:50:20 <monochrom> Oh hey there is an xkcd for that, too!
23:50:39 <monochrom> https://xkcd.com/816/
23:51:06 <Axma59590> Classic
23:51:10 Axma59590 is now known as Axman6
23:51:15 <monochrom> The hover line is golden.
23:51:15 <Axman6> oh my
23:51:18 <jackdk> Axma59590: Who are you and what did you do with the real Axman6?
23:51:27 <jackdk> Axman5.99999999
23:51:47 <Axman6> interest rates man
23:51:49 <monochrom> jackdk: The point is that 59590=6 so it's OK!
23:52:11 <jackdk> monochrom: This is what happens when I IRC on one cup of tea. Time to fix that.
23:52:17 <Axman6> I invested my 6 in bitcoin, it went up two ordered of magnitude, but when I cashed out it dropped and I broke even
23:52:44 ec joins (~ec@gateway/tor-sasl/ec)
23:52:54 <Axman6> orders*
23:55:07 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:55:07 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
23:55:07 wroathe joins (~wroathe@user/wroathe)
23:55:29 × zer0bitz quits (~zer0bitz@2001:2003:f6bc:f00:4c2d:8074:ff8b:55dd) (Ping timeout: 250 seconds)
23:55:35 × hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 264 seconds)

All times are in UTC on 2021-11-24.