2022/08/25

2022-08-25 00:00:16 +0000akegalj(~akegalj@135-40.dsl.iskon.hr) (Ping timeout: 260 seconds)
2022-08-25 00:02:19 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-08-25 00:02:57 +0000stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-08-25 00:02:57 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-08-25 00:02:57 +0000motersen(~motersen@user/motersen) (Remote host closed the connection)
2022-08-25 00:03:08 +0000dcoutts_(~duncan@host86-151-9-109.range86-151.btcentralplus.com)
2022-08-25 00:04:37 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 00:06:06 +0000dcoutts(~duncan@host86-153-135-25.range86-153.btcentralplus.com) (Ping timeout: 268 seconds)
2022-08-25 00:09:36 +0000nate4(~nate@98.45.169.16)
2022-08-25 00:10:30 +0000 <dmj`> type family SnocSymbol (c :: Char) (sym :: Symbol) where SnocSymbol c sym = sym `AppendSymbol` (c `ConsSymbol` "")
2022-08-25 00:10:35 +0000 <dmj`> does this exist anywhere already
2022-08-25 00:12:35 +0000 <dmj`> seems like a good candidate for GHC.TypeLits
2022-08-25 00:13:41 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 00:14:13 +0000nate4(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-08-25 00:14:36 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-08-25 00:15:29 +0000causal(~user@50.35.83.177)
2022-08-25 00:15:54 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Quit: Going elsewhere)
2022-08-25 00:17:05 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 00:20:23 +0000motersen(~motersen@user/motersen)
2022-08-25 00:21:26 +0000califax(~califax@user/califx)
2022-08-25 00:21:54 +0000ryanbooker(uid4340@id-4340.hampstead.irccloud.com)
2022-08-25 00:22:36 +0000 <Axman6> feels like something Csongor Kiss would've written already - https://blog.csongor.co.uk/symbol-parsing-haskell/
2022-08-25 00:25:07 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-25 00:30:54 +0000codaraxis(~codaraxis@user/codaraxis) (Quit: Leaving)
2022-08-25 00:30:57 +0000stiell(~stiell@gateway/tor-sasl/stiell)
2022-08-25 00:32:32 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 00:36:51 +0000 <dmj`> yea I couldn't find it on his github
2022-08-25 00:36:58 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 00:40:22 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 00:40:40 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-08-25 00:42:27 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2022-08-25 00:46:51 +0000nate4(~nate@98.45.169.16)
2022-08-25 00:52:11 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 260 seconds)
2022-08-25 00:55:27 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 00:55:38 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 00:57:47 +0000eikke(~NicolasT@88.126.78.98) (Ping timeout: 255 seconds)
2022-08-25 00:59:01 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 00:59:49 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 01:04:08 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-08-25 01:04:26 +0000mima(mmh@gateway/vpn/airvpn/mima) (Ping timeout: 260 seconds)
2022-08-25 01:04:36 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-08-25 01:13:42 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 01:18:11 +0000stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
2022-08-25 01:20:43 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds)
2022-08-25 01:22:52 +0000stiell(~stiell@gateway/tor-sasl/stiell)
2022-08-25 01:27:18 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 01:28:07 +0000zxx7529(~Thunderbi@user/zxx7529)
2022-08-25 01:29:42 +0000zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-25 01:29:56 +0000zxx7529(~Thunderbi@user/zxx7529)
2022-08-25 01:35:56 +0000_73(~user@pool-71-184-136-42.bstnma.fios.verizon.net)
2022-08-25 01:38:33 +0000Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 252 seconds)
2022-08-25 01:38:42 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-25 01:48:24 +0000stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
2022-08-25 01:49:21 +0000nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-08-25 01:50:06 +0000stiell(~stiell@gateway/tor-sasl/stiell)
2022-08-25 01:51:06 +0000beteigeuze(~Thunderbi@bl11-28-222.dsl.telepac.pt) (Ping timeout: 260 seconds)
2022-08-25 01:51:59 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 01:52:42 +0000nilradical(~nilradica@user/naso)
2022-08-25 01:53:32 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 01:53:35 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 01:53:50 +0000nilradical(~nilradica@user/naso)
2022-08-25 01:53:54 +0000Colere(~colere@about/linux/staff/sauvin)
2022-08-25 01:54:01 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-08-25 01:56:51 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 248 seconds)
2022-08-25 01:58:06 +0000justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds)
2022-08-25 02:01:53 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-25 02:06:00 +0000bilegeek(~bilegeek@2600:1008:b068:5637:7ab9:a362:c68d:9416) (Quit: Leaving)
2022-08-25 02:16:11 +0000td_(~td@94.134.91.14) (Ping timeout: 260 seconds)
2022-08-25 02:17:26 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 02:17:48 +0000td_(~td@94.134.91.83)
2022-08-25 02:18:28 +0000justsomeguy(~justsomeg@user/justsomeguy)
2022-08-25 02:20:04 +0000zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-25 02:21:56 +0000fef(~thedawn@user/thedawn)
2022-08-25 02:23:42 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 02:25:21 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-08-25 02:28:24 +0000nate4(~nate@98.45.169.16)
2022-08-25 02:28:32 +0000motersen(~motersen@user/motersen) (Remote host closed the connection)
2022-08-25 02:28:32 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 02:28:32 +0000fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-08-25 02:28:59 +0000motersen(~motersen@user/motersen)
2022-08-25 02:29:15 +0000fef(~thedawn@user/thedawn)
2022-08-25 02:30:02 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 02:35:49 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 268 seconds)
2022-08-25 02:38:18 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds)
2022-08-25 02:38:57 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-08-25 02:42:01 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-08-25 02:42:59 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-08-25 02:45:02 +0000mzan(~quassel@mail.asterisell.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-08-25 02:45:58 +0000mzan(~quassel@mail.asterisell.com)
2022-08-25 02:53:33 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 02:53:56 +0000dos__^^(~user@user/dos/x-1723657)
2022-08-25 03:08:16 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 03:08:23 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 03:10:56 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 03:11:23 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 03:12:16 +0000fef(~thedawn@user/thedawn) (Ping timeout: 268 seconds)
2022-08-25 03:17:57 +0000famubu(~famubu@user/famubu)
2022-08-25 03:18:00 +0000 <famubu> Suppose we got an `add2` function which adds two integers. Is there a way to make a function `addn` that returns a new function that can add n integers?
2022-08-25 03:19:04 +0000 <famubu> As in `addn 3` will give a function `add3 :: Int -> Int -> Int -> Int`.
2022-08-25 03:19:13 +0000 <famubu> Is that possible?
2022-08-25 03:21:31 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-25 03:23:59 +0000 <qrpnxz> yes it is possible. One way is to create a stream of ((->) Int), i have a hack somewhere that uses delimited continuations. See also https://hackage.haskell.org/package/base-4.17.0.0/docs/Text-Printf.html#v:printf famubu
2022-08-25 03:24:09 +0000Igloo(~ian@matrix.chaos.earth.li) (Ping timeout: 252 seconds)
2022-08-25 03:24:16 +0000Igloo(~ian@matrix.chaos.earth.li)
2022-08-25 03:27:03 +0000 <famubu> qrpnxz: /clear
2022-08-25 03:27:07 +0000 <famubu> Oops..
2022-08-25 03:27:23 +0000famubumeant that for the irc client
2022-08-25 03:27:47 +0000 <dmj`> famubu: check out the sumOf answer here: https://stackoverflow.com/a/3467806
2022-08-25 03:29:13 +0000 <qrpnxz> lmao
2022-08-25 03:32:54 +0000 <famubu> qrpnxz: Thanks!
2022-08-25 03:33:14 +0000 <famubu> dmj`: That SO post seems to have everything I need.
2022-08-25 03:34:10 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Quit: WeeChat 3.5)
2022-08-25 03:36:50 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 03:38:26 +0000nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-08-25 03:38:52 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-08-25 03:39:28 +0000 <[Leary]> famubu: Note also the comments that this approach is not idiomatic Haskell. It makes some sense when the arguments have unrelated types as in `printf`, but uniform arguments should come in a list.
2022-08-25 03:40:14 +0000 <dmj`> famubu: nice
2022-08-25 03:40:41 +0000 <dmj`> famubu: there is also just `sum` :)
2022-08-25 03:44:22 +0000 <Hash> Holy shit I just realized somethign
2022-08-25 03:44:28 +0000 <Hash> Oh wow this is even the wrong window
2022-08-25 03:44:30 +0000 <Hash> Ha.
2022-08-25 03:44:44 +0000elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
2022-08-25 03:46:14 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-25 03:48:13 +0000 <famubu> Yeah saw in that SO post, what we probably need is just a list of args instead of a variadic arg function.
2022-08-25 03:48:21 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-08-25 03:52:44 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 03:52:46 +0000 <Axman6> Hash: well now we have to know too!
2022-08-25 03:54:46 +0000 <famubu> If we got a function like `add :: Int -> Int -> Int`, we can do `add 3 $ 2` where the `3` sort of 'attached' first and then `2`. `$` helps avoid parenthesis. Is there a similar way to avoid parenthesis where the second argument is attached first? Something like `add _ 2 $ 3`?
2022-08-25 03:55:15 +0000 <Axman6> famubu: don;t do it though - you'll run into more problems than it helps with, particularly with type inference. Since type classes are open, you can't do things like (print $ sumOf 1 2 3) because there's no way to know which type you want to have printed - anyone could add an instance for SumRes (Maybe Bool)
2022-08-25 03:55:36 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Quit: WeeChat 3.5)
2022-08-25 03:55:38 +0000 <Axman6> flip add3
2022-08-25 03:56:54 +0000 <famubu> Axman6: I need to keep that in mind.
2022-08-25 03:57:14 +0000 <Axman6> "that" = variadic functions
2022-08-25 03:57:21 +0000 <famubu> Yeah understood. :)
2022-08-25 03:57:42 +0000 <famubu> Axman6: And flip works cool. Is it often used by people? Or is it something that is considered something fancy?
2022-08-25 03:57:49 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 03:57:58 +0000 <Axman6> it's relatively common, yes
2022-08-25 03:58:26 +0000 <famubu> Okay. +1
2022-08-25 03:58:29 +0000 <Axman6> but if you need to do something more fancy, lambdas are always an option: (\x y -> foo y True 7 x)
2022-08-25 03:59:15 +0000 <[Leary]> @pl \x y -> foo y True 7 x
2022-08-25 03:59:15 +0000 <lambdabot> flip (flip (flip foo True) 7)
2022-08-25 03:59:36 +0000 <[Leary]> Crucially, the lambda is a much better option than three flips.
2022-08-25 04:00:05 +0000 <[Leary]> But one is fine.
2022-08-25 04:00:11 +0000 <famubu> What pl ask lamdabot to do?
2022-08-25 04:00:15 +0000 <famubu> *what does
2022-08-25 04:00:34 +0000 <dolio> Eliminate variable bindings.
2022-08-25 04:00:49 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2022-08-25 04:00:51 +0000 <famubu> Ah.. okay.
2022-08-25 04:04:23 +0000nate4(~nate@98.45.169.16)
2022-08-25 04:06:54 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-08-25 04:09:19 +0000 <Hash> Axman6: haskell without side effects is useless in any sense.
2022-08-25 04:09:41 +0000 <dibblego> lies
2022-08-25 04:11:15 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 248 seconds)
2022-08-25 04:11:32 +0000Sgeo_(~Sgeo@user/sgeo)
2022-08-25 04:13:07 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 04:13:14 +0000qrpnxz(~qrpnxz@fsf/member/qrpnxz)
2022-08-25 04:14:27 +0000sympt(~sympt@user/sympt)
2022-08-25 04:14:29 +0000Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-08-25 04:15:11 +0000nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-08-25 04:15:46 +0000Sgeo(~Sgeo@user/sgeo) (Ping timeout: 260 seconds)
2022-08-25 04:18:53 +0000Sgeo(~Sgeo@user/sgeo)
2022-08-25 04:19:45 +0000nilradical(~nilradica@user/naso) ()
2022-08-25 04:20:42 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-08-25 04:23:07 +0000elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-08-25 04:31:32 +0000ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-25 04:32:06 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-08-25 04:33:48 +0000glguy(x@libera/staff/glguy) (Quit: rebirth)
2022-08-25 04:35:39 +0000motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2022-08-25 04:37:16 +0000Sgeo(~Sgeo@user/sgeo)
2022-08-25 04:39:06 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 04:39:35 +0000 <johnw> Hash: ?
2022-08-25 04:41:05 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-25 04:41:29 +0000 <Axman6> at the very least, it can be used to heat up my room - thanks entropy
2022-08-25 04:43:51 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-25 04:44:58 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-25 04:45:10 +0000 <dmj`> Hash: Haskell has influenced a lot of languages
2022-08-25 04:45:39 +0000 <Hash> Huh?
2022-08-25 04:45:44 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-25 04:45:48 +0000 <Hash> Guy asked me wha I realized, I told him.
2022-08-25 04:46:04 +0000 <Hash> Who wants to fight me?
2022-08-25 04:46:15 +0000Hashhands out free joints
2022-08-25 04:46:52 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 04:49:21 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
2022-08-25 04:49:22 +0000mbuf(~Shakthi@122.165.55.71)
2022-08-25 04:49:30 +0000nate4(~nate@98.45.169.16)
2022-08-25 04:52:14 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-25 04:52:31 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 04:53:30 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72)
2022-08-25 04:53:52 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 04:54:35 +0000nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-08-25 04:55:31 +0000motherfsck(~motherfsc@user/motherfsck)
2022-08-25 04:56:53 +0000 <monochrom> Heating up your room is still a side effect.
2022-08-25 05:05:14 +0000Guest58(~Guest58@2600:4040:b6b0:c100:e89c:a045:89de:d7a)
2022-08-25 05:11:15 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 05:13:54 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72) (Remote host closed the connection)
2022-08-25 05:14:13 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72)
2022-08-25 05:16:40 +0000Guest58(~Guest58@2600:4040:b6b0:c100:e89c:a045:89de:d7a) (Quit: Ping timeout (120 seconds))
2022-08-25 05:18:33 +0000famubu(~famubu@user/famubu) (Quit: leaving)
2022-08-25 05:21:18 +0000coot(~coot@213.134.176.158)
2022-08-25 05:22:24 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 05:25:48 +0000coot(~coot@213.134.176.158) (Client Quit)
2022-08-25 05:26:19 +0000coot(~coot@213.134.176.158)
2022-08-25 05:26:30 +0000motherfs1(~motherfsc@user/motherfsck)
2022-08-25 05:26:31 +0000motherfsck(~motherfsc@user/motherfsck) (Read error: Connection reset by peer)
2022-08-25 05:28:51 +0000zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-08-25 05:31:01 +0000coot_(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 05:31:38 +0000 <jackdk> even putStrLn has no side-effects. It's what the runtime chooses to do with that `IO ()` that matters
2022-08-25 05:32:19 +0000coot(~coot@213.134.176.158) (Ping timeout: 248 seconds)
2022-08-25 05:34:17 +0000coot_(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 05:37:03 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 05:38:06 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 05:40:59 +0000odnes(~odnes@5-203-171-254.pat.nym.cosmote.net)
2022-08-25 05:43:28 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 05:43:59 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 05:45:28 +0000 <dmj`> anyone know what's going on here? https://gist.github.com/dmjio/919cf935b7e365cc427ff90e30641d9f
2022-08-25 05:46:16 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 05:47:17 +0000 <jackdk> My first thought is try turning off StarIsType
2022-08-25 05:48:28 +0000 <[_________]> dmj`: does `natVal (Proxy :: Proxy 100)` compile ? I wonder if it fails due to expression. ;)
2022-08-25 05:48:57 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 05:49:13 +0000 <dmj`> natVal (Proxy :: Proxy 100) -- compiles fine
2022-08-25 05:49:45 +0000 <dmj`> jackdk: only have data & poly kinds, type families and undecidable instances on
2022-08-25 05:49:53 +0000 <dmj`> ghc 9.2.2
2022-08-25 05:50:10 +0000 <johnw> dmj`: can you evaluate 10 * 10 at the type level like that?
2022-08-25 05:50:47 +0000 <Axman6> looks like it https://hackage.haskell.org/package/base-4.17.0.0/docs/GHC-TypeNats.html#t:-42-
2022-08-25 05:50:54 +0000 <dmj`> johnw: addition works fine, but when I try multiplication its a type error
2022-08-25 05:51:02 +0000 <dmj`> kind signatures are identical
2022-08-25 05:51:44 +0000 <[Leary]> The fact that it puts * in brackets there shows that it's not being parsed as an infix operator, but as a special identifier, which explains the error and makes sense in light of StarIsType.
2022-08-25 05:51:44 +0000 <jackdk> -XStarIsType is currently enabled by default https://www.irccloud.com/pastebin/sG58zSUJ/dmj%60
2022-08-25 05:51:47 +0000 <Axman6> I reckon trying to use {-# LANGUAGE NoStarAsType #-} should help
2022-08-25 05:51:55 +0000 <[Leary]> What they said.
2022-08-25 05:52:54 +0000 <dmj`> wild, thanks guys, [Leary] , jackdk , Axman6
2022-08-25 05:53:05 +0000 <dmj`> ghc is happy now
2022-08-25 05:53:41 +0000 <jackdk> The eventual plan is to turn it off by default, in which case it will render as `Type`, as in `Data.Kind.Type`, because there are many more kinds than Haskell98 had
2022-08-25 05:54:30 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 05:57:25 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 05:59:14 +0000nilradical(~nilradica@user/naso)
2022-08-25 05:59:32 +0000dmj`clutches his stars
2022-08-25 06:01:35 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 06:04:32 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 06:07:41 +0000nilradical(~nilradica@user/naso) (Read error: Connection reset by peer)
2022-08-25 06:08:17 +0000nilradical(~nilradica@user/naso)
2022-08-25 06:08:31 +0000 <monochrom> The star-spangled kind signature >:)
2022-08-25 06:09:38 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-25 06:10:22 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 06:10:34 +0000Axman6salutes the Type spangled banner
2022-08-25 06:13:06 +0000nilradical(~nilradica@user/naso) (Read error: Connection reset by peer)
2022-08-25 06:13:40 +0000 <monochrom> "I can't let you do that, Dave"
2022-08-25 06:13:51 +0000nilradical(~nilradica@user/naso)
2022-08-25 06:14:36 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-25 06:14:47 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 06:17:45 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 06:19:02 +0000nilradical(~nilradica@user/naso) (Ping timeout: 268 seconds)
2022-08-25 06:21:03 +0000mima(mmh@gateway/vpn/airvpn/mima)
2022-08-25 06:23:36 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 06:24:47 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-25 06:26:22 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 06:26:29 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 06:28:37 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 06:30:24 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:b753:993e:4a:e55)
2022-08-25 06:33:27 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 06:33:27 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 06:35:20 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:b753:993e:4a:e55) (Remote host closed the connection)
2022-08-25 06:35:27 +0000mc47(~mc47@xmonad/TheMC47)
2022-08-25 06:35:39 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:4963:1d5e:3c4f:b4ac)
2022-08-25 06:36:51 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 248 seconds)
2022-08-25 06:39:45 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 06:44:40 +0000 <dminuoso> I think it was a mistake to allow non-colon type operator-constructors at all. :S
2022-08-25 06:45:18 +0000 <dminuoso> Though Im not sure this would have solved in this particular situation at all
2022-08-25 06:45:34 +0000jonathanx(~jonathan@94.234.115.159)
2022-08-25 06:48:13 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:10be:940f:4ae:d4c8)
2022-08-25 06:48:16 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2022-08-25 06:48:22 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-08-25 06:50:29 +0000luffy(~chenqisu1@183.217.200.212) (Ping timeout: 268 seconds)
2022-08-25 06:51:06 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 06:51:30 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:4963:1d5e:3c4f:b4ac) (Remote host closed the connection)
2022-08-25 06:51:44 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72) (Remote host closed the connection)
2022-08-25 06:51:48 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:2301:b332:9642:eb14)
2022-08-25 06:52:22 +0000nate4(~nate@98.45.169.16)
2022-08-25 06:53:03 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72)
2022-08-25 06:54:02 +0000jonathanx(~jonathan@94.234.115.159) (Remote host closed the connection)
2022-08-25 06:54:19 +0000jonathanx(~jonathan@c-5eea739f-74736162.cust.telenor.se)
2022-08-25 06:57:21 +0000nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-08-25 06:57:43 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-08-25 06:58:03 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 07:01:44 +0000 <sm> yesod types are intense
2022-08-25 07:04:53 +0000jonathanx(~jonathan@c-5eea739f-74736162.cust.telenor.se) (Ping timeout: 252 seconds)
2022-08-25 07:05:02 +0000jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-08-25 07:09:52 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:2301:b332:9642:eb14) (Remote host closed the connection)
2022-08-25 07:10:10 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:c3d5:9201:4422:1143)
2022-08-25 07:16:17 +0000michalz(~michalz@185.246.204.75)
2022-08-25 07:21:00 +0000cfricke(~cfricke@user/cfricke)
2022-08-25 07:22:53 +0000alternateved(~user@staticline-31-183-146-203.toya.net.pl)
2022-08-25 07:23:38 +0000yvan-sraka(~yvan-srak@2a02:2788:224:71c:c3d5:9201:4422:1143) (Ping timeout: 252 seconds)
2022-08-25 07:26:27 +0000Batzy(~quassel@user/batzy) (Read error: Connection reset by peer)
2022-08-25 07:28:22 +0000nilradical(~nilradica@user/naso)
2022-08-25 07:29:56 +0000odnes(~odnes@5-203-171-254.pat.nym.cosmote.net) (Quit: Leaving)
2022-08-25 07:36:36 +0000ardell(~ardell@user/ardell)
2022-08-25 07:40:12 +0000 <dminuoso> For logging output, would you generally use a prettyprinter?
2022-08-25 07:42:30 +0000 <sm> yes
2022-08-25 07:42:48 +0000acidjnk(~acidjnk@p200300d6e7137a4448390a2d4fdf592b.dip0.t-ipconnect.de)
2022-08-25 07:42:57 +0000 <sm> ah no.. it depends.
2022-08-25 07:43:35 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 07:45:25 +0000 <dminuoso> Im just mildly annoyed because I have `pretty` in my dependency tree, but Im used to using `prettyprinter` which has a bit more batteries included.
2022-08-25 07:45:35 +0000eikke(~NicolasT@88.126.78.98)
2022-08-25 07:45:37 +0000 <dminuoso> And Im just questioning whether I should be using `pretty` at all now
2022-08-25 07:50:20 +0000fserucas(~fserucas@89.214.153.60)
2022-08-25 07:53:26 +0000`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
2022-08-25 07:54:20 +0000 <sm> on another note, are there any yesod wizards about ? I'm wondering how to add a selectFieldList here:
2022-08-25 07:54:20 +0000 <sm> cfc0554#diff-4f785631673350333a037eca53769f9320f8b8a2856371597ef0687f52f86849R72-R124
2022-08-25 07:54:38 +0000 <sm> https://github.com/simonmichael/hledger/commit/cfc05540daad75a358a47741c16e7611fe42f54f#diff-4f785…
2022-08-25 07:54:50 +0000vglfr(~vglfr@145.224.94.75) (Ping timeout: 244 seconds)
2022-08-25 07:55:28 +0000 <sm> and why https://hackage.haskell.org/package/yesod-form-1.7.0/docs/Yesod-Form.html#v:selectFieldList has to run in the Handler
2022-08-25 07:57:37 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-25 07:58:36 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-08-25 07:58:55 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 08:00:23 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-08-25 08:02:49 +0000ccntrq(~Thunderbi@172.209.94.92.rev.sfr.net)
2022-08-25 08:05:49 +0000Pickchea(~private@user/pickchea)
2022-08-25 08:07:17 +0000wonko(~wjc@2a0e:1c80:2::130)
2022-08-25 08:12:21 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 252 seconds)
2022-08-25 08:21:35 +0000vglfr(~vglfr@37.73.8.134)
2022-08-25 08:21:56 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-25 08:23:08 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 08:24:37 +0000shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-08-25 08:27:11 +0000GoldsteinQ(~goldstein@goldstein.rs) (Ping timeout: 260 seconds)
2022-08-25 08:32:44 +0000mc47(~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds)
2022-08-25 08:34:55 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 08:38:13 +0000chele(~chele@user/chele)
2022-08-25 08:41:10 +0000zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-08-25 08:41:44 +0000luffy(~chenqisu1@183.217.200.212)
2022-08-25 08:44:08 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 08:45:01 +0000ubert(~Thunderbi@77.119.217.249.wireless.dyn.drei.com)
2022-08-25 08:48:46 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-08-25 08:48:55 +0000akegalj(~akegalj@135-40.dsl.iskon.hr)
2022-08-25 08:52:19 +0000vglfr(~vglfr@37.73.8.134) (Ping timeout: 252 seconds)
2022-08-25 08:57:33 +0000nschoe(~quassel@178.251.84.79)
2022-08-25 09:00:48 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-25 09:03:06 +0000kuribas(~user@silversquare.silversquare.eu)
2022-08-25 09:05:09 +0000Benzi-Junior(~BenziJuni@dsl-149-67-162.hive.is) (Ping timeout: 252 seconds)
2022-08-25 09:05:37 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-08-25 09:05:57 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 09:06:14 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-25 09:06:14 +0000motersen(~motersen@user/motersen) (Ping timeout: 268 seconds)
2022-08-25 09:06:14 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
2022-08-25 09:06:51 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2022-08-25 09:07:04 +0000motersen(~motersen@user/motersen)
2022-08-25 09:07:28 +0000stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
2022-08-25 09:08:05 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-08-25 09:08:07 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72) (Remote host closed the connection)
2022-08-25 09:08:26 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72)
2022-08-25 09:08:30 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-25 09:08:42 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
2022-08-25 09:08:55 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-25 09:09:05 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-25 09:09:33 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-08-25 09:09:35 +0000nate4(~nate@98.45.169.16)
2022-08-25 09:14:18 +0000nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-08-25 09:15:57 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 09:16:38 +0000stiell(~stiell@gateway/tor-sasl/stiell)
2022-08-25 09:17:24 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-08-25 09:23:35 +0000wonko(~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds)
2022-08-25 09:24:17 +0000mc47(~mc47@xmonad/TheMC47)
2022-08-25 09:26:38 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 09:27:15 +0000nilradical(~nilradica@user/naso)
2022-08-25 09:32:30 +0000nilradical(~nilradica@user/naso) (Ping timeout: 264 seconds)
2022-08-25 09:35:17 +0000Benzi-Junior(~BenziJuni@88-149-67-162.du.xdsl.is)
2022-08-25 09:37:01 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-08-25 09:38:44 +0000beteigeuze(~Thunderbi@bl11-28-222.dsl.telepac.pt)
2022-08-25 09:40:33 +0000dminuosowants SelectiveDo
2022-08-25 09:47:05 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-08-25 09:47:36 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 09:48:21 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 09:48:39 +0000vglfr(~vglfr@145.224.94.75)
2022-08-25 09:51:15 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-08-25 09:51:55 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 09:52:42 +0000jpds1(~jpds@gateway/tor-sasl/jpds)
2022-08-25 09:52:52 +0000Chai-T-Rex(~ChaiTRex@user/chaitrex)
2022-08-25 09:53:06 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-08-25 09:53:43 +0000califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-08-25 09:54:24 +0000jpds1(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-08-25 09:55:34 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
2022-08-25 09:55:34 +0000jpds1(~jpds@gateway/tor-sasl/jpds)
2022-08-25 09:56:03 +0000califax(~califax@user/califx)
2022-08-25 09:57:30 +0000jpds1(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-08-25 09:57:30 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-08-25 09:57:52 +0000jpds1(~jpds@gateway/tor-sasl/jpds)
2022-08-25 09:58:01 +0000califax(~califax@user/califx)
2022-08-25 10:00:31 +0000nilradical(~nilradica@user/naso)
2022-08-25 10:01:02 +0000euandreh(~euandreh@179.214.113.107) (Quit: WeeChat 3.6)
2022-08-25 10:01:42 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-08-25 10:01:54 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 10:02:08 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 10:03:02 +0000euandreh(~euandreh@179.214.113.107) (Client Quit)
2022-08-25 10:03:57 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 10:04:21 +0000euandreh(~euandreh@179.214.113.107) (Client Quit)
2022-08-25 10:05:32 +0000motersen(~motersen@user/motersen) ()
2022-08-25 10:05:54 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 10:06:03 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-25 10:10:12 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-25 10:10:55 +0000zaquest(~notzaques@5.130.79.72)
2022-08-25 10:11:14 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 10:11:33 +0000nilradical(~nilradica@user/naso)
2022-08-25 10:15:32 +0000Pickchea(~private@user/pickchea)
2022-08-25 10:17:35 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds)
2022-08-25 10:18:08 +0000 <ardell> I've got some problems when reading from stdout (or stderr) https://paste.tomsmeding.com/sKbov0fp
2022-08-25 10:18:26 +0000 <ardell> Maybe the pipe is "full"? Because I use waitForProcess
2022-08-25 10:18:36 +0000 <ardell> But I have no idea how to handle this in Haskell
2022-08-25 10:19:36 +0000 <_________> ardell: stdin is for reading
2022-08-25 10:20:32 +0000eikke(~NicolasT@88.126.78.98) (Ping timeout: 244 seconds)
2022-08-25 10:20:38 +0000 <_________> oh, you meant process output
2022-08-25 10:20:54 +0000 <ardell> Right!
2022-08-25 10:23:02 +0000 <ardell> I don't even want to wait for the process to finish. It would be best to flush the pipe more often and process the data segmentally.
2022-08-25 10:25:44 +0000 <Maxdamantus> ardell: read the content before waiting for the process to exit.
2022-08-25 10:26:25 +0000 <Maxdamantus> ardell: reading the pipe is what allows the process to complete its `write` calls.
2022-08-25 10:27:44 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-25 10:27:53 +0000themc47(~mc47@xmonad/TheMC47)
2022-08-25 10:28:29 +0000 <Maxdamantus> though now that I think of it, the laziness of `hGetContents` will also be a problem.
2022-08-25 10:28:56 +0000kuribas`(~user@silversquare.silversquare.eu)
2022-08-25 10:30:51 +0000kuribas(~user@silversquare.silversquare.eu) (Ping timeout: 260 seconds)
2022-08-25 10:30:51 +0000 <Maxdamantus> turns out there's `hGetContents'` which is strict, so that should work (again, as long as you do it before waiting the process)
2022-08-25 10:32:07 +0000 <dminuoso> ardell: conduit-extras has some utilities for that.
2022-08-25 10:33:16 +0000 <dminuoso> Though it is curious that this would block
2022-08-25 10:33:32 +0000gmg(~user@user/gehmehgeh)
2022-08-25 10:33:38 +0000liz(~liz@host86-157-124-38.range86-157.btcentralplus.com)
2022-08-25 10:33:58 +0000 <Maxdamantus> Seems expected to me.
2022-08-25 10:34:20 +0000 <dminuoso> Why?
2022-08-25 10:34:22 +0000 <Maxdamantus> the process is trying to write to the stdout pipe, but nothing is reading from it.
2022-08-25 10:34:58 +0000 <dminuoso> Ohh yes, you're right
2022-08-25 10:35:04 +0000 <dminuoso> That's why readCreateProcess forks a process off
2022-08-25 10:35:27 +0000 <dminuoso> ardell: You should use hGetContents *before* waitForProcess
2022-08-25 10:35:46 +0000 <Maxdamantus> also, hGetContents'
2022-08-25 10:35:47 +0000 <dminuoso> pipes are not infinitely sized
2022-08-25 10:35:55 +0000 <Maxdamantus> (with an apostrophe)
2022-08-25 10:35:58 +0000 <dminuoso> Otherwise `seq` will block on the filled stdout pipe
2022-08-25 10:36:35 +0000 <dminuoso> Maxdamantus: That wouldnt matter here.
2022-08-25 10:36:36 +0000 <ardell> Maxdamantus: Nice! This works now: https://paste.tomsmeding.com/3u6s0f0z
2022-08-25 10:36:51 +0000 <ardell> I'll also try the strict version `hGetContents'`
2022-08-25 10:36:54 +0000 <dminuoso> ardell: You forgot to waitForProcess though.
2022-08-25 10:37:06 +0000 <dminuoso> Or you *must* use hGetContents'
2022-08-25 10:37:16 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 10:37:25 +0000 <dminuoso> Otherwise you are deferring potential failure into pure code
2022-08-25 10:37:26 +0000 <ardell> dminuoso: Because this does not work with lazy hGetContents it seems
2022-08-25 10:37:38 +0000 <dminuoso> What do you mean?
2022-08-25 10:37:49 +0000 <Maxdamantus> dminuoso: it should matter, assuming hGetContents is lazy.
2022-08-25 10:37:52 +0000nilradical(~nilradica@user/naso)
2022-08-25 10:38:05 +0000 <dminuoso> Maxdamantus: No it actually has different semantics.
2022-08-25 10:38:15 +0000 <Maxdamantus> dminuoso: since you need to iterate through the string to force the read.
2022-08-25 10:38:32 +0000 <Maxdamantus> dminuoso: hm. different how?
2022-08-25 10:40:07 +0000tcard(~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2022-08-25 10:40:17 +0000 <ardell> dminuoso: https://paste.tomsmeding.com/YBnXpoNt
2022-08-25 10:40:24 +0000tcard(~tcard@114.164.44.242)
2022-08-25 10:40:39 +0000 <dminuoso> Maxdamantus: So in the general sense, with hGetContents you conceptually spawn a thread with it because you can just move on.
2022-08-25 10:40:50 +0000 <dminuoso> With hGetContents' you block
2022-08-25 10:41:08 +0000king_gs(~Thunderbi@2806:103e:29:da7a:8cff:b135:3864:cc72) (Quit: king_gs)
2022-08-25 10:41:21 +0000king_gs(~Thunderbi@187.201.216.244)
2022-08-25 10:41:23 +0000 <Maxdamantus> ardell: you should probably also wait for the process, otherwise it will be left as a zombie until your process exits.
2022-08-25 10:41:29 +0000 <dminuoso> If you first `hGetContents` and then waitForProcess you get more options, as you can spawn stuff in between
2022-08-25 10:42:19 +0000 <Maxdamantus> dminuoso: if "move on" is "wait for the child to exit", there isn't going to be anything causing the pipe to be read.
2022-08-25 10:42:21 +0000themc47(~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
2022-08-25 10:42:56 +0000 <Maxdamantus> ie, if you only read after the child exits, which never happens.
2022-08-25 10:43:06 +0000 <dminuoso> Mmm
2022-08-25 10:43:14 +0000 <dminuoso> `process` gives me headaches
2022-08-25 10:43:16 +0000dminuososhrugs
2022-08-25 10:43:22 +0000luffy(~chenqisu1@183.217.200.212) (Remote host closed the connection)
2022-08-25 10:43:42 +0000luffy(~chenqisu1@183.217.200.212)
2022-08-25 10:43:54 +0000 <Maxdamantus> afk
2022-08-25 10:45:12 +0000 <dminuoso> ardell: By the way, `readProcess` does this wrapping for you automatically
2022-08-25 10:45:55 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 10:46:27 +0000 <dminuoso> ardell: After staring at its internals, I understand *why* it uses hGetContents. In addition it uses `evaluate` inside a withForkWait wrapper, as a way to ensure writing input and reading output in parallel
2022-08-25 10:46:43 +0000nilradical(~nilradica@user/naso) (Ping timeout: 252 seconds)
2022-08-25 10:46:59 +0000 <dminuoso> There's some very careful consideration with regards to async threads there as well *shrugs*
2022-08-25 10:47:30 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-08-25 10:48:15 +0000gmg(~user@user/gehmehgeh)
2022-08-25 10:52:55 +0000wonko(~wjc@2a0e:1c80:2::130)
2022-08-25 10:53:03 +0000 <ardell> There's still a lot I don't understand. And I just realized that `hGetContents'` is new in base-4.15 so it's quite current.
2022-08-25 10:53:39 +0000 <ardell> Would be nice to be as lazy as possible in the evaluation but still get the exitCode.
2022-08-25 10:54:09 +0000 <dminuoso> ardell: Use conduit-extras then
2022-08-25 10:54:10 +0000 <ardell> dminuoso: You read the source of `readProcess`? Maybe I should do the same first. :)
2022-08-25 10:54:19 +0000 <dminuoso> Oh, conduit-extra even
2022-08-25 10:54:24 +0000 <dminuoso> ardell: Yes.
2022-08-25 10:54:47 +0000 <dminuoso> ardell: with conduit you can *stream* the output but also get the exit code at the right moment
2022-08-25 10:55:03 +0000 <dminuoso> https://hackage.haskell.org/package/conduit-extra-1.3.6/docs/Data-Conduit-Process.html#v:sourcePro…
2022-08-25 10:55:11 +0000 <dminuoso> Or if you want all streams
2022-08-25 10:55:15 +0000 <dminuoso> tps://hackage.haskell.org/package/conduit-extra-1.3.6/docs/Data-Conduit-Process.html#v:sourceProcessWithStreams
2022-08-25 10:55:18 +0000 <dminuoso> https://hackage.haskell.org/package/conduit-extra-1.3.6/docs/Data-Conduit-Process.html#v:sourcePro…
2022-08-25 10:56:12 +0000eikke(~NicolasT@88.126.78.98)
2022-08-25 10:58:42 +0000Sinbad(~Sinbad@user/sinbad)
2022-08-25 10:59:21 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 11:00:38 +0000 <ardell> dminuoso: thanks, I'll look into this. It's not really necessary for my current use case but for later I need to learn about stream processing in Haskell anyway.
2022-08-25 11:07:52 +0000Sinbad(~Sinbad@user/sinbad) (Quit: WeeChat 3.6)
2022-08-25 11:08:37 +0000CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-08-25 11:09:33 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-08-25 11:13:17 +0000nilradical(~nilradica@user/naso)
2022-08-25 11:13:27 +0000 <merijn> What are we doing? parallel reading from subprocesses? :p
2022-08-25 11:13:38 +0000mc47(~mc47@xmonad/TheMC47)
2022-08-25 11:18:18 +0000 <Maxdamantus> ardell: if you're okay with it not being lazy, you could probably just do something like: exitCode <- length contents `seq` waitForProcess p
2022-08-25 11:18:28 +0000 <Maxdamantus> (using `hGetContents`)
2022-08-25 11:19:27 +0000 <merijn> Maxdamantus: That's not actually necessarily gonna work
2022-08-25 11:20:47 +0000 <merijn> Length won't finish until the handle is closed, but if the handle is closed by process termination it won't be closed until after you finish waiting
2022-08-25 11:21:01 +0000 <merijn> Additionally, the order of evaluation for seq is unspecified
2022-08-25 11:21:32 +0000 <Maxdamantus> the pipe gets closed when the child process exits, not when the parent process finishes waiting.
2022-08-25 11:21:41 +0000 <merijn> So your solution (at best) will *appear* to work non-deterministically
2022-08-25 11:22:02 +0000 <Maxdamantus> the child process terminates *before* the parent process finishes (or potentially even starts) waiting.
2022-08-25 11:23:19 +0000 <merijn> Maxdamantus: "It Depends"
2022-08-25 11:23:32 +0000 <merijn> if the handle happens to be a socket, it may stay active while the process is a zombie
2022-08-25 11:24:12 +0000 <merijn> (Although that means it's probably (maybe) fine with stdout)
2022-08-25 11:24:23 +0000euandreh(~euandreh@179.214.113.107) (Quit: WeeChat 3.6)
2022-08-25 11:24:43 +0000 <Maxdamantus> merijn: in this particular case, it's a pipe; `std_out = CreatePipe`. but actually, I'm fairly sure that won't even be true for sockets either.
2022-08-25 11:25:04 +0000 <merijn> OTOH, if I've learned one lesson the painful way, repeatedly, it's: Never do the "quick" thing when it comes to multiprocessing, it *will* fuck you over eventually in the hardest to debug ways
2022-08-25 11:25:19 +0000 <Maxdamantus> merijn: the other process will close their write end of the socket, causing `hGetContents` to reach EOF.
2022-08-25 11:25:33 +0000notzmv(~zmv@user/notzmv)
2022-08-25 11:25:53 +0000 <merijn> Maxdamantus: TCP sockets only get closed after the socket timeout expires, which is (by default, on linux) a few minutes after the process is zombified
2022-08-25 11:26:53 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 11:27:06 +0000 <Maxdamantus> merijn: you're probably thinking of cases where the other end disappears.
2022-08-25 11:27:12 +0000 <Maxdamantus> merijn: eg, due to network error.
2022-08-25 11:27:39 +0000 <merijn> Maxdamantus: No, when a process is zombified the socket is kept alive so the receiver can drain any data buffered at the OS
2022-08-25 11:27:40 +0000euandreh(~euandreh@179.214.113.107) (Client Quit)
2022-08-25 11:27:42 +0000 <Maxdamantus> merijn: if the OS running the other end of the socket is still alive, it should send some packet denoting that the socket is closed.
2022-08-25 11:28:01 +0000 <Maxdamantus> merijn: that works the same way as pipes.
2022-08-25 11:28:33 +0000 <Maxdamantus> Hmm.. Maybe I'll have to try this.
2022-08-25 11:29:34 +0000 <Maxdamantus> I wouldn't expect there to be a distinction here between pipes and TCP sockets. In both cases, the fds should be effectively `close(2)d` when the process exits, regardless of whether it's in a zombie state.
2022-08-25 11:30:10 +0000 <Maxdamantus> otherwise normal unix pipelines (eg, `cat file | cat`) wouldn't work.
2022-08-25 11:30:21 +0000wonko(~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds)
2022-08-25 11:31:15 +0000Pickchea(~private@user/pickchea) (Ping timeout: 248 seconds)
2022-08-25 11:31:32 +0000nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-25 11:31:48 +0000nilradical(~nilradica@user/naso)
2022-08-25 11:32:21 +0000 <dminuoso> Also, keep async exceptions in mind.
2022-08-25 11:36:27 +0000 <merijn> dminuoso: I'd rather not xD
2022-08-25 11:36:57 +0000luffy(~chenqisu1@183.217.200.212) (Remote host closed the connection)
2022-08-25 11:37:22 +0000luffy(~chenqisu1@183.217.200.212)
2022-08-25 11:41:27 +0000 <maralorn> What the fuck! I just removed the Haskell spotlight extension from my firefox (which I wasn‘t using anyways) after noticing that it inserts a reference to google fonts into every page I was visiting.
2022-08-25 11:42:05 +0000 <maralorn> I am not certain how much data that really leaked, maybe that font call was cached most of the time, but I don‘t like it at all.
2022-08-25 11:42:50 +0000 <dminuoso> That extension is no longer available. :>
2022-08-25 11:43:37 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-08-25 11:44:10 +0000luffy(~chenqisu1@183.217.200.212) (Ping timeout: 268 seconds)
2022-08-25 11:44:45 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 11:46:09 +0000 <Maxdamantus> merijn: I just tried it and the socket closes after all the data is read, when the other side is a zombie.
2022-08-25 11:46:23 +0000 <albet70> :t (|)
2022-08-25 11:46:24 +0000 <lambdabot> error: parse error on input ‘)’
2022-08-25 11:46:30 +0000 <Maxdamantus> Had to write some small C program because I couldn't convince bash to make a zombie process.
2022-08-25 11:46:49 +0000 <merijn> Maxdamantus: After all the data is read, sure, but your solution doesn't guarantee that
2022-08-25 11:47:18 +0000 <albet70> is '|' not a operator yet?
2022-08-25 11:47:37 +0000 <merijn> albet70: It can't be, it's reserved syntax
2022-08-25 11:47:38 +0000 <Maxdamantus> merijn: `length contents` will read all the data (until EOF)
2022-08-25 11:47:41 +0000 <hpc> it's syntax, like '=' and 'where'
2022-08-25 11:47:59 +0000 <merijn> Maxdamantus: No, because you rely on seq to do it, but you use seq wrong :)
2022-08-25 11:47:59 +0000 <hpc> perhaps you want (||) or (.|.)
2022-08-25 11:49:04 +0000 <albet70> could I make my own operator? does it need to change ghc parser?
2022-08-25 11:49:18 +0000 <Maxdamantus> merijn: seq will force the length to be computed before it produces the `waitForProcess p` action.
2022-08-25 11:49:31 +0000 <merijn> Maxdamantus: Seq does no such thing
2022-08-25 11:49:34 +0000jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2022-08-25 11:49:51 +0000 <Maxdamantus> merijn: the goal is to prevent waiting before the contents are read to EOF.
2022-08-25 11:50:35 +0000 <hpc> you can make your own operators, but they can't already be syntax
2022-08-25 11:50:43 +0000 <hpc> so you can't make (|) or (--) for instance
2022-08-25 11:50:49 +0000 <merijn> Maxdamantus: Right, but it is extremely unclear your use of seq has the semantics you want
2022-08-25 11:50:56 +0000 <hpc> maybe you can define (|||)
2022-08-25 11:51:27 +0000 <albet70> hpc , what about (/.\)
2022-08-25 11:51:51 +0000 <Maxdamantus> merijn: maybe there's a more clear way of writing it, I don't know (tbh I don't really write a lot of Haskell nowadays—though I often deal with unix fd/process semantics). but I'm pretty sure it will reliably work.
2022-08-25 11:52:38 +0000 <albet70> or (/_)
2022-08-25 11:53:39 +0000 <hpc> :t (/.\)
2022-08-25 11:53:40 +0000 <lambdabot> error: Variable not in scope: /.\
2022-08-25 11:53:44 +0000 <hpc> should work
2022-08-25 11:54:42 +0000 <hpc> i don't think (/_) will work though? '_' is a letter-y character so you can write identifiers_like_this
2022-08-25 11:54:44 +0000 <hpc> :t (/_)
2022-08-25 11:54:49 +0000 <lambdabot> error:
2022-08-25 11:54:49 +0000 <lambdabot> • Found hole: _ :: a
2022-08-25 11:54:49 +0000 <lambdabot> Where: ‘a’ is a rigid type variable bound by
2022-08-25 11:54:54 +0000 <hpc> yeah :(
2022-08-25 11:55:16 +0000 <albet70> _ doesn't exist in ghc?
2022-08-25 11:56:36 +0000 <hpc> when ghc parses the identifier "_", that means a hole
2022-08-25 11:57:11 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 11:57:14 +0000 <albet70> I thought that _ only existed in ghci
2022-08-25 11:57:18 +0000 <hpc> iirc it also can't be the first character of a letter-y identifier
2022-08-25 11:57:27 +0000 <merijn> hpc: It can
2022-08-25 11:57:31 +0000 <hpc> ah
2022-08-25 11:57:43 +0000 <merijn> > let _foo = 3 in _foo
2022-08-25 11:57:45 +0000 <lambdabot> 3
2022-08-25 11:57:47 +0000 <albet70> _a isn't an identifier?
2022-08-25 11:57:50 +0000 <hpc> anyhoo, otherwise it's just part of the character set you can make letter-y identifiers out of
2022-08-25 11:57:57 +0000 <hpc> merijn: oh, i was thinking of '
2022-08-25 11:58:17 +0000 <hpc> > let _a = 3 in _a
2022-08-25 11:58:18 +0000 <lambdabot> 3
2022-08-25 12:05:34 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 12:05:35 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-08-25 12:11:19 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 12:11:38 +0000jonathanx(~jonathan@c-5eea739f-74736162.cust.telenor.se)
2022-08-25 12:17:21 +0000mc47(~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
2022-08-25 12:18:31 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-25 12:18:42 +0000 <kuribas`> albet70: it's an identifier like another, however you don't get a warning if you don't use it.
2022-08-25 12:20:12 +0000 <kuribas`> I believe you can make it into a hole with some extension.
2022-08-25 12:20:24 +0000 <dminuoso> albet70: No, formally its called an "irrefutable pattern" that doesnt bind to a name.
2022-08-25 12:21:08 +0000 <kuribas`> dminuoso: you are talking about '_'?
2022-08-25 12:22:57 +0000 <dminuoso> kuribas`: Any identifier that starts with _
2022-08-25 12:23:17 +0000 <kuribas`> > let _ = 3 in _
2022-08-25 12:23:21 +0000 <dminuoso> Even `a` is an irrefutable pattern, that just happens to bind a matching value to a name
2022-08-25 12:23:22 +0000 <lambdabot> error:
2022-08-25 12:23:22 +0000 <lambdabot> • Found hole: _ :: t
2022-08-25 12:23:22 +0000 <lambdabot> Where: ‘t’ is a rigid type variable bound by
2022-08-25 12:23:33 +0000 <dminuoso> Oh.
2022-08-25 12:23:42 +0000 <dminuoso> _s is actually bindable? TIL.
2022-08-25 12:25:13 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 12:26:48 +0000 <kuribas`> dminuoso: yes, but you don't get a defined but not used error.
2022-08-25 12:27:03 +0000califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-25 12:27:04 +0000califax_(~califax@user/califx)
2022-08-25 12:27:38 +0000ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 244 seconds)
2022-08-25 12:28:16 +0000califax_califax
2022-08-25 12:31:09 +0000B-J(~BenziJuni@dsl-149-67-162.hive.is)
2022-08-25 12:31:32 +0000Benzi-Junior(~BenziJuni@88-149-67-162.du.xdsl.is) (Ping timeout: 268 seconds)
2022-08-25 12:33:01 +0000 <dminuoso> Is there something like `wither` or `traverse` that will stop on first Just?
2022-08-25 12:33:02 +0000jespada(~jespada@181.28.113.105)
2022-08-25 12:33:32 +0000 <dminuoso> Some kind of: (a -> f (Maybe b)) -> [a] -> f (Maybe b)
2022-08-25 12:33:34 +0000 <merijn> dminuoso: Sounds like you want Clowns to the left of me, Jokers to the right
2022-08-25 12:34:10 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 12:34:17 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 12:34:19 +0000 <merijn> dminuoso: Assuming I ever understood that paper correctly, it is McBride after all...
2022-08-25 12:34:22 +0000 <merijn> https://www.cis.upenn.edu/~cis39903/static/clowns.pdf
2022-08-25 12:35:22 +0000 <merijn> That's like a "gradual traverse" or some kinda "traverse zipper" or something
2022-08-25 12:35:41 +0000 <dminuoso> Mmm, Im not gonna depend on `bifunctors` for this one
2022-08-25 12:36:21 +0000 <jackdk> something foldMap-esque, using the `First` monoid?
2022-08-25 12:37:16 +0000 <dminuoso> jackdk: not quite foldMap, I want Applicative/Monadic effects as well
2022-08-25 12:37:26 +0000king_gs(~Thunderbi@187.201.216.244) (Ping timeout: 260 seconds)
2022-08-25 12:41:03 +0000 <merijn> dminuoso: Wait, don't you want asum?
2022-08-25 12:41:13 +0000 <merijn> > asum [Nothing, Just 2, Just 3, Nothing]
2022-08-25 12:41:15 +0000 <lambdabot> Just 2
2022-08-25 12:44:52 +0000Pickchea(~private@user/pickchea)
2022-08-25 12:45:09 +0000 <dminuoso> merijn: A sort of asumM, if you want
2022-08-25 12:45:50 +0000ncf(~n@monade.li) (Ping timeout: 268 seconds)
2022-08-25 12:46:28 +0000ncf(~n@monade.li)
2022-08-25 12:50:51 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 12:51:41 +0000 <lortabac> @hoogle (a -> f (Maybe b)) -> [a] -> f (Maybe b) -- dminuoso
2022-08-25 12:51:42 +0000 <lambdabot> Control.Monad.Extra firstJustM :: Monad m => (a -> m (Maybe b)) -> [a] -> m (Maybe b)
2022-08-25 12:51:42 +0000 <lambdabot> Extra firstJustM :: Monad m => (a -> m (Maybe b)) -> [a] -> m (Maybe b)
2022-08-25 12:51:47 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 12:52:10 +0000 <lortabac> apparently it's in 'extra'
2022-08-25 12:52:50 +0000mc47(~mc47@xmonad/TheMC47)
2022-08-25 12:53:04 +0000 <dminuoso> Mmm yeah that looks about right. Isnt there some way to combine First/Alt in some magical ways to get the same behavior?
2022-08-25 12:53:14 +0000 <dminuoso> It feels like there's enough parts in base
2022-08-25 12:55:01 +0000califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-08-25 12:55:58 +0000 <lortabac> maybe the Alternative instance for MaybeT?
2022-08-25 12:56:35 +0000 <dminuoso> Mmm, so then I could just `runMaybeT . asum`
2022-08-25 12:56:40 +0000 <dminuoso> That looks about right. Thanks
2022-08-25 13:01:36 +0000 <raehik> is there some common way to check approximate equality of floats? refactoring some tests that check things like (== 0.7)
2022-08-25 13:02:09 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 13:02:10 +0000 <raehik> does hspec have something? or do I just roll a function and remember to use it where there are floats
2022-08-25 13:02:44 +0000califax(~califax@user/califx)
2022-08-25 13:04:09 +0000 <merijn> raehik: Yes, you compare if it's within a given epsilon
2022-08-25 13:04:29 +0000 <merijn> raehik: So, "x >= 0.7 + epsilon && x <= 0.7 + epsilon"
2022-08-25 13:04:34 +0000 <merijn> eh
2022-08-25 13:04:45 +0000 <merijn> make one of the +s a -, obviously
2022-08-25 13:05:19 +0000xff0x(~xff0x@ap007189.d.east.v6connect.net) (Ping timeout: 252 seconds)
2022-08-25 13:05:28 +0000 <raehik> OK, and no pre-rolled stuff that chooses an epsilon and hands me a type class or w/e. cheers
2022-08-25 13:06:28 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-25 13:07:03 +0000 <raehik> drives home that the Eq instance is more about structural equality
2022-08-25 13:08:21 +0000 <merijn> There is no sensible universal epsilon
2022-08-25 13:08:47 +0000 <merijn> It's heavily computation dependent
2022-08-25 13:08:55 +0000 <merijn> not to mention dependent on your error tolerance
2022-08-25 13:11:05 +0000nate4(~nate@98.45.169.16)
2022-08-25 13:15:57 +0000nate4(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-08-25 13:17:11 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 13:22:30 +0000cfricke(~cfricke@user/cfricke)
2022-08-25 13:23:21 +0000 <kuribas`> merijn: don't you need to scale the epsilon?
2022-08-25 13:24:25 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 13:25:00 +0000 <merijn> Yes, no, maybe
2022-08-25 13:25:11 +0000 <merijn> That's what I said: There is no sensible universal epsilon
2022-08-25 13:25:13 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
2022-08-25 13:26:52 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 13:27:03 +0000ryantrinkle(~ryan@2607:f00:3:14c0:7c6b:7160:d1ff:3f7) (Ping timeout: 244 seconds)
2022-08-25 13:27:58 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 13:28:47 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 13:28:55 +0000jonathanx(~jonathan@c-5eea739f-74736162.cust.telenor.se) (Read error: Connection reset by peer)
2022-08-25 13:29:18 +0000mastarija(~mastarija@2a05:4f46:e03:6000:cf81:4038:e6c6:74b4)
2022-08-25 13:30:08 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-08-25 13:30:14 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 13:31:11 +0000king_gs(~Thunderbi@187.201.216.244)
2022-08-25 13:33:26 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 13:33:36 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 13:33:43 +0000akegalj(~akegalj@135-40.dsl.iskon.hr) (Quit: leaving)
2022-08-25 13:34:18 +0000mncheckm(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-08-25 13:36:56 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-25 13:37:27 +0000xff0x(~xff0x@2405:6580:b080:900:ae06:3e97:decd:45dd)
2022-08-25 13:38:41 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 260 seconds)
2022-08-25 13:41:00 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 13:47:15 +0000hpc(~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 248 seconds)
2022-08-25 13:48:27 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 13:49:31 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 13:50:08 +0000ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-08-25 13:50:39 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 13:52:49 +0000mncheck(~mncheck@193.224.205.254)
2022-08-25 13:53:03 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-08-25 13:54:26 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 13:55:55 +0000 <merijn> bah...my carefully constructed race condition test doesn't work in one of my setups. RIP >.>
2022-08-25 13:56:17 +0000 <merijn> I wish concurrency wasn't such a 2nd class citizen in Haskell
2022-08-25 13:56:42 +0000 <merijn> Also, same, but for exceptions :p
2022-08-25 13:59:07 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-08-25 13:59:40 +0000hpc(~juzz@ip98-169-32-242.dc.dc.cox.net)
2022-08-25 14:00:00 +0000 <carbolymer> merijn: how would you make concurrency 1st class citizen?
2022-08-25 14:00:08 +0000 <carbolymer> tbh `async` is nice to work
2022-08-25 14:00:11 +0000 <carbolymer> with
2022-08-25 14:00:26 +0000 <merijn> carbolymer: the concurrency in async is implicit, though
2022-08-25 14:00:32 +0000 <merijn> It's not something you can pass around as values
2022-08-25 14:00:45 +0000califax(~califax@user/califx)
2022-08-25 14:00:47 +0000 <carbolymer> merijn: concurrency as value? elaborate pls
2022-08-25 14:00:54 +0000 <merijn> carbolymer: there's also no real effective way to manage/control thread structures
2022-08-25 14:01:04 +0000Killy(~killy@2001:470:69fc:105::2:6ec1)
2022-08-25 14:01:33 +0000 <carbolymer> merijn: there's version of `forConcurrentlyN` where you can controll the pool of threads, and I saw work stealing somewhere I think
2022-08-25 14:01:35 +0000 <merijn> carbolymer: I can explicit, inspectable hierarchies of threads you can limit
2022-08-25 14:01:54 +0000 <carbolymer> ah
2022-08-25 14:02:04 +0000 <merijn> carbolymer: I have my own library for that, because async was insufficient for what I needed
2022-08-25 14:02:40 +0000 <merijn> carbolymer: In fact, this observation that concurrency still kinda sucks in Haskell is derived directly from working on said library for doing thread pool concurrency
2022-08-25 14:03:04 +0000 <carbolymer> having few drawbacks doesn't mean "sucks"
2022-08-25 14:03:17 +0000 <merijn> carbolymer: Another example, why is everything spawned from a main thread? Why can't I have a program defined of multiple independent entry points
2022-08-25 14:03:32 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 14:03:39 +0000 <carbolymer> merijn: valid point
2022-08-25 14:03:45 +0000 <merijn> carbolymer: You say "few drawbacks", I say "no mortal has any hope of ever constructing correct code with this"
2022-08-25 14:03:59 +0000 <merijn> I mean, don't get me wrong, Haskell is still miles better than many other languages
2022-08-25 14:04:38 +0000 <carbolymer> merijn: well if you're careful e.g. you build your multithreaded program in term of "tasks" and then throw them into pool of threads, it's fine; at least it worked for me in 90% of the cases
2022-08-25 14:05:01 +0000 <merijn> But, having worked on distributed systems and concurrent runtimes for most of the past 1.5 decade, I'd consider myself fairly expert in writing this stuff. And I have very little faith in my ability to create actually correct stuff
2022-08-25 14:05:15 +0000 <merijn> carbolymer: That's the entire problem with the current tools
2022-08-25 14:05:19 +0000 <geekosaur> merijn, because only windows supports that concept and even that requires a hack
2022-08-25 14:05:27 +0000 <merijn> carbolymer: They kinda, mostly work 90-95% of the time
2022-08-25 14:05:36 +0000 <merijn> Which lulls you into a false sense of security
2022-08-25 14:05:55 +0000 <merijn> geekosaur: Nonsense, you can easily support that in the runtime
2022-08-25 14:06:00 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 14:06:06 +0000 <merijn> geekosaur: There's no reason the language/compiler couldn't handle that
2022-08-25 14:06:23 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 14:06:31 +0000 <carbolymer> merijn: so you would like to have java-like ForkJoinPool?
2022-08-25 14:06:44 +0000 <merijn> carbolymer: I don't know java's forkjoinpool, so I can't say
2022-08-25 14:07:24 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:10be:940f:4ae:d4c8) (Quit: WeeChat 2.8)
2022-08-25 14:07:32 +0000 <merijn> I don't think it'd even be TOO hard to make GHC/Haskell's support better, I just fear it can't be done backwards compatibly and therefore a doomed effort from the start :\
2022-08-25 14:07:36 +0000 <carbolymer> merijn: a thread pool which can grow, then from the tasks in the thread pool you can push more tasks into the pool, and there was a way to collect everything afair
2022-08-25 14:08:29 +0000 <merijn> carbolymer: The problem is that async exception make everything nearly infinitely hard and the compiler/runtime don't have any adequate tooling/support for managing that
2022-08-25 14:09:09 +0000ryantrinkle(~ryan@2607:fb90:cd1c:c620:bd17:cb61:34d1:12f)
2022-08-25 14:09:28 +0000shriekingnoise(~shrieking@186.137.167.202)
2022-08-25 14:09:46 +0000 <merijn> carbolymer: Your "worked for me in 90% of the cases" is true, until you have to deal with async exceptions. And having wrapped my stuff into a library that I'm actually using (as are some others) you suddenly realise that you can't control the rest of the world and somehow have to handle that stuff properly 100% of the time, not 95%
2022-08-25 14:10:46 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-08-25 14:10:52 +0000 <merijn> I end up basically manually auditing the transitive callgraphs of some functions to handle things reliably. Which sucks, because transitive callgraphs are notoriously unstable >.>
2022-08-25 14:11:09 +0000 <merijn> I want better tools to cover this stuff without going through that effort
2022-08-25 14:11:18 +0000ardell(~ardell@user/ardell) (Quit: Leaving)
2022-08-25 14:11:21 +0000 <carbolymer> merijn: I prefer to avoid them as much as I can
2022-08-25 14:11:54 +0000 <carbolymer> merijn: because it will confuse af next person looking at my code using async exceptions for communication
2022-08-25 14:12:20 +0000 <merijn> carbolymer: the problem is that you have no other way of stopping running threads
2022-08-25 14:12:39 +0000 <carbolymer> I know
2022-08-25 14:12:43 +0000 <carbolymer> sadpikatchu.jpg
2022-08-25 14:12:44 +0000 <merijn> carbolymer: And since there is no way to monitor "child" threads (or even a notion of child threads or thread groups) async exceptions are the only way
2022-08-25 14:13:19 +0000 <carbolymer> merijn: would you rather not have them in GHC?
2022-08-25 14:13:39 +0000 <merijn> carbolymer: I want things like hierarchies, monitors, "thread groups per library" so that libraries that use concurrency internally can expose control over that concurrency to their callers
2022-08-25 14:13:53 +0000 <merijn> error handling/termination handling
2022-08-25 14:14:35 +0000 <carbolymer> merijn: is there a language with those concurrency features out there?
2022-08-25 14:14:47 +0000 <carbolymer> I'm curious how it would work in practice
2022-08-25 14:15:38 +0000king_gs(~Thunderbi@187.201.216.244) (Ping timeout: 255 seconds)
2022-08-25 14:16:08 +0000 <merijn> carbolymer: Erlang has some, but not all
2022-08-25 14:16:39 +0000 <merijn> Oh, I'd also want a method of limiting who can async interrupt, that alone would simplify live drastically
2022-08-25 14:19:21 +0000causal(~user@50.35.83.177) (Quit: WeeChat 3.6)
2022-08-25 14:21:49 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-25 14:22:18 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 14:23:08 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-08-25 14:24:40 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 14:24:58 +0000 <merijn> Now I just need someone to pay for the time it takes to invent ;)
2022-08-25 14:25:05 +0000 <carbolymer> invent
2022-08-25 14:25:07 +0000 <carbolymer> or implement?
2022-08-25 14:25:32 +0000 <merijn> both
2022-08-25 14:25:36 +0000 <carbolymer> :)
2022-08-25 14:25:51 +0000 <merijn> you'd have to figure out all the details on how to implement it
2022-08-25 14:26:16 +0000 <merijn> Sadly there are fairly little jobs whose description is "hack on whatever pet compiler feature you like" :p
2022-08-25 14:28:10 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-08-25 14:30:42 +0000 <carbolymer> well if it's not 50% of your job time, it shouldn't be a big problem
2022-08-25 14:32:48 +0000 <carbolymer> merijn: do you have any good resources to read up about concurrency or its problems?
2022-08-25 14:34:03 +0000 <merijn> Not really, same problem as when people ask me about computer performance, I learned most I know through osmosis of hanging around in environments where people work on that. Which isn't a very easily followed method of learning :p
2022-08-25 14:34:39 +0000 <carbolymer> I feel that there's no good book about concurrency in general
2022-08-25 14:35:03 +0000 <carbolymer> and most of my stuff I've learned from "Java Concurrency in Practice" which is quite good, even when you're not writing Java
2022-08-25 14:35:33 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-08-25 14:35:47 +0000 <merijn> Simon Marlow's Parallel & Concurrent Haskell is a good book, but I'm not sure to what extent it helps understand the scope of problems
2022-08-25 14:36:51 +0000 <carbolymer> I feel that "Parallel & Concurrent Haskell" is very haskell-related, and covers good practices; I'd love to read about the bad ones :)
2022-08-25 14:37:50 +0000ryantrinkle(~ryan@2607:fb90:cd1c:c620:bd17:cb61:34d1:12f) (Ping timeout: 244 seconds)
2022-08-25 14:37:53 +0000shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-08-25 14:37:53 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 14:41:00 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-08-25 14:41:23 +0000shriekingnoise(~shrieking@186.137.167.202)
2022-08-25 14:45:35 +0000yvan-sraka(~yvan-srak@37.171.49.59)
2022-08-25 14:49:42 +0000dos__^^(~user@user/dos/x-1723657) (Remote host closed the connection)
2022-08-25 14:52:10 +0000dos__^^(~user@user/dos/x-1723657)
2022-08-25 14:55:00 +0000zebrag(~chris@user/zebrag)
2022-08-25 14:55:50 +0000yvan-sraka(~yvan-srak@37.171.49.59) (Remote host closed the connection)
2022-08-25 14:56:09 +0000yvan-sraka(~yvan-srak@37.171.49.59)
2022-08-25 14:57:38 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 15:00:45 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-08-25 15:07:13 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-08-25 15:07:15 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
2022-08-25 15:07:35 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 15:08:31 +0000cfricke(~cfricke@user/cfricke)
2022-08-25 15:09:06 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-25 15:09:45 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 15:10:00 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 268 seconds)
2022-08-25 15:18:04 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 15:21:27 +0000ryantrinkle(~ryan@2607:f00:3:14c0:7c6b:7160:d1ff:3f7)
2022-08-25 15:25:50 +0000ober_(~ober@c-24-61-80-64.hsd1.ma.comcast.net)
2022-08-25 15:26:36 +0000eikke(~NicolasT@88.126.78.98) (Ping timeout: 260 seconds)
2022-08-25 15:27:51 +0000 <ober_> What are the Paths_.* modules for and where are they documented?
2022-08-25 15:28:10 +0000nilradical(~nilradica@user/naso) ()
2022-08-25 15:28:21 +0000 <merijn> ober_: They're generated by cabal and used for accessing package metadata (and thus documented in the cabal docs)
2022-08-25 15:28:32 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-25 15:28:35 +0000 <geekosaur> https://cabal.readthedocs.io/en/3.6/cabal-package.html?highlight=Paths_pkgname#accessing-data-file…
2022-08-25 15:29:24 +0000 <albet70> what's the benefit of do notation?
2022-08-25 15:29:36 +0000 <merijn> albet70: It's easy to read and write?
2022-08-25 15:29:46 +0000 <geekosaur> it lets you write imperative-ish code somewhat more naturally
2022-08-25 15:29:51 +0000 <albet70> when to use >>= and when for do notation?
2022-08-25 15:30:14 +0000 <geekosaur> I generally use >>= for short stuff and do notation for longer stuff
2022-08-25 15:30:23 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 15:34:00 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 15:34:40 +0000 <pareto-optimal-d> geekosaur: I do the same. Also use >>= a lot in ghci because if everything is one line it's more convenient history.
2022-08-25 15:34:51 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 15:34:51 +0000gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-08-25 15:38:44 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-08-25 15:40:06 +0000gentauro(~gentauro@user/gentauro)
2022-08-25 15:45:58 +0000yvan-sraka(~yvan-srak@37.171.49.59) (Remote host closed the connection)
2022-08-25 15:47:50 +0000rik_tig(~rik_tig@user/rik-tig/x-5430394)
2022-08-25 15:49:58 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 15:50:04 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 15:54:36 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 15:54:38 +0000yvan-sraka(~yvan-srak@37.173.219.26)
2022-08-25 15:57:34 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 16:03:57 +0000kuribas`(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-08-25 16:05:51 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 16:06:46 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 16:08:12 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-25 16:11:20 +0000eikke(~NicolasT@88.126.78.98)
2022-08-25 16:11:33 +0000 <eikke> I have a package which uses an internal/named library next to the public one. The public library exports some definitions from modules in the internal one. When I render Haddocks locally, the documentation of those re-exported values shows up nicely. However, on Hackage (manually uploaded docs using --haddock-for-hackage), these re-exported values are listed but they don't have any documentation attached
2022-08-25 16:11:39 +0000 <eikke> to them. Is this a known issue?
2022-08-25 16:12:03 +0000yvan-sraka(~yvan-srak@37.173.219.26) (Remote host closed the connection)
2022-08-25 16:13:16 +0000dsrt^(~dsrt@96.70.11.181) (Ping timeout: 260 seconds)
2022-08-25 16:13:28 +0000chele(~chele@user/chele) (Quit: Leaving)
2022-08-25 16:14:49 +0000 <merijn> eikke: It is
2022-08-25 16:15:08 +0000 <merijn> eikke: It's been there for at least 4 years, I think?
2022-08-25 16:15:09 +0000eikke(~NicolasT@88.126.78.98) (Changing host)
2022-08-25 16:15:09 +0000eikke(~NicolasT@user/NicolasT)
2022-08-25 16:15:14 +0000 <merijn> I should have an issue about it
2022-08-25 16:15:52 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 16:16:36 +0000 <eikke> Any known work-arounds?
2022-08-25 16:16:40 +0000 <merijn> eikke: Does it work if you explicitly re-export symbols?
2022-08-25 16:16:53 +0000 <merijn> Or where you already doing that?
2022-08-25 16:17:16 +0000 <eikke> That's what I'm doing :) module M (foo) where import MInternal (foo) (etc)
2022-08-25 16:19:08 +0000 <merijn> eikke: hmm, maybe a different issue then I was thinking off
2022-08-25 16:19:49 +0000 <eikke> Maybe I should try with some newer version of cabal/haddock/...
2022-08-25 16:20:38 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 240 seconds)
2022-08-25 16:20:54 +0000 <merijn> eikke: Also might wanna look into the home module/visibility story of haddock https://haskell-haddock.readthedocs.io/en/latest/markup.html?#hyperlinking-and-re-exported-entities
2022-08-25 16:22:39 +0000ec(~ec@gateway/tor-sasl/ec)
2022-08-25 16:25:00 +0000cstml(~cstml@user/cstml)
2022-08-25 16:28:28 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 16:29:18 +0000alternateved(~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection)
2022-08-25 16:30:26 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 16:32:29 +0000FragByte_(~christian@user/fragbyte)
2022-08-25 16:33:06 +0000fserucas(~fserucas@89.214.153.60) (Ping timeout: 260 seconds)
2022-08-25 16:35:44 +0000FragByte(~christian@user/fragbyte) (Ping timeout: 268 seconds)
2022-08-25 16:35:44 +0000FragByte_FragByte
2022-08-25 16:36:00 +0000mbuf(~Shakthi@122.165.55.71) (Quit: Leaving)
2022-08-25 16:36:02 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-08-25 16:36:25 +0000zebrag(~chris@user/zebrag)
2022-08-25 16:37:01 +0000cstml(~cstml@user/cstml) (Quit: WeeChat 3.5)
2022-08-25 16:41:17 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2022-08-25 16:43:10 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 16:47:06 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-08-25 16:49:26 +0000nschoe(~quassel@178.251.84.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-08-25 16:49:39 +0000ubert(~Thunderbi@77.119.217.249.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2022-08-25 16:50:02 +0000ubert(~Thunderbi@77.119.173.191.wireless.dyn.drei.com)
2022-08-25 16:50:09 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 16:50:56 +0000cstml(~cstml@user/cstml)
2022-08-25 16:53:34 +0000cstml(~cstml@user/cstml) (Client Quit)
2022-08-25 16:54:29 +0000paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds)
2022-08-25 16:55:16 +0000CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2022-08-25 17:00:04 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2022-08-25 17:00:19 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-08-25 17:01:58 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-08-25 17:03:12 +0000califax(~califax@user/califx)
2022-08-25 17:10:32 +0000ardell(~ardell@user/ardell)
2022-08-25 17:12:36 +0000nate4(~nate@98.45.169.16)
2022-08-25 17:13:36 +0000vglfr(~vglfr@145.224.94.75) (Read error: Connection reset by peer)
2022-08-25 17:13:43 +0000vglfr(~vglfr@145.224.94.75)
2022-08-25 17:15:35 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 17:17:38 +0000nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-08-25 17:20:06 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 17:27:10 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 17:30:37 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-25 17:31:54 +0000AlexNoo_(~AlexNoo@178.34.163.186)
2022-08-25 17:33:46 +0000AlexZenon(~alzenon@178.34.150.204) (Ping timeout: 260 seconds)
2022-08-25 17:34:59 +0000Alex_test(~al_test@178.34.150.204) (Ping timeout: 248 seconds)
2022-08-25 17:35:31 +0000AlexNoo(~AlexNoo@178.34.150.204) (Ping timeout: 268 seconds)
2022-08-25 17:35:41 +0000ober_(~ober@c-24-61-80-64.hsd1.ma.comcast.net) (Quit: Leaving)
2022-08-25 17:36:17 +0000rik_tig(~rik_tig@user/rik-tig/x-5430394) (Ping timeout: 252 seconds)
2022-08-25 17:37:37 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 17:39:03 +0000Alex_test(~al_test@178.34.163.186)
2022-08-25 17:39:04 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2022-08-25 17:39:16 +0000AlexZenon(~alzenon@178.34.163.186)
2022-08-25 17:41:25 +0000eikke(~NicolasT@user/NicolasT) (Ping timeout: 252 seconds)
2022-08-25 17:42:03 +0000eikke(~NicolasT@user/NicolasT)
2022-08-25 17:46:36 +0000eikke(~NicolasT@user/NicolasT) (Ping timeout: 260 seconds)
2022-08-25 17:47:58 +0000jespada(~jespada@181.28.113.105) (Quit: Textual IRC Client: www.textualapp.com)
2022-08-25 17:48:38 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 17:49:28 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 17:51:56 +0000Tuplanolla(~Tuplanoll@91-159-69-12.elisa-laajakaista.fi)
2022-08-25 17:52:50 +0000cheater(~Username@user/cheater) (Quit: BitchX: good to the last drop!)
2022-08-25 17:53:03 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 17:53:26 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 17:53:26 +0000rik_tig(~rik_tig@user/rik-tig/x-5430394)
2022-08-25 17:53:30 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 17:54:11 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-08-25 17:56:45 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 17:58:36 +0000econo(uid147250@user/econo)
2022-08-25 17:59:07 +0000Pickchea(~private@user/pickchea)
2022-08-25 18:02:30 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 18:06:25 +0000mhatta(~mhatta@www21123ui.sakura.ne.jp)
2022-08-25 18:06:52 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 18:09:06 +0000hgolden(~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-08-25 18:10:12 +0000glguy(x@libera/staff-emeritus/glguy)
2022-08-25 18:11:26 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-25 18:28:54 +0000instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-25 18:30:51 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds)
2022-08-25 18:31:13 +0000guest8080(~guest8080@207.102.57.162)
2022-08-25 18:33:16 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 18:34:44 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2022-08-25 18:35:48 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-08-25 18:38:24 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-25 18:38:41 +0000coot(~coot@213.134.176.158)
2022-08-25 18:38:56 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 18:39:17 +0000 <guest8080> So, I'm thinking about doing a Haskell project to learn some more about it.  I have some functional programming understanding.  What I'm trying to decide on is what packages should I base my project on (json/yaml parser as an example say).  I've looked through hackage and I it looks like the entire history is there but no way to understand what
2022-08-25 18:39:17 +0000 <guest8080> are the currently used packages vs older (dying?) packages.  What should someone starting out look for to make good package dependency decisions?
2022-08-25 18:40:15 +0000 <Clint> guest8080: if they're in stackage, you can infer that they haven't completely bitrotted to the point of unbuildability
2022-08-25 18:41:51 +0000 <guest8080> Ok, great.  I'll look there first or for confirmation.  Thanks!
2022-08-25 18:42:29 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 18:42:44 +0000kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-25 18:43:23 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2022-08-25 18:43:27 +0000guest8080(~guest8080@207.102.57.162) (Quit: Client closed)
2022-08-25 18:44:31 +0000emad(~emad@156.214.65.212)
2022-08-25 18:44:46 +0000emad(~emad@156.214.65.212) (Remote host closed the connection)
2022-08-25 18:46:13 +0000benin0(~benin@183.82.205.66)
2022-08-25 18:49:18 +0000instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-08-25 18:50:42 +0000ardell_(~ardell@user/ardell)
2022-08-25 18:53:12 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:a028:dd7c:b36:1982)
2022-08-25 18:53:50 +0000ardell(~ardell@user/ardell) (Ping timeout: 268 seconds)
2022-08-25 18:57:46 +0000`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2022-08-25 19:00:31 +0000ccntrq(~Thunderbi@172.209.94.92.rev.sfr.net) (Remote host closed the connection)
2022-08-25 19:01:38 +0000AlexNoo_AlexNoo
2022-08-25 19:02:02 +0000Midjak(~Midjak@82.66.147.146)
2022-08-25 19:02:28 +0000td_(~td@94.134.91.83) (Quit: waking up from the american dream ...)
2022-08-25 19:05:20 +0000darkstardev13(~darkstard@50.53.212.60)
2022-08-25 19:05:24 +0000tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-08-25 19:05:27 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2022-08-25 19:05:28 +0000darkstarx(~darkstard@50.53.212.60) (Remote host closed the connection)
2022-08-25 19:05:37 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection)
2022-08-25 19:05:38 +0000AlexZenon_2(~alzenon@178.34.163.186)
2022-08-25 19:06:11 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 19:07:13 +0000AlexZenon(~alzenon@178.34.163.186) (Ping timeout: 252 seconds)
2022-08-25 19:09:01 +0000Miliang(~Miliang@46.245.107.78)
2022-08-25 19:11:46 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 19:13:05 +0000toeffel(~toeffel@user/toeffel) (Ping timeout: 252 seconds)
2022-08-25 19:13:42 +0000Miliang(~Miliang@46.245.107.78) (Client Quit)
2022-08-25 19:14:33 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 19:15:47 +0000AlexZenon_2(~alzenon@178.34.163.186) (Read error: Connection reset by peer)
2022-08-25 19:15:47 +0000Alex_test(~al_test@178.34.163.186) (Read error: Connection reset by peer)
2022-08-25 19:15:51 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-08-25 19:16:05 +0000Alex_test(~al_test@178.34.163.186)
2022-08-25 19:16:05 +0000AlexZenon(~alzenon@178.34.163.186)
2022-08-25 19:18:44 +0000 <troydm> are monad calls like a >> b tail recursive?
2022-08-25 19:19:07 +0000 <troydm> e.g. optimized by compiler during runtime to be tail recursive?
2022-08-25 19:19:15 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 19:19:19 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-08-25 19:19:59 +0000`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
2022-08-25 19:21:00 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-25 19:26:32 +0000 <tdammers> I think you mean "tail *call*" - >> itself is not recursive, so it can't be tail recursive either
2022-08-25 19:27:29 +0000 <tdammers> except that Haskell doesn't really have "calls", the execution model works somewhat differently
2022-08-25 19:28:12 +0000 <tdammers> and: >> is a typeclass method, meaning that it's polymorphic, and its performance characteristics depend on the concrete implementation (i.e., which Monad instance you pick)
2022-08-25 19:29:03 +0000 <tdammers> calling it a "monad call" is misleading, because the "monad" part isn't relevant to the evaluation semantics either
2022-08-25 19:29:53 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 19:30:18 +0000 <tdammers> HOWEVER - in general, recursion is efficient in Haskell; tail recursion will generally run in constant space. It's not "tail call optimization" in the classic sense though, it's just a consequence of how Haskell evaluates expressions.
2022-08-25 19:31:05 +0000 <tdammers> And because >> is just a regular typeclass method that resolves to a vanilla Haskell function, it is just as efficient
2022-08-25 19:33:11 +0000 <tdammers> If you want to see for yourself, try something like this: foldl' (>>) (putStrLn "Let's go!") (map print ([0..] :: Integer))
2022-08-25 19:33:22 +0000_73(~user@pool-71-184-136-42.bstnma.fios.verizon.net) (Ping timeout: 268 seconds)
2022-08-25 19:33:43 +0000 <tdammers> This will not overflow a call stack - it will happily churn along in mostly constant memory, until the integers get so big that they eat up all your RAM
2022-08-25 19:34:21 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2022-08-25 19:34:35 +0000coot(~coot@213.134.176.158) (Remote host closed the connection)
2022-08-25 19:34:49 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-25 19:37:07 +0000 <sm> guest8080: also just check the last upload date(s)
2022-08-25 19:37:24 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-25 19:40:22 +0000myme1(~myme@2a01:799:d5a:cd00:bb5a:372d:4d0c:faeb) (Quit: WeeChat 3.4.1)
2022-08-25 19:42:07 +0000slaydr(~slaydr@75.164.14.186)
2022-08-25 19:43:16 +0000themc47(~mc47@xmonad/TheMC47)
2022-08-25 19:43:55 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-08-25 19:44:44 +0000mc47(~mc47@xmonad/TheMC47) (Ping timeout: 244 seconds)
2022-08-25 19:50:29 +0000pavonia(~user@user/siracusa)
2022-08-25 19:53:25 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 19:58:41 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-25 20:02:45 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 20:07:13 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 20:07:24 +0000TonyStone(~TonyStone@2603-7080-8607-c36a-0cc7-7d4a-4464-7c91.res6.spectrum.com) (Remote host closed the connection)
2022-08-25 20:11:40 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 20:12:05 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 20:12:31 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 20:21:35 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-25 20:24:15 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:a028:dd7c:b36:1982) (Quit: WeeChat 2.8)
2022-08-25 20:26:25 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-08-25 20:26:26 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-08-25 20:28:59 +0000sagax(~sagax_nb@user/sagax)
2022-08-25 20:32:25 +0000themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-25 20:39:45 +0000TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
2022-08-25 20:40:32 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 20:45:11 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds)
2022-08-25 20:47:01 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 20:55:28 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 20:55:42 +0000mastarija(~mastarija@2a05:4f46:e03:6000:cf81:4038:e6c6:74b4) (Quit: WeeChat 3.5)
2022-08-25 20:58:49 +0000Midjak(~Midjak@82.66.147.146) (Quit: Leaving)
2022-08-25 21:00:13 +0000Midjak(~Midjak@82.66.147.146)
2022-08-25 21:00:15 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2022-08-25 21:00:19 +0000euandreh(~euandreh@179.214.113.107) (Ping timeout: 248 seconds)
2022-08-25 21:02:17 +0000euandreh(~euandreh@179.214.113.107)
2022-08-25 21:02:29 +0000_73(~user@pool-173-76-102-248.bstnma.fios.verizon.net)
2022-08-25 21:03:28 +0000mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 21:05:02 +0000Kaipei(~Kaiepi@142.68.249.28)
2022-08-25 21:06:17 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 21:06:34 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 21:07:51 +0000Kaiepi(~Kaiepi@142.68.249.28) (Ping timeout: 260 seconds)
2022-08-25 21:10:23 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-25 21:12:26 +0000 <L29Ah> i have this code:
2022-08-25 21:12:26 +0000 <L29Ah> data T = A | B | C | D
2022-08-25 21:12:26 +0000 <L29Ah> type TLength = 4
2022-08-25 21:12:46 +0000 <L29Ah> how do i put the T's length into TLength without hardcode or TH?
2022-08-25 21:12:58 +0000 <geekosaur> uh
2022-08-25 21:13:10 +0000 <geekosaur> do you really intend that to be a type level Natural?
2022-08-25 21:13:13 +0000 <L29Ah> yes
2022-08-25 21:13:27 +0000 <L29Ah> it will be an argument for a fixed length vector
2022-08-25 21:13:50 +0000 <L29Ah> so i have a safe vector with named indexes
2022-08-25 21:13:51 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-08-25 21:14:01 +0000 <geekosaur> I think you're stuck with TH since a type alias can't be built dynamically
2022-08-25 21:14:07 +0000nate4(~nate@98.45.169.16)
2022-08-25 21:14:11 +0000 <L29Ah> i don't strictly need a type alias
2022-08-25 21:14:12 +0000 <geekosaur> singletons won't help you here
2022-08-25 21:14:29 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 21:15:36 +0000jpds1jpds
2022-08-25 21:15:40 +0000 <monochrom> There may be some way using GHC.Generics or Data.Data that I won't help with.
2022-08-25 21:16:00 +0000 <geekosaur> well. if you can get by without the type alias then you might be able to promote `fromEnum (maxBound :: T)` to a `KnownNat`
2022-08-25 21:16:17 +0000monochromfollows the latest health recommendations and washes hands often >:)
2022-08-25 21:16:46 +0000 <L29Ah> but i need to specify the length to mkN type signature somehow
2022-08-25 21:16:52 +0000 <L29Ah> https://hackage.haskell.org/package/fixed-vector-1.2.1.0/docs/Data-Vector-Fixed.html
2022-08-25 21:16:54 +0000 <geekosaur> (this relying on `deriving`-based `Enum` indexes starting from 0, and you will need `deriving Enum` to do it)
2022-08-25 21:16:58 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 21:17:05 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 21:18:18 +0000 <geekosaur> also this seems a lot of work to duplicate Array and Ix…
2022-08-25 21:18:19 +0000slaydr(~slaydr@75.164.14.186) (Quit: Leaving)
2022-08-25 21:18:56 +0000nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-08-25 21:19:07 +0000 <geekosaur> oh., sorry, `deriving (Enum, Bounded)`
2022-08-25 21:20:07 +0000 <geekosaur> and add 1 🙂
2022-08-25 21:20:25 +0000 <geekosaur> fromEnum (maxBound :: T) + 1
2022-08-25 21:20:43 +0000 <monochrom> See, this is the kind of off-by-1 errors that type-level length tracking promised to eliminate!
2022-08-25 21:20:50 +0000 <geekosaur> but you still need to use singletons to promote it
2022-08-25 21:20:50 +0000 <L29Ah> not sure why isn't it Array, maybe has to do with the fact that Array n can't be constructed from Array (n-1) or smth
2022-08-25 21:20:55 +0000 <monochrom> I mean >:)
2022-08-25 21:21:27 +0000 <geekosaur> still, it has to reinvent Ix the hard way, from the sound of it
2022-08-25 21:21:43 +0000 <geekosaur> granting that Ix isn't type level so it may not be "safe enough"
2022-08-25 21:22:03 +0000 <monochrom> This is type-level Ix, yeah.
2022-08-25 21:22:27 +0000 <monochrom> I might say "porting" instead of "reinventing" :)
2022-08-25 21:22:28 +0000 <geekosaur> I don't know your threat model
2022-08-25 21:22:50 +0000 <monochrom> But again I follow health recommendations and wash my hands off this :)
2022-08-25 21:23:39 +0000 <monochrom> A little bit of abridged true story in the unix-and-c course I teach though.
2022-08-25 21:23:47 +0000 <geekosaur> oh, I'm not altogether certain I want to be involved with it either. Ix might well be good enough, depending on threat model, and iirc there's a wrapper for Vector that supports Ix
2022-08-25 21:24:16 +0000hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-08-25 21:24:36 +0000 <monochrom> In homework, I give my students a "char *p" as a parameter to their function. I guaranteed that p points to a C nul-terminated string.
2022-08-25 21:24:52 +0000 <monochrom> Students have need of making a copy. So they go...
2022-08-25 21:24:55 +0000 <geekosaur> I do know that type level is painful enough that it takes a lot to make me reach for it
2022-08-25 21:25:00 +0000 <monochrom> char *q = malloc(sizeof(p))
2022-08-25 21:25:02 +0000 <monochrom> <_<
2022-08-25 21:25:45 +0000 <geekosaur> I'd roll my eyes but I've forgotten what it was like to be that level 😈
2022-08-25 21:25:46 +0000 <monochrom> I only found out by compiling their code with "gcc -O2" which adds run-time guards against buffer overflow.
2022-08-25 21:26:20 +0000 <monochrom> What is my threat model? Answer: I run their code in a docker container. :)
2022-08-25 21:26:36 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 21:29:55 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 21:31:55 +0000 <johnw> do you valgrind their code too?
2022-08-25 21:32:03 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2022-08-25 21:32:18 +0000 <monochrom> Yes for a few selected questions.
2022-08-25 21:33:39 +0000hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Quit: Leaving)
2022-08-25 21:34:31 +0000 <monochrom> They also know about valgrind. I gave them an exercise on it.
2022-08-25 21:34:34 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-25 21:34:41 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 21:35:20 +0000hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-08-25 21:39:56 +0000acidjnk(~acidjnk@p200300d6e7137a4448390a2d4fdf592b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-08-25 21:42:47 +0000 <dolio> Do they ever learn that using C is a bad idea?
2022-08-25 21:42:55 +0000 <monochrom> :)
2022-08-25 21:43:02 +0000 <monochrom> But it's a unix syscall course.
2022-08-25 21:43:32 +0000 <monochrom> But I think they hate C by now.
2022-08-25 21:43:39 +0000hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Quit: Leaving)
2022-08-25 21:43:48 +0000 <geekosaur> good
2022-08-25 21:43:55 +0000 <ente`> I was gonna ask
2022-08-25 21:43:58 +0000 <ente`> does that make you happy
2022-08-25 21:44:23 +0000hgolden(~Howard@cpe-172-251-233-141.socal.res.rr.com)
2022-08-25 21:44:28 +0000 <ente`> cause we had various weird C assignments in college
2022-08-25 21:44:35 +0000zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-08-25 21:44:51 +0000td_(~td@94.134.91.83)
2022-08-25 21:44:57 +0000 <monochrom> I'm not happy. They hate C for the wrong reasons.
2022-08-25 21:44:58 +0000 <geekosaur> C still has its place. but please write applications in something sane
2022-08-25 21:45:25 +0000 <geekosaur> (this does not mean C++)
2022-08-25 21:45:28 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.6)
2022-08-25 21:45:31 +0000 <ente`> Vala
2022-08-25 21:45:34 +0000 <ente`> :D
2022-08-25 21:46:21 +0000 <ente`> ping me when it's the year of MirageOS on the desktop
2022-08-25 21:47:02 +0000 <geekosaur> Vala's just the FSF's failed attempt to ride the coat-tails of Go, having missed the point of it completely because it's pretty much the opposite of the FSF's aims
2022-08-25 21:47:25 +0000 <dolio> Doesn't vala predate go?
2022-08-25 21:47:51 +0000 <ente`> yes
2022-08-25 21:48:12 +0000 <geekosaur> does it? I recall Go coming out pretty early
2022-08-25 21:48:19 +0000 <ente`> Vala is the FSF's failed attempt to recreate C# for GObject
2022-08-25 21:48:45 +0000 <geekosaur> (shortly after Dart, which struck me as dumb)
2022-08-25 21:49:23 +0000 <dolio> Go is before Dart.
2022-08-25 21:49:50 +0000 <ente`> wikipedia dates Vala to 2006 and Go to 2009
2022-08-25 21:50:32 +0000 <ente`> and Haskell to 1990 in case anyone didn't know it's older than both
2022-08-25 21:51:07 +0000 <dolio> Which always made even less sense to me (making dart after go).
2022-08-25 21:51:20 +0000 <monochrom> When I teach Haskell I ride the coat-tail of Java and Rust :)
2022-08-25 21:51:36 +0000gustik(~gustik@2a01:c844:2457:2220:475d:34f:d571:996f)
2022-08-25 21:51:40 +0000 <geekosaur> it does seem at least one of them is redundant
2022-08-25 21:52:06 +0000 <geekosaur> apparnetly everyone else agrees, since I seem to see very little take-up of dart
2022-08-25 21:52:19 +0000 <dolio> Dart seems worse, though, so it makes less sense to build it after.
2022-08-25 21:52:32 +0000 <ente`> I kind of ignore anything that's too new tbh
2022-08-25 21:52:58 +0000 <geekosaur> (and I want my name back, dammit. I named an C-embedded report generator that in the 1980s)
2022-08-25 21:53:00 +0000 <ente`> there's enough of old, stable programming languages I haven't yet bothered to learn
2022-08-25 21:53:02 +0000 <dolio> I imagine the answer is that it's two completely different teams with no communication at google.
2022-08-25 21:54:17 +0000 <geekosaur> https://www.google.com/search?q=dilbert+battling+business+units&oq=battling+business+units+&aqs=ch…
2022-08-25 21:54:59 +0000jtomas(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
2022-08-25 21:57:23 +0000`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
2022-08-25 21:59:29 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 21:59:52 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 22:02:09 +0000jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-08-25 22:03:43 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 22:04:06 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-25 22:04:50 +0000jinsun(~jinsun@user/jinsun)
2022-08-25 22:10:31 +0000waleee(~waleee@h-176-10-137-138.na.cust.bahnhof.se)
2022-08-25 22:11:52 +0000adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-08-25 22:11:52 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2022-08-25 22:15:04 +0000Colere(~colere@about/linux/staff/sauvin) (Read error: Connection reset by peer)
2022-08-25 22:16:11 +0000Colere(~colere@about/linux/staff/sauvin)
2022-08-25 22:16:56 +0000beteigeuze(~Thunderbi@bl11-28-222.dsl.telepac.pt) (Quit: beteigeuze)
2022-08-25 22:17:13 +0000beteigeuze(~Thunderbi@bl11-28-222.dsl.telepac.pt)
2022-08-25 22:19:52 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2022-08-25 22:21:57 +0000rik_tig(~rik_tig@user/rik-tig/x-5430394) (Quit: Leaving)
2022-08-25 22:22:05 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-25 22:22:11 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-25 22:23:32 +0000qhong_(~qhong@rescomp-21-400677.stanford.edu)
2022-08-25 22:24:02 +0000hometown(~blurb@96.45.2.121)
2022-08-25 22:24:12 +0000neightchan(~nate@98.45.169.16)
2022-08-25 22:24:14 +0000chimp_(~Psybur@c-76-123-45-25.hsd1.va.comcast.net)
2022-08-25 22:24:32 +0000lambdap232(~lambdap@static.167.190.119.168.clients.your-server.de)
2022-08-25 22:24:48 +0000ell9(~ellie@user/ellie)
2022-08-25 22:25:20 +0000jmct_(sid160793@id-160793.tinside.irccloud.com)
2022-08-25 22:25:20 +0000ysh___(sid6017@id-6017.ilkley.irccloud.com)
2022-08-25 22:25:21 +0000gmc_(sid58314@id-58314.ilkley.irccloud.com)
2022-08-25 22:25:22 +0000saolsen_(sid26430@id-26430.lymington.irccloud.com)
2022-08-25 22:25:22 +0000tritlo_(sid58727@user/tritlo)
2022-08-25 22:25:23 +0000christiaanb_(sid84827@id-84827.lymington.irccloud.com)
2022-08-25 22:25:25 +0000nonzen(~nonzen@user/nonzen)
2022-08-25 22:25:28 +0000koz_(~koz@121.99.240.58)
2022-08-25 22:25:28 +0000red-snail1(~snail@static.151.210.203.116.clients.your-server.de)
2022-08-25 22:25:32 +0000jackdk_(sid373013@cssa/jackdk)
2022-08-25 22:25:33 +0000acertain_(sid470584@id-470584.hampstead.irccloud.com)
2022-08-25 22:25:35 +0000jtomas(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2022-08-25 22:25:36 +0000natto17(~natto@140.238.225.67)
2022-08-25 22:25:39 +0000megeve_(sid523379@id-523379.hampstead.irccloud.com)
2022-08-25 22:25:42 +0000hendi_(sid489601@id-489601.lymington.irccloud.com)
2022-08-25 22:25:45 +0000pierrot(~pi@user/pierrot)
2022-08-25 22:25:46 +0000feliix42_(~felix@gibbs.uberspace.de)
2022-08-25 22:25:47 +0000loonycyborg_(loonycybor@chantal.wesnoth.org)
2022-08-25 22:25:47 +0000orcus(~orcus@user/brprice)
2022-08-25 22:25:48 +0000Philonous(~Philonous@user/philonous)
2022-08-25 22:25:58 +0000micro_(~micro@user/micro) (Ping timeout: 240 seconds)
2022-08-25 22:26:08 +0000jocke-l(jocke-l@a.x0.is) (Ping timeout: 255 seconds)
2022-08-25 22:26:08 +0000statusfailed(~statusfai@statusfailed.com) (Ping timeout: 255 seconds)
2022-08-25 22:26:15 +0000ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com)
2022-08-25 22:26:17 +0000RMSBach(~guygastin@137.184.131.156)
2022-08-25 22:26:19 +0000dexter1(~dexter@li655-253.members.linode.com) (Ping timeout: 252 seconds)
2022-08-25 22:26:28 +0000Jon(jon@dow.land) (Ping timeout: 244 seconds)
2022-08-25 22:26:31 +0000PotatoGim_(sid99505@id-99505.lymington.irccloud.com)
2022-08-25 22:26:32 +0000tom_(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2022-08-25 22:26:36 +0000jakesyl____(sid56879@id-56879.hampstead.irccloud.com)
2022-08-25 22:26:44 +0000SrPx_(sid108780@id-108780.uxbridge.irccloud.com)
2022-08-25 22:27:21 +0000Rembane_(~Rembane@li346-36.members.linode.com) (Ping timeout: 268 seconds)
2022-08-25 22:27:21 +0000mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es) (Ping timeout: 268 seconds)
2022-08-25 22:27:21 +0000robertm(robertm@lattice.rojoma.com) (Ping timeout: 268 seconds)
2022-08-25 22:27:25 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2022-08-25 22:27:44 +0000peutri_(~peutri@bobo.desast.re)
2022-08-25 22:27:50 +0000haasn`(~nand@haasn.dev)
2022-08-25 22:27:52 +0000nckx_(~nckx@tobias.gr)
2022-08-25 22:27:58 +0000Patternm1ster(~georg@li1192-118.members.linode.com)
2022-08-25 22:28:03 +0000lisq(~quassel@lis.moe)
2022-08-25 22:28:12 +0000xnbya2(~xnbya@2a01:4f8:c17:cbdd::1)
2022-08-25 22:28:18 +0000glider_(~glider@user/glider)
2022-08-25 22:28:18 +0000bjobjo_(~bjobjo@user/bjobjo)
2022-08-25 22:28:25 +0000kaol_(~kaol@94-237-42-30.nl-ams1.upcloud.host)
2022-08-25 22:28:27 +0000pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-08-25 22:28:29 +0000Fischmiep(~Fischmiep@user/Fischmiep)
2022-08-25 22:28:34 +0000tristanC_(~tristanC@user/tristanc)
2022-08-25 22:28:45 +0000juri__(~juri@84-19-175-179.pool.ovpn.com)
2022-08-25 22:28:51 +0000oo_migue1(~pi@77.252.47.226)
2022-08-25 22:29:03 +0000aforemny_(~aforemny@static.248.158.34.188.clients.your-server.de)
2022-08-25 22:29:28 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-25 22:29:39 +0000dtman34_(~dtman34@2601:446:4400:2ad9:9069:db35:869c:4723)
2022-08-25 22:31:26 +0000x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2022-08-25 22:31:48 +0000TheCoffeMaker_(~TheCoffeM@200.126.129.149)
2022-08-25 22:31:52 +0000ubert(~Thunderbi@77.119.173.191.wireless.dyn.drei.com) (Remote host closed the connection)
2022-08-25 22:33:04 +0000sagax(~sagax_nb@user/sagax) (*.net *.split)
2022-08-25 22:33:04 +0000notzmv(~zmv@user/notzmv) (*.net *.split)
2022-08-25 22:33:04 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (*.net *.split)
2022-08-25 22:33:04 +0000aeka(~aeka@user/hiruji) (*.net *.split)
2022-08-25 22:33:04 +0000tom__(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (*.net *.split)
2022-08-25 22:33:04 +0000nckx(~nckx@tobias.gr) (*.net *.split)
2022-08-25 22:33:04 +0000sibnull[m](~sibnullma@2001:470:69fc:105::1:1291) (*.net *.split)
2022-08-25 22:33:04 +0000phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4) (*.net *.split)
2022-08-25 22:33:04 +0000dtman34(~dtman34@2601:446:4400:2ad9:e4dc:49f0:fa32:b190) (*.net *.split)
2022-08-25 22:33:04 +0000feliix42(~felix@gibbs.uberspace.de) (*.net *.split)
2022-08-25 22:33:04 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (*.net *.split)
2022-08-25 22:33:04 +0000natto(~natto@140.238.225.67) (*.net *.split)
2022-08-25 22:33:04 +0000aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9) (*.net *.split)
2022-08-25 22:33:04 +0000christiaanb(sid84827@2a03:5180:f:2::1:4b5b) (*.net *.split)
2022-08-25 22:33:04 +0000SrPx(sid108780@id-108780.uxbridge.irccloud.com) (*.net *.split)
2022-08-25 22:33:04 +0000jackdk(sid373013@cssa/jackdk) (*.net *.split)
2022-08-25 22:33:04 +0000jakesyl___(sid56879@id-56879.hampstead.irccloud.com) (*.net *.split)
2022-08-25 22:33:04 +0000loonycyborg(loonycybor@wesnoth/developer/loonycyborg) (*.net *.split)
2022-08-25 22:33:04 +0000peutri(~peutri@bobo.desast.re) (*.net *.split)
2022-08-25 22:33:04 +0000bjobjo(~bjobjo@user/bjobjo) (*.net *.split)
2022-08-25 22:33:04 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split)
2022-08-25 22:33:04 +0000juri_(~juri@84-19-175-179.pool.ovpn.com) (*.net *.split)
2022-08-25 22:33:04 +0000Typedfern(~Typedfern@202.red-83-37-35.dynamicip.rima-tde.net) (*.net *.split)
2022-08-25 22:33:04 +0000Psybur(~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (*.net *.split)
2022-08-25 22:33:04 +0000xnbya(~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split)
2022-08-25 22:33:04 +0000haasn(~nand@haasn.dev) (*.net *.split)
2022-08-25 22:33:04 +0000Patternmaster(~georg@user/Patternmaster) (*.net *.split)
2022-08-25 22:33:04 +0000natechan(~nate@98.45.169.16) (*.net *.split)
2022-08-25 22:33:04 +0000heartburn(~gass@2a00:d880:3:1::b1e4:b241) (*.net *.split)
2022-08-25 22:33:04 +0000koz(~koz@121.99.240.58) (*.net *.split)
2022-08-25 22:33:04 +0000tristanC(~tristanC@user/tristanc) (*.net *.split)
2022-08-25 22:33:04 +0000oo_miguel(~pi@77.252.47.226) (*.net *.split)
2022-08-25 22:33:04 +0000qhong(~qhong@rescomp-21-400677.stanford.edu) (*.net *.split)
2022-08-25 22:33:04 +0000TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (*.net *.split)
2022-08-25 22:33:04 +0000ell(~ellie@user/ellie) (*.net *.split)
2022-08-25 22:33:04 +0000glider(~glider@user/glider) (*.net *.split)
2022-08-25 22:33:04 +0000pierrot_(~pi@user/pierrot) (*.net *.split)
2022-08-25 22:33:04 +0000orcus-(~orcus@user/brprice) (*.net *.split)
2022-08-25 22:33:04 +0000Fischmie1(~Fischmiep@user/Fischmiep) (*.net *.split)
2022-08-25 22:33:04 +0000Philonous_(~Philonous@user/philonous) (*.net *.split)
2022-08-25 22:33:04 +0000kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split)
2022-08-25 22:33:04 +0000red-snail(~snail@static.151.210.203.116.clients.your-server.de) (*.net *.split)
2022-08-25 22:33:04 +0000sloorush(~sloorush@52.187.184.81) (*.net *.split)
2022-08-25 22:33:04 +0000megeve(sid523379@id-523379.hampstead.irccloud.com) (*.net *.split)
2022-08-25 22:33:04 +0000ysh__(sid6017@id-6017.ilkley.irccloud.com) (*.net *.split)
2022-08-25 22:33:04 +0000jmct(sid160793@id-160793.tinside.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split)
2022-08-25 22:33:05 +0000ProofTechnique(sid79547@id-79547.ilkley.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000tritlo(sid58727@user/tritlo) (*.net *.split)
2022-08-25 22:33:05 +0000hendi(sid489601@id-489601.lymington.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000kadoban1(~kadoban@user/kadoban) (*.net *.split)
2022-08-25 22:33:05 +0000guygastineau(~guygastin@137.184.131.156) (*.net *.split)
2022-08-25 22:33:05 +0000acertain(sid470584@id-470584.hampstead.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000x22x22x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (*.net *.split)
2022-08-25 22:33:05 +0000gmc(sid58314@id-58314.ilkley.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000PotatoGim(sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000lisq_(~quassel@lis.moe) (*.net *.split)
2022-08-25 22:33:05 +0000nonzen_(~nonzen@user/nonzen) (*.net *.split)
2022-08-25 22:33:05 +0000saolsen(sid26430@id-26430.lymington.irccloud.com) (*.net *.split)
2022-08-25 22:33:05 +0000aforemny(~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split)
2022-08-25 22:33:05 +0000lambdap23(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2022-08-25 22:33:05 +0000offtherock(~blurb@96.45.2.121) (*.net *.split)
2022-08-25 22:33:05 +0000jmct_jmct
2022-08-25 22:33:05 +0000jackdk_jackdk
2022-08-25 22:33:05 +0000ProofTechnique_ProofTechnique
2022-08-25 22:33:05 +0000saolsen_saolsen
2022-08-25 22:33:06 +0000tritlo_tritlo
2022-08-25 22:33:06 +0000nckx_nckx
2022-08-25 22:33:07 +0000megeve_megeve
2022-08-25 22:33:08 +0000ell9ell
2022-08-25 22:33:08 +0000lambdap232lambdap23
2022-08-25 22:33:09 +0000christiaanb_christiaanb
2022-08-25 22:33:10 +0000SrPx_SrPx
2022-08-25 22:33:10 +0000haasn`haasn
2022-08-25 22:33:10 +0000acertain_acertain
2022-08-25 22:33:10 +0000hendi_hendi
2022-08-25 22:33:10 +0000gmc_gmc
2022-08-25 22:33:10 +0000PotatoGim_PotatoGim
2022-08-25 22:33:12 +0000aeka`(~aeka@2606:6080:2001:9:2679:addd:655:8142)
2022-08-25 22:33:36 +0000aeka`aeka
2022-08-25 22:33:53 +0000heartburn(~gass@2a00:d880:3:1::b1e4:b241)
2022-08-25 22:35:57 +0000 <jackdk> monochrom: what do you mean by "ride the coat-tail" here?
2022-08-25 22:36:46 +0000Sgeo(~Sgeo@user/sgeo)
2022-08-25 22:39:13 +0000Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-08-25 22:39:52 +0000Typedfern(~Typedfern@202.red-83-37-35.dynamicip.rima-tde.net)
2022-08-25 22:39:56 +0000michalz(~michalz@185.246.204.75) (Remote host closed the connection)
2022-08-25 22:39:57 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-08-25 22:42:16 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-25 22:42:19 +0000jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-08-25 22:42:22 +0000kadoban1(~kadoban@user/kadoban)
2022-08-25 22:43:58 +0000hgolden(~Howard@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-08-25 22:45:07 +0000sibnull[m](~sibnullma@2001:470:69fc:105::1:1291)
2022-08-25 22:45:59 +0000aveltras[m](~aveltrasm@2001:470:69fc:105::3ef9)
2022-08-25 22:46:24 +0000phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-08-25 22:47:57 +0000hgolden(~Howard@cpe-172-251-233-141.socal.res.rr.com)
2022-08-25 22:50:08 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 22:50:29 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-25 22:51:06 +0000toeffel(~toeffel@user/toeffel)
2022-08-25 22:53:43 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
2022-08-25 22:54:17 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-25 22:54:36 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-08-25 22:54:39 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-08-25 22:55:48 +0000pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-08-25 22:56:13 +0000Hayro(~vpn@91.93.236.226)
2022-08-25 23:00:46 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-08-25 23:02:18 +0000jinsun(~jinsun@user/jinsun)
2022-08-25 23:03:02 +0000xff0x(~xff0x@2405:6580:b080:900:ae06:3e97:decd:45dd) (Ping timeout: 255 seconds)
2022-08-25 23:03:22 +0000Hayro(~vpn@91.93.236.226) ()
2022-08-25 23:03:39 +0000Rembane(~Rembane@li346-36.members.linode.com)
2022-08-25 23:04:32 +0000HashOpenSource
2022-08-25 23:06:08 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-25 23:06:28 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 23:07:04 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 23:08:30 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 23:08:38 +0000kimjetwav(~user@2607:fea8:235e:b600:7f88:edef:fe86:249f)
2022-08-25 23:10:14 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-25 23:10:35 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-25 23:12:32 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 23:13:55 +0000matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-25 23:14:16 +0000xff0x(~xff0x@2405:6580:b080:900:6f8a:e9c1:3bc4:a024)
2022-08-25 23:15:03 +0000matthewmosior(~matthewmo@173.170.253.91)
2022-08-25 23:15:05 +0000mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es)
2022-08-25 23:15:18 +0000merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-08-25 23:15:44 +0000Jon(jon@dow.land)
2022-08-25 23:17:17 +0000luffy(~chenqisu1@183.217.200.212)
2022-08-25 23:18:03 +0000micro(~micro@user/micro)
2022-08-25 23:19:43 +0000eikke(~NicolasT@user/NicolasT)
2022-08-25 23:19:59 +0000PiDelport(uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-25 23:20:45 +0000 <eikke> The cabal.package docs say there can be `progname-options` options in package sections, like `ghc-options`. However, is there a list of valid `progname`s? `cc-options` (like in a cabal file) seem unsupported
2022-08-25 23:21:51 +0000dexter1(dexter@2a01:7e00::f03c:91ff:fe86:59ec)
2022-08-25 23:24:03 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-08-25 23:24:20 +0000robertm(robertm@lattice.rojoma.com)
2022-08-25 23:26:14 +0000 <geekosaur> https://cabal.readthedocs.io/en/3.6/cabal-package.html#build-information shows the unpacked names; cc-options is listed as valid for library and executable build information
2022-08-25 23:26:26 +0000 <geekosaur> but it probably won't be used unless you actually have C sources
2022-08-25 23:27:18 +0000 <eikke> geekosaur: that's in the package's cabal file, I'm referring to cabal.project
2022-08-25 23:27:19 +0000ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-08-25 23:29:08 +0000 <eikke> Turns out `gcc-options` in the `program-options` section does work. But that seems a bit weird when comparing to `cc-options` in the package config, and not all C compilers are GCC
2022-08-25 23:30:01 +0000segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-08-25 23:30:58 +0000Tuplanolla(~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.)
2022-08-25 23:31:26 +0000dsrt^(~dsrt@96.70.11.181)
2022-08-25 23:31:33 +0000 <geekosaur> odd
2022-08-25 23:31:48 +0000 <geekosaur> looks to me like it should work. what cabal-install version?
2022-08-25 23:32:49 +0000jocke-l(jocke-l@a.x0.is)
2022-08-25 23:32:49 +0000toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-08-25 23:33:43 +0000statusfailed(~statusfai@statusfailed.com)
2022-08-25 23:39:11 +0000 <eikke> 3.2.0.0
2022-08-25 23:40:04 +0000finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2022-08-25 23:40:10 +0000 <geekosaur> that's a bit old. 3.8.1.0 just came out
2022-08-25 23:40:20 +0000 <geekosaur> and I had several problems with 3.2
2022-08-25 23:40:39 +0000 <eikke> It's what comes with Fedora 36 :)
2022-08-25 23:41:54 +0000 <geekosaur> this is why most of us use ghcup instead of relying on outdated distro packages
2022-08-25 23:42:14 +0000 <geekosaur> (I'm on Ubuntu, it's even older…)
2022-08-25 23:46:41 +0000td_(~td@94.134.91.83) (Quit: waking up from the american dream ...)
2022-08-25 23:47:29 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2022-08-25 23:49:50 +0000matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-25 23:53:50 +0000 <troydm> tdammers: ic, thanks for explanation
2022-08-25 23:57:26 +0000adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2022-08-25 23:57:47 +0000 <johnw> does anyone know of determinism problems using the Decimal library?
2022-08-25 23:58:12 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)