Home liberachat/#haskell: Logs Calendar

Logs on 2024-04-01 (liberachat/#haskell)

00:00:38 A_Dragon is now known as A_Meow
00:00:54 A_Meow is now known as A_Dragon
00:02:24 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:03:35 califax joins (~califax@user/califx)
00:04:19 glguy is now known as glpup
00:05:36 falafel_ joins (~falafel@162.83.249.190)
00:06:33 <c_wraith> is that even a rebrand? The name was obviously in french all along
00:09:03 sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net)
00:18:00 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 255 seconds)
00:20:59 × vulpine quits (xfnw@tilde.team) (Changing host)
00:20:59 vulpine joins (xfnw@user/meow/xfnw)
00:23:22 × Catty quits (~catties@user/catties) (Changing host)
00:23:22 Catty joins (~catties@user/meow/catties)
00:23:52 × jero98772 quits (~jero98772@2800:484:1d81:2200::4) (Ping timeout: 255 seconds)
00:26:11 rvalue joins (~rvalue@user/rvalue)
00:32:01 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:49:13 r5c4571lh01987 joins (rscastilho@179.221.142.8)
00:49:57 × r5c4571lh01987 quits (rscastilho@179.221.142.8) (Remote host closed the connection)
00:52:05 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
00:54:01 × falafel_ quits (~falafel@162.83.249.190) (Ping timeout: 255 seconds)
01:10:03 She is now known as KittyMcCatFace
01:11:51 <monochrom> "libera cat" sounds like April 1st :)
01:34:56 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca)
01:50:23 × otto_s quits (~user@p4ff27abc.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
01:51:41 otto_s joins (~user@p4ff2714c.dip0.t-ipconnect.de)
02:00:04 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
02:00:18 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
02:01:24 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:03:05 mokee joins (~mokee@37.228.214.101)
02:03:11 cjay is now known as mewjay
02:03:18 × petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
02:03:22 × mokee quits (~mokee@37.228.214.101) (Client Quit)
02:03:41 petrichor joins (~znc-user@user/petrichor)
02:06:55 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
02:07:11 jinsun joins (~jinsun@user/jinsun)
02:09:58 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
02:11:02 tri_ joins (~tri@ool-18bc2e74.dyn.optonline.net)
02:11:49 geekosaur is now known as mewosaur
02:14:14 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
02:19:09 × tri_ quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
02:40:13 bilegeek joins (~bilegeek@2600:1008:b063:3463:2db4:7d44:233e:64aa)
03:01:30 × nitrix quits (~nitrix@user/nitrix) (Changing host)
03:01:30 nitrix joins (~nitrix@user/meow/nitrix)
03:01:55 × td_ quits (~td@i53870929.versanet.de) (Ping timeout: 260 seconds)
03:03:50 td_ joins (~td@i53870937.versanet.de)
03:16:27 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
03:16:38 igemnace joins (~ian@user/igemnace)
03:19:32 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Client Quit)
03:28:59 × sadie_ quits (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
03:31:12 aforemny joins (~aforemny@2001:9e8:6cd9:500:674a:462b:208b:27e8)
03:32:25 × aforemny_ quits (~aforemny@2001:9e8:6cf4:d100:2036:993f:679a:6cf6) (Ping timeout: 255 seconds)
03:34:11 × JimL quits (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
03:37:11 JimL joins (~quassel@89.162.16.26)
03:40:38 × fererrorocher quits (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
03:49:23 mewosaur is now known as geekopurr
03:57:29 × xigua quits (~xigua@user/xigua) (Read error: Connection reset by peer)
03:57:42 xigua joins (~xigua@user/xigua)
03:58:45 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca) (Ping timeout: 252 seconds)
04:03:01 Guest81 joins (~Guest81@142.198.15.89)
04:04:31 <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
04:09:35 <ski> there's one built-in to GHCi, <https://downloads.haskell.org/ghc/latest/docs/users_guide/ghci.html#the-ghci-debugger>
04:09:35 <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
04:13:28 <Guest81> got it, any ide/lsp implementations that support interactive debugging?
04:16:35 <geekopurr> I don't think HLS supports debugging yet, but #haskell-language-server would know more
04:18:09 <geekopurr> (matrix generally works better than IRC for that, #haskell-language-server:matrix.org)
04:21:43 × Guest81 quits (~Guest81@142.198.15.89) (Quit: Client closed)
04:26:55 <haskellbridge> <s​m> Guest81 look at ghci-tui too, it's nifty
04:27:35 <haskellbridge> <s​m> there is a debugger extension for vs code and it works but I found it temperamental
05:08:25 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
05:08:58 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
05:11:10 zetef joins (~quassel@5.2.182.99)
05:11:50 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
05:12:14 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
05:18:08 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
05:18:32 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
05:29:15 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
05:49:29 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
05:52:30 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:00:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:03:15 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:08:25 euphores joins (~SASL_euph@user/euphores)
06:22:46 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
06:28:39 jinsun_ joins (~jinsun@user/jinsun)
06:28:39 × jinsun quits (~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
06:28:39 jinsun_ is now known as jinsun
06:36:54 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:59:27 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
06:59:56 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
07:27:41 × jle` quits (~jle`@2603-8001-3b02-84d4-ffba-5774-382a-24ec.res6.spectrum.com) (Ping timeout: 240 seconds)
07:28:59 jle` joins (~jle`@2603-8001-3b02-84d4-c3f6-003a-068f-efb1.res6.spectrum.com)
07:39:45 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
07:57:26 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
07:59:20 acidjnk_new joins (~acidjnk@p200300d6e714dc028ca983f248aa2682.dip0.t-ipconnect.de)
08:14:04 × mei quits (~mei@user/mei) (Quit: mei)
08:14:25 gmg joins (~user@user/gehmehgeh)
08:15:04 wootehfoot joins (~wootehfoo@user/wootehfoot)
08:15:53 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
08:18:36 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
08:18:42 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
08:19:18 gmg joins (~user@user/gehmehgeh)
08:24:15 × causal quits (~eric@50.35.88.207) (Quit: WeeChat 4.1.1)
08:33:09 igemnace joins (~ian@user/igemnace)
08:36:03 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:41:13 __monty__ joins (~toonn@user/toonn)
08:41:46 × bilegeek quits (~bilegeek@2600:1008:b063:3463:2db4:7d44:233e:64aa) (Quit: Leaving)
08:46:47 sawilagar joins (~sawilagar@user/sawilagar)
08:47:41 × zetef quits (~quassel@5.2.182.99) (Ping timeout: 240 seconds)
08:51:23 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 272 seconds)
09:08:22 zetef joins (~quassel@5.2.182.99)
09:15:27 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
09:16:16 gmg joins (~user@user/gehmehgeh)
09:40:27 × Etabeta1 quits (~Etabeta1@user/Etabeta1) (Changing host)
09:40:27 Etabeta1 joins (~Etabeta1@user/meow/Etabeta1)
09:50:57 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:55:18 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
10:02:34 kuribas joins (~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be)
10:02:41 Miroboru joins (~myrvoll@178-164-114.82.3p.ntebredband.no)
10:06:54 × aforemny quits (~aforemny@2001:9e8:6cd9:500:674a:462b:208b:27e8) (Quit: ZNC 1.8.2 - https://znc.in)
10:07:09 aforemny joins (~aforemny@2001:9e8:6cd9:500:d9a4:1707:4c79:474)
10:07:56 × duncan quits (c6181279e3@user/duncan) (Changing host)
10:07:56 duncan joins (c6181279e3@user/meow/duncan)
10:29:13 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:29:26 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
10:30:35 Lord_of_Life_ is now known as Lord_of_Life
10:43:00 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
10:46:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:52:37 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
10:53:40 <Inst> what is the performance difference between . and $?
10:53:54 <Inst> I see Bodigrim using $ where others might use ., why prefer $ over .?
10:54:36 <int-e> :t (.)
10:54:37 <lambdabot> (b -> c) -> (a -> b) -> a -> c
10:54:41 <int-e> :t ($)
10:54:41 <lambdabot> (a -> b) -> a -> b
10:54:48 <int-e> they're not even the same
10:55:35 <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
10:55:40 <int-e> so it becomes a matter of taste
10:56:14 <int-e> which of course means that some people have very strong opinions about it
10:57:52 <Inst> I know they're not the same, just wondering because I prefer foo . bar $ baz quux over foo $ bar $ baz quux
10:58:40 <Inst> semantically, though, it implies different control, no?
10:58:42 <Inst> in laziness
10:58:47 <int-e> no
10:59:12 <Inst> wait, maybe i have operator precedence in laziness messed up?
10:59:22 <Inst> the last operator to execute should have control
10:59:27 <Inst> so that's what you mean by no, right?
11:00:02 <Inst> in both cases, it's foo operating over a thunk
11:00:12 <ncf> operator precedence has nothing to do with laziness
11:00:29 <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
11:00:58 <int-e> (maybe not with -O0 but that's not worth thinking about)
11:01:30 jinsun_ joins (~jinsun@user/jinsun)
11:01:30 jinsun is now known as Guest2216
11:01:30 jinsun_ is now known as jinsun
11:01:32 euphores joins (~SASL_euph@user/euphores)
11:04:01 <Inst> but semantically it's supposed to be $ applying (f . g) to x vs $ applying f to (g $ x)
11:04:55 × Guest2216 quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds)
11:05:06 <Inst> which is the same, in practice, as you've said
11:05:14 <int-e> There's no observable difference between those two and f (g x)
11:05:31 <ncf> that sounds like syntax, not semantics
11:06:06 <Inst> thanks for the assistance
11:06:47 <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
11:07:16 <ski> with `f . g . h' you can break out `f . g' or `g . h' into its own definition (because `(.)' is associative)
11:08:01 Catty is now known as catties
11:08:43 <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
11:09:30 <int-e> yes, I did omit "if it type checks"
11:09:44 <ncf> do we have any type-level gurus in here
11:10:15 <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
11:10:44 <ncf> my attempts are running into "Data constructor ‘MkApp’ cannot be used here (it has an unpromotable context ‘Applicative f’)"
11:11:24 <ski> the `f' there is only, in general, known at run-time
11:12:10 <ncf> so i cannae have type-level existentials?
11:12:27 <ski> hm, i guess with kind `App a b', the compile-time type of that kind would have `f' known ..
11:12:46 <ncf> (for reference i'm trying to define displayed categories and express Traversables as vertical endofunctors: https://paste.tomsmeding.com/O23Bq2ma)
11:12:55 <ski> .. but i've not seen any use of existentials with `DataKinds'
11:13:18 <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-constructors
11:13:32 <ncf> the issue seems to be with the Applicative constraint
11:15:00 <ski> hm, interesting
11:15:39 <ski> yea, i guess promoting the constraint would require kind classes
11:16:22 <ski> maybe you could make an `ApplicativeDict' data type, promote that, and do some `unsafeCoerce#' or something ..
11:16:37 <ski> .. although, how would that work on the type level ?
11:24:00 cheater_ joins (~Username@user/cheater)
11:27:32 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
11:27:37 cheater_ is now known as cheater
11:33:04 <lyxia> there are no type-level constraints
11:35:12 <ncf> hmm
11:37:15 <ncf> i'm not sure i even really need that
11:37:18 <lyxia> also the `id` and `o` in your DisplayedCategory are not the methods of Category
11:38:00 <ncf> ha?
11:38:28 <ncf> what else could they be?
11:38:40 <lyxia> free type variables that are going to be foralled
11:39:07 <ncf> oh
11:39:08 <lyxia> you've done too much Idris
11:39:15 <ncf> agda
11:39:29 <ncf> yeah i don't have a clear mental model of ghc's type level distinction
11:39:40 <ncf> can i refer to id at the type level at all?
11:39:44 <lyxia> nope
11:40:02 <ncf> 🙃
11:40:19 ncf closes vim.
11:41:20 <lyxia> come back in 10 years
11:41:32 <ncf> that's what they said 10 years ago!
11:41:35 <ncf> i think
11:42:00 <lyxia> functional programmers are optimists
11:43:21 <Rembane> Also incredibly constructive
11:43:44 <Inst> ehhh, JS comms I'm in are pretty functional
11:44:03 <Inst> hybrid FP is de rigeur these days, it seems
11:45:16 lvdv joins (~lvdv@203.7.118.37)
11:45:28 <Inst> even if you go to Py Discords, most people are familiar with functools
11:45:50 <kuribas> FP in Python is still very painful.
11:46:10 <kuribas> Like trying to do functional update on a dataclass.
11:47:10 <Inst> and people were crying about jamming OOP support into php for years, iirc
11:47:27 <Inst> but it eventually happened, I think FP is well-established and respected as a programming technique these days
11:49:16 <kuribas> hmm, why does Spock set 500 when a param is missing, that should be 400...
11:53:38 ph88 joins (~ph88@ip5b403f30.dynamic.kabel-deutschland.de)
11:54:47 mei joins (~mei@user/mei)
12:00:41 magus3 joins (~Thunderbi@189.6.35.139)
12:07:04 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
12:20:18 fererrorocher joins (fererroroc@gateway/vpn/protonvpn/fererrorocher)
12:25:31 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:34:23 × kuribas quits (~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
12:38:53 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
12:41:26 × lvdv quits (~lvdv@203.7.118.37) (Remote host closed the connection)
12:41:49 lvdv joins (~lvdv@203.7.118.37)
12:50:34 <lisbeths> Pls consider showing your support for #lambdacalculus channel ty
12:56:33 <ncf> pls consider not advertising other channels in here every other week ty
12:59:08 random-jellyfish joins (~developer@2a02:2f04:11e:c600:fa5e:b43:6803:82cc)
12:59:08 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:fa5e:b43:6803:82cc) (Changing host)
12:59:08 random-jellyfish joins (~developer@user/random-jellyfish)
13:12:33 kuribas joins (~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be)
13:14:06 ystael joins (~ystael@user/ystael)
13:19:11 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:25:38 × magus3 quits (~Thunderbi@189.6.35.139) (Quit: magus3)
13:31:03 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
14:03:51 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
14:03:51 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Read error: Connection reset by peer)
14:03:51 × vnogueira quits (~vnogueira@user/vnogueira) (Remote host closed the connection)
14:03:51 × califax quits (~califax@user/califx) (Remote host closed the connection)
14:03:51 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
14:03:53 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
14:04:35 ec joins (~ec@gateway/tor-sasl/ec)
14:05:13 × kuribas quits (~user@ptr-17d51en165pb8grzwxi.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
14:05:23 vnogueira joins (~vnogueira@user/vnogueira)
14:05:24 califax joins (~califax@user/califx)
14:07:06 × fererrorocher quits (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1)
14:08:22 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
14:08:44 × byorgey quits (~byorgey@155.138.238.211) (Quit: leaving)
14:16:09 × vnogueira quits (~vnogueira@user/vnogueira) (Remote host closed the connection)
14:16:09 × califax quits (~califax@user/califx) (Read error: Connection reset by peer)
14:16:26 vnogueira joins (~vnogueira@user/vnogueira)
14:16:35 califax joins (~califax@user/califx)
14:18:50 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
14:18:53 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
14:19:19 rvalue joins (~rvalue@user/rvalue)
14:19:22 × califax quits (~califax@user/califx) (Remote host closed the connection)
14:19:22 × vnogueira quits (~vnogueira@user/vnogueira) (Remote host closed the connection)
14:19:39 califax joins (~califax@user/califx)
14:19:40 vnogueira joins (~vnogueira@user/vnogueira)
14:27:03 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
14:27:25 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Quit: leaving)
14:27:39 dostoyevsky2 joins (~sck@user/dostoyevsky2)
14:29:47 × remedan quits (~remedan@ip-78-102-118-253.bb.vodafone.cz) (Ping timeout: 260 seconds)
14:30:12 × vnogueira quits (~vnogueira@user/vnogueira) (Remote host closed the connection)
14:30:12 × califax quits (~califax@user/califx) (Read error: Connection reset by peer)
14:30:28 califax joins (~califax@user/califx)
14:30:28 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
14:30:37 vnogueira joins (~vnogueira@user/vnogueira)
14:34:31 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:37:31 remedan joins (~remedan@ip-78-102-118-253.bb.vodafone.cz)
14:47:22 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:47:39 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:52:16 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:52:32 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:57:41 × myme1 quits (~myme@2a01:799:d5c:5f00:717f:9bbf:7ce4:8e5) (Ping timeout: 268 seconds)
14:58:36 myme joins (~myme@2a01:799:d5c:5f00:6072:e797:6705:d556)
15:00:13 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
15:01:32 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
15:05:32 fererrorocher joins (fererroroc@gateway/vpn/protonvpn/fererrorocher)
15:07:27 × mei quits (~mei@user/mei) (Remote host closed the connection)
15:08:58 mei joins (~mei@user/mei)
15:09:45 tri joins (~tri@4133220a.cst.lightpath.net)
15:13:39 <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
15:13:39 <tri> to use RWST or something similar? I have never used that before so im asking
15:13:41 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 240 seconds)
15:14:52 <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
15:17:09 <probie> Depending on the situation, the solution may be as simple as sticking an IORef in your reader
15:17:17 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
15:17:33 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
15:17:47 <tri> i haven't learned about IORef yet so idk what that is
15:18:27 <tri> probie: so do you think i could work with this using the Reader and state monad?
15:19:16 × lvdv quits (~lvdv@203.7.118.37) (Ping timeout: 268 seconds)
15:21:45 <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
15:22:43 sadie-sorceress joins (~sadie-sor@199.96.191.158)
15:23:02 <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)'
15:24:04 <ski> hm, i guess if you only need a piece to update, `StateT MyState M' may be enough
15:24:29 <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')
15:24:50 <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
15:27:35 vnogueira_ joins (~vnogueira@user/vnogueira)
15:28:28 <tri> hmm, so you guys are slowly migrated toward ReaderT MyEnv State then?
15:29:35 <tri> probie: wdym by base monad is IO? Could you explain that please? You mean the the monad in ReaderT?
15:31:02 × vnogueira quits (~vnogueira@user/vnogueira) (Ping timeout: 260 seconds)
15:32:45 <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'
15:33:27 <ski> (generally, the order of monad transformers matter. for some particular transformers, the order doesn't matter though)
15:33:40 <ski> @unmtl ReaderT MyEnv (StateT MyState (ContT MyAnswer IO)) MyResult
15:33:40 <lambdabot> MyEnv -> MyState -> (MyResult -> MyState -> IO MyAnswer) -> IO MyAnswer
15:33:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:33:47 <ski> @unmtl ReaderT MyEnv (StateT MyState IO) MyResult
15:33:48 <lambdabot> MyEnv -> MyState -> IO (MyResult, MyState)
15:33:57 <ski> @unmtl StateT MyState IO MyResult
15:33:57 <lambdabot> MyState -> IO (MyResult, MyState)
15:34:04 <ski> @unmtl ReaderT MyEnv IO MyResult
15:34:04 <lambdabot> MyEnv -> IO MyResult
15:36:18 Ashkan joins (~Ashkan@147.161.173.72)
15:36:53 <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'
15:38:17 <ski> `RWST r w s m' amounts to `ReaderT r (WriterT w (StateT s m))'
15:39:14 <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.
15:39:14 <Ashkan> Do I just
15:39:33 <Ashkan> (Oops, hit the Enter mid sentence)
15:41:19 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
15:41:33 <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
15:41:44 <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)
15:42:05 <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"'
15:42:42 <ski> perhaps you could factor out the first part, and including that in the second
15:42:44 <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 ...
15:43:22 <ski> (having an instantiation system, like in Mercury, would be ideal, for this kind of thing ..)
15:43:50 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:44:23 <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.
15:44:58 <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.
15:45:50 <Ashkan> I was thinking perhaps an indexed monad would help? Although I'm not even sure what that is, exactly !
15:46:48 <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?
15:47:07 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
15:49:56 <ski> indexed state monad is for keeping track of a state, whose type can change during the computation
15:50:26 × driib quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 255 seconds)
15:50:51 <ski> (there's also indexed continuation monad, for when the answer type can change. basically this means delimited/composable/sub- continuations, aka nqCPS)
15:51:30 <ski> Ashkan : that would ensure that if thw whole thing is not bottom, then those fields are also not bottom
15:52:10 <Ashkan> Okay, better than nothing :)
15:52:52 <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)
15:56:02 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
15:56:57 × Inst quits (~Inst@120.244.192.126) (Quit: Leaving)
15:59:41 × Ashkan quits (~Ashkan@147.161.173.72) (Quit: Client closed)
16:07:30 × Square2 quits (~Square@user/square) (Ping timeout: 252 seconds)
16:08:38 × sadie-sorceress quits (~sadie-sor@199.96.191.158) (Ping timeout: 250 seconds)
16:12:43 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
16:13:22 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
16:15:34 sadie-sorceress joins (~sadie-sor@199.96.187.158)
16:16:01 L29Ah joins (~L29Ah@wikipedia/L29Ah)
16:22:54 euphores joins (~SASL_euph@user/euphores)
16:27:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:29:25 <sadie-sorceress> https://paste.tomsmeding.com/SibArGds
16:29:26 <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?
16:29:59 sadie-sorceress1 joins (~sadie-sor@199.96.187.158)
16:30:37 <sadie-sorceress1> (my actual use-case is annotating a syntax tree with inferred type constraints)
16:31:59 <chiselfuse> https://0x0.st/XzpX.txt
16:32:01 <chiselfuse> what do i do
16:32:11 <chiselfuse> it doesn't tell me what went wrong
16:32:19 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
16:34:03 <geekopurr> as it says, rerun stack with the `--verbose` flag
16:34:12 × sadie-sorceress quits (~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
16:34:16 <geekopurr> it'll output a lot of stuff from `configure`
16:34:45 <geekopurr> usually it means you're missing some required system library
16:34:49 <chiselfuse> is there an ENV i can tell to pass --verbose to stack with?
16:35:01 <chiselfuse> because it's being run by some build script that's being run by my package manaager
16:35:50 <geekopurr> huh. I'd report that on their bug tracker, then; they should be ensuring that can't happen
16:37:51 <geekopurr> (if your package manager is running stack behind your back then it's on the package maintainer to ensure that it works)
16:38:23 <chiselfuse> i added the flag to the pkgbuild script, i'll check now
16:40:26 <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
16:41:31 <chiselfuse> 2024-04-01 18:38:50.068326: [error] configure: error: Failed to determine machine word size. Does your toolchain actually work?
16:41:34 <chiselfuse> meh
16:41:47 <chiselfuse> so vague, what _failed_ to tell it my word size?
16:41:49 <geekopurr> definitely report that as a bug in the package you're installing
16:42:09 <chiselfuse> yea but i need to fix it first
16:42:17 <geekopurr> it's trying to compile a program which tests the word size and prints it
16:42:40 <geekopurr> the details would be in a `config.log` file
16:42:53 <chiselfuse> where would that be located
16:43:09 <geekopurr> I don't know where stack puts it when installing a bindist, sorry
16:44:27 <chiselfuse> https://0x0.st/XzpG.txt
16:45:25 <chiselfuse> looks like it `ld` is failing there
16:46:21 <chiselfuse> /usr/bin/ld.gold: pack-relative-relocs: unknown -z option
16:47:23 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
16:54:54 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
16:57:43 × sadie-sorceress1 quits (~sadie-sor@199.96.187.158) (Quit: Client closed)
16:57:54 sadie-sorceress joins (~sadie-sor@199.96.187.158)
16:58:48 <geekopurr> you definitely need to report that upstream (pkgbuild? is that gentoo?), you probably can't fix it yourself
16:59:35 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
17:00:24 <chiselfuse> why are you discouraging me so much
17:01:06 <chiselfuse> hmm why the heck is stack building ghc in its own directory
17:01:15 <geekopurr> because these indicate a mistake made by the provider of the package; they should not be your problem at all
17:01:16 <chiselfuse> i already have it installed
17:01:27 <geekopurr> and stack is doing that because that's how it works
17:01:46 <geekopurr> it maintains its own ghcs and its own package store
17:02:40 <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..
17:03:15 <geekopurr> it's saying "unknown -z option"; -z is for special options to ld (and it's not saying which one)
17:03:30 <int-e> meh https://github.com/commercialhaskell/stack/issues/6525#issuecomment-2002643812
17:04:35 <geekopurr> ah, it did say, it just put it out in front. "-Wl,-z,pack-relative-relocs"
17:04:52 <geekopurr> so your ld.gold doesn't understand that option
17:05:39 <int-e> chiselfuse: anyway that issue sounds very much like your problem
17:05:57 <int-e> and people are already negotiating whose bug this is
17:06:31 <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
17:06:49 <chiselfuse> int-e: did you extrapolate what it is, i'm still puzzling around in that thread
17:09:37 <chiselfuse> https://github.com/commercialhaskell/stack/issues/6525#issuecomment-2004398828
17:09:37 <chiselfuse> lmao
17:11:16 <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`.)
17:11:28 × sadie-sorceress quits (~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
17:12:48 <chiselfuse> int-e: that env isn't set on my system
17:12:51 <int-e> But it's `configure`'s choice to use gold, so there's some shared responsibility.
17:13:37 <geekopurr> no, the pkgbuild is setting it
17:13:53 <int-e> chiselfuse: How do you know? As I read it it's set by `makepkg`.
17:14:28 <int-e> (I'm not sure whether it's the PKGBUILD or some global config.)
17:14:36 <int-e> (I don't really care either, tbh)
17:14:54 <chiselfuse> int-e: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=hascard
17:15:04 <chiselfuse> this is the pkgbuild i'm using
17:15:22 <yushyin> https://gitlab.archlinux.org/heftig/rfcs/-/blob/pack-relative-relocs/rfcs/0023-pack-relative-relocs.rst it is this rfc
17:15:27 <chiselfuse> i don't see them being set. do you mean that it's hardcoded to be set by `makepkg` itself?
17:15:28 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:15:49 <yushyin> https://gitlab.archlinux.org/archlinux/packaging/packages/pacman/-/merge_requests/6 implemented by this
17:16:37 <int-e> yushyin: you're faster than me :)
17:16:47 <yushyin> ;)
17:17:08 <chiselfuse> LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ -Wl,-z,pack-relative-relocs"
17:17:12 <chiselfuse> found this in my conf, which one is the one hurting again?
17:17:18 <chiselfuse> makepkg.conf
17:17:33 <int-e> the -z,pack-relative-relocs one is not understood by gold
17:17:56 sadie-sorceress joins (~sadie-sor@199.96.191.158)
17:19:46 sawilagar joins (~sawilagar@user/sawilagar)
17:20:29 <chiselfuse> i think package maintainers that build PKGBUILDs that use stack or ld.gold should then be instructed to override LDFLAGS
17:20:37 <chiselfuse> though i wonder if they can at all
17:25:02 shapr joins (~user@c-24-218-186-89.hsd1.ma.comcast.net)
17:27:01 <yushyin> or force another linker
17:28:30 <chiselfuse> configure:3918: gcc -V >&5
17:28:30 <chiselfuse> gcc: error: unrecognized command-line option '-V'
17:28:32 <chiselfuse> fixed that now this lol ^
17:29:39 <yushyin> funny, stack issue tracker says not a stack bug. pacman issue tracker says not a pacman bug. lovely <3
17:32:38 <chiselfuse> and here i am, just wanted to try this https://github.com/Yvee1/hascard thing out
17:32:43 <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
17:33:32 <geekopurr> (ghc also supports various commercial C compilers, many of which don't like --version)
17:36:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:41:17 <chiselfuse> i have to rerun
17:41:35 <chiselfuse> TIL i learned that makepkg isn't just a shell script runner
17:43:35 <chiselfuse> https://0x0.st/XzO2.txt
17:43:40 <chiselfuse> this thing doesn't like anything
17:44:14 Guest|30 joins (~Guest|30@172-251-233-141.res.spectrum.com)
17:48:48 <int-e> Is that related? I.e. does linking against libraries created with pack-relative-relocs require special support?
17:50:12 <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.
17:53:10 <geekopurr> ghcup should have told you to `source ~/.ghcup/env` in your shell dotfiles
17:54:15 × sadie-sorceress quits (~sadie-sor@199.96.191.158) (Quit: Client closed)
17:55:47 × Guest|30 quits (~Guest|30@172-251-233-141.res.spectrum.com) (Ping timeout: 264 seconds)
18:12:47 stef204 joins (~stef204@user/stef204)
18:17:32 Guest|30 joins (~Guest|30@172-251-233-141.res.spectrum.com)
18:18:22 <Guest|30> Thanks, @geekopurr!
18:20:16 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
18:20:39 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 4.2.1)
18:20:53 × destituion quits (~destituio@2a02:2121:655:c95b:c9ef:1cc8:963c:45) (Ping timeout: 268 seconds)
18:21:00 destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d)
18:22:06 <geekopurr> ghcup doesn't do that for you because no matter how it adds it, it's wrong for someone
18:22:37 <geekopurr> (in fact, it's always wrong for my kinda horrific dotfiles and I add it to my `PATH` manually)
18:33:11 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
18:34:09 <chiselfuse> int-e: good guess but idk. i've given up. RIP "hascord", looked like such a pretty tool in the github page
18:34:17 <chiselfuse> hascard*
18:37:35 <shapr> Is that someodd's hypercard clone?
18:38:11 <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.
18:38:11 <lambdabot> Unknown command, try @list
18:38:58 <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.
18:41:14 <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
18:41:42 <Guest|30> !Note: Guest|30 is hgolden on a different computer. I need to transfer my credentials to identify myself.
18:42:49 <geekopurr> (maerwald, you may want to be following this)
18:42:54 × tri quits (~tri@4133220a.cst.lightpath.net) (Ping timeout: 250 seconds)
18:45:24 <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.
18:46:26 <geekopurr> I'd file that on ghcup's issue tracker https://github.com/haskell/ghcup-hs/issues
18:47:42 <Guest|30> Thanks, geekopurr. I will file it on the issue tracker.
18:53:04 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
19:01:16 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 268 seconds)
19:02:42 erisco joins (~erisco@d24-141-66-165.home.cgocable.net)
19:10:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:12:25 <shapr> Is there some way to generate valid base32 strings directly with QuickCheck?
19:13:05 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:13:13 × mei quits (~mei@user/mei) (Remote host closed the connection)
19:13:57 × Guest|30 quits (~Guest|30@172-251-233-141.res.spectrum.com) (Ping timeout: 252 seconds)
19:14:03 mei joins (~mei@user/mei)
19:17:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:20:06 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
19:20:23 <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
19:24:52 <haskellbridge> <s​m> Guest81 look at ghcitui too, it's nifty
19:26:25 <sm> ack.. don't edit old comments sm
19:26:43 <sm> ghcitui is an obscure name, I wanted to spell it right
19:27:24 target_i joins (~target_i@user/target-i/x-6023099)
19:28:36 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
19:29:39 euphores joins (~SASL_euph@user/euphores)
19:40:17 sadie-sorceress joins (~sadie-sor@199.96.187.158)
19:40:57 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
19:41:51 bilegeek joins (~bilegeek@2600:1008:b00b:df2e:796e:3fed:8f1f:d5c7)
19:46:43 × bilegeek quits (~bilegeek@2600:1008:b00b:df2e:796e:3fed:8f1f:d5c7) (Client Quit)
19:59:33 × anon1123 quits (~anon1123@2a02:ab88:282:b00:da3a:ddff:fe3a:947c) (Ping timeout: 268 seconds)
20:02:00 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:02:45 <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
20:02:48 causal joins (~eric@50.35.88.207)
20:04:08 <haskellbridge> <s​m> and when you tried building from source, were you using ghcup-installed stack & ghc (not arch's ghc)
20:07:41 × red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
20:08:08 red-snail joins (~snail@static.151.210.203.116.clients.your-server.de)
20:08:22 <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?
20:08:43 <chiselfuse> i do have ghcup and other tools installed from arch's repos
20:08:52 <chiselfuse> oh about stack..
20:09:26 <chiselfuse> yea i think it stack from arch's repos
20:09:33 <chiselfuse> not installed with ghcup
20:12:29 <haskellbridge> <s​m> if it's running ghc from ~/.ghcup/..., it's ghcup-installed
20:13:47 L29Ah joins (~L29Ah@wikipedia/L29Ah)
20:16:04 <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
20:17:17 ircbrowse_tom joins (~ircbrowse@2a01:4f8:1c1c:9319::1)
20:17:21 Server sets mode +Cnt
20:17:43 <chiselfuse> i don't think it matters. the linker won't link to stuff compiled here for some reason
20:19:55 sawilagar joins (~sawilagar@user/sawilagar)
20:20:24 lvdv joins (~lvdv@203.7.118.37)
20:20:28 × tomsmeding quits (~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.9.0 - https://znc.in)
20:20:37 × yahb2 quits (~yahb2@static.56.27.47.78.clients.your-server.de) (Remote host closed the connection)
20:20:37 haskellbridge <s​m> wonders if this is a recent change on arch
20:21:00 yahb2 joins (~yahb2@static.56.27.47.78.clients.your-server.de)
20:21:00 ChanServ sets mode +v yahb2
20:21:21 tomsmeding joins (~tomsmedin@2a01:4f8:c0c:5e5e::2)
20:24:13 <chiselfuse> i'd dig down with you but i'm extremely tired rn
20:24:29 <chiselfuse> why can i not just pull a prebuilt binary from that repo, dear God
20:25:47 <chiselfuse> oh looks like there is one
20:25:57 <chiselfuse> heck yea
20:26:14 × red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
20:26:52 red-snail joins (~snail@static.151.210.203.116.clients.your-server.de)
20:27:23 <chiselfuse> i'll complain to arch people about stack l8r ig
20:32:01 <haskellbridge> <s​m> 👍🏻 it looked like a deep rabbit hole and people are on it, might need a little more time to clarify
20:33:54 <cheater> ah, stack. the gift that keeps on giving
20:36:51 × sadie-sorceress quits (~sadie-sor@199.96.187.158) (Ping timeout: 250 seconds)
20:39:38 Inst joins (~Inst@120.244.192.126)
20:39:43 <Inst> hmmm
20:40:10 <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?
20:40:52 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
20:40:54 <Inst> just wondering here, is it valid to create html datatypes
20:41:08 <Inst> typeclassed into toHTML
20:41:47 gmg joins (~user@user/gehmehgeh)
20:41:49 <Inst> and use record syntax to manipulate these datatypes, i.e, set them up such that you now have widgets on Blaze or Lucid
20:42:02 <Inst> that are actualized via toHTML?
20:45:40 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
20:46:25 gmg joins (~user@user/gehmehgeh)
20:49:24 <Inst> bleh
20:49:25 <Inst> https://haskell-miso.org
20:53:32 glpup is now known as glguy
20:58:23 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
20:59:10 gmg joins (~user@user/gehmehgeh)
21:03:24 × lvdv quits (~lvdv@203.7.118.37) (Ping timeout: 260 seconds)
21:24:08 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:24:32 yushyin is now known as yushyinyaa
21:26:56 anon1123 joins (~anon1123@catv-176-63-0-119.catv.fixed.vodafone.hu)
21:27:27 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
21:29:14 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
21:31:24 <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
21:31:47 <Inst> what i'm more looking for is a widget lib
21:33:00 yushyinyaa is now known as yushyin
21:33:46 × mei quits (~mei@user/mei) (Remote host closed the connection)
21:35:19 <Inst> blaze -> base framework -> widgets and tepmaltes
21:35:59 <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
21:36:22 mei joins (~mei@user/mei)
21:38:58 × ph88 quits (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection)
21:40:56 gorignak joins (~gorignak@user/gorignak)
21:41:56 <Inst> i mean <script/> and <style/>
21:42:03 <Inst> even though the web devs I've met told me that's smelly
21:46:19 pluto joins (~pluto@86.121.29.48)
21:47:31 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
21:48:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:48:27 <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
21:53:33 <dmj`> @package hyperbole
21:53:33 <lambdabot> https://hackage.haskell.org/package/hyperbole
21:53:42 <dmj`> Inst: ^ might check that out
21:54:18 L29Ah joins (~L29Ah@wikipedia/L29Ah)
21:55:30 × pluto quits (~pluto@86.121.29.48) (Quit: Leaving)
21:59:38 Sgeo joins (~Sgeo@user/sgeo)
22:04:10 <Inst> cool, thanks
22:04:16 plexom joins (~plexom@194.95.4.234)
22:05:42 plexom parts (~plexom@194.95.4.234) ()
22:09:00 lvdv joins (~lvdv@pa49-179-5-108.pa.nsw.optusnet.com.au)
22:11:11 <Inst> thanks
22:13:21 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
22:25:36 dostoyev1ky2 joins (~sck@user/dostoyevsky2)
22:26:48 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Quit: leaving)
22:27:29 × dostoyev1ky2 quits (~sck@user/dostoyevsky2) (Client Quit)
22:27:49 dostoyevsky2 joins (~sck@user/dostoyevsky2)
22:43:11 × lvdv quits (~lvdv@pa49-179-5-108.pa.nsw.optusnet.com.au) (Ping timeout: 264 seconds)
22:43:33 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:43:53 × sudden quits (~cat@user/sudden) (Ping timeout: 268 seconds)
22:44:24 × acidjnk_new quits (~acidjnk@p200300d6e714dc028ca983f248aa2682.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
22:45:32 mqlnv joins (~tripod@47.154.25.27)
22:51:47 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:53:53 sudden joins (~cat@user/sudden)
22:55:12 × mechap quits (~mechap@user/mechap) (Ping timeout: 255 seconds)
23:03:30 phma_ joins (~phma@host-67-44-208-169.hnremote.net)
23:03:56 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
23:03:59 × phma quits (phma@2001:5b0:215a:b318:a23a:3f03:dc96:3e6d) (Read error: Connection reset by peer)
23:04:36 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
23:08:40 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
23:09:04 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
23:12:32 × JamesMowery quits (~JamesMowe@ip98-171-80-211.ph.ph.cox.net) (Quit: Goodbye)
23:14:34 JamesMowery joins (~JamesMowe@ip98-171-80-211.ph.ph.cox.net)
23:17:42 ec_ joins (~ec@gateway/tor-sasl/ec)
23:19:09 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
23:25:23 × mei quits (~mei@user/mei) (Remote host closed the connection)
23:27:21 Cajun joins (~Cajun@user/cajun)
23:27:42 × Cajun quits (~Cajun@user/cajun) (Client Quit)
23:27:57 mei joins (~mei@user/mei)
23:32:12 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:34:24 caconym5 joins (~caconym@user/caconym)
23:36:15 × caconym quits (~caconym@user/caconym) (Ping timeout: 260 seconds)
23:36:15 caconym5 is now known as caconym
23:42:35 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
23:47:25 Maxdamantus joins (~Maxdamant@user/maxdamantus)
23:47:33 × destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds)
23:55:08 KittyMcCatFace is now known as She
23:58:00 talismanick joins (~user@2601:644:937c:ed10::ae5)

All times are in UTC on 2024-04-01.