2024/04/01

2024-04-01 00:00:10 +0200 <ski> (perhaps there's another way to look at it. if you could define some (e.g. Haskell) data types (trees or graphs or tables or whatever), that can be used to represent these types (and also, preferably, corresponding expression structures for invoking functions having these types), that could help to better understand how you're thinking about it)
2024-04-01 00:00:19 +0200 <ski> (bbiam)
2024-04-01 00:02:55 +0200 <cheater> so what if you had
2024-04-01 00:02:59 +0200 <cheater> a }
2024-04-01 00:03:09 +0200 <cheater> } Bool -> c
2024-04-01 00:03:12 +0200 <cheater> b }
2024-04-01 00:03:35 +0200 <cheater> and the Bool informed whether your function wants an a or a b?
2024-04-01 00:04:15 +0200 <cheater> you start with the fact that you end up with c
2024-04-01 00:04:17 +0200 <cheater> you know that for sure
2024-04-01 00:04:36 +0200 <cheater> but then at runtime depending on the value of the Bool you either want an a as input, or a b as input.
2024-04-01 00:07:33 +0200 <cheater> (and maybe you can figure out the Bool at compile time already, and specialize)
2024-04-01 00:14:39 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection)
2024-04-01 00:14:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 00:18:18 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-04-01 00:22:33 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection)
2024-04-01 00:23:56 +0200 <ski> at compile-time, you don't know the run-time value of the `Bool', in general. so you'd have to provide potential computations for both `a' and `b' (but not necessarily the possibility to materialize both)
2024-04-01 00:27:54 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-04-01 00:28:00 +0200 <cheater> yup
2024-04-01 00:41:44 +0200causal(~eric@50.35.88.207)
2024-04-01 00:44:26 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-04-01 00:45:53 +0200Square2(~Square@user/square)
2024-04-01 00:58:04 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-04-01 01:08:31 +0200iteratee(~kyle@162.218.222.207) (Read error: Connection reset by peer)
2024-04-01 01:08:52 +0200iteratee(~kyle@162.218.222.207)
2024-04-01 01:08:57 +0200acidjnk_new(~acidjnk@p200300d6e714dc446d52a2431789bf32.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-04-01 01:12:57 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
2024-04-01 01:13:41 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2024-04-01 01:30:03 +0200travgm(~travgm@fsf/member/travgm)
2024-04-01 01:31:13 +0200picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 255 seconds)
2024-04-01 01:36:07 +0200picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
2024-04-01 01:51:05 +0200jero98772(~jero98772@2800:484:1d81:2200::4)
2024-04-01 01:52:22 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-04-01 01:57:02 +0200peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection)
2024-04-01 02:00:38 +0200A_DragonA_Meow
2024-04-01 02:00:54 +0200A_MeowA_Dragon
2024-04-01 02:02:24 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-04-01 02:03:35 +0200califax(~califax@user/califx)
2024-04-01 02:04:19 +0200glguyglpup
2024-04-01 02:05:36 +0200falafel_(~falafel@162.83.249.190)
2024-04-01 02:06:33 +0200 <c_wraith> is that even a rebrand? The name was obviously in french all along
2024-04-01 02:09:03 +0200sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-01 02:18:00 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 255 seconds)
2024-04-01 02:20:59 +0200vulpine(xfnw@tilde.team) (Changing host)
2024-04-01 02:20:59 +0200vulpine(xfnw@user/meow/xfnw)
2024-04-01 02:23:22 +0200Catty(~catties@user/catties) (Changing host)
2024-04-01 02:23:22 +0200Catty(~catties@user/meow/catties)
2024-04-01 02:23:52 +0200jero98772(~jero98772@2800:484:1d81:2200::4) (Ping timeout: 255 seconds)
2024-04-01 02:26:11 +0200rvalue(~rvalue@user/rvalue)
2024-04-01 02:32:01 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-04-01 02:49:13 +0200r5c4571lh01987(rscastilho@179.221.142.8)
2024-04-01 02:49:57 +0200r5c4571lh01987(rscastilho@179.221.142.8) (Remote host closed the connection)
2024-04-01 02:52:05 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
2024-04-01 02:54:01 +0200falafel_(~falafel@162.83.249.190) (Ping timeout: 255 seconds)
2024-04-01 03:10:03 +0200SheKittyMcCatFace
2024-04-01 03:11:51 +0200 <monochrom> "libera cat" sounds like April 1st :)
2024-04-01 03:34:56 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca)
2024-04-01 03:50:23 +0200otto_s(~user@p4ff27abc.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-04-01 03:51:41 +0200otto_s(~user@p4ff2714c.dip0.t-ipconnect.de)
2024-04-01 04:00:04 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2024-04-01 04:00:18 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-04-01 04:01:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-04-01 04:03:05 +0200mokee(~mokee@37.228.214.101)
2024-04-01 04:03:11 +0200cjaymewjay
2024-04-01 04:03:18 +0200petrichor(~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-01 04:03:22 +0200mokee(~mokee@37.228.214.101) (Client Quit)
2024-04-01 04:03:41 +0200petrichor(~znc-user@user/petrichor)
2024-04-01 04:06:55 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2024-04-01 04:07:11 +0200jinsun(~jinsun@user/jinsun)
2024-04-01 04:09:58 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-01 04:11:02 +0200tri_(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-01 04:11:49 +0200geekosaurmewosaur
2024-04-01 04:14:14 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
2024-04-01 04:19:09 +0200tri_(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-04-01 04:40:13 +0200bilegeek(~bilegeek@2600:1008:b063:3463:2db4:7d44:233e:64aa)
2024-04-01 05:01:30 +0200nitrix(~nitrix@user/nitrix) (Changing host)
2024-04-01 05:01:30 +0200nitrix(~nitrix@user/meow/nitrix)
2024-04-01 05:01:55 +0200td_(~td@i53870929.versanet.de) (Ping timeout: 260 seconds)
2024-04-01 05:03:50 +0200td_(~td@i53870937.versanet.de)
2024-04-01 05:16:27 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-01 05:16:38 +0200igemnace(~ian@user/igemnace)
2024-04-01 05:19:32 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Client Quit)
2024-04-01 05:28:59 +0200sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
2024-04-01 05:31:12 +0200aforemny(~aforemny@2001:9e8:6cd9:500:674a:462b:208b:27e8)
2024-04-01 05:32:25 +0200aforemny_(~aforemny@2001:9e8:6cf4:d100:2036:993f:679a:6cf6) (Ping timeout: 255 seconds)
2024-04-01 05:34:11 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-04-01 05:37:11 +0200JimL(~quassel@89.162.16.26)
2024-04-01 05:40:38 +0200fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-04-01 05:49:23 +0200mewosaurgeekopurr
2024-04-01 05:57:29 +0200xigua(~xigua@user/xigua) (Read error: Connection reset by peer)
2024-04-01 05:57:42 +0200xigua(~xigua@user/xigua)
2024-04-01 05:58:45 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca) (Ping timeout: 252 seconds)
2024-04-01 06:03:01 +0200Guest81(~Guest81@142.198.15.89)
2024-04-01 06:04:31 +0200 <Guest81> hey, I am wondering are there any haskell debuggers out there? quick google search doesn't get me anything relevant except for Debug.Trace
2024-04-01 06:09:35 +0200 <ski> there's one built-in to GHCi, <https://downloads.haskell.org/ghc/latest/docs/users_guide/ghci.html#the-ghci-debugger>
2024-04-01 06:09:35 +0200 <geekopurr> ghci has a built-in debugger, and if you have a ghc build with DWARF information then you can use gdb to some extent
2024-04-01 06:13:28 +0200 <Guest81> got it, any ide/lsp implementations that support interactive debugging?
2024-04-01 06:16:35 +0200 <geekopurr> I don't think HLS supports debugging yet, but #haskell-language-server would know more
2024-04-01 06:18:09 +0200 <geekopurr> (matrix generally works better than IRC for that, #haskell-language-server:matrix.org)
2024-04-01 06:21:43 +0200Guest81(~Guest81@142.198.15.89) (Quit: Client closed)
2024-04-01 06:26:55 +0200 <haskellbridge> <s​m> Guest81 look at ghci-tui too, it's nifty
2024-04-01 06:27:35 +0200 <haskellbridge> <s​m> there is a debugger extension for vs code and it works but I found it temperamental
2024-04-01 07:08:25 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-04-01 07:08:58 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-01 07:11:10 +0200zetef(~quassel@5.2.182.99)
2024-04-01 07:11:50 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-04-01 07:12:14 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-01 07:18:08 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-04-01 07:18:32 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-01 07:29:15 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-04-01 07:49:29 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-04-01 07:52:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 08:00:04 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-04-01 08:03:15 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 08:08:25 +0200euphores(~SASL_euph@user/euphores)
2024-04-01 08:22:46 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-04-01 08:28:39 +0200jinsun_(~jinsun@user/jinsun)
2024-04-01 08:28:39 +0200jinsun(~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2024-04-01 08:28:39 +0200jinsun_jinsun
2024-04-01 08:36:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 08:59:27 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-04-01 08:59:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-04-01 09:27:41 +0200jle`(~jle`@2603-8001-3b02-84d4-ffba-5774-382a-24ec.res6.spectrum.com) (Ping timeout: 240 seconds)
2024-04-01 09:28:59 +0200jle`(~jle`@2603-8001-3b02-84d4-c3f6-003a-068f-efb1.res6.spectrum.com)
2024-04-01 09:39:45 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-04-01 09:57:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-04-01 09:59:20 +0200acidjnk_new(~acidjnk@p200300d6e714dc028ca983f248aa2682.dip0.t-ipconnect.de)
2024-04-01 10:14:04 +0200mei(~mei@user/mei) (Quit: mei)
2024-04-01 10:14:25 +0200gmg(~user@user/gehmehgeh)
2024-04-01 10:15:04 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-04-01 10:15:53 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-01 10:18:36 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-04-01 10:18:42 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-01 10:19:18 +0200gmg(~user@user/gehmehgeh)
2024-04-01 10:24:15 +0200causal(~eric@50.35.88.207) (Quit: WeeChat 4.1.1)
2024-04-01 10:33:09 +0200igemnace(~ian@user/igemnace)
2024-04-01 10:36:03 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-01 10:41:13 +0200__monty__(~toonn@user/toonn)
2024-04-01 10:41:46 +0200bilegeek(~bilegeek@2600:1008:b063:3463:2db4:7d44:233e:64aa) (Quit: Leaving)
2024-04-01 10:46:47 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-01 10:47:41 +0200zetef(~quassel@5.2.182.99) (Ping timeout: 240 seconds)
2024-04-01 10:51:23 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 272 seconds)
2024-04-01 11:08:22 +0200zetef(~quassel@5.2.182.99)
2024-04-01 11:15:27 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-04-01 11:16:16 +0200gmg(~user@user/gehmehgeh)
2024-04-01 11:40:27 +0200Etabeta1(~Etabeta1@user/Etabeta1) (Changing host)
2024-04-01 11:40:27 +0200Etabeta1(~Etabeta1@user/meow/Etabeta1)
2024-04-01 11:50:57 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-04-01 11:55:18 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-04-01 12:02:34 +0200kuribas(~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be)
2024-04-01 12:02:41 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no)
2024-04-01 12:06:54 +0200aforemny(~aforemny@2001:9e8:6cd9:500:674a:462b:208b:27e8) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-01 12:07:09 +0200aforemny(~aforemny@2001:9e8:6cd9:500:d9a4:1707:4c79:474)
2024-04-01 12:07:56 +0200duncan(c6181279e3@user/duncan) (Changing host)
2024-04-01 12:07:56 +0200duncan(c6181279e3@user/meow/duncan)
2024-04-01 12:29:13 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-04-01 12:29:26 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2024-04-01 12:30:35 +0200Lord_of_Life_Lord_of_Life
2024-04-01 12:43:00 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-04-01 12:46:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 12:52:37 +0200zetef(~quassel@5.2.182.99) (Remote host closed the connection)
2024-04-01 12:53:40 +0200 <Inst> what is the performance difference between . and $?
2024-04-01 12:53:54 +0200 <Inst> I see Bodigrim using $ where others might use ., why prefer $ over .?
2024-04-01 12:54:36 +0200 <int-e> :t (.)
2024-04-01 12:54:37 +0200 <lambdabot> (b -> c) -> (a -> b) -> a -> c
2024-04-01 12:54:41 +0200 <int-e> :t ($)
2024-04-01 12:54:41 +0200 <lambdabot> (a -> b) -> a -> b
2024-04-01 12:54:48 +0200 <int-e> they're not even the same
2024-04-01 12:55:35 +0200 <int-e> if you're asking about f $ g $ x vs. f . g $ x there's no performance difference because after inlining . or $ the code will simplify to the same thing
2024-04-01 12:55:40 +0200 <int-e> so it becomes a matter of taste
2024-04-01 12:56:14 +0200 <int-e> which of course means that some people have very strong opinions about it
2024-04-01 12:57:52 +0200 <Inst> I know they're not the same, just wondering because I prefer foo . bar $ baz quux over foo $ bar $ baz quux
2024-04-01 12:58:40 +0200 <Inst> semantically, though, it implies different control, no?
2024-04-01 12:58:42 +0200 <Inst> in laziness
2024-04-01 12:58:47 +0200 <int-e> no
2024-04-01 12:59:12 +0200 <Inst> wait, maybe i have operator precedence in laziness messed up?
2024-04-01 12:59:22 +0200 <Inst> the last operator to execute should have control
2024-04-01 12:59:27 +0200 <Inst> so that's what you mean by no, right?
2024-04-01 13:00:02 +0200 <Inst> in both cases, it's foo operating over a thunk
2024-04-01 13:00:12 +0200 <ncf> operator precedence has nothing to do with laziness
2024-04-01 13:00:29 +0200 <int-e> I'm saying no because ghc will inline . and $ and do the obvious beta reductions and then there'll be no difference between the $ version and the . version
2024-04-01 13:00:58 +0200 <int-e> (maybe not with -O0 but that's not worth thinking about)
2024-04-01 13:01:30 +0200jinsun_(~jinsun@user/jinsun)
2024-04-01 13:01:30 +0200jinsunGuest2216
2024-04-01 13:01:30 +0200jinsun_jinsun
2024-04-01 13:01:32 +0200euphores(~SASL_euph@user/euphores)
2024-04-01 13:04:01 +0200 <Inst> but semantically it's supposed to be $ applying (f . g) to x vs $ applying f to (g $ x)
2024-04-01 13:04:55 +0200Guest2216(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2024-04-01 13:05:06 +0200 <Inst> which is the same, in practice, as you've said
2024-04-01 13:05:14 +0200 <int-e> There's no observable difference between those two and f (g x)
2024-04-01 13:05:31 +0200 <ncf> that sounds like syntax, not semantics
2024-04-01 13:06:06 +0200 <Inst> thanks for the assistance
2024-04-01 13:06:47 +0200 <Inst> it's just something that came up since i'm a pipeline / pointless addict, although obviously i don't get the "hard drugs" of pipelining multiparameter functions
2024-04-01 13:07:16 +0200 <ski> with `f . g . h' you can break out `f . g' or `g . h' into its own definition (because `(.)' is associative)
2024-04-01 13:08:01 +0200Cattycatties
2024-04-01 13:08:43 +0200 <probie> int-e: there is an observable difference between all 3. `f $ g $ x` will still work if the value `f` returns isn't a lifted type, and `f (g x)` will still work if the value `g` returns isn't a lifted type
2024-04-01 13:09:30 +0200 <int-e> yes, I did omit "if it type checks"
2024-04-01 13:09:44 +0200 <ncf> do we have any type-level gurus in here
2024-04-01 13:10:15 +0200 <ncf> if i have something like data App (a :: ()) (b :: ()) = forall f. Applicative f => MkApp (Proxy f) can i promote that to the type level so that i can write a type family that takes an App a b and returns a Type → Type
2024-04-01 13:10:44 +0200 <ncf> my attempts are running into "Data constructor ‘MkApp’ cannot be used here (it has an unpromotable context ‘Applicative f’)"
2024-04-01 13:11:24 +0200 <ski> the `f' there is only, in general, known at run-time
2024-04-01 13:12:10 +0200 <ncf> so i cannae have type-level existentials?
2024-04-01 13:12:27 +0200 <ski> hm, i guess with kind `App a b', the compile-time type of that kind would have `f' known ..
2024-04-01 13:12:46 +0200 <ncf> (for reference i'm trying to define displayed categories and express Traversables as vertical endofunctors: https://paste.tomsmeding.com/O23Bq2ma)
2024-04-01 13:12:55 +0200 <ski> .. but i've not seen any use of existentials with `DataKinds'
2024-04-01 13:13:18 +0200 <ncf> i did find this absolutely cursed section of the docs but i don't think it helps me much https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/data_kinds.html#promoting-existential-data…
2024-04-01 13:13:32 +0200 <ncf> the issue seems to be with the Applicative constraint
2024-04-01 13:15:00 +0200 <ski> hm, interesting
2024-04-01 13:15:39 +0200 <ski> yea, i guess promoting the constraint would require kind classes
2024-04-01 13:16:22 +0200 <ski> maybe you could make an `ApplicativeDict' data type, promote that, and do some `unsafeCoerce#' or something ..
2024-04-01 13:16:37 +0200 <ski> .. although, how would that work on the type level ?
2024-04-01 13:24:00 +0200cheater_(~Username@user/cheater)
2024-04-01 13:27:32 +0200cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2024-04-01 13:27:37 +0200cheater_cheater
2024-04-01 13:33:04 +0200 <lyxia> there are no type-level constraints
2024-04-01 13:35:12 +0200 <ncf> hmm
2024-04-01 13:37:15 +0200 <ncf> i'm not sure i even really need that
2024-04-01 13:37:18 +0200 <lyxia> also the `id` and `o` in your DisplayedCategory are not the methods of Category
2024-04-01 13:38:00 +0200 <ncf> ha?
2024-04-01 13:38:28 +0200 <ncf> what else could they be?
2024-04-01 13:38:40 +0200 <lyxia> free type variables that are going to be foralled
2024-04-01 13:39:07 +0200 <ncf> oh
2024-04-01 13:39:08 +0200 <lyxia> you've done too much Idris
2024-04-01 13:39:15 +0200 <ncf> agda
2024-04-01 13:39:29 +0200 <ncf> yeah i don't have a clear mental model of ghc's type level distinction
2024-04-01 13:39:40 +0200 <ncf> can i refer to id at the type level at all?
2024-04-01 13:39:44 +0200 <lyxia> nope
2024-04-01 13:40:02 +0200 <ncf> 🙃
2024-04-01 13:40:19 +0200ncfcloses vim.
2024-04-01 13:41:20 +0200 <lyxia> come back in 10 years
2024-04-01 13:41:32 +0200 <ncf> that's what they said 10 years ago!
2024-04-01 13:41:35 +0200 <ncf> i think
2024-04-01 13:42:00 +0200 <lyxia> functional programmers are optimists
2024-04-01 13:43:21 +0200 <Rembane> Also incredibly constructive
2024-04-01 13:43:44 +0200 <Inst> ehhh, JS comms I'm in are pretty functional
2024-04-01 13:44:03 +0200 <Inst> hybrid FP is de rigeur these days, it seems
2024-04-01 13:45:16 +0200lvdv(~lvdv@203.7.118.37)
2024-04-01 13:45:28 +0200 <Inst> even if you go to Py Discords, most people are familiar with functools
2024-04-01 13:45:50 +0200 <kuribas> FP in Python is still very painful.
2024-04-01 13:46:10 +0200 <kuribas> Like trying to do functional update on a dataclass.
2024-04-01 13:47:10 +0200 <Inst> and people were crying about jamming OOP support into php for years, iirc
2024-04-01 13:47:27 +0200 <Inst> but it eventually happened, I think FP is well-established and respected as a programming technique these days
2024-04-01 13:49:16 +0200 <kuribas> hmm, why does Spock set 500 when a param is missing, that should be 400...
2024-04-01 13:53:38 +0200ph88(~ph88@ip5b403f30.dynamic.kabel-deutschland.de)
2024-04-01 13:54:47 +0200mei(~mei@user/mei)
2024-04-01 14:00:41 +0200magus3(~Thunderbi@189.6.35.139)
2024-04-01 14:07:04 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-04-01 14:20:18 +0200fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-04-01 14:25:31 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 14:34:23 +0200kuribas(~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2024-04-01 14:38:53 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-04-01 14:41:26 +0200lvdv(~lvdv@203.7.118.37) (Remote host closed the connection)
2024-04-01 14:41:49 +0200lvdv(~lvdv@203.7.118.37)
2024-04-01 14:50:34 +0200 <lisbeths> Pls consider showing your support for #lambdacalculus channel ty
2024-04-01 14:56:33 +0200 <ncf> pls consider not advertising other channels in here every other week ty
2024-04-01 14:59:08 +0200random-jellyfish(~developer@2a02:2f04:11e:c600:fa5e:b43:6803:82cc)
2024-04-01 14:59:08 +0200random-jellyfish(~developer@2a02:2f04:11e:c600:fa5e:b43:6803:82cc) (Changing host)
2024-04-01 14:59:08 +0200random-jellyfish(~developer@user/random-jellyfish)
2024-04-01 15:12:33 +0200kuribas(~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be)
2024-04-01 15:14:06 +0200ystael(~ystael@user/ystael)
2024-04-01 15:19:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 15:25:38 +0200magus3(~Thunderbi@189.6.35.139) (Quit: magus3)
2024-04-01 15:31:03 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-04-01 16:03:51 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-04-01 16:03:51 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Read error: Connection reset by peer)
2024-04-01 16:03:51 +0200vnogueira(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-01 16:03:51 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-04-01 16:03:51 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-04-01 16:03:53 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
2024-04-01 16:04:35 +0200ec(~ec@gateway/tor-sasl/ec)
2024-04-01 16:05:13 +0200kuribas(~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2024-04-01 16:05:23 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-01 16:05:24 +0200califax(~califax@user/califx)
2024-04-01 16:07:06 +0200fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
2024-04-01 16:08:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-04-01 16:08:44 +0200byorgey(~byorgey@155.138.238.211) (Quit: leaving)
2024-04-01 16:16:09 +0200vnogueira(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-01 16:16:09 +0200califax(~califax@user/califx) (Read error: Connection reset by peer)
2024-04-01 16:16:26 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-01 16:16:35 +0200califax(~califax@user/califx)
2024-04-01 16:18:50 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-04-01 16:18:53 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-01 16:19:19 +0200rvalue(~rvalue@user/rvalue)
2024-04-01 16:19:22 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-04-01 16:19:22 +0200vnogueira(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-01 16:19:39 +0200califax(~califax@user/califx)
2024-04-01 16:19:40 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-01 16:27:03 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-04-01 16:27:25 +0200dostoyevsky2(~sck@user/dostoyevsky2) (Quit: leaving)
2024-04-01 16:27:39 +0200dostoyevsky2(~sck@user/dostoyevsky2)
2024-04-01 16:29:47 +0200remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz) (Ping timeout: 260 seconds)
2024-04-01 16:30:12 +0200vnogueira(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-01 16:30:12 +0200califax(~califax@user/califx) (Read error: Connection reset by peer)
2024-04-01 16:30:28 +0200califax(~califax@user/califx)
2024-04-01 16:30:28 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-04-01 16:30:37 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-01 16:34:31 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-04-01 16:37:31 +0200remedan(~remedan@ip-78-102-118-253.bb.vodafone.cz)
2024-04-01 16:47:22 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-04-01 16:47:39 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-04-01 16:52:16 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-04-01 16:52:32 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-04-01 16:57:41 +0200myme1(~myme@2a01:799:d5c:5f00:717f:9bbf:7ce4:8e5) (Ping timeout: 268 seconds)
2024-04-01 16:58:36 +0200myme(~myme@2a01:799:d5c:5f00:6072:e797:6705:d556)
2024-04-01 17:00:13 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-04-01 17:01:32 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-04-01 17:05:32 +0200fererrorocher(fererroroc@gateway/vpn/protonvpn/fererrorocher)
2024-04-01 17:07:27 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-01 17:08:58 +0200mei(~mei@user/mei)
2024-04-01 17:09:45 +0200tri(~tri@4133220a.cst.lightpath.net)
2024-04-01 17:13:39 +0200 <tri> hi, I'm using Reader to inject an environment into function. In that environment, I need to maintain a set of data, which will be seeded initial data when app starts, and when the app runs, I also need to add new item into that data set. So I think i should use a State monad there. So a Reader holding a set, which will be updated, is this the place
2024-04-01 17:13:39 +0200 <tri> to use RWST or something similar? I have never used that before so im asking
2024-04-01 17:13:41 +0200random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 240 seconds)
2024-04-01 17:14:52 +0200 <tri> in other words, Im doing dependency injection via Reader monad, and one of the dependency is a set and will be modified during the app lifetime
2024-04-01 17:17:09 +0200 <probie> Depending on the situation, the solution may be as simple as sticking an IORef in your reader
2024-04-01 17:17:17 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-04-01 17:17:33 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-04-01 17:17:47 +0200 <tri> i haven't learned about IORef yet so idk what that is
2024-04-01 17:18:27 +0200 <tri> probie: so do you think i could work with this using the Reader and state monad?
2024-04-01 17:19:16 +0200lvdv(~lvdv@203.7.118.37) (Ping timeout: 268 seconds)
2024-04-01 17:21:45 +0200 <ski> an `IORef a' is a reference (or index, if you prefer) to a mutable cell (kept in state carried around by `IO') holding a value of type `a'. there's `newIORef' to allocate a(n initialized) cell, `readIORef' to access contents, `writeIORef' to change contents
2024-04-01 17:22:43 +0200sadie-sorceress(~sadie-sor@199.96.191.158)
2024-04-01 17:23:02 +0200 <ski> if you use `ReaderT MyEnv IO', with `MyEnv' includig `IORef Foo', then you wouldn't need to use `StateT'. or you could use something like `ReaderT MyEnv (StateT MyState M)'
2024-04-01 17:24:04 +0200 <ski> hm, i guess if you only need a piece to update, `StateT MyState M' may be enough
2024-04-01 17:24:29 +0200 <ski> (`M' may be just `Identity', if you don't need any other effects, in which case you can skip it, and replace `StateT' by `State')
2024-04-01 17:24:50 +0200 <probie> If your base monad is IO, you have to live in a world with the possibility of exceptions being thrown, and catching exceptions with StateT can give you surprising results. However, for simple things (and non IO things) reader + state is probably sufficient
2024-04-01 17:27:35 +0200vnogueira_(~vnogueira@user/vnogueira)
2024-04-01 17:28:28 +0200 <tri> hmm, so you guys are slowly migrated toward ReaderT MyEnv State then?
2024-04-01 17:29:35 +0200 <tri> probie: wdym by base monad is IO? Could you explain that please? You mean the the monad in ReaderT?
2024-04-01 17:31:02 +0200vnogueira(~vnogueira@user/vnogueira) (Ping timeout: 260 seconds)
2024-04-01 17:32:45 +0200 <ski> `ReaderT MyEnv (StateT MyState (ContT MyAnswer IO)) MyResult' is called a "monad transformer stack". the monad transformers here are `ReaderT MyEnv',`StateT MyState',`ContT MyAnswer'. the "base monad" of this stack is `IO'
2024-04-01 17:33:27 +0200 <ski> (generally, the order of monad transformers matter. for some particular transformers, the order doesn't matter though)
2024-04-01 17:33:40 +0200 <ski> @unmtl ReaderT MyEnv (StateT MyState (ContT MyAnswer IO)) MyResult
2024-04-01 17:33:40 +0200 <lambdabot> MyEnv -> MyState -> (MyResult -> MyState -> IO MyAnswer) -> IO MyAnswer
2024-04-01 17:33:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 17:33:47 +0200 <ski> @unmtl ReaderT MyEnv (StateT MyState IO) MyResult
2024-04-01 17:33:48 +0200 <lambdabot> MyEnv -> MyState -> IO (MyResult, MyState)
2024-04-01 17:33:57 +0200 <ski> @unmtl StateT MyState IO MyResult
2024-04-01 17:33:57 +0200 <lambdabot> MyState -> IO (MyResult, MyState)
2024-04-01 17:34:04 +0200 <ski> @unmtl ReaderT MyEnv IO MyResult
2024-04-01 17:34:04 +0200 <lambdabot> MyEnv -> IO MyResult
2024-04-01 17:36:18 +0200Ashkan(~Ashkan@147.161.173.72)
2024-04-01 17:36:53 +0200 <ski> `StateT MyState Identity' is the same as `State MyState' (which would then become the base monad, e.g. in the `ReaderT MyEnv (StateT MyState Identity) MyResult' example, amounting to `ReaderT MyEnv (State MyState) MyResult'), and ditto for `ReaderT',`WriterT',`ContT'. for hysterical raisins, `ExceptT MyException Identity' amounts to `Either MyException'
2024-04-01 17:38:17 +0200 <ski> `RWST r w s m' amounts to `ReaderT r (WriterT w (StateT s m))'
2024-04-01 17:39:14 +0200 <Ashkan> Hello everyone. What is the proper way of modelling a `data` (struct) whose fields are filled in in various stages and in increments e.g. first you get it initialised `newThinge x y :: IO Thingie` and then `fillRestOfTheFields :: IO Thingie -> IO Thingie`. The two operations can not be merged and it must happen at two different parts of the code.
2024-04-01 17:39:14 +0200 <Ashkan> Do I just
2024-04-01 17:39:33 +0200 <Ashkan> (Oops, hit the Enter mid sentence)
2024-04-01 17:41:19 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-04-01 17:41:33 +0200 <probie> Ashkan: Do you know at each stage what fields are filled? If so, the most boring solution is just to have different types for different stages
2024-04-01 17:41:44 +0200 <Ashkan> I know I don't *have to* fill all the fields when creating an instance but not all combinations of missing fields are valid. only two stages: initialised (has fields `x` and `y` filled) and fully constructed (the rest of the fields has values as well)
2024-04-01 17:42:05 +0200 <ski> one approach is making two different `data' declarations. another is to merge those into one, parameterizing the differences. a third is to set uninitialized elements to `undefined'/`error "whatever"'
2024-04-01 17:42:42 +0200 <ski> perhaps you could factor out the first part, and including that in the second
2024-04-01 17:42:44 +0200 <Ashkan> probie Yes I do. But thing is having an extra `data` just to fill the gap doesn't look good :-. but if there is no better way ...
2024-04-01 17:43:22 +0200 <ski> (having an instantiation system, like in Mercury, would be ideal, for this kind of thing ..)
2024-04-01 17:43:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 17:44:23 +0200 <Ashkan> To be exact, it is a texture for a game engine. The *texture* goes through various stages until fully constructed and ready to use. The stages are known, the fields needed/added at each stage are known, the initial and final stages and their fields are are well known.
2024-04-01 17:44:58 +0200 <Ashkan> Its just that it can not happen all at once. There is a need to carry half-done textures around until they are fully constructed.
2024-04-01 17:45:50 +0200 <Ashkan> I was thinking perhaps an indexed monad would help? Although I'm not even sure what that is, exactly !
2024-04-01 17:46:48 +0200 <Ashkan> Can I enforce/encode the fact that a certain subset of fields *must* be present at all stages, using the `!` notation to make them strict? does this make sense?
2024-04-01 17:47:07 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-04-01 17:49:56 +0200 <ski> indexed state monad is for keeping track of a state, whose type can change during the computation
2024-04-01 17:50:26 +0200driib(~driib@vmi931078.contaboserver.net) (Ping timeout: 255 seconds)
2024-04-01 17:50:51 +0200 <ski> (there's also indexed continuation monad, for when the answer type can change. basically this means delimited/composable/sub- continuations, aka nqCPS)
2024-04-01 17:51:30 +0200 <ski> Ashkan : that would ensure that if thw whole thing is not bottom, then those fields are also not bottom
2024-04-01 17:52:10 +0200 <Ashkan> Okay, better than nothing :)
2024-04-01 17:52:52 +0200 <ski> (so, you could make sure that your functions are strict in it, to make sure that if any of those fields are not defined, then your whole computation is not defined)
2024-04-01 17:56:02 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-04-01 17:56:57 +0200Inst(~Inst@120.244.192.126) (Quit: Leaving)
2024-04-01 17:59:41 +0200Ashkan(~Ashkan@147.161.173.72) (Quit: Client closed)
2024-04-01 18:07:30 +0200Square2(~Square@user/square) (Ping timeout: 252 seconds)
2024-04-01 18:08:38 +0200sadie-sorceress(~sadie-sor@199.96.191.158) (Ping timeout: 250 seconds)
2024-04-01 18:12:43 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-04-01 18:13:22 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-01 18:15:34 +0200sadie-sorceress(~sadie-sor@199.96.187.158)
2024-04-01 18:16:01 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-04-01 18:22:54 +0200euphores(~SASL_euph@user/euphores)
2024-04-01 18:27:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 18:29:25 +0200 <sadie-sorceress> https://paste.tomsmeding.com/SibArGds
2024-04-01 18:29:26 +0200 <sadie-sorceress> i have this recursion scheme(?) i'm using to annotate fold over a structure and annotate the structure with intermediate results. is there a better way to achieve this using the 'stock' tools in recursion-schemes?
2024-04-01 18:29:59 +0200sadie-sorceress1(~sadie-sor@199.96.187.158)
2024-04-01 18:30:37 +0200 <sadie-sorceress1> (my actual use-case is annotating a syntax tree with inferred type constraints)
2024-04-01 18:31:59 +0200 <chiselfuse> https://0x0.st/XzpX.txt
2024-04-01 18:32:01 +0200 <chiselfuse> what do i do
2024-04-01 18:32:11 +0200 <chiselfuse> it doesn't tell me what went wrong
2024-04-01 18:32:19 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-01 18:34:03 +0200 <geekopurr> as it says, rerun stack with the `--verbose` flag
2024-04-01 18:34:12 +0200sadie-sorceress(~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
2024-04-01 18:34:16 +0200 <geekopurr> it'll output a lot of stuff from `configure`
2024-04-01 18:34:45 +0200 <geekopurr> usually it means you're missing some required system library
2024-04-01 18:34:49 +0200 <chiselfuse> is there an ENV i can tell to pass --verbose to stack with?
2024-04-01 18:35:01 +0200 <chiselfuse> because it's being run by some build script that's being run by my package manaager
2024-04-01 18:35:50 +0200 <geekopurr> huh. I'd report that on their bug tracker, then; they should be ensuring that can't happen
2024-04-01 18:37:51 +0200 <geekopurr> (if your package manager is running stack behind your back then it's on the package maintainer to ensure that it works)
2024-04-01 18:38:23 +0200 <chiselfuse> i added the flag to the pkgbuild script, i'll check now
2024-04-01 18:40:26 +0200 <chiselfuse> 2024-04-01 18:38:47.884757: [error] /home/terry/.stack/programs/x86_64-linux/ghc-tinfo6-9.6.3.temp/ghc-9.6.3-x86_64-unknown-linux/configure: line 6576: FP_PROG_LD_BUILD_ID: command not found
2024-04-01 18:41:31 +0200 <chiselfuse> 2024-04-01 18:38:50.068326: [error] configure: error: Failed to determine machine word size. Does your toolchain actually work?
2024-04-01 18:41:34 +0200 <chiselfuse> meh
2024-04-01 18:41:47 +0200 <chiselfuse> so vague, what _failed_ to tell it my word size?
2024-04-01 18:41:49 +0200 <geekopurr> definitely report that as a bug in the package you're installing
2024-04-01 18:42:09 +0200 <chiselfuse> yea but i need to fix it first
2024-04-01 18:42:17 +0200 <geekopurr> it's trying to compile a program which tests the word size and prints it
2024-04-01 18:42:40 +0200 <geekopurr> the details would be in a `config.log` file
2024-04-01 18:42:53 +0200 <chiselfuse> where would that be located
2024-04-01 18:43:09 +0200 <geekopurr> I don't know where stack puts it when installing a bindist, sorry
2024-04-01 18:44:27 +0200 <chiselfuse> https://0x0.st/XzpG.txt
2024-04-01 18:45:25 +0200 <chiselfuse> looks like it `ld` is failing there
2024-04-01 18:46:21 +0200 <chiselfuse> /usr/bin/ld.gold: pack-relative-relocs: unknown -z option
2024-04-01 18:47:23 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-04-01 18:54:54 +0200todi(~todi@p57803331.dip0.t-ipconnect.de)
2024-04-01 18:57:43 +0200sadie-sorceress1(~sadie-sor@199.96.187.158) (Quit: Client closed)
2024-04-01 18:57:54 +0200sadie-sorceress(~sadie-sor@199.96.187.158)
2024-04-01 18:58:48 +0200 <geekopurr> you definitely need to report that upstream (pkgbuild? is that gentoo?), you probably can't fix it yourself
2024-04-01 18:59:35 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-04-01 19:00:24 +0200 <chiselfuse> why are you discouraging me so much
2024-04-01 19:01:06 +0200 <chiselfuse> hmm why the heck is stack building ghc in its own directory
2024-04-01 19:01:15 +0200 <geekopurr> because these indicate a mistake made by the provider of the package; they should not be your problem at all
2024-04-01 19:01:16 +0200 <chiselfuse> i already have it installed
2024-04-01 19:01:27 +0200 <geekopurr> and stack is doing that because that's how it works
2024-04-01 19:01:46 +0200 <geekopurr> it maintains its own ghcs and its own package store
2024-04-01 19:02:40 +0200 <chiselfuse> geekopurr: from what i'm guessing, invoking stack to build the package i want causes it to try to build ghc and it fails because it's passing `-v` to `gold.ld` which says it's an unrecognized option and quits..
2024-04-01 19:03:15 +0200 <geekopurr> it's saying "unknown -z option"; -z is for special options to ld (and it's not saying which one)
2024-04-01 19:03:30 +0200 <int-e> meh https://github.com/commercialhaskell/stack/issues/6525#issuecomment-2002643812
2024-04-01 19:04:35 +0200 <geekopurr> ah, it did say, it just put it out in front. "-Wl,-z,pack-relative-relocs"
2024-04-01 19:04:52 +0200 <geekopurr> so your ld.gold doesn't understand that option
2024-04-01 19:05:39 +0200 <int-e> chiselfuse: anyway that issue sounds very much like your problem
2024-04-01 19:05:57 +0200 <int-e> and people are already negotiating whose bug this is
2024-04-01 19:06:31 +0200 <geekopurr> and I'm not so much discouraging you as saying that you were given a broken package and left with a bunch of shattered pieces to pick up
2024-04-01 19:06:49 +0200 <chiselfuse> int-e: did you extrapolate what it is, i'm still puzzling around in that thread
2024-04-01 19:09:37 +0200 <chiselfuse> https://github.com/commercialhaskell/stack/issues/6525#issuecomment-2004398828
2024-04-01 19:09:37 +0200 <chiselfuse> lmao
2024-04-01 19:11:16 +0200 <int-e> chiselfuse: Well the connection is that you're (most likely) using Arch and this ticket explains where the 'pack-relative-relocs' flag comes from (I checked and ghc's configure script does not contain that string. But if it's put into LDFLAGS that will of course be picked up by `configure`.)
2024-04-01 19:11:28 +0200sadie-sorceress(~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
2024-04-01 19:12:48 +0200 <chiselfuse> int-e: that env isn't set on my system
2024-04-01 19:12:51 +0200 <int-e> But it's `configure`'s choice to use gold, so there's some shared responsibility.
2024-04-01 19:13:37 +0200 <geekopurr> no, the pkgbuild is setting it
2024-04-01 19:13:53 +0200 <int-e> chiselfuse: How do you know? As I read it it's set by `makepkg`.
2024-04-01 19:14:28 +0200 <int-e> (I'm not sure whether it's the PKGBUILD or some global config.)
2024-04-01 19:14:36 +0200 <int-e> (I don't really care either, tbh)
2024-04-01 19:14:54 +0200 <chiselfuse> int-e: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=hascard
2024-04-01 19:15:04 +0200 <chiselfuse> this is the pkgbuild i'm using
2024-04-01 19:15:22 +0200 <yushyin> https://gitlab.archlinux.org/heftig/rfcs/-/blob/pack-relative-relocs/rfcs/0023-pack-relative-reloc… it is this rfc
2024-04-01 19:15:27 +0200 <chiselfuse> i don't see them being set. do you mean that it's hardcoded to be set by `makepkg` itself?
2024-04-01 19:15:28 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-04-01 19:15:49 +0200 <yushyin> https://gitlab.archlinux.org/archlinux/packaging/packages/pacman/-/merge_requests/6 implemented by this
2024-04-01 19:16:37 +0200 <int-e> yushyin: you're faster than me :)
2024-04-01 19:16:47 +0200 <yushyin> ;)
2024-04-01 19:17:08 +0200 <chiselfuse> LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ -Wl,-z,pack-relative-relocs"
2024-04-01 19:17:12 +0200 <chiselfuse> found this in my conf, which one is the one hurting again?
2024-04-01 19:17:18 +0200 <chiselfuse> makepkg.conf
2024-04-01 19:17:33 +0200 <int-e> the -z,pack-relative-relocs one is not understood by gold
2024-04-01 19:17:56 +0200sadie-sorceress(~sadie-sor@199.96.191.158)
2024-04-01 19:19:46 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-01 19:20:29 +0200 <chiselfuse> i think package maintainers that build PKGBUILDs that use stack or ld.gold should then be instructed to override LDFLAGS
2024-04-01 19:20:37 +0200 <chiselfuse> though i wonder if they can at all
2024-04-01 19:25:02 +0200shapr(~user@c-24-218-186-89.hsd1.ma.comcast.net)
2024-04-01 19:27:01 +0200 <yushyin> or force another linker
2024-04-01 19:28:30 +0200 <chiselfuse> configure:3918: gcc -V >&5
2024-04-01 19:28:30 +0200 <chiselfuse> gcc: error: unrecognized command-line option '-V'
2024-04-01 19:28:32 +0200 <chiselfuse> fixed that now this lol ^
2024-04-01 19:29:39 +0200 <yushyin> funny, stack issue tracker says not a stack bug. pacman issue tracker says not a pacman bug. lovely <3
2024-04-01 19:32:38 +0200 <chiselfuse> and here i am, just wanted to try this https://github.com/Yvee1/hascard thing out
2024-04-01 19:32:43 +0200 <geekopurr> chiselfuse, that should be a red herring, it tries several ways to get the compiler version and -V is actually intended for other compilers. it should retry with --version
2024-04-01 19:33:32 +0200 <geekopurr> (ghc also supports various commercial C compilers, many of which don't like --version)
2024-04-01 19:36:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 19:41:17 +0200 <chiselfuse> i have to rerun
2024-04-01 19:41:35 +0200 <chiselfuse> TIL i learned that makepkg isn't just a shell script runner
2024-04-01 19:43:35 +0200 <chiselfuse> https://0x0.st/XzO2.txt
2024-04-01 19:43:40 +0200 <chiselfuse> this thing doesn't like anything
2024-04-01 19:44:14 +0200Guest|30(~Guest|30@172-251-233-141.res.spectrum.com)
2024-04-01 19:48:48 +0200 <int-e> Is that related? I.e. does linking against libraries created with pack-relative-relocs require special support?
2024-04-01 19:50:12 +0200 <Guest|30> I have installed ghcup on Manjaro Linux. How should I configure my $PATH to run ghc, ghci and cabal (which have been installed in ~/.ghcup/bin)? Is ghcup supposed to add the bin directory to $PATH? Thanks.
2024-04-01 19:53:10 +0200 <geekopurr> ghcup should have told you to `source ~/.ghcup/env` in your shell dotfiles
2024-04-01 19:54:15 +0200sadie-sorceress(~sadie-sor@199.96.191.158) (Quit: Client closed)
2024-04-01 19:55:47 +0200Guest|30(~Guest|30@172-251-233-141.res.spectrum.com) (Ping timeout: 264 seconds)
2024-04-01 20:12:47 +0200stef204(~stef204@user/stef204)
2024-04-01 20:17:32 +0200Guest|30(~Guest|30@172-251-233-141.res.spectrum.com)
2024-04-01 20:18:22 +0200 <Guest|30> Thanks, @geekopurr!
2024-04-01 20:20:16 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
2024-04-01 20:20:39 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2024-04-01 20:20:53 +0200destituion(~destituio@2a02:2121:655:c95b:c9ef:1cc8:963c:45) (Ping timeout: 268 seconds)
2024-04-01 20:21:00 +0200destituion(~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
2024-04-01 20:22:06 +0200 <geekopurr> ghcup doesn't do that for you because no matter how it adds it, it's wrong for someone
2024-04-01 20:22:37 +0200 <geekopurr> (in fact, it's always wrong for my kinda horrific dotfiles and I add it to my `PATH` manually)
2024-04-01 20:33:11 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-04-01 20:34:09 +0200 <chiselfuse> int-e: good guess but idk. i've given up. RIP "hascord", looked like such a pretty tool in the github page
2024-04-01 20:34:17 +0200 <chiselfuse> hascard*
2024-04-01 20:37:35 +0200 <shapr> Is that someodd's hypercard clone?
2024-04-01 20:38:11 +0200 <Guest|30> @geekopurr: I suspected the problem facing ghcup if it were to update the $PATH. However, I didn't see any mention of the need to update the .bashrc/.zshrc in the documentation. If it's there, maybe it needs to be more prominently displayed.
2024-04-01 20:38:11 +0200 <lambdabot> Unknown command, try @list
2024-04-01 20:38:58 +0200 <Guest|30> geekopurr: I suspected the problem facing ghcup if it were to update the $PATH. However, I didn't see any mention of the need to update the .bashrc/.zshrc in the documentation. If it's there, maybe it needs to be more prominently displayed.
2024-04-01 20:41:14 +0200 <geekopurr> I think the docs expect you to be reading ghcup's output when you install it. it's in the advanced installations (for manual installs) page https://www.haskell.org/ghcup/install/#manual-installation
2024-04-01 20:41:42 +0200 <Guest|30> !Note: Guest|30 is hgolden on a different computer. I need to transfer my credentials to identify myself.
2024-04-01 20:42:49 +0200 <geekopurr> (maerwald, you may want to be following this)
2024-04-01 20:42:54 +0200tri(~tri@4133220a.cst.lightpath.net) (Ping timeout: 250 seconds)
2024-04-01 20:45:24 +0200 <Guest|30> I missed that advice in the noise of the installation. Perhaps it could be separated from the other things to make it clearer to a new user of ghcup.
2024-04-01 20:46:26 +0200 <geekopurr> I'd file that on ghcup's issue tracker https://github.com/haskell/ghcup-hs/issues
2024-04-01 20:47:42 +0200 <Guest|30> Thanks, geekopurr. I will file it on the issue tracker.
2024-04-01 20:53:04 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2024-04-01 21:01:16 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 268 seconds)
2024-04-01 21:02:42 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net)
2024-04-01 21:10:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 21:12:25 +0200 <shapr> Is there some way to generate valid base32 strings directly with QuickCheck?
2024-04-01 21:13:05 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-04-01 21:13:13 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-01 21:13:57 +0200Guest|30(~Guest|30@172-251-233-141.res.spectrum.com) (Ping timeout: 252 seconds)
2024-04-01 21:14:03 +0200mei(~mei@user/mei)
2024-04-01 21:17:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-01 21:20:06 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-04-01 21:20:23 +0200 <sm> chiselfuse sorry you met such problems. Just curious, were you trying to install hascard from AUR or purely from source as in https://github.com/Yvee1/hascard#install-from-source
2024-04-01 21:24:52 +0200 <haskellbridge> <s​m> Guest81 look at ghcitui too, it's nifty
2024-04-01 21:26:25 +0200 <sm> ack.. don't edit old comments sm
2024-04-01 21:26:43 +0200 <sm> ghcitui is an obscure name, I wanted to spell it right
2024-04-01 21:27:24 +0200target_i(~target_i@user/target-i/x-6023099)
2024-04-01 21:28:36 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-04-01 21:29:39 +0200euphores(~SASL_euph@user/euphores)
2024-04-01 21:40:17 +0200sadie-sorceress(~sadie-sor@199.96.187.158)
2024-04-01 21:40:57 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-04-01 21:41:51 +0200bilegeek(~bilegeek@2600:1008:b00b:df2e:796e:3fed:8f1f:d5c7)
2024-04-01 21:46:43 +0200bilegeek(~bilegeek@2600:1008:b00b:df2e:796e:3fed:8f1f:d5c7) (Client Quit)
2024-04-01 21:59:33 +0200anon1123(~anon1123@2a02:ab88:282:b00:da3a:ddff:fe3a:947c) (Ping timeout: 268 seconds)
2024-04-01 22:02:00 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-04-01 22:02:45 +0200 <chiselfuse> sm: i tried both, after fixing makepkg it also is now stuck at the point where ld.gold doesn't want to link against any *.so files i have as in my last paste i posted
2024-04-01 22:02:48 +0200causal(~eric@50.35.88.207)
2024-04-01 22:04:08 +0200 <haskellbridge> <s​m> and when you tried building from source, were you using ghcup-installed stack & ghc (not arch's ghc)
2024-04-01 22:07:41 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-01 22:08:08 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2024-04-01 22:08:22 +0200 <chiselfuse> sm: i'm not sure how to check i just cloned the thing and ran `stack build`. can you tell me how to check?
2024-04-01 22:08:43 +0200 <chiselfuse> i do have ghcup and other tools installed from arch's repos
2024-04-01 22:08:52 +0200 <chiselfuse> oh about stack..
2024-04-01 22:09:26 +0200 <chiselfuse> yea i think it stack from arch's repos
2024-04-01 22:09:33 +0200 <chiselfuse> not installed with ghcup
2024-04-01 22:12:29 +0200 <haskellbridge> <s​m> if it's running ghc from ~/.ghcup/..., it's ghcup-installed
2024-04-01 22:13:47 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-04-01 22:16:04 +0200 <haskellbridge> <s​m> I can't say if it will solve. your issue but the most likely to just work is latest ghcup and stack + ghc (corresponding to hascard's stack.yaml) installed by that
2024-04-01 22:17:17 +0200ircbrowse_tom(~ircbrowse@2a01:4f8:1c1c:9319::1)
2024-04-01 22:17:21 +0200Server+Cnt
2024-04-01 22:17:43 +0200 <chiselfuse> i don't think it matters. the linker won't link to stuff compiled here for some reason
2024-04-01 22:19:55 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-01 22:20:24 +0200lvdv(~lvdv@203.7.118.37)
2024-04-01 22:20:28 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.9.0 - https://znc.in)
2024-04-01 22:20:37 +0200yahb2(~yahb2@static.56.27.47.78.clients.your-server.de) (Remote host closed the connection)
2024-04-01 22:20:37 +0200haskellbridge<s​m> wonders if this is a recent change on arch
2024-04-01 22:21:00 +0200yahb2(~yahb2@static.56.27.47.78.clients.your-server.de)
2024-04-01 22:21:00 +0200ChanServ+v yahb2
2024-04-01 22:21:21 +0200tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2)
2024-04-01 22:24:13 +0200 <chiselfuse> i'd dig down with you but i'm extremely tired rn
2024-04-01 22:24:29 +0200 <chiselfuse> why can i not just pull a prebuilt binary from that repo, dear God
2024-04-01 22:25:47 +0200 <chiselfuse> oh looks like there is one
2024-04-01 22:25:57 +0200 <chiselfuse> heck yea
2024-04-01 22:26:14 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-01 22:26:52 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2024-04-01 22:27:23 +0200 <chiselfuse> i'll complain to arch people about stack l8r ig
2024-04-01 22:32:01 +0200 <haskellbridge> <s​m> 👍🏻 it looked like a deep rabbit hole and people are on it, might need a little more time to clarify
2024-04-01 22:33:54 +0200 <cheater> ah, stack. the gift that keeps on giving
2024-04-01 22:36:51 +0200sadie-sorceress(~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
2024-04-01 22:39:38 +0200Inst(~Inst@120.244.192.126)
2024-04-01 22:39:43 +0200 <Inst> hmmm
2024-04-01 22:40:10 +0200 <Inst> am i mistaken when I say I don't see a lot of html templates on hackage, or in fact, I don't see any at all?
2024-04-01 22:40:52 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-04-01 22:40:54 +0200 <Inst> just wondering here, is it valid to create html datatypes
2024-04-01 22:41:08 +0200 <Inst> typeclassed into toHTML
2024-04-01 22:41:47 +0200gmg(~user@user/gehmehgeh)
2024-04-01 22:41:49 +0200 <Inst> and use record syntax to manipulate these datatypes, i.e, set them up such that you now have widgets on Blaze or Lucid
2024-04-01 22:42:02 +0200 <Inst> that are actualized via toHTML?
2024-04-01 22:45:40 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-04-01 22:46:25 +0200gmg(~user@user/gehmehgeh)
2024-04-01 22:49:24 +0200 <Inst> bleh
2024-04-01 22:49:25 +0200 <Inst> https://haskell-miso.org
2024-04-01 22:53:32 +0200glpupglguy
2024-04-01 22:58:23 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-04-01 22:59:10 +0200gmg(~user@user/gehmehgeh)
2024-04-01 23:03:24 +0200lvdv(~lvdv@203.7.118.37) (Ping timeout: 260 seconds)
2024-04-01 23:24:08 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-04-01 23:24:32 +0200yushyinyushyinyaa
2024-04-01 23:26:56 +0200anon1123(~anon1123@catv-176-63-0-119.catv.fixed.vodafone.hu)
2024-04-01 23:27:27 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-04-01 23:29:14 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
2024-04-01 23:31:24 +0200 <dmj`> Inst: yea miso copies Elm's rose tree approach (1 list of attrs, 1 list of children), and there is a ToHtml for it
2024-04-01 23:31:47 +0200 <Inst> what i'm more looking for is a widget lib
2024-04-01 23:33:00 +0200yushyinyaayushyin
2024-04-01 23:33:46 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-01 23:35:19 +0200 <Inst> blaze -> base framework -> widgets and tepmaltes
2024-04-01 23:35:59 +0200 <dmj`> Inst: I'm not sure something like that exists w/o going full blown ghcjs or ghc w/ js backend. If you don't want to go client side, it would be possible to build what you're looking for with htmx, I'm considering trying this
2024-04-01 23:36:22 +0200mei(~mei@user/mei)
2024-04-01 23:38:58 +0200ph88(~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-04-01 23:40:56 +0200gorignak(~gorignak@user/gorignak)
2024-04-01 23:41:56 +0200 <Inst> i mean <script/> and <style/>
2024-04-01 23:42:03 +0200 <Inst> even though the web devs I've met told me that's smelly
2024-04-01 23:46:19 +0200pluto(~pluto@86.121.29.48)
2024-04-01 23:47:31 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-04-01 23:48:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-01 23:48:27 +0200 <dmj`> Everything is smelly. Separate CSS and JS would be just easy to produce as <script/> and <style/> in a single page. Could be configurable
2024-04-01 23:53:33 +0200 <dmj`> @package hyperbole
2024-04-01 23:53:33 +0200 <lambdabot> https://hackage.haskell.org/package/hyperbole
2024-04-01 23:53:42 +0200 <dmj`> Inst: ^ might check that out
2024-04-01 23:54:18 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-04-01 23:55:30 +0200pluto(~pluto@86.121.29.48) (Quit: Leaving)
2024-04-01 23:59:38 +0200Sgeo(~Sgeo@user/sgeo)