2021/11/11

2021-11-11 00:00:05 +0100 <Axman6> it's an interesting idea, but possibly only works in a small number of cases. what do you want the compiler to do with data L a = L a (Maybe (L a)) (Maybe (L a))? should we get four constructors?
2021-11-11 00:01:35 +0100CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-11-11 00:01:43 +0100 <geekosaur> a sufficiently clever compiler might convert that into a tree. question becomes, what kind of tree?
2021-11-11 00:03:36 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2021-11-11 00:06:09 +0100 <yin> that would be `data K a = E | K a; data L a = L a (K a) (K a)`
2021-11-11 00:07:15 +0100 <yin> i mean: `data K a = E | K (L a); data L a = L a (K a) (K a)` ?
2021-11-11 00:07:35 +0100 <yin> K is Maybe
2021-11-11 00:07:43 +0100 <yin> ok i get your point
2021-11-11 00:08:12 +0100brandonh(brandonh@gateway/vpn/protonvpn/brandonh)
2021-11-11 00:08:20 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-11-11 00:09:42 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-11-11 00:10:35 +0100jkaye(~jkaye@2601:281:8300:7530:65b4:1325:4217:bff5) (Ping timeout: 264 seconds)
2021-11-11 00:13:26 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2021-11-11 00:16:31 +0100xff0x(~xff0x@2001:1a81:53aa:5400:2665:d30f:dc60:ace5) (Ping timeout: 250 seconds)
2021-11-11 00:17:13 +0100xff0x(~xff0x@2001:1a81:53aa:5400:8327:d2de:b0b3:bf1)
2021-11-11 00:19:40 +0100lbseale__(~lbseale@user/ep1ctetus)
2021-11-11 00:19:55 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816)
2021-11-11 00:23:02 +0100lbseale_(~lbseale@user/ep1ctetus) (Ping timeout: 240 seconds)
2021-11-11 00:28:32 +0100beka(~beka@104.193.170.240) (Ping timeout: 240 seconds)
2021-11-11 00:35:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-11-11 00:41:59 +0100brainfreeze(~brainfree@2a03:1b20:4:f011::20d)
2021-11-11 00:42:13 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8)
2021-11-11 00:45:13 +0100servytor(uid525486@id-525486.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 00:51:38 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-11-11 00:57:32 +0100jiribenes(~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
2021-11-11 00:57:37 +0100ec(~ec@gateway/tor-sasl/ec)
2021-11-11 00:57:41 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
2021-11-11 00:58:16 +0100jiribenes(~jiribenes@rosa.jiribenes.com)
2021-11-11 00:58:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-11-11 01:03:01 +0100jurjen(~jurjen@31-161-147-158.mobile.kpn.net)
2021-11-11 01:04:02 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-11-11 01:04:09 +0100Vajb(~Vajb@85-76-99-174-nat.elisa-mobile.fi)
2021-11-11 01:08:20 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2021-11-11 01:08:20 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-11-11 01:08:23 +0100allbery_bgeekosaur
2021-11-11 01:08:59 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-11-11 01:10:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-11-11 01:10:19 +0100jurjen(~jurjen@31-161-147-158.mobile.kpn.net) (Quit: WeeChat 3.0)
2021-11-11 01:10:58 +0100 <Axman6> yin: also worth keeping in mind that these types might have different laziness properties
2021-11-11 01:11:15 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 256 seconds)
2021-11-11 01:12:39 +0100 <yin> implicitly?
2021-11-11 01:13:14 +0100jurjen(~jurjen@31-161-147-158.mobile.kpn.net)
2021-11-11 01:13:39 +0100Guest4249(~Guest42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
2021-11-11 01:14:57 +0100 <Axman6> actually the one above would be the same, but the first example has one more level of indirection so there are more places for bottoms - you can have L a undefined, L a (Just undefined) vs N a undefined
2021-11-11 01:17:09 +0100 <yin> ah right
2021-11-11 01:18:02 +0100 <yin> i make myself forget that undefined exists
2021-11-11 01:20:08 +0100acidjnk_new3(~acidjnk@p200300d0c721b7398586a2e711bd371d.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-11-11 01:20:31 +0100acidjnk_new3(~acidjnk@p200300d0c721b73914e45eebfbace128.dip0.t-ipconnect.de)
2021-11-11 01:21:19 +0100 <yin> i see, you're right
2021-11-11 01:22:37 +0100jurjen(~jurjen@31-161-147-158.mobile.kpn.net) (Read error: Connection reset by peer)
2021-11-11 01:23:48 +0100SethTisue__(sid14912@ilkley.irccloud.com) (Ping timeout: 244 seconds)
2021-11-11 01:23:48 +0100angerman(sid209936@ilkley.irccloud.com) (Ping timeout: 244 seconds)
2021-11-11 01:24:05 +0100dmj`(sid72307@hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:24:19 +0100tritlo(sid58727@user/tritlo) (Ping timeout: 244 seconds)
2021-11-11 01:24:40 +0100Adeon(sid418992@lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:24:40 +0100Boarders(sid425905@lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:09 +0100aria(sid380617@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:25:09 +0100gregberns__(sid315709@helmsley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:25:15 +0100kristjansson_(sid126207@tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:15 +0100bradparker(sid262931@uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:15 +0100teehemkay(sid14792@lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:15 +0100gaze___(sid387101@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:15 +0100amir(sid22336@user/amir) (Ping timeout: 260 seconds)
2021-11-11 01:25:21 +0100obviyus(sid415299@user/obviyus) (Ping timeout: 244 seconds)
2021-11-11 01:25:28 +0100_0x47(sid508683@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:25:32 +0100burnsidesLlama(~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection)
2021-11-11 01:25:38 +0100carter(sid14827@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:38 +0100jakesyl_(sid56879@hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:25:38 +0100AndreasK_(sid320732@uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 01:26:23 +0100jonrh(sid5185@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:26:27 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-11-11 01:27:05 +0100jmorris(uid433911@id-433911.hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:05 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:11 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-11-11 01:27:11 +0100the_finn(uid526334@id-526334.hampstead.irccloud.com) (Ping timeout: 245 seconds)
2021-11-11 01:27:23 +0100tnks(sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:23 +0100JSharp(sid4580@id-4580.lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:23 +0100supersven(sid501114@id-501114.ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:23 +0100enemeth79(sid309041@id-309041.lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:27:32 +0100econo(uid147250@user/econo) (Ping timeout: 240 seconds)
2021-11-11 01:27:37 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:37 +0100systemfault(sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:37 +0100joel135(sid136450@2a03:5180:f:4::2:1502) (Ping timeout: 268 seconds)
2021-11-11 01:27:37 +0100hongminhee(sid295@id-295.tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:37 +0100rune(sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100christiaanb(sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100saolsen(sid26430@id-26430.lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100agander_m(sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100etrepum(sid763@id-763.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100stevenxl(sid133530@id-133530.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:38 +0100cln(sid336875@id-336875.ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:27:40 +0100acertain(sid470584@id-470584.hampstead.irccloud.com) (Read error: No route to host)
2021-11-11 01:27:40 +0100Pent(sid313808@id-313808.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:40 +0100sa(sid1055@id-1055.tinside.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100cbarrett(sid192934@id-192934.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100dpratt_(sid193493@id-193493.helmsley.irccloud.com) (Read error: No route to host)
2021-11-11 01:27:41 +0100conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100kaizen(sid501599@id-501599.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100mcfilib(sid302703@user/mcfilib) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100grfn(sid449115@id-449115.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100lightandlight(sid135476@2a03:5180:f:1::2:1134) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100NiKaN(sid385034@id-385034.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100parseval(sid239098@2a03:5180:f:1::3:a5fa) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100scav(sid309693@id-309693.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100truckasaurus(sid457088@id-457088.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100kaychaks__(sid236345@id-236345.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100alinab(sid468903@id-468903.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100bjs(sid190364@user/bjs) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100elvishjerricco(sid237756@2a03:5180:f:1::3:a0bc) (Write error: Connection reset by peer)
2021-11-11 01:27:41 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) (Write error: Connection reset by peer)
2021-11-11 01:27:41 +0100jackdk(sid373013@cssa/jackdk) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100glowcoil(sid3405@id-3405.tinside.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100typetetris(sid275937@2a03:5180:f::4:35e1) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100jmct_(sid160793@2a03:5180:f::2:7419) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100hubvu(sid495858@user/hubvu) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100edmundnoble(sid229620@2a03:5180:f:1::3:80f4) (Write error: Connection reset by peer)
2021-11-11 01:27:41 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100vito(sid1962@user/vito) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100T_S_(sid501726@id-501726.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100iphy(sid67735@id-67735.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100ephemient(uid407513@id-407513.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100idnar(sid12240@debian/mithrandi) (Write error: Connection reset by peer)
2021-11-11 01:27:41 +0100PotatoGim(sid99505@id-99505.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100integral(sid296274@user/integral) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100NemesisD(sid24071@2a03:5180:f:2::5e07) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100dsal(sid13060@id-13060.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100nrr_(sid20938@id-20938.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100whez(sid470288@id-470288.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100hendi(sid489601@id-489601.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100aarchi(sid486183@id-486183.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100b20n(sid115913@2a03:5180:f:5::1:c4c9) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100awpr(uid446117@id-446117.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100philpax_(sid516926@id-516926.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100degraafk(sid71464@id-71464.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:41 +0100sclv(sid39734@haskell/developer/sclv) (Write error: Connection reset by peer)
2021-11-11 01:27:42 +0100gmc(sid58314@id-58314.ilkley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100ysh(sid6017@id-6017.ilkley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100hook54321(sid149355@user/hook54321) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100astra`(sid289983@user/amish) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100ehamberg(sid18208@id-18208.hampstead.irccloud.com) (Write error: Connection reset by peer)
2021-11-11 01:27:42 +0100bw(sid2730@user/betawaffle) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100sa1_(sid7690@id-7690.ilkley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100edwardk(sid47016@haskell/developer/edwardk) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100tapas(sid467876@2a03:5180:f:3::7:23a4) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100S11001001(sid42510@2a03:5180:f:3::a60e) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100mrianbloom(sid350277@2a03:5180:f:3::5:5845) (Write error: Connection reset by peer)
2021-11-11 01:27:42 +0100Firedancer(sid336191@id-336191.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100ProofTechnique(sid79547@id-79547.ilkley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100pjlsergeant(sid143467@id-143467.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100rubin55(sid175221@2a03:5180:f:4::2:ac75) (Read error: Connection reset by peer)
2021-11-11 01:27:42 +0100mustafa(sid502723@rockylinux/releng/mustafa) (Write error: Connection reset by peer)
2021-11-11 01:27:42 +0100hamishmack(sid389057@2a03:5180:f:4::5:efc1) (Write error: Connection reset by peer)
2021-11-11 01:27:44 +0100Lord_of_Life_Lord_of_Life
2021-11-11 01:28:01 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 01:28:14 +0100gonz____(sid304396@id-304396.lymington.irccloud.com) (Ping timeout: 246 seconds)
2021-11-11 01:28:27 +0100aristid(sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 01:28:35 +0100bbhoss(sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 246 seconds)
2021-11-11 01:30:35 +0100brandonh(brandonh@gateway/vpn/protonvpn/brandonh) (Quit: brandonh)
2021-11-11 01:33:06 +0100jeslie0(~user@135-23-172-182.cpe.pppoe.ca) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-11-11 01:34:36 +0100 <Axman6> Is it possible in GHC to define a data type which contains a variable sized array directly inside the same object? like the classic C struct { int type; int len; uint8_t data[] }?
2021-11-11 01:35:33 +0100 <Axman6> or are all primitive array types always accessed through indirection to another object? (I feel like edwardk has done something in this area before and I should go check his github)
2021-11-11 01:38:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-11-11 01:38:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-11-11 01:38:00 +0100wroathe(~wroathe@user/wroathe)
2021-11-11 01:38:47 +0100 <monochrom> I have a feeling that each primitive array type is already a {int len; foo data[]} struct itself.
2021-11-11 01:39:04 +0100 <Axman6> right, I guess I'm asking if that can be unpacked into your own types
2021-11-11 01:40:14 +0100 <Axman6> (https://github.com/ekmett/structs is what i was thinking about above)
2021-11-11 01:40:47 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-11-11 01:42:35 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2021-11-11 01:43:58 +0100agander_m(sid407952@tinside.irccloud.com)
2021-11-11 01:44:09 +0100sa1_(sid7690@ilkley.irccloud.com)
2021-11-11 01:44:13 +0100hongminhee(sid295@tinside.irccloud.com)
2021-11-11 01:44:14 +0100hubvu(sid495858@user/hubvu)
2021-11-11 01:44:16 +0100jackdk(sid373013@cssa/jackdk)
2021-11-11 01:44:16 +0100christiaanb(sid84827@lymington.irccloud.com)
2021-11-11 01:44:16 +0100philpax_(sid516926@lymington.irccloud.com)
2021-11-11 01:44:18 +0100jmorris(uid433911@hampstead.irccloud.com)
2021-11-11 01:44:20 +0100acertain(sid470584@hampstead.irccloud.com)
2021-11-11 01:44:20 +0100aristid(sid1599@uxbridge.irccloud.com)
2021-11-11 01:44:20 +0100bbhoss(sid18216@tinside.irccloud.com)
2021-11-11 01:44:21 +0100conjunctive(sid433686@helmsley.irccloud.com)
2021-11-11 01:44:21 +0100supersven(sid501114@ilkley.irccloud.com)
2021-11-11 01:44:22 +0100iphy(sid67735@lymington.irccloud.com)
2021-11-11 01:44:24 +0100aarchi(sid486183@uxbridge.irccloud.com)
2021-11-11 01:44:26 +0100systemfault(sid267009@uxbridge.irccloud.com)
2021-11-11 01:44:26 +0100ysh(sid6017@ilkley.irccloud.com)
2021-11-11 01:44:28 +0100the_finn(uid526334@hampstead.irccloud.com)
2021-11-11 01:44:28 +0100ehamberg(sid18208@hampstead.irccloud.com)
2021-11-11 01:44:30 +0100SrPx(sid108780@uxbridge.irccloud.com)
2021-11-11 01:44:31 +0100JSharp(sid4580@lymington.irccloud.com)
2021-11-11 01:44:32 +0100joel135(sid136450@hampstead.irccloud.com)
2021-11-11 01:45:48 +0100 <monochrom> "The Template Haskell generates tupleLeft, tupleRight :: Field (TupleInts a) a, which can be used to get and set fields with getField, setField" So it is lens but for C structs? Heh.
2021-11-11 01:45:54 +0100cln(sid336875@ilkley.irccloud.com)
2021-11-11 01:49:12 +0100hongminhee(sid295@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:12 +0100sa1_(sid7690@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:13 +0100aristid(sid1599@uxbridge.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 01:49:35 +0100iphy(sid67735@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:49:35 +0100supersven(sid501114@ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:49:47 +0100jmorris(uid433911@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 01:49:47 +0100christiaanb(sid84827@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 01:49:49 +0100the_finn(uid526334@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:49 +0100ysh(sid6017@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:49 +0100aarchi(sid486183@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:49 +0100bbhoss(sid18216@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:49:49 +0100philpax_(sid516926@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:50:11 +0100hubvu(sid495858@user/hubvu) (Ping timeout: 264 seconds)
2021-11-11 01:50:21 +0100acertain(sid470584@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 01:50:21 +0100jackdk(sid373013@cssa/jackdk) (Ping timeout: 256 seconds)
2021-11-11 01:50:26 +0100ehamberg(sid18208@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:50:26 +0100SrPx(sid108780@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:50:47 +0100systemfault(sid267009@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:50:47 +0100JSharp(sid4580@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:50:47 +0100conjunctive(sid433686@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:50:47 +0100agander_m(sid407952@tinside.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 01:51:03 +0100cln(sid336875@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:51:03 +0100joel135(sid136450@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 01:51:25 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net) (Ping timeout: 250 seconds)
2021-11-11 01:51:39 +0100AndreasK_(sid320732@uxbridge.irccloud.com)
2021-11-11 01:51:42 +0100agander_m(sid407952@tinside.irccloud.com)
2021-11-11 01:51:44 +0100dmj`(sid72307@hampstead.irccloud.com)
2021-11-11 01:51:44 +0100obviyus(sid415299@user/obviyus)
2021-11-11 01:51:50 +0100bradparker(sid262931@uxbridge.irccloud.com)
2021-11-11 01:51:57 +0100gaze___(sid387101@helmsley.irccloud.com)
2021-11-11 01:52:15 +0100aristid(sid1599@uxbridge.irccloud.com)
2021-11-11 01:52:16 +0100conjunctive(sid433686@helmsley.irccloud.com)
2021-11-11 01:52:18 +0100supersven(sid501114@ilkley.irccloud.com)
2021-11-11 01:52:25 +0100sa1_(sid7690@ilkley.irccloud.com)
2021-11-11 01:52:38 +0100jackdk(sid373013@cssa/jackdk)
2021-11-11 01:52:38 +0100iphy(sid67735@lymington.irccloud.com)
2021-11-11 01:52:43 +0100bbhoss(sid18216@tinside.irccloud.com)
2021-11-11 01:53:09 +0100jmorris(uid433911@hampstead.irccloud.com)
2021-11-11 01:53:14 +0100joel135(sid136450@hampstead.irccloud.com)
2021-11-11 01:53:18 +0100hubvu(sid495858@user/hubvu)
2021-11-11 01:53:20 +0100ysh(sid6017@ilkley.irccloud.com)
2021-11-11 01:53:20 +0100aarchi(sid486183@uxbridge.irccloud.com)
2021-11-11 01:53:23 +0100systemfault(sid267009@uxbridge.irccloud.com)
2021-11-11 01:53:25 +0100cln(sid336875@ilkley.irccloud.com)
2021-11-11 01:53:26 +0100SrPx(sid108780@uxbridge.irccloud.com)
2021-11-11 01:53:28 +0100philpax_(sid516926@lymington.irccloud.com)
2021-11-11 01:53:31 +0100ehamberg(sid18208@hampstead.irccloud.com)
2021-11-11 01:54:10 +0100acertain(sid470584@hampstead.irccloud.com)
2021-11-11 01:54:13 +0100JSharp(sid4580@lymington.irccloud.com)
2021-11-11 01:54:22 +0100enemeth79(sid309041@lymington.irccloud.com)
2021-11-11 01:54:25 +0100davetapley(sid666@uxbridge.irccloud.com)
2021-11-11 01:54:26 +0100gonz____(sid304396@lymington.irccloud.com)
2021-11-11 01:54:32 +0100bjs(sid190364@user/bjs)
2021-11-11 01:54:36 +0100whatsupdoc(uid509081@hampstead.irccloud.com)
2021-11-11 01:54:36 +0100taktoa[c](sid282096@tinside.irccloud.com)
2021-11-11 01:54:37 +0100pepeiborra(sid443799@ilkley.irccloud.com)
2021-11-11 01:54:37 +0100edwardk(sid47016@haskell/developer/edwardk)
2021-11-11 01:54:37 +0100meinside(uid24933@helmsley.irccloud.com)
2021-11-11 01:54:37 +0100cbarrett(sid192934@helmsley.irccloud.com)
2021-11-11 01:54:39 +0100rubin55(sid175221@hampstead.irccloud.com)
2021-11-11 01:54:40 +0100hendi(sid489601@lymington.irccloud.com)
2021-11-11 01:54:40 +0100SanchayanMaity(sid478177@hampstead.irccloud.com)
2021-11-11 01:54:40 +0100hamishmack(sid389057@hampstead.irccloud.com)
2021-11-11 01:54:42 +0100stevenxl(sid133530@uxbridge.irccloud.com)
2021-11-11 01:54:45 +0100pjlsergeant(sid143467@hampstead.irccloud.com)
2021-11-11 01:54:54 +0100awpr(uid446117@lymington.irccloud.com)
2021-11-11 01:54:57 +0100 <Axman6> well, C struct like things anyway, not sure there's any mapping between C data types and Haskell ones
2021-11-11 01:55:08 +0100hook54321(sid149355@user/hook54321)
2021-11-11 01:56:06 +0100alanz(sid110616@uxbridge.irccloud.com)
2021-11-11 01:56:12 +0100astra`(sid289983@user/amish)
2021-11-11 01:57:06 +0100 <geekosaur> not a reliable one, and only for some types
2021-11-11 01:57:14 +0100 <geekosaur> String is hopeless, for example
2021-11-11 02:01:07 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 02:01:11 +0100gregberns__(sid315709@helmsley.irccloud.com)
2021-11-11 02:01:23 +0100Boarders(sid425905@lymington.irccloud.com)
2021-11-11 02:01:27 +0100SethTisue__(sid14912@ilkley.irccloud.com)
2021-11-11 02:01:29 +0100aria(sid380617@lymington.irccloud.com)
2021-11-11 02:01:32 +0100Adeon(sid418992@lymington.irccloud.com)
2021-11-11 02:01:54 +0100kristjansson_(sid126207@tinside.irccloud.com)
2021-11-11 02:02:05 +0100tritlo(sid58727@user/tritlo)
2021-11-11 02:02:10 +0100jonrh(sid5185@ilkley.irccloud.com)
2021-11-11 02:04:15 +0100alinab(sid468903@helmsley.irccloud.com)
2021-11-11 02:04:18 +0100jmct_(sid160793@tinside.irccloud.com)
2021-11-11 02:04:22 +0100truckasaurus(sid457088@helmsley.irccloud.com)
2021-11-11 02:04:23 +0100the_finn(uid526334@hampstead.irccloud.com)
2021-11-11 02:04:23 +0100rune(sid21167@ilkley.irccloud.com)
2021-11-11 02:04:23 +0100econo(uid147250@user/econo)
2021-11-11 02:04:32 +0100b20n(sid115913@uxbridge.irccloud.com)
2021-11-11 02:04:36 +0100idnar(sid12240@debian/mithrandi)
2021-11-11 02:04:37 +0100vito(sid1962@user/vito)
2021-11-11 02:04:37 +0100glowcoil(sid3405@tinside.irccloud.com)
2021-11-11 02:04:38 +0100T_S_(sid501726@uxbridge.irccloud.com)
2021-11-11 02:04:40 +0100typetetris(sid275937@tinside.irccloud.com)
2021-11-11 02:04:40 +0100kaizen(sid501599@helmsley.irccloud.com)
2021-11-11 02:04:41 +0100lightandlight(sid135476@helmsley.irccloud.com)
2021-11-11 02:04:44 +0100grfn(sid449115@helmsley.irccloud.com)
2021-11-11 02:04:44 +0100parseval(sid239098@helmsley.irccloud.com)
2021-11-11 02:04:44 +0100mrianbloom(sid350277@ilkley.irccloud.com)
2021-11-11 02:04:45 +0100dsal(sid13060@lymington.irccloud.com)
2021-11-11 02:04:48 +0100Firedancer(sid336191@hampstead.irccloud.com)
2021-11-11 02:04:51 +0100NiKaN(sid385034@helmsley.irccloud.com)
2021-11-11 02:04:54 +0100renzhi(~xp@2607:fa49:6500:b100::6e7f)
2021-11-11 02:04:54 +0100sa(sid1055@tinside.irccloud.com)
2021-11-11 02:06:13 +0100ephemient(uid407513@lymington.irccloud.com)
2021-11-11 02:07:54 +0100DNH(~DNH@8.43.122.53) (Quit: Textual IRC Client: www.textualapp.com)
2021-11-11 02:10:56 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2021-11-11 02:11:16 +0100angerman(sid209936@ilkley.irccloud.com)
2021-11-11 02:11:32 +0100_0x47(sid508683@tinside.irccloud.com)
2021-11-11 02:11:34 +0100teehemkay(sid14792@lymington.irccloud.com)
2021-11-11 02:11:38 +0100amir(sid22336@user/amir)
2021-11-11 02:12:00 +0100carter(sid14827@helmsley.irccloud.com)
2021-11-11 02:12:10 +0100jakesyl_(sid56879@hampstead.irccloud.com)
2021-11-11 02:12:52 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-11-11 02:14:22 +0100edmundnoble(sid229620@helmsley.irccloud.com)
2021-11-11 02:14:25 +0100tnks(sid412124@helmsley.irccloud.com)
2021-11-11 02:14:25 +0100hongminhee(sid295@tinside.irccloud.com)
2021-11-11 02:14:26 +0100scav(sid309693@helmsley.irccloud.com)
2021-11-11 02:14:28 +0100mustafa(sid502723@rockylinux/releng/mustafa)
2021-11-11 02:14:29 +0100whez(sid470288@lymington.irccloud.com)
2021-11-11 02:14:32 +0100etrepum(sid763@uxbridge.irccloud.com)
2021-11-11 02:14:33 +0100saolsen(sid26430@lymington.irccloud.com)
2021-11-11 02:14:35 +0100christiaanb(sid84827@lymington.irccloud.com)
2021-11-11 02:14:36 +0100integral(sid296274@user/integral)
2021-11-11 02:14:38 +0100Pent(sid313808@lymington.irccloud.com)
2021-11-11 02:14:42 +0100bw(sid2730@user/betawaffle)
2021-11-11 02:14:44 +0100nrr_(sid20938@lymington.irccloud.com)
2021-11-11 02:14:49 +0100kaychaks__(sid236345@helmsley.irccloud.com)
2021-11-11 02:14:50 +0100caasih(sid13241@ilkley.irccloud.com)
2021-11-11 02:14:51 +0100NemesisD(sid24071@lymington.irccloud.com)
2021-11-11 02:14:53 +0100S11001001(sid42510@ilkley.irccloud.com)
2021-11-11 02:15:00 +0100PotatoGim(sid99505@lymington.irccloud.com)
2021-11-11 02:24:14 +0100vysn(~vysn@user/vysn) (Ping timeout: 246 seconds)
2021-11-11 02:24:31 +0100elvishjerricco(sid237756@helmsley.irccloud.com)
2021-11-11 02:24:31 +0100mcfilib(sid302703@user/mcfilib)
2021-11-11 02:24:34 +0100bitmapper(uid464869@lymington.irccloud.com)
2021-11-11 02:24:34 +0100degraafk(sid71464@lymington.irccloud.com)
2021-11-11 02:24:34 +0100sclv(sid39734@haskell/developer/sclv)
2021-11-11 02:24:35 +0100gmc(sid58314@ilkley.irccloud.com)
2021-11-11 02:24:36 +0100ProofTechnique(sid79547@ilkley.irccloud.com)
2021-11-11 02:24:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-11-11 02:24:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-11-11 02:24:39 +0100wroathe(~wroathe@user/wroathe)
2021-11-11 02:26:16 +0100rtpg(sid443069@ilkley.irccloud.com)
2021-11-11 02:27:21 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection)
2021-11-11 02:29:27 +0100lechner(~lechner@debian/lechner) (Quit: WeeChat 3.0)
2021-11-11 02:30:35 +0100PotatoGim(sid99505@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 02:30:35 +0100carter(sid14827@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 02:30:35 +0100jackdk(sid373013@cssa/jackdk) (Ping timeout: 256 seconds)
2021-11-11 02:32:21 +0100carter(sid14827@helmsley.irccloud.com)
2021-11-11 02:32:25 +0100PotatoGim(sid99505@lymington.irccloud.com)
2021-11-11 02:34:17 +0100jackdk(sid373013@cssa/jackdk)
2021-11-11 02:36:04 +0100nineonine(~nineonine@2604:3d08:7780:cd00:187c:a4eb:abb4:3c17) (Remote host closed the connection)
2021-11-11 02:38:05 +0100lbseale__(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-11-11 02:42:29 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-11-11 02:42:32 +0100waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
2021-11-11 02:44:41 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-11-11 02:47:47 +0100Vajb(~Vajb@85-76-99-174-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-11-11 02:50:13 +0100alx741(~alx741@186.178.109.114) (Quit: alx741)
2021-11-11 02:50:23 +0100jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-11-11 02:51:13 +0100kayprish(~kayprish@46.240.130.158) (Ping timeout: 250 seconds)
2021-11-11 02:51:33 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-11-11 02:55:49 +0100beka(~beka@104.193.170.240)
2021-11-11 02:57:51 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Remote host closed the connection)
2021-11-11 02:58:15 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 03:00:03 +0100justache(~justache@user/justache) (Read error: Connection reset by peer)
2021-11-11 03:00:32 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2021-11-11 03:00:56 +0100justache(~justache@user/justache)
2021-11-11 03:02:30 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-11-11 03:02:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-11-11 03:02:31 +0100wroathe(~wroathe@user/wroathe)
2021-11-11 03:03:22 +0100alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-11-11 03:06:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-11-11 03:06:48 +0100paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-11-11 03:07:34 +0100jkaye(~jkaye@2601:281:8300:7530:2229:11af:500f:b39d)
2021-11-11 03:11:46 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2021-11-11 03:15:50 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-11-11 03:16:29 +0100SevenAster(~quassel@user/sevenaster)
2021-11-11 03:18:28 +0100 <jkaye> Is MonadError/ExceptT a good general way to think about error/exception handling within an application? What are alternatives/are there better ways to handle errors in general? Sorry I realize this is a very vague question, I'm asking in the abstract because I'm trying to decide what error handling strategy I should use for a new application that I'm writing
2021-11-11 03:19:18 +0100 <jkaye> To expound a bit, I imagine that I will want two "levels" of errors, one that represents logic/usage issues and another that represents "external" concerns e.g. database unavailable
2021-11-11 03:23:30 +0100gdd(~gdd@129.199.146.230) (Quit: WeeChat 3.3)
2021-11-11 03:23:51 +0100 <SevenAster> I'm no expert on Monads by any means. Exceptions in C are *typically* done by returning an enum while the actual results are given by modifying the value of some reference
2021-11-11 03:24:24 +0100lechner(~lechner@debian/lechner)
2021-11-11 03:24:39 +0100 <SevenAster> C++/C#/python use throws and try catches
2021-11-11 03:24:45 +0100dpratt_(sid193493@helmsley.irccloud.com)
2021-11-11 03:25:48 +0100 <SevenAster> Golang returns a tuple with the result and an error object or nill
2021-11-11 03:25:58 +0100 <Axman6> jkaye: I tend to start out with ExceptT unless I have a good reason not to. How doou want to handle those two classes of errors differently?
2021-11-11 03:26:17 +0100gdd(~gdd@129.199.146.230)
2021-11-11 03:26:22 +0100SevenAster(~quassel@user/sevenaster) (https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-11-11 03:26:43 +0100 <Axman6> golang error handling is about as bad as I could imagine, looking at go code and seeing more than 50% of all code is error handling makes me want to cry
2021-11-11 03:27:05 +0100 <Axman6> "Abstraction? What's that?"
2021-11-11 03:27:47 +0100 <jkaye> Axman6, good question. It's nuanced. My main goal is to prevent the "real world" from leaking into my (pure, abstract) domain model. So really, I'd like to somehow be able to allow the domain to operate in terms of the "pure" types of possible failures (e.g. requesting a key that's not present in a cache) but not the others
2021-11-11 03:27:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816)
2021-11-11 03:28:26 +0100 <jkaye> I can show a silly example
2021-11-11 03:29:53 +0100 <jkaye> https://paste.tomsmeding.com/kMMLFFtm
2021-11-11 03:30:48 +0100 <jkaye> So using that, I'm imagining that there will be multiple different instances of MonadProperty - one for e.g. testing, one for local operations within the same binary, and one for remote operations across network boundaries
2021-11-11 03:31:47 +0100 <jkaye> Ideally the local operations would be able to "know" it's local and not have to worry about the "remote" failure possibilities. I don't really need it to be that advanced, but I figured I'd ask now while I'm still in the early stages of this things
2021-11-11 03:32:21 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection)
2021-11-11 03:32:36 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-11-11 03:34:37 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2021-11-11 03:35:22 +0100 <Axman6> One way to experiment with this is to use something like this: data Actions m = Actions { getProperty :: PropertyName -> m Property; updateProperty :: PropertyName -> Property -> m () }; data App m a = ReaderT (Actions m) m a. This is a bit more flexible than only allowing one instance per monad you use. Then you can decide how you want to do errors in your own choice of m.
2021-11-11 03:36:49 +0100 <Axman6> then you can defice getProp pname = do {f <- gets getProperty: f pname }; updateProp pname p = do { f <- gets updateProperty; f pname p }
2021-11-11 03:36:54 +0100 <Axman6> define*
2021-11-11 03:39:11 +0100 <jkaye> That is interesting
2021-11-11 03:39:32 +0100 <jkaye> Basically say that the "context" in which the operation is running provides the monadic context
2021-11-11 03:39:44 +0100 <Axman6> IMO, I would start by just explicitly using ExceptT, and having an error type which is a sumtype of the types of errors you want to have
2021-11-11 03:39:52 +0100 <jkaye> I like the idea, will think about that more. Thank you
2021-11-11 03:39:59 +0100 <jkaye> And yeah, I probably will do that
2021-11-11 03:40:07 +0100 <jkaye> Don't want to overcomplicate it if I don't have to
2021-11-11 03:40:10 +0100 <Axman6> there's some fun stuff you can do with classy prisms if you want to restrict the types of errors that are visible to different parts of the code
2021-11-11 03:40:16 +0100whatsupdoc(uid509081@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 03:40:17 +0100 <jkaye> Just want to be aware of the alternatives available to me
2021-11-11 03:40:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-11-11 03:40:46 +0100 <jkaye> Yeah, I have played with polysemy capabilities and such, which are interesting to me, but that's another place where I'm going to leave it until I need it
2021-11-11 03:41:08 +0100 <Axman6> reaching for type classes the way you are is a pretty common thing for people who have come from an OO background to do, and it's not necessarily the best approach
2021-11-11 03:41:44 +0100 <Axman6> polysemy is probably a very good way to deal with this, you can actually have two different error capabilities
2021-11-11 03:41:44 +0100 <jkaye> Right, the type class is not the important part for me, but rather the ability to swap behavior/instances
2021-11-11 03:42:08 +0100 <jkaye> I have had success with this approach in the past, but that doesn't make it the best way :)
2021-11-11 03:42:17 +0100mmhat(~mmh@55d4b224.access.ecotel.net) (Ping timeout: 246 seconds)
2021-11-11 03:42:46 +0100 <Axman6> defining different interpreters for the different error types would be a pretty nice way to do what you want I think
2021-11-11 03:43:28 +0100 <Axman6> I would love other people's input inon this, I've never really found an approach I enjoyed very much
2021-11-11 03:43:35 +0100mark__(~a@p200300ef973db1dc4086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-11-11 03:44:46 +0100 <jkaye> One other question actually, given the idea that you posted above, how would you then represent that in renderFile? Would you just pass the Actions into the function there? That gets interesting because there are going to be many of these types of contexts, though I guess it would be easy enough to have Actions be a sum that aggregates the individual contexts so that they can then be passed independently
2021-11-11 03:45:01 +0100 <jkaye> Which does begin to sound suspiciously close to what polysemy provides I suppose..
2021-11-11 03:45:54 +0100 <Axman6> I'm not sure I understand the question
2021-11-11 03:46:05 +0100 <Axman6> but yes, polysemy, try that :P
2021-11-11 03:46:35 +0100 <jkaye> Like, Actions wouldn't be a flat record. There are many different "types" of Actions that different parts of the system would require, so I wouldn't want to send all of the actions all over the place
2021-11-11 03:46:47 +0100 <jkaye> data Actions = PropertyActions | FileActions | ...
2021-11-11 03:47:06 +0100 <jkaye> Sorry it should be a product, not sum
2021-11-11 03:47:32 +0100 <jkaye> It would contain an instance of each "type" of action so that it could provide them independently where they are required
2021-11-11 03:47:41 +0100 <jkaye> I'm just rambling now. Thanks for the input, it was very helpful
2021-11-11 03:47:43 +0100bitmapper(uid464869@lymington.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 03:50:13 +0100rkrishnan(~user@122.167.19.65)
2021-11-11 03:50:28 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-11-11 03:51:40 +0100Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-11-11 03:55:02 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2021-11-11 03:55:21 +0100xff0x(~xff0x@2001:1a81:53aa:5400:8327:d2de:b0b3:bf1) (Ping timeout: 250 seconds)
2021-11-11 03:57:27 +0100xff0x(~xff0x@2001:1a81:53e8:a400:4be3:10c9:a6eb:9cd9)
2021-11-11 03:57:37 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 04:00:04 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-11-11 04:00:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2021-11-11 04:04:30 +0100 <jkaye> Axman6, if you're still around, I know there's something dumb that I
2021-11-11 04:04:43 +0100 <jkaye> I'm not thinking about properly here.
2021-11-11 04:05:05 +0100 <jkaye> Say that I wanted to then create a PropertyActions using a State (M.Map ...) under the hood for testing purposes
2021-11-11 04:05:47 +0100 <jkaye> That's easy enough by creating the record of functions, but how would I then also "seed" the actions with the underlying data without repeatedly calling update on it?
2021-11-11 04:08:58 +0100drdo(~drdo@roach0.drdo.eu) (Ping timeout: 260 seconds)
2021-11-11 04:13:13 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-11-11 04:15:02 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-11-11 04:15:19 +0100 <Axman6> with your call to runState
2021-11-11 04:15:58 +0100 <Axman6> you'd at some point have funFoo . flip runStateT myInitialState . flip runReaderT actionsUsingState
2021-11-11 04:16:40 +0100 <jkaye> Like I said, something dumb I'm not thinking about properly :) thanks!
2021-11-11 04:19:46 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 04:22:35 +0100justache(~justache@user/justache) (Read error: Connection reset by peer)
2021-11-11 04:23:31 +0100justache(~justache@user/justache)
2021-11-11 04:24:02 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-11-11 04:24:09 +0100 <jkaye> Just like that, we're passing: evalState resolution M.empty `shouldBe` ResolvedFile TextContent "This file should render exactly as expected"
2021-11-11 04:24:24 +0100 <jkaye> Gonna think more about whether polysemy makes sense, but this is a great start
2021-11-11 04:24:26 +0100 <jkaye> Thanks again
2021-11-11 04:25:05 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-11-11 04:34:57 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-11-11 04:34:57 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-11-11 04:34:57 +0100finn_elijaFinnElija
2021-11-11 04:35:26 +0100wei2912(~wei2912@138.75.71.147)
2021-11-11 04:35:31 +0100jkaye(~jkaye@2601:281:8300:7530:2229:11af:500f:b39d) (Ping timeout: 245 seconds)
2021-11-11 04:44:47 +0100theproffesor(~theproffe@user/theproffesor) (Ping timeout: 264 seconds)
2021-11-11 04:45:24 +0100theproffesor(~theproffe@2601:282:847f:8010:818b:10e4:707d:e026)
2021-11-11 04:45:24 +0100theproffesor(~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) (Changing host)
2021-11-11 04:45:24 +0100theproffesor(~theproffe@user/theproffesor)
2021-11-11 04:46:44 +0100theproffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2021-11-11 04:46:46 +0100the_proffesor(~theproffe@c-24-9-30-127.hsd1.co.comcast.net)
2021-11-11 04:46:46 +0100the_proffesor(~theproffe@c-24-9-30-127.hsd1.co.comcast.net) (Changing host)
2021-11-11 04:46:46 +0100the_proffesor(~theproffe@user/theproffesor)
2021-11-11 04:48:14 +0100wei2912(~wei2912@138.75.71.147) (Read error: Connection reset by peer)
2021-11-11 04:48:50 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-11-11 04:49:48 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2021-11-11 04:50:06 +0100emf(~emf@2620:10d:c090:400::5:69be) (Ping timeout: 245 seconds)
2021-11-11 04:51:55 +0100emf(~emf@2620:10d:c091:480::1:21b3)
2021-11-11 04:56:15 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2021-11-11 04:58:08 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com)
2021-11-11 05:00:02 +0100haasn(~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-11-11 05:00:26 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 05:01:28 +0100haasn(~nand@haasn.dev)
2021-11-11 05:02:10 +0100td_(~td@94.134.91.32) (Ping timeout: 260 seconds)
2021-11-11 05:03:02 +0100emf_(~emf@2620:10d:c090:400::5:538d)
2021-11-11 05:03:45 +0100mimmy(~mimmy@2607:fea8:6e0:7f90:ad45:eba8:62a8:4c36)
2021-11-11 05:04:03 +0100td_(~td@94.134.91.245)
2021-11-11 05:04:35 +0100emf(~emf@2620:10d:c091:480::1:21b3) (Ping timeout: 264 seconds)
2021-11-11 05:22:20 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-11-11 05:22:27 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 250 seconds)
2021-11-11 05:24:11 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 250 seconds)
2021-11-11 05:24:32 +0100hiruji(~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in)
2021-11-11 05:29:30 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-11-11 05:31:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-11-11 05:36:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-11-11 05:38:17 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 05:39:27 +0100mbuf(~Shakthi@223.184.52.200)
2021-11-11 05:43:15 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2021-11-11 05:44:55 +0100mimmy(~mimmy@2607:fea8:6e0:7f90:ad45:eba8:62a8:4c36) (Quit: WeeChat 3.3)
2021-11-11 05:46:27 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2021-11-11 05:51:02 +0100hiruji(~hiruji@user/hiruji)
2021-11-11 05:57:19 +0100zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-11-11 06:07:35 +0100renzhi(~xp@2607:fa49:6500:b100::6e7f) (Ping timeout: 268 seconds)
2021-11-11 06:11:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-11-11 06:20:20 +0100jackhillKM4MBG
2021-11-11 06:23:49 +0100KM4MBGjackhill
2021-11-11 06:26:31 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-11-11 06:27:06 +0100solirc(~solirc@ppp-110-168-219-132.revip5.asianet.co.th)
2021-11-11 06:30:58 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Ping timeout: 265 seconds)
2021-11-11 06:31:21 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-11-11 06:31:23 +0100nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2021-11-11 06:32:11 +0100emf_(~emf@2620:10d:c090:400::5:538d) (Ping timeout: 264 seconds)
2021-11-11 06:38:41 +0100rtsn(~nstr@user/rtsn) (Ping timeout: 246 seconds)
2021-11-11 06:39:33 +0100rtsn(~nstr@c-c7fe225c.07-59-7570703.bbcust.telenor.se)
2021-11-11 06:47:04 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-11-11 06:47:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-11-11 06:47:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-11-11 06:47:41 +0100wroathe(~wroathe@user/wroathe)
2021-11-11 06:51:08 +0100emf(~emf@163.114.132.5)
2021-11-11 06:52:02 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-11-11 06:53:14 +0100arahael(~arahael@202-159-171-156.tpgi.com.au) (Ping timeout: 260 seconds)
2021-11-11 06:53:54 +0100 <kritzefitz> sclv: it is. I hope I'll get around to leave a comment there today.
2021-11-11 06:55:05 +0100emf(~emf@163.114.132.5) (Read error: Connection reset by peer)
2021-11-11 06:56:50 +0100emf(~emf@2620:10d:c090:400::5:97af)
2021-11-11 06:59:15 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 07:00:31 +0100zmt01(~zmt00@user/zmt00)
2021-11-11 07:03:17 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2021-11-11 07:03:32 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-11-11 07:03:41 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 264 seconds)
2021-11-11 07:05:39 +0100arahael(~arahael@14-203-84-159.static.tpgi.com.au)
2021-11-11 07:09:37 +0100retro_(~retro@2e41e9c8.skybroadband.com)
2021-11-11 07:10:14 +0100chomwitt(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374)
2021-11-11 07:12:57 +0100retroid_(~retro@2e41e9c8.skybroadband.com) (Ping timeout: 268 seconds)
2021-11-11 07:20:19 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 250 seconds)
2021-11-11 07:26:36 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 07:37:00 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 268 seconds)
2021-11-11 07:39:29 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 07:43:43 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-11-11 07:43:53 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 264 seconds)
2021-11-11 07:45:34 +0100mei3(~mei@user/mei)
2021-11-11 07:48:15 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 07:51:15 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-11-11 07:54:22 +0100crystal-lang564(~mhusmann@2a02:560:41ce:8c00:19ee:b969:e30a:91e)
2021-11-11 07:55:46 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 260 seconds)
2021-11-11 07:56:38 +0100vysn(~vysn@user/vysn)
2021-11-11 08:01:48 +0100crystal-lang564(~mhusmann@2a02:560:41ce:8c00:19ee:b969:e30a:91e) (Quit: Konversation terminated!)
2021-11-11 08:06:35 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 08:07:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-11-11 08:12:13 +0100benin(~benin@183.82.26.68)
2021-11-11 08:13:13 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 08:18:01 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-11-11 08:18:22 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-11-11 08:18:23 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 250 seconds)
2021-11-11 08:23:21 +0100bliminse(~bliminse@host86-185-253-43.range86-185.btcentralplus.com) (Quit: leaving)
2021-11-11 08:27:22 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:f0a8:ffae:2a2b:16fd)
2021-11-11 08:28:26 +0100beka(~beka@104.193.170.240) (Ping timeout: 245 seconds)
2021-11-11 08:31:37 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-11-11 08:31:58 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-11-11 08:32:53 +0100brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection)
2021-11-11 08:34:15 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-11-11 08:37:13 +0100NemesisD(sid24071@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 08:37:13 +0100typetetris(sid275937@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 08:37:13 +0100truckasaurus(sid457088@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 08:37:47 +0100acertain(sid470584@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 08:38:28 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com)
2021-11-11 08:40:25 +0100truckasaurus(sid457088@id-457088.helmsley.irccloud.com)
2021-11-11 08:40:25 +0100typetetris(sid275937@id-275937.tinside.irccloud.com)
2021-11-11 08:41:02 +0100acertain(sid470584@id-470584.hampstead.irccloud.com)
2021-11-11 08:41:45 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-11-11 08:42:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-11-11 08:46:22 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-11-11 08:50:21 +0100mc47(~mc47@xmonad/TheMC47)
2021-11-11 08:51:05 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 264 seconds)
2021-11-11 08:52:38 +0100jle`(~jle`@2603-8001-3b02-84d4-0000-0000-0000-025d.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-11-11 08:55:40 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2021-11-11 08:56:36 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-11-11 08:58:46 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl) (Remote host closed the connection)
2021-11-11 08:59:04 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 09:00:00 +0100shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-11-11 09:00:47 +0100codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-11-11 09:01:02 +0100codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511)
2021-11-11 09:02:05 +0100riatre(~quassel@2001:310:6000:f::5198:1) (Read error: Connection reset by peer)
2021-11-11 09:02:30 +0100riatre(~quassel@2001:310:6000:f::5198:1)
2021-11-11 09:02:51 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-11-11 09:04:34 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-11-11 09:06:45 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-11-11 09:09:07 +0100timCF(~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-11-11 09:09:19 +0100chele(~chele@user/chele)
2021-11-11 09:09:25 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-11-11 09:13:46 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-11-11 09:14:16 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2021-11-11 09:16:17 +0100acertain(sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 09:19:33 +0100kuribas(~user@ptr-25vy0i9k3m4zzpdty0l.18120a2.ip6.access.telenet.be)
2021-11-11 09:19:58 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-11-11 09:20:08 +0100acertain(sid470584@id-470584.hampstead.irccloud.com)
2021-11-11 09:20:29 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 09:21:01 +0100rembo10(~rembo10@remulis.com)
2021-11-11 09:21:57 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com)
2021-11-11 09:24:32 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-11-11 09:26:11 +0100emf(~emf@2620:10d:c090:400::5:97af) (Ping timeout: 264 seconds)
2021-11-11 09:27:07 +0100kritzefitz_(~kritzefit@p200300ecdf067e00d40157f023ebb7b3.dip0.t-ipconnect.de)
2021-11-11 09:27:31 +0100kritzefitz_Guest4433
2021-11-11 09:27:35 +0100Guest4433(~kritzefit@p200300ecdf067e00d40157f023ebb7b3.dip0.t-ipconnect.de) (Changing host)
2021-11-11 09:27:35 +0100Guest4433(~kritzefit@debian/kritzefitz)
2021-11-11 09:27:43 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 09:28:47 +0100Guest4433kritzefitz_
2021-11-11 09:30:22 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-11-11 09:32:39 +0100gehmehgeh(~user@user/gehmehgeh)
2021-11-11 09:34:05 +0100kritzefitz_(~kritzefit@debian/kritzefitz) (Quit: Leaving)
2021-11-11 09:34:13 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-11-11 09:34:22 +0100emf(~emf@2620:10d:c090:400::5:538d)
2021-11-11 09:37:44 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 09:38:01 +0100kspalaiologos(~kspalaiol@user/kspalaiologos)
2021-11-11 09:38:04 +0100holden_mcgroin(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-11-11 09:38:42 +0100holden_mcgroin(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Client Quit)
2021-11-11 09:39:02 +0100holden_mcgroin(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-11-11 09:40:20 +0100benin(~benin@183.82.26.68) (Ping timeout: 268 seconds)
2021-11-11 09:41:57 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 09:42:26 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2021-11-11 09:44:39 +0100neurocyte0132889(~neurocyte@45.131.36.189)
2021-11-11 09:44:39 +0100neurocyte0132889(~neurocyte@45.131.36.189) (Changing host)
2021-11-11 09:44:39 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-11-11 09:45:14 +0100deadmarshal(~deadmarsh@95.38.228.177) (Quit: ZNC 1.8.2 - https://znc.in)
2021-11-11 09:45:41 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 09:47:12 +0100cfricke(~cfricke@user/cfricke)
2021-11-11 09:52:19 +0100benin(~benin@106.198.86.143)
2021-11-11 09:53:02 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 09:56:26 +0100Pickchea(~private@user/pickchea)
2021-11-11 09:57:37 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2021-11-11 10:05:37 +0100Pent(sid313808@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 10:06:37 +0100max22-(~maxime@2a01cb0883359800d82aa6f5cc45a870.ipv6.abo.wanadoo.fr)
2021-11-11 10:06:45 +0100hendi(sid489601@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 10:06:59 +0100obviyus(sid415299@user/obviyus) (Ping timeout: 264 seconds)
2021-11-11 10:07:47 +0100obviyus(sid415299@user/obviyus)
2021-11-11 10:08:54 +0100hendi(sid489601@id-489601.lymington.irccloud.com)
2021-11-11 10:09:01 +0100bjs(sid190364@user/bjs) (Ping timeout: 256 seconds)
2021-11-11 10:10:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:9068:f291:b219:72f5)
2021-11-11 10:10:56 +0100bjs(sid190364@user/bjs)
2021-11-11 10:11:06 +0100Pent(sid313808@id-313808.lymington.irccloud.com)
2021-11-11 10:11:17 +0100shidima(~shidima@46.44.183.25)
2021-11-11 10:12:41 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net)
2021-11-11 10:14:38 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:9068:f291:b219:72f5) (Ping timeout: 246 seconds)
2021-11-11 10:15:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-11-11 10:16:23 +0100Pent(sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 246 seconds)
2021-11-11 10:16:36 +0100Pent(sid313808@id-313808.lymington.irccloud.com)
2021-11-11 10:17:33 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-11-11 10:17:33 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2021-11-11 10:17:36 +0100allbery_bgeekosaur
2021-11-11 10:17:58 +0100bollu(~bollu@139.59.46.74) (Quit: Ping timeout (120 seconds))
2021-11-11 10:18:13 +0100bollu(~bollu@139.59.46.74)
2021-11-11 10:19:03 +0100np(~nerdypepp@user/nerdypepper) (Quit: bye)
2021-11-11 10:20:10 +0100CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-11-11 10:21:18 +0100nerdypepper(~nerdypepp@user/nerdypepper)
2021-11-11 10:23:37 +0100acertain(sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 10:23:43 +0100acertain_(sid470584@id-470584.hampstead.irccloud.com)
2021-11-11 10:24:08 +0100obviyus(sid415299@user/obviyus) (Read error: Connection reset by peer)
2021-11-11 10:24:08 +0100hendi(sid489601@id-489601.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 10:24:53 +0100obviyus(sid415299@user/obviyus)
2021-11-11 10:24:54 +0100hendi(sid489601@id-489601.lymington.irccloud.com)
2021-11-11 10:26:29 +0100Pent(sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 10:26:34 +0100lavaman(~lavaman@98.38.249.169)
2021-11-11 10:27:55 +0100merijn(~merijn@195.114.232.94)
2021-11-11 10:29:14 +0100Pent(sid313808@id-313808.lymington.irccloud.com)
2021-11-11 10:30:59 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-11-11 10:31:25 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2021-11-11 10:31:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-11-11 10:32:02 +0100boxscape_(~boxscape_@134.171.69.87)
2021-11-11 10:34:53 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 250 seconds)
2021-11-11 10:38:07 +0100jollygood2(~bc8165b6@217.29.117.252)
2021-11-11 10:39:07 +0100 <jollygood2> hi. does anyone have experience with inline-c? it seems very tempting to use it over regular haskell ffi, when just having to call a couple of C functions from a C library, rather than attempting to make complete haskell bindings
2021-11-11 10:39:37 +0100kayprish(~kayprish@46.240.130.158)
2021-11-11 10:41:30 +0100 <kritzefitz> What do you mean by “complete haskell bindings”? If you just want to call a few C function you can just import those and call them. I'm not sure how much easier inline-c could make it.
2021-11-11 10:42:13 +0100 <kritzefitz> (but then again, I never used inline-c. Maybe it's easier on type conversions?)
2021-11-11 10:42:21 +0100 <jollygood2> kritzefitz, you can write C code directly in haskell source. no need to bind functions, or types, you just write C. https://hackage.haskell.org/package/inline-c
2021-11-11 10:44:14 +0100 <kritzefitz> From first glance it does look like you need type conversions, because inline-c still returns foreign types.
2021-11-11 10:44:33 +0100 <kritzefitz> or you just work with the foreign types directly, but you can also do that using regular FFI.
2021-11-11 10:45:07 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 10:45:21 +0100 <jollygood2> I tried it just now, and unless I'm wrong there is a major drawback, you can't run this code in ghci
2021-11-11 10:48:08 +0100skn(~znc@2001:19f0:5:701:5400:ff:fe7c:4e5c)
2021-11-11 10:48:14 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2021-11-11 10:49:06 +0100skn2(~znc@2001:19f0:5:701:5400:ff:fe7c:4e5c) (Quit: ZNC 1.8.2 - https://znc.in)
2021-11-11 10:51:39 +0100 <jollygood2> no it seems that you can. https://hackage.haskell.org/package/inline-c-0.9.1.5#ghci
2021-11-11 10:51:55 +0100 <dminuoso> I wouldn't want to write C code directly in haskell.
2021-11-11 10:52:04 +0100 <dminuoso> You can simply call C functions, and write low level Haskell code.
2021-11-11 10:52:32 +0100 <jollygood2> kritzefitz, you can do that using regular FFI as well, but if I have to call 8 C functions, but 7 of them are just used to feed the result to other C functions, and I am only interested in the result of the 8th function call, I only have to declare one type, and just do everything else in C
2021-11-11 10:53:45 +0100 <kritzefitz> I guess in that case I would just write a small C file with your wrapper function and only import that into haskell.
2021-11-11 10:53:47 +0100 <jollygood2> a lot less work than having to declare all 8 functions, and C structs used by those functions
2021-11-11 10:54:27 +0100 <kritzefitz> I'm not sure how well that works with GHCi. But I guess as long as you start ghci via cabal or stack it should work fine.
2021-11-11 10:54:45 +0100 <jollygood2> kritzefitz, yeah that works too. but with the disadvantage that you have one additional step, recompiling C code
2021-11-11 10:55:19 +0100 <kritzefitz> Cabal can do that for you.
2021-11-11 10:55:44 +0100 <jollygood2> do you have to restart ghci when you recompile?
2021-11-11 10:56:33 +0100Pent(sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 10:56:48 +0100 <kritzefitz> Not sure, but I think so.
2021-11-11 10:56:57 +0100Pent(sid313808@id-313808.lymington.irccloud.com)
2021-11-11 11:00:49 +0100 <jollygood2> I believeyou don't with inlin-c, but I can't get their math example to work at all, even after adding suggested ghci options. During interactive linking, GHCi couldn't find the following symbol: inline_c_Main_0_2f88ee80765ab54834856cc58acd770f9760d5e4
2021-11-11 11:01:25 +0100 <jollygood2> googling that error isn't helping
2021-11-11 11:03:18 +0100 <kritzefitz> Personally I wouldn't care about restarting GHCi enough to use something as complicaterd as inline-c to avoid it, but of course YMMV.
2021-11-11 11:04:05 +0100mark__(~a@p200300ef973db1dc4086f0a6a24fc4dd.dip0.t-ipconnect.de)
2021-11-11 11:05:03 +0100 <jollygood2> it isn't working when compiling either, same error
2021-11-11 11:05:10 +0100__monty__(~toonn@user/toonn)
2021-11-11 11:06:14 +0100 <jollygood2> perhaps issue on windows only? https://github.com/fpco/inline-c/issues/50
2021-11-11 11:07:08 +0100holden_mcgroin(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-11-11 11:08:47 +0100benin5(~benin@106.198.94.217)
2021-11-11 11:09:45 +0100benin(~benin@106.198.86.143) (Ping timeout: 268 seconds)
2021-11-11 11:09:46 +0100benin5benin
2021-11-11 11:10:13 +0100kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-11-11 11:11:02 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-11-11 11:11:21 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2021-11-11 11:15:30 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2021-11-11 11:20:56 +0100Topsi(~Tobias@dyndsl-091-249-082-100.ewe-ip-backbone.de)
2021-11-11 11:28:29 +0100CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-11-11 11:29:08 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 11:29:59 +0100kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-11-11 11:32:31 +0100Andrew_AndrewYu
2021-11-11 11:34:25 +0100benin(~benin@106.198.94.217) (Ping timeout: 268 seconds)
2021-11-11 11:36:27 +0100Midjak(~Midjak@82-65-111-221.subs.proxad.net)
2021-11-11 11:39:51 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-11-11 11:41:57 +0100kuribas(~user@ptr-25vy0i9k3m4zzpdty0l.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-11-11 11:44:09 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 11:44:18 +0100kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-11-11 11:50:25 +0100off^(~off@h50.174.139.63.static.ip.windstream.net)
2021-11-11 11:51:14 +0100kayprish(~kayprish@46.240.130.158) (Ping timeout: 246 seconds)
2021-11-11 11:52:26 +0100mmhat(~mmh@55d4bd26.access.ecotel.net)
2021-11-11 11:53:02 +0100drdo(~drdo@roach0.drdo.eu)
2021-11-11 11:59:01 +0100riatre(~quassel@2001:310:6000:f::5198:1) (Read error: Connection reset by peer)
2021-11-11 11:59:22 +0100riatre(~quassel@2001:310:6000:f::5198:1)
2021-11-11 12:00:00 +0100bliminse(~bliminse@host86-185-253-43.range86-185.btcentralplus.com)
2021-11-11 12:00:19 +0100chomwitt(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
2021-11-11 12:00:51 +0100alx741(~alx741@186.178.109.114)
2021-11-11 12:03:55 +0100zer0bitz(~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-11-11 12:12:42 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 12:13:59 +0100bliminse(~bliminse@host86-185-253-43.range86-185.btcentralplus.com) (Quit: leaving)
2021-11-11 12:16:31 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-11-11 12:16:42 +0100benin(~benin@106.198.89.104)
2021-11-11 12:16:56 +0100bliminse(~bliminse@host86-185-253-43.range86-185.btcentralplus.com)
2021-11-11 12:17:02 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-11-11 12:26:56 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 246 seconds)
2021-11-11 12:29:02 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 12:31:53 +0100chomwitt(~chomwitt@athedsl-32204.home.otenet.gr)
2021-11-11 12:32:01 +0100DNH(~DNH@8.44.0.72)
2021-11-11 12:34:29 +0100Pickchea(~private@user/pickchea)
2021-11-11 12:39:22 +0100acidjnk_new3(~acidjnk@p200300d0c721b73914e45eebfbace128.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-11-11 12:39:45 +0100acidjnk_new3(~acidjnk@p200300d0c721b739c4928bd7ecc09c55.dip0.t-ipconnect.de)
2021-11-11 12:40:27 +0100jakalx(~jakalx@base.jakalx.net) ()
2021-11-11 12:42:33 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 12:46:39 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2021-11-11 12:48:23 +0100merijn(~merijn@195.114.232.94) (Ping timeout: 264 seconds)
2021-11-11 12:50:07 +0100zer0bitz(~zer0bitz@2001:2003:f6e3:7400:9c57:4715:1ac5:a700)
2021-11-11 12:50:41 +0100robosexual(~spaceoyst@88.85.216.62)
2021-11-11 12:50:54 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-11-11 12:51:31 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 12:56:11 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-11-11 12:57:42 +0100notzmv(~zmv@user/notzmv)
2021-11-11 13:02:21 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2021-11-11 13:06:09 +0100bontaq`(~user@ool-45779fe5.dyn.optonline.net)
2021-11-11 13:06:09 +0100bontaq`bontaq
2021-11-11 13:07:33 +0100merijn(~merijn@195.114.232.94)
2021-11-11 13:10:08 +0100benin(~benin@106.198.89.104) (Quit: Ping timeout (120 seconds))
2021-11-11 13:10:27 +0100benin(~benin@106.198.89.104)
2021-11-11 13:12:03 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 256 seconds)
2021-11-11 13:12:30 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314)
2021-11-11 13:16:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314) (Ping timeout: 250 seconds)
2021-11-11 13:17:20 +0100max22-(~maxime@2a01cb0883359800d82aa6f5cc45a870.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2021-11-11 13:17:24 +0100shriekingnoise(~shrieking@186.137.144.80)
2021-11-11 13:17:54 +0100yaroot8(~yaroot@47.70.30.125.dy.iij4u.or.jp)
2021-11-11 13:18:52 +0100CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-11-11 13:19:55 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 13:20:29 +0100yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp) (Ping timeout: 268 seconds)
2021-11-11 13:20:29 +0100yaroot8yaroot
2021-11-11 13:21:05 +0100Pickchea(~private@user/pickchea) (Ping timeout: 264 seconds)
2021-11-11 13:23:59 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 246 seconds)
2021-11-11 13:26:27 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-11-11 13:30:08 +0100jakalx(~jakalx@base.jakalx.net)
2021-11-11 13:34:32 +0100benin(~benin@106.198.89.104) (Read error: Connection reset by peer)
2021-11-11 13:36:35 +0100benin(~benin@183.82.178.244)
2021-11-11 13:40:16 +0100machinedgod(~machinedg@24.105.81.50)
2021-11-11 13:42:06 +0100Pickchea(~private@user/pickchea)
2021-11-11 13:43:32 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 13:44:52 +0100jlamothe(~jlamothe@198.251.61.229) (Quit: leaving)
2021-11-11 13:48:41 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 264 seconds)
2021-11-11 13:49:40 +0100jmorris(uid433911@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-11-11 13:52:14 +0100stefan-_(~cri@42dots.de) (Ping timeout: 260 seconds)
2021-11-11 13:56:49 +0100merijn(~merijn@195.114.232.94) (Ping timeout: 256 seconds)
2021-11-11 13:57:38 +0100 <Profpatsch> Looks to me like aeson ToJSON instances define their encoding at deriving-time
2021-11-11 13:57:56 +0100acidjnk_new3(~acidjnk@p200300d0c721b739c4928bd7ecc09c55.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-11-11 13:57:59 +0100 <dminuoso> Profpatsch: Nope.
2021-11-11 13:58:00 +0100 <Profpatsch> so if I want a different sum-representation e.g. for Either, I’d have to call gToEncoding myself as a fucniton
2021-11-11 13:58:04 +0100 <dminuoso> There is no such thing as "deriving time"
2021-11-11 13:58:08 +0100 <Profpatsch> dminuoso: huh, then I read it incorrectly
2021-11-11 13:58:23 +0100 <dminuoso> Profpatsch: Well its *sort* of correct.
2021-11-11 13:58:31 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds)
2021-11-11 13:58:42 +0100 <dminuoso> Also note, aeson provides TH helpers which you should probably use if you care about performance
2021-11-11 13:58:47 +0100 <Profpatsch> dminuoso: But the options are passed by the generic instance in the ToJSON function no?
2021-11-11 13:58:58 +0100 <dminuoso> Relying on GHC simplifier to get rid of the generics code is not a good idea
2021-11-11 13:59:00 +0100 <Profpatsch> dminuoso: That’s up to benchmarking
2021-11-11 13:59:15 +0100 <dminuoso> Profpatsch: Honestly if you know this to be a potential hotspot, I wouldnt bother
2021-11-11 13:59:35 +0100 <Profpatsch> dminuoso: but basically what I’m asking is has e.g. `ToJSON (Either e a)` the SumEncoding baked in?
2021-11-11 13:59:39 +0100 <dminuoso> The simplifier is a massively complex beast where slight changes (say a GHC update, or even your own code changes) could alter how much GHC can get rid of it.
2021-11-11 13:59:43 +0100 <Profpatsch> From what I has it does
2021-11-11 14:00:17 +0100 <Profpatsch> dminuoso: there is really no performance requirement here
2021-11-11 14:00:31 +0100 <Profpatsch> (also: compile time or run time performance?
2021-11-11 14:00:36 +0100 <dminuoso> https://hackage.haskell.org/package/aeson-2.0.1.0/docs/src/Data.Aeson.Types.ToJSON.html#line-734
2021-11-11 14:00:39 +0100 <dminuoso> Both.
2021-11-11 14:01:06 +0100 <dminuoso> Generics will cost a lot of extra memory and CPU in the simplifier, and if it cant get rid of the generics representation you will suffer from very poor runtime performance
2021-11-11 14:01:30 +0100 <dminuoso> Thing is, aeson comes with TH helpers which are roughly as easy to use, but give predictable and controllable performance
2021-11-11 14:01:47 +0100 <Profpatsch> I don’t like aeson very much
2021-11-11 14:02:00 +0100off^(~off@h50.174.139.63.static.ip.windstream.net) (Remote host closed the connection)
2021-11-11 14:02:15 +0100 <Profpatsch> The library documentation is badly structured and anytime I want to do something non-trivial I have to spend 30 minutes swapping it into my head again
2021-11-11 14:02:38 +0100 <dminuoso> It's one of those libraries that in reality is hard to avoid
2021-11-11 14:02:52 +0100 <dminuoso> There's also waargonaut but oh well
2021-11-11 14:03:01 +0100 <dminuoso> At least aeson does a lot of things right
2021-11-11 14:03:20 +0100 <dminuoso> Like, it lets you actually work with JSON that has duplicate keys, and it gives you access to Numericals in the only proper form
2021-11-11 14:03:44 +0100 <dminuoso> That is, Aeson simply gives you a Scientific and lets you interpret it, since JSON has no semantics on numbers
2021-11-11 14:04:10 +0100 <dminuoso> The interface is quirky at times, and its very typeclassy, but with some basic skill you can even avoid that
2021-11-11 14:04:37 +0100 <Profpatsch> This tells me that SumEncoding is baked in: https://hackage.haskell.org/package/aeson-2.0.1.0/docs/src/Data.Aeson.Types.ToJSON.html#toJSON
2021-11-11 14:04:39 +0100 <dminuoso> Not too many other JSON libraries will actually let you work with {"f":1, "f":2}
2021-11-11 14:05:00 +0100 <Profpatsch> dminuoso: I don’t think that’s useful in many cases, but that’s because json is underspecified
2021-11-11 14:05:20 +0100 <dminuoso> Its not useful until you need it.
2021-11-11 14:05:29 +0100 <dminuoso> I like libraries that are morally wrong and take shortcuts
2021-11-11 14:05:32 +0100ddb(~ddb@ipv6two.tilde.club) (Remote host closed the connection)
2021-11-11 14:05:36 +0100 <dminuoso> * dont like
2021-11-11 14:05:48 +0100ddb(~ddb@ipv6two.tilde.club)
2021-11-11 14:06:17 +0100 <Profpatsch> I like libraries that provide towers of abstraction and simplification with opt-out mechanisms, but aeson just has it all smushed together in one unstructured mess
2021-11-11 14:06:41 +0100mouseghost(~draco@user/mouseghost)
2021-11-11 14:06:49 +0100 <Profpatsch> e.g. I think ToJSON and FromJSON should be separated out into a different package, building on a package that just provides primitive composable parsers and encoders
2021-11-11 14:07:04 +0100 <Profpatsch> I get that it’s a case of grown
2021-11-11 14:07:09 +0100 <Profpatsch> *organic growth
2021-11-11 14:07:24 +0100 <dminuoso> Why should they be separated?
2021-11-11 14:07:38 +0100 <dminuoso> And aeson does give you composable parsers and utilities
2021-11-11 14:08:04 +0100 <dminuoso> withObject, (.:) and plenty other things lets you simply write code without generics.
2021-11-11 14:08:12 +0100 <dminuoso> Nothing ever forces or nudges you to using generics
2021-11-11 14:08:33 +0100 <dminuoso> Heck, you can even avoid typeclasses themselves, that bit is just not well documented
2021-11-11 14:08:50 +0100jlamothe(~jlamothe@198.251.61.229)
2021-11-11 14:09:20 +0100stefan-_(~cri@42dots.de)
2021-11-11 14:09:41 +0100 <Profpatsch> It’s not a very good user experience
2021-11-11 14:09:54 +0100 <Profpatsch> But I’m not here to argue about aeson tbh
2021-11-11 14:10:12 +0100 <Profpatsch> I just wanted to know whether the instances embod the SumEncoding
2021-11-11 14:10:20 +0100 <dminuoso> Which sumencoding?
2021-11-11 14:10:30 +0100 <Profpatsch> The one from aeson
2021-11-11 14:10:31 +0100 <dminuoso> There's 4 different ones.
2021-11-11 14:10:35 +0100 <dminuoso> https://hackage.haskell.org/package/aeson-2.0.1.0/docs/Data-Aeson.html#t:SumEncoding
2021-11-11 14:10:52 +0100 <dminuoso> Profpatsch: Also, you can simply control it yourself
2021-11-11 14:11:04 +0100 <Profpatsch> how?
2021-11-11 14:11:17 +0100 <dminuoso> Either by writing out the generic instance manually
2021-11-11 14:11:21 +0100 <dminuoso> Or my personal favourite by using https://hackage.haskell.org/package/deriving-aeson
2021-11-11 14:11:28 +0100 <Profpatsch> Can I take a (Either Char Int) and make it use e.g. UntaggedValue instead of ObjectWithSingleField?
2021-11-11 14:11:38 +0100 <dminuoso> It's a minimalistic library that adds a touch of type helpers to do this inside the deriving clause
2021-11-11 14:11:48 +0100 <dminuoso> Profpatsch: Yes.
2021-11-11 14:12:04 +0100 <maerwald> Profpatsch: maybe you like https://hackage.haskell.org/package/waargonaut
2021-11-11 14:12:33 +0100 <dminuoso> maerwald: Every time I wanted to use waargonaut I had a stopper, since I was relying heavily on aeson instances already. :(
2021-11-11 14:12:40 +0100 <dminuoso> Third party libraries etc
2021-11-11 14:12:43 +0100jurjen(~jurjen@83.232.63.97)
2021-11-11 14:12:52 +0100 <maerwald> I tried it only once and found the API so confusing that I stopped
2021-11-11 14:13:02 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-11-11 14:13:18 +0100 <Profpatsch> dminuoso: Ah, it uses a type-level list wrapper
2021-11-11 14:13:29 +0100 <dminuoso> Profpatsch: Yeah, but you can also do it in the value level by writing out the instance
2021-11-11 14:13:29 +0100cfricke(~cfricke@user/cfricke)
2021-11-11 14:13:32 +0100Guest42(~Guest42@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-11-11 14:13:32 +0100 <Profpatsch> dminuoso: I assume you can use coerce as well?
2021-11-11 14:13:39 +0100 <dminuoso> Only downside is that you dont have guaranteed coherence between toJSON and toEncoding
2021-11-11 14:13:42 +0100 <Profpatsch> For deriving-aeson that is
2021-11-11 14:13:47 +0100 <dminuoso> What do you mean by coerce?
2021-11-11 14:14:01 +0100 <dminuoso> Profpatsch: Only problem is that you cant dictate the behavior transitively in generics.
2021-11-11 14:14:11 +0100acidjnk_new3(~acidjnk@p200300d0c721b739c4928bd7ecc09c55.dip0.t-ipconnect.de)
2021-11-11 14:14:14 +0100 <dminuoso> That is, you cant say "use this for all transitive sums"
2021-11-11 14:14:55 +0100 <dminuoso> Unless you turn it into a SOP representation
2021-11-11 14:14:58 +0100 <dminuoso> Then you can
2021-11-11 14:15:08 +0100 <dminuoso> If that's an option for you
2021-11-11 14:15:20 +0100 <dminuoso> (because with SOP you dont have transitively sums anymore, they're at the outside)
2021-11-11 14:15:23 +0100kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2021-11-11 14:15:32 +0100 <Profpatsch> So e.g. (coerce (Left Map.singleton ("foo", 'c'))) :: Either () (CustomJson '[CamelToSnake] (Map Text Char))
2021-11-11 14:16:05 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-11-11 14:16:11 +0100 <dminuoso> Mmm, did you mix up Left and Right?
2021-11-11 14:16:12 +0100 <Profpatsch> s/Left Map/Left $ Map/
2021-11-11 14:16:15 +0100 <Profpatsch> Probably
2021-11-11 14:16:18 +0100 <Profpatsch> yeah righ
2021-11-11 14:16:20 +0100 <Profpatsch> Right
2021-11-11 14:16:26 +0100 <Profpatsch> But I guess that would work?
2021-11-11 14:16:29 +0100 <dminuoso> Sure
2021-11-11 14:16:39 +0100 <Profpatsch> That’s pretty cool hm
2021-11-11 14:16:50 +0100 <Profpatsch> We seem to be using it already
2021-11-11 14:16:52 +0100 <dminuoso> Id probably rather write some little helper
2021-11-11 14:17:10 +0100 <Profpatsch> Problem is that it doesn’t work recursively, yes
2021-11-11 14:17:31 +0100 <dminuoso> something like `encodeVia :: (ToJSON b, Coercible a b) => Proxy b -> a -> Value`
2021-11-11 14:17:36 +0100 <Profpatsch> Ah, that’s why genericSOP
2021-11-11 14:17:40 +0100 <dminuoso> Yup
2021-11-11 14:17:45 +0100 <Profpatsch> but that’s a really high conceptual overhead
2021-11-11 14:18:00 +0100 <dminuoso> Me personally, Id just stop worrying about encoding things into aeson
2021-11-11 14:18:03 +0100 <dminuoso> and just write out the instances
2021-11-11 14:18:13 +0100 <dminuoso> It's not much effort if you do it two or three times
2021-11-11 14:18:13 +0100 <Profpatsch> tbh I tend towards having a small library that provides composable aeson parser functions
2021-11-11 14:18:33 +0100 <Profpatsch> And the thing calling the encoder will inject the options
2021-11-11 14:18:46 +0100 <dminuoso> Profpatsch: Alternatively, you can simply write generics code yourself.
2021-11-11 14:18:49 +0100 <dminuoso> It's not hard
2021-11-11 14:19:04 +0100 <dminuoso> And then parametrize your generic encoder with some sum encoder
2021-11-11 14:19:05 +0100 <DemiMarieObenour> Anyone else had fun breaking GHC?
2021-11-11 14:19:12 +0100 <Profpatsch> newtype Enc a = Enc (Options -> a -> Encoding)
2021-11-11 14:19:25 +0100 <Profpatsch> And then implement Contravariant, Divisible etc
2021-11-11 14:19:35 +0100 <geekosaur> breaking ghc isn't so hard given unsafeCoerce :þ
2021-11-11 14:20:16 +0100 <dminuoso> Profpatsch: Every time I just tried to be tricky, I realized I was just catering to a mechanism that wasnt meant for specialization
2021-11-11 14:20:18 +0100 <dminuoso> THat is
2021-11-11 14:20:18 +0100 <Profpatsch> dminuoso: I will frame “you can simply write generics code myself” and hang it over my house altar :P
2021-11-11 14:20:35 +0100 <dminuoso> This generics stuff isnt meant to be customized, its designed to just take the weight off 90% your instances
2021-11-11 14:20:50 +0100 <dminuoso> Writing out manual instances for the rest 10% is worth it
2021-11-11 14:21:12 +0100 <dminuoso> Profpatsch: Writing generics is not hard, it's just confusing at the beginning if you dont understand all the letters and names.
2021-11-11 14:21:18 +0100 <dminuoso> But really, it's just a simple tree that you work on
2021-11-11 14:21:59 +0100 <Profpatsch> It’s not a particularly fun or debuggable experience
2021-11-11 14:22:07 +0100 <Profpatsch> maybe with generics-sop
2021-11-11 14:22:17 +0100 <dminuoso> honestly, with generics-sop things get worse
2021-11-11 14:22:39 +0100 <dminuoso> because now you cant even use your original data structure as an indication of the shape you're producing
2021-11-11 14:23:08 +0100 <dminuoso> The thing with json encoding is, they should ideally be disconnected/separate from your implementation
2021-11-11 14:23:18 +0100 <dminuoso> What you're doing is trying *very* hard to keep them coupled
2021-11-11 14:23:28 +0100 <dminuoso> And with generics-sop you're breaking that
2021-11-11 14:23:34 +0100 <dminuoso> In weird ways
2021-11-11 14:24:12 +0100 <Profpatsch> I’d rather write an Encoder at every place I have to encode data tbh
2021-11-11 14:24:17 +0100 <dminuoso> Because to some degree you're doing tight coupling (since the JSON representation is still a direct reflection of your haskell data type), except it's not even in the same shape anymore
2021-11-11 14:24:17 +0100 <Profpatsch> instead of relying on ToJSON
2021-11-11 14:24:38 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-11-11 14:24:39 +0100 <dminuoso> Profpatsch: I do this 90% generics, 10% bespoke instances - and this works very well
2021-11-11 14:25:01 +0100 <dminuoso> Saves me from writing useless boilerplate, and yet I get full control over when I want something different than what generics would do
2021-11-11 14:25:02 +0100ubert1(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-11-11 14:25:09 +0100shidima(~shidima@46.44.183.25) (Ping timeout: 256 seconds)
2021-11-11 14:25:10 +0100 <dminuoso> (or if I start changing the data without changing the json representation)
2021-11-11 14:25:46 +0100 <dminuoso> If you also have FromJSON instances, the benefit is that you dont even need to test the 90% for whether toJSON/fromJSON rountrips
2021-11-11 14:25:54 +0100 <dminuoso> Only need it for the remaining 105
2021-11-11 14:25:56 +0100 <dminuoso> Only need it for the remaining 10%
2021-11-11 14:28:14 +0100lavaman(~lavaman@98.38.249.169)
2021-11-11 14:30:22 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-11-11 14:31:23 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2021-11-11 14:31:32 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 14:31:57 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-11-11 14:32:31 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-11-11 14:40:02 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:40:02 +0100truckasaurus(sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:40:02 +0100typetetris(sid275937@id-275937.tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:40:32 +0100whez(sid470288@lymington.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:40:50 +0100ProofTechnique(sid79547@ilkley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:40:57 +0100obviyus(sid415299@user/obviyus) (Read error: Connection reset by peer)
2021-11-11 14:40:57 +0100hendi(sid489601@id-489601.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 14:40:57 +0100Pent(sid313808@id-313808.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 14:40:58 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 14:40:59 +0100acertain_(sid470584@id-470584.hampstead.irccloud.com) (Read error: Connection reset by peer)
2021-11-11 14:41:01 +0100rtpg(sid443069@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100gmc(sid58314@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100integral(sid296274@user/integral) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100vito(sid1962@user/vito) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100the_finn(uid526334@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100alanz(sid110616@uxbridge.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100awpr(uid446117@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100pjlsergeant(sid143467@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100taktoa[c](sid282096@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100hook54321(sid149355@user/hook54321) (Ping timeout: 256 seconds)
2021-11-11 14:41:01 +0100PotatoGim(sid99505@lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 14:41:02 +0100bjs(sid190364@user/bjs) (Read error: Connection reset by peer)
2021-11-11 14:41:02 +0100saolsen(sid26430@lymington.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:41:02 +0100_0x47(sid508683@tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:41:11 +0100grfn(sid449115@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100parseval(sid239098@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100mrianbloom(sid350277@ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100T_S_(sid501726@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100b20n(sid115913@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100astra`(sid289983@user/amish) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100ehamberg(sid18208@hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100systemfault(sid267009@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:11 +0100iphy(sid67735@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:16 +0100ephemient(uid407513@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:16 +0100stevenxl(sid133530@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:16 +0100rubin55(sid175221@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:16 +0100philpax_(sid516926@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:16 +0100aarchi(sid486183@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:16 +0100aristid(sid1599@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:18 +0100jackdk(sid373013@cssa/jackdk) (Ping timeout: 260 seconds)
2021-11-11 14:41:18 +0100elvishjerricco(sid237756@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:41:18 +0100amir(sid22336@user/amir) (Ping timeout: 260 seconds)
2021-11-11 14:41:32 +0100etrepum(sid763@uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:41:32 +0100edmundnoble(sid229620@helmsley.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:41:35 +0100caasih(sid13241@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100bw(sid2730@user/betawaffle) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100mustafa(sid502723@rockylinux/releng/mustafa) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100tnks(sid412124@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100teehemkay(sid14792@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100idnar(sid12240@debian/mithrandi) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100jmct_(sid160793@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100sa1_(sid7690@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:35 +0100gaze___(sid387101@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:41:46 +0100kaychaks__(sid236345@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:41:47 +0100lightandlight(sid135476@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100kaizen(sid501599@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100NiKaN(sid385034@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100meinside(uid24933@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100ysh(sid6017@ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100dmj`(sid72307@hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:47 +0100agander_m(sid407952@tinside.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:41:53 +0100alinab(sid468903@helmsley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100jonrh(sid5185@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100Adeon(sid418992@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100SanchayanMaity(sid478177@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100enemeth79(sid309041@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100gonz____(sid304396@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:41:53 +0100JSharp(sid4580@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:42:09 +0100S11001001(sid42510@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:09 +0100angerman(sid209936@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:09 +0100rune(sid21167@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:09 +0100aria(sid380617@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:09 +0100supersven(sid501114@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:14 +0100carter(sid14827@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:42:14 +0100mcfilib(sid302703@user/mcfilib) (Ping timeout: 260 seconds)
2021-11-11 14:42:14 +0100christiaanb(sid84827@lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:42:19 +0100tapas(sid467876@ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 14:42:23 +0100dsal(sid13060@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100SethTisue__(sid14912@ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100gregberns__(sid315709@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100cbarrett(sid192934@helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100SrPx(sid108780@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100hubvu(sid495858@user/hubvu) (Ping timeout: 264 seconds)
2021-11-11 14:42:23 +0100joel135(sid136450@hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:28 +0100obviyus(sid415299@user/obviyus)
2021-11-11 14:42:29 +0100JSharp(sid4580@lymington.irccloud.com)
2021-11-11 14:42:30 +0100sa(sid1055@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:42:30 +0100hamishmack(sid389057@hampstead.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:42:30 +0100bbhoss(sid18216@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:42:32 +0100jakesyl_(sid56879@hampstead.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 14:42:32 +0100cln_(sid336875@ilkley.irccloud.com)
2021-11-11 14:42:33 +0100edwardk_(sid47016@haskell/developer/edwardk)
2021-11-11 14:42:35 +0100vito(sid1962@user/vito)
2021-11-11 14:42:35 +0100rune(sid21167@ilkley.irccloud.com)
2021-11-11 14:42:36 +0100hendi(sid489601@id-489601.lymington.irccloud.com)
2021-11-11 14:42:37 +0100bw(sid2730@user/betawaffle)
2021-11-11 14:42:41 +0100jmct_(sid160793@tinside.irccloud.com)
2021-11-11 14:42:42 +0100PotatoGim(sid99505@lymington.irccloud.com)
2021-11-11 14:42:42 +0100degraafk(sid71464@lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:42:42 +0100sclv(sid39734@haskell/developer/sclv) (Ping timeout: 260 seconds)
2021-11-11 14:42:42 +0100scav(sid309693@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 14:42:43 +0100dpratt_(sid193493@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100nrr_(sid20938@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100hongminhee(sid295@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100Firedancer(sid336191@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100kristjansson_(sid126207@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100pepeiborra(sid443799@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 256 seconds)
2021-11-11 14:42:43 +0100conjunctive(sid433686@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 14:42:44 +0100edwardk_edwardk
2021-11-11 14:42:44 +0100acertain_(sid470584@id-470584.hampstead.irccloud.com)
2021-11-11 14:42:47 +0100dpratt__(sid193493@id-193493.helmsley.irccloud.com)
2021-11-11 14:42:47 +0100pjlsergeant(sid143467@id-143467.hampstead.irccloud.com)
2021-11-11 14:42:50 +0100gonz____(sid304396@lymington.irccloud.com)
2021-11-11 14:42:50 +0100NiKaN(sid385034@helmsley.irccloud.com)
2021-11-11 14:42:53 +0100integral(sid296274@user/integral)
2021-11-11 14:42:53 +0100dmj`(sid72307@hampstead.irccloud.com)
2021-11-11 14:42:53 +0100whez(sid470288@lymington.irccloud.com)
2021-11-11 14:42:59 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2021-11-11 14:42:59 +0100davetapley(sid666@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:59 +0100cln(sid336875@ilkley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:59 +0100bradparker(sid262931@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 14:42:59 +0100cln_cln
2021-11-11 14:43:03 +0100jackdk(sid373013@cssa/jackdk)
2021-11-11 14:43:03 +0100hubvu(sid495858@user/hubvu)
2021-11-11 14:43:05 +0100elvishjerricco(sid237756@2a03:5180:f:1::3:a0bc)
2021-11-11 14:43:07 +0100kristjansson_(sid126207@2a03:5180:f::1:ecff)
2021-11-11 14:43:07 +0100glowcoil(sid3405@tinside.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:43:07 +0100tritlo(sid58727@user/tritlo) (Ping timeout: 268 seconds)
2021-11-11 14:43:07 +0100Boarders(sid425905@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:43:07 +0100AndreasK_(sid320732@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 14:43:08 +0100ephemient(uid407513@lymington.irccloud.com)
2021-11-11 14:43:09 +0100nrr__(sid20938@2a03:5180:f:2::51ca)
2021-11-11 14:43:09 +0100mrianbloom(sid350277@id-350277.ilkley.irccloud.com)
2021-11-11 14:43:10 +0100mcfilib(sid302703@user/mcfilib)
2021-11-11 14:43:10 +0100alanz(sid110616@uxbridge.irccloud.com)
2021-11-11 14:43:11 +0100AndreasK__(sid320732@uxbridge.irccloud.com)
2021-11-11 14:43:11 +0100epolanski(uid312403@2a03:5180:f:1::4:c453)
2021-11-11 14:43:12 +0100SethTisue__(sid14912@2a03:5180:f:3::3a40)
2021-11-11 14:43:13 +0100bjs(sid190364@2a03:5180:f:1::2:e79c)
2021-11-11 14:43:14 +0100dsal(sid13060@lymington.irccloud.com)
2021-11-11 14:43:14 +0100teehemkay(sid14792@2a03:5180:f:2::39c8)
2021-11-11 14:43:14 +0100Pent(sid313808@2a03:5180:f:2::4:c9d0)
2021-11-11 14:43:16 +0100alinab(sid468903@id-468903.helmsley.irccloud.com)
2021-11-11 14:43:17 +0100T_S_(sid501726@uxbridge.irccloud.com)
2021-11-11 14:43:17 +0100gaze___(sid387101@2a03:5180:f:1::5:e81d)
2021-11-11 14:43:19 +0100agander_m(sid407952@2a03:5180:f::6:3990)
2021-11-11 14:43:19 +0100aristid(sid1599@2a03:5180:f:5::63f)
2021-11-11 14:43:19 +0100christiaanb(sid84827@lymington.irccloud.com)
2021-11-11 14:43:19 +0100meinside(uid24933@2a03:5180:f:1::6165)
2021-11-11 14:43:20 +0100supersven(sid501114@2a03:5180:f:3::7:a57a)
2021-11-11 14:43:21 +0100gregberns__(sid315709@2a03:5180:f:1::4:d13d)
2021-11-11 14:43:22 +0100gmc(sid58314@ilkley.irccloud.com)
2021-11-11 14:43:22 +0100rtpg(sid443069@2a03:5180:f:3::6:c2bd)
2021-11-11 14:43:23 +0100hongminhee(sid295@tinside.irccloud.com)
2021-11-11 14:43:24 +0100hamishmack(sid389057@2a03:5180:f:4::5:efc1)
2021-11-11 14:43:24 +0100jonrh(sid5185@2a03:5180:f:3::1441)
2021-11-11 14:43:24 +0100bjs(sid190364@2a03:5180:f:1::2:e79c) (Changing host)
2021-11-11 14:43:24 +0100bjs(sid190364@user/bjs)
2021-11-11 14:43:24 +0100typetetris(sid275937@2a03:5180:f::4:35e1)
2021-11-11 14:43:25 +0100truckasaurus(sid457088@2a03:5180:f:1::6:f980)
2021-11-11 14:43:25 +0100davetapley(sid666@uxbridge.irccloud.com)
2021-11-11 14:43:26 +0100carter(sid14827@id-14827.helmsley.irccloud.com)
2021-11-11 14:43:27 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com)
2021-11-11 14:43:28 +0100tnks(sid412124@2a03:5180:f:1::6:49dc)
2021-11-11 14:43:28 +0100Adeon(sid418992@2a03:5180:f:2::6:64b0)
2021-11-11 14:43:28 +0100ProofTechnique(sid79547@ilkley.irccloud.com)
2021-11-11 14:43:28 +0100ysh(sid6017@2a03:5180:f:3::1781)
2021-11-11 14:43:28 +0100Boarders_(sid425905@2a03:5180:f:2::6:7fb1)
2021-11-11 14:43:29 +0100sa1_(sid7690@2a03:5180:f:3::1e0a)
2021-11-11 14:43:29 +0100etrepum(sid763@2a03:5180:f:5::2fb)
2021-11-11 14:43:29 +0100edmundnoble(sid229620@id-229620.helmsley.irccloud.com)
2021-11-11 14:43:30 +0100tapas(sid467876@ilkley.irccloud.com)
2021-11-11 14:43:30 +0100_0x47(sid508683@2a03:5180:f::7:c30b)
2021-11-11 14:43:31 +0100mustafa(sid502723@2a03:5180:f:4::7:abc3)
2021-11-11 14:43:32 +0100kaychaks__(sid236345@2a03:5180:f:1::3:9b39)
2021-11-11 14:43:33 +0100angerman(sid209936@2a03:5180:f:3::3:3410)
2021-11-11 14:43:33 +0100ubert1(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2021-11-11 14:43:33 +0100b20n(sid115913@2a03:5180:f:5::1:c4c9)
2021-11-11 14:43:33 +0100enemeth79(sid309041@2a03:5180:f:2::4:b731)
2021-11-11 14:43:35 +0100ehamberg(sid18208@2a03:5180:f:4::4720)
2021-11-11 14:43:38 +0100bbhoss(sid18216@2a03:5180:f::4728)
2021-11-11 14:43:38 +0100systemfault(sid267009@uxbridge.irccloud.com)
2021-11-11 14:43:40 +0100aria(sid380617@2a03:5180:f:2::5:cec9)
2021-11-11 14:43:40 +0100awpr(uid446117@2a03:5180:f:2::6:cea5)
2021-11-11 14:43:41 +0100philpax_(sid516926@2a03:5180:f:2::7:e33e)
2021-11-11 14:43:41 +0100stevenxl(sid133530@2a03:5180:f:5::2:99a)
2021-11-11 14:43:42 +0100scav(sid309693@helmsley.irccloud.com)
2021-11-11 14:43:44 +0100the_finn(uid526334@id-526334.hampstead.irccloud.com)
2021-11-11 14:43:47 +0100glowcoil(sid3405@id-3405.tinside.irccloud.com)
2021-11-11 14:43:54 +0100astra`(sid289983@hampstead.irccloud.com)
2021-11-11 14:43:55 +0100Firedancer(sid336191@hampstead.irccloud.com)
2021-11-11 14:43:56 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com)
2021-11-11 14:43:57 +0100SanchayanMaity(sid478177@hampstead.irccloud.com)
2021-11-11 14:43:57 +0100aarchi(sid486183@2a03:5180:f:5::7:6b27)
2021-11-11 14:43:58 +0100caasih(sid13241@ilkley.irccloud.com)
2021-11-11 14:43:59 +0100mustafa(sid502723@2a03:5180:f:4::7:abc3) (Changing host)
2021-11-11 14:43:59 +0100mustafa(sid502723@rockylinux/releng/mustafa)
2021-11-11 14:43:59 +0100joel135(sid136450@hampstead.irccloud.com)
2021-11-11 14:44:01 +0100cbarrett(sid192934@2a03:5180:f:1::2:f1a6)
2021-11-11 14:44:03 +0100 <ddb> I'm having some trouble installing djinn, does anyone have experience with haskell on fedora?
2021-11-11 14:44:05 +0100bradparker(sid262931@id-262931.uxbridge.irccloud.com)
2021-11-11 14:44:05 +0100tritlo(sid58727@id-58727.hampstead.irccloud.com)
2021-11-11 14:44:06 +0100saolsen(sid26430@id-26430.lymington.irccloud.com)
2021-11-11 14:44:06 +0100kaizen(sid501599@helmsley.irccloud.com)
2021-11-11 14:44:08 +0100jakesyl_(sid56879@hampstead.irccloud.com)
2021-11-11 14:44:10 +0100conjunctive(sid433686@id-433686.helmsley.irccloud.com)
2021-11-11 14:44:10 +0100iphy(sid67735@lymington.irccloud.com)
2021-11-11 14:44:13 +0100 <ddb> here's the error I'm getting: https://ttm.sh/eKu.txt
2021-11-11 14:44:17 +0100degraafk(sid71464@id-71464.lymington.irccloud.com)
2021-11-11 14:44:18 +0100hook54321(sid149355@user/hook54321)
2021-11-11 14:44:19 +0100S11001001(sid42510@ilkley.irccloud.com)
2021-11-11 14:44:19 +0100grfn(sid449115@helmsley.irccloud.com)
2021-11-11 14:44:19 +0100parseval(sid239098@id-239098.helmsley.irccloud.com)
2021-11-11 14:44:20 +0100lightandlight(sid135476@id-135476.helmsley.irccloud.com)
2021-11-11 14:44:22 +0100sa(sid1055@tinside.irccloud.com)
2021-11-11 14:44:25 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2021-11-11 14:44:26 +0100idnar(sid12240@id-12240.lymington.irccloud.com)
2021-11-11 14:44:26 +0100astra`(sid289983@hampstead.irccloud.com) (Changing host)
2021-11-11 14:44:26 +0100astra`(sid289983@user/amish)
2021-11-11 14:44:26 +0100amir(sid22336@id-22336.hampstead.irccloud.com)
2021-11-11 14:44:27 +0100sclv(sid39734@id-39734.lymington.irccloud.com)
2021-11-11 14:44:28 +0100rubin55(sid175221@id-175221.hampstead.irccloud.com)
2021-11-11 14:44:37 +0100 <geekosaur> right, nobody has updated it in particular for the addition of <> as infix mappend
2021-11-11 14:44:49 +0100 <geekosaur> you'd have to qualify those two uses of <>
2021-11-11 14:44:53 +0100tritlo(sid58727@id-58727.hampstead.irccloud.com) (Changing host)
2021-11-11 14:44:53 +0100tritlo(sid58727@user/tritlo)
2021-11-11 14:45:06 +0100sclv(sid39734@id-39734.lymington.irccloud.com) (Changing host)
2021-11-11 14:45:06 +0100sclv(sid39734@haskell/developer/sclv)
2021-11-11 14:45:08 +0100 <ddb> ok, so my real goal is to install lambdabot
2021-11-11 14:45:10 +0100idnar(sid12240@id-12240.lymington.irccloud.com) (Changing host)
2021-11-11 14:45:10 +0100idnar(sid12240@debian/mithrandi)
2021-11-11 14:45:10 +0100amir(sid22336@id-22336.hampstead.irccloud.com) (Changing host)
2021-11-11 14:45:10 +0100amir(sid22336@user/amir)
2021-11-11 14:45:14 +0100 <geekosaur> (I just tried to install it here)
2021-11-11 14:45:47 +0100 <ddb> > product [1..5]
2021-11-11 14:45:49 +0100 <lambdabot> 120
2021-11-11 14:46:25 +0100 <ddb> I'm trying to follow the instructions here: https://github.com/lambdabot/lambdabot/tree/master/lambdabot
2021-11-11 14:46:42 +0100 <geekosaur> int-e, do you have any wisdom about installing lambdabot on modern ghc?
2021-11-11 14:47:06 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-11-11 14:47:15 +0100chomwitt(~chomwitt@athedsl-32204.home.otenet.gr) (Ping timeout: 256 seconds)
2021-11-11 14:47:48 +0100 <int-e> is 8.10.7 still modern
2021-11-11 14:48:19 +0100 <geekosaur> still a lot of people using it since 9.0.1 and 9.2.1 are still not supported by most of the ecosystem
2021-11-11 14:48:43 +0100dsrt^(~dsrt@h50.174.139.63.static.ip.windstream.net)
2021-11-11 14:48:56 +0100 <geekosaur> and in any case the error they're getting is from the addition of infix mappend conflicting with prettyprinting
2021-11-11 14:49:10 +0100 <ddb> my local version is 8.10.5, so that seems like a good place to start
2021-11-11 14:49:11 +0100 <int-e> oh those instructions, that `install` predates new-install, so I'd mentally substitute v1-install.
2021-11-11 14:49:29 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-11-11 14:49:33 +0100cosimone(~user@93-44-184-239.ip98.fastwebnet.it)
2021-11-11 14:49:45 +0100 <ddb> hah I tried v2-install and new-install, didn't know about v1-install
2021-11-11 14:49:57 +0100 <ddb> same error, however
2021-11-11 14:50:25 +0100 <ddb> cabal-install version 3.6.2.0
2021-11-11 14:51:26 +0100 <int-e> let me see how far it gets for me
2021-11-11 14:51:28 +0100 <ddb> I am also attempting the install as an unpriviledged user, although that does not seem to be the problem.
2021-11-11 14:52:33 +0100 <maerwald> 9.0.1 and 9.2.1 both have serious bugs, but I think we'll get 9.0.2
2021-11-11 14:53:26 +0100 <int-e> Oh it's really `djinn` that fails? Let's see. It seems I patched it: `cabal unpack djinn`, then insert an `import Prelude hiding ((<>))` in src/HTypes.hs, and then cabal v1-install from its source directory.
2021-11-11 14:53:52 +0100 <int-e> @djinn a -> b -> a
2021-11-11 14:53:52 +0100 <lambdabot> f a _ = a
2021-11-11 14:54:16 +0100 <int-e> that's what `djinn` (an executable) is needed for; the rest of lambdabot doesn't use it.
2021-11-11 14:54:41 +0100 <ddb> well if it's working here, I'd like to keep it if possible
2021-11-11 14:55:17 +0100 <ddb> if I run lambdabot and try commands I also get errors like
2021-11-11 14:55:20 +0100 <ddb> lambdabot> > product [1..5]
2021-11-11 14:55:22 +0100 <ddb> Plugin `eval' failed with: mueval: readCreateProcessWithExitCode: runInteractiveProcess: exec: does not exist (No such file or directory)
2021-11-11 14:56:02 +0100sprout_(~quassel@2a02:a467:ccd6:1:3471:ef4b:ebc8:3b49) (Ping timeout: 246 seconds)
2021-11-11 14:56:06 +0100 <int-e> right, that probably means that *mumble* ~/.cabal/bin is not in your PATH
2021-11-11 14:56:11 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 14:56:35 +0100 <geekosaur> or you v2-installed mueval which might break things in other ways
2021-11-11 14:56:43 +0100 <ddb> it does appear to be in my path, although I do have cabal symlinked elswhere
2021-11-11 14:56:47 +0100 <int-e> or does mueval have to be installed separately?
2021-11-11 14:56:52 +0100 <geekosaur> (with your version of cabal, v2-install is the default)
2021-11-11 14:57:30 +0100 <int-e> I should probably figure out the various quirks of v2-install wrt both libraries and executables :-/
2021-11-11 14:57:37 +0100 <geekosaur> oh also if it literally shows "~/.cabal/bin" in your PATH then it won't be working; only shells understand ~
2021-11-11 14:57:47 +0100 <geekosaur> you may have to readd it as $HOME/.cabal/bin
2021-11-11 14:58:00 +0100 <geekosaur> s/readd/re-add/
2021-11-11 14:58:09 +0100 <int-e> good point
2021-11-11 14:58:21 +0100 <ddb> it's the right path, /home/ddb/.cabal/bin
2021-11-11 14:58:33 +0100 <int-e> is there a mueval executable in there?
2021-11-11 14:59:13 +0100 <ddb> yes, as you suggested I cabal install mueval and now get this error in lambdabot
2021-11-11 14:59:15 +0100 <ddb> mueval-core: GhcException "cannot satisfy -trust lambdabot-trusted\n (use -v for more information)"
2021-11-11 14:59:22 +0100 <ddb> when I try do do
2021-11-11 14:59:25 +0100 <ddb> > product [1..5]
2021-11-11 14:59:27 +0100 <lambdabot> 120
2021-11-11 15:00:00 +0100solirc(~solirc@ppp-110-168-219-132.revip5.asianet.co.th) (Quit: Client closed)
2021-11-11 15:00:50 +0100 <ddb> I'm going afk for now but I will be back one of these days to continue debugging this issue
2021-11-11 15:00:54 +0100 <ddb> thanks for all your help so far!
2021-11-11 15:00:59 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 264 seconds)
2021-11-11 15:01:11 +0100epolanski(uid312403@2a03:5180:f:1::4:c453) (Quit: Connection closed for inactivity)
2021-11-11 15:01:28 +0100 <int-e> hmm. does passing --trust=lambdabot-trusted to lambdabot help?
2021-11-11 15:04:32 +0100 <ddb> nope, same error
2021-11-11 15:04:47 +0100chomwitt(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374)
2021-11-11 15:05:51 +0100 <int-e> eh let me try this myself...
2021-11-11 15:09:29 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325)
2021-11-11 15:09:51 +0100 <int-e> ... https://xkcd.com/303/ ...
2021-11-11 15:12:22 +0100 <int-e> Huh, it works for me?
2021-11-11 15:13:35 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-11-11 15:14:19 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314)
2021-11-11 15:16:22 +0100bjsGuest8959
2021-11-11 15:16:22 +0100Guest8959(sid190364@user/bjs) (Killed (gold.libera.chat (Nickname regained by services)))
2021-11-11 15:16:33 +0100alanz(sid110616@uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:16:35 +0100whez(sid470288@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 15:16:43 +0100systemfault(sid267009@uxbridge.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:16:43 +0100dmj`(sid72307@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:16:43 +0100bw(sid2730@user/betawaffle) (Ping timeout: 256 seconds)
2021-11-11 15:16:59 +0100jackdk(sid373013@cssa/jackdk) (Ping timeout: 250 seconds)
2021-11-11 15:17:02 +0100ProofTechnique(sid79547@ilkley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 15:17:11 +0100davetapley(sid666@uxbridge.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 15:17:11 +0100ephemient(uid407513@lymington.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 15:17:14 +0100S11001001(sid42510@ilkley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:17:14 +0100joel135(sid136450@hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:17:14 +0100scav(sid309693@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:17:14 +0100cln(sid336875@ilkley.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:17:17 +0100sa(sid1055@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:17:17 +0100jmct_(sid160793@tinside.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:17:17 +0100rune(sid21167@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:17:25 +0100kaizen(sid501599@helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:17:25 +0100caasih(sid13241@ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:17:25 +0100PotatoGim(sid99505@lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:17:39 +0100gonz____(sid304396@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 15:17:47 +0100rubin55(sid175221@id-175221.hampstead.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100tnks(sid412124@2a03:5180:f:1::6:49dc) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100hamishmack(sid389057@2a03:5180:f:4::5:efc1) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100Boarders_(sid425905@2a03:5180:f:2::6:7fb1) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100rtpg(sid443069@2a03:5180:f:3::6:c2bd) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100teehemkay(sid14792@2a03:5180:f:2::39c8) (Ping timeout: 264 seconds)
2021-11-11 15:17:47 +0100vito(sid1962@user/vito) (Ping timeout: 264 seconds)
2021-11-11 15:17:48 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-11-11 15:17:51 +0100degraafk(sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:17:51 +0100dsal(sid13060@lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:17:51 +0100dpratt__(sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:02 +0100awpr(uid446117@2a03:5180:f:2::6:cea5) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100aria(sid380617@2a03:5180:f:2::5:cec9) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100bbhoss(sid18216@2a03:5180:f::4728) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100b20n(sid115913@2a03:5180:f:5::1:c4c9) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100ysh(sid6017@2a03:5180:f:3::1781) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100_0x47(sid508683@2a03:5180:f::7:c30b) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100aristid(sid1599@2a03:5180:f:5::63f) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100kristjansson_(sid126207@2a03:5180:f::1:ecff) (Ping timeout: 240 seconds)
2021-11-11 15:18:02 +0100edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 240 seconds)
2021-11-11 15:18:10 +0100SanchayanMaity(sid478177@hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:18:10 +0100jakesyl_(sid56879@hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:18:16 +0100T_S_(sid501726@uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 15:18:17 +0100idnar(sid12240@debian/mithrandi) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100bradparker(sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100gmc(sid58314@ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100alinab(sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100AndreasK__(sid320732@uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100mcfilib(sid302703@user/mcfilib) (Ping timeout: 250 seconds)
2021-11-11 15:18:17 +0100mrianbloom(sid350277@id-350277.ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:18 +0100hubvu(sid495858@user/hubvu) (Ping timeout: 250 seconds)
2021-11-11 15:18:18 +0100carter(sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:18 +0100integral(sid296274@user/integral) (Ping timeout: 250 seconds)
2021-11-11 15:18:18 +0100NiKaN(sid385034@helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:18 +0100JSharp(sid4580@lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:23 +0100aarchi(sid486183@2a03:5180:f:5::7:6b27) (Ping timeout: 264 seconds)
2021-11-11 15:18:23 +0100Adeon(sid418992@2a03:5180:f:2::6:64b0) (Ping timeout: 264 seconds)
2021-11-11 15:18:25 +0100grfn(sid449115@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:18:25 +0100iphy(sid67735@lymington.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:18:25 +0100Firedancer(sid336191@hampstead.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:18:25 +0100tapas(sid467876@ilkley.irccloud.com) (Ping timeout: 256 seconds)
2021-11-11 15:18:26 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314) (Ping timeout: 245 seconds)
2021-11-11 15:18:28 +0100hippoid(~hippoid@c-98-220-13-8.hsd1.il.comcast.net)
2021-11-11 15:18:32 +0100stevenxl(sid133530@2a03:5180:f:5::2:99a) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100angerman(sid209936@2a03:5180:f:3::3:3410) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100gaze___(sid387101@2a03:5180:f:1::5:e81d) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100elvishjerricco(sid237756@2a03:5180:f:1::3:a0bc) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100hook54321(sid149355@user/hook54321) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100pjlsergeant(sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:18:32 +0100acertain_(sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:18:38 +0100astra`(sid289983@user/amish) (Ping timeout: 260 seconds)
2021-11-11 15:18:38 +0100hongminhee(sid295@tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-11-11 15:18:38 +0100obviyus(sid415299@user/obviyus) (Ping timeout: 260 seconds)
2021-11-11 15:18:43 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:43 +0100edmundnoble(sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:18:53 +0100christiaanb(sid84827@lymington.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 15:18:59 +0100sclv(sid39734@haskell/developer/sclv) (Ping timeout: 264 seconds)
2021-11-11 15:18:59 +0100conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 264 seconds)
2021-11-11 15:18:59 +0100cbarrett(sid192934@2a03:5180:f:1::2:f1a6) (Ping timeout: 264 seconds)
2021-11-11 15:18:59 +0100meinside(uid24933@2a03:5180:f:1::6165) (Ping timeout: 264 seconds)
2021-11-11 15:18:59 +0100agander_m(sid407952@2a03:5180:f::6:3990) (Ping timeout: 264 seconds)
2021-11-11 15:19:02 +0100saolsen(sid26430@id-26430.lymington.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:19:02 +0100the_finn(uid526334@id-526334.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:19:02 +0100philpax_(sid516926@2a03:5180:f:2::7:e33e) (Ping timeout: 240 seconds)
2021-11-11 15:19:02 +0100nrr__(sid20938@2a03:5180:f:2::51ca) (Ping timeout: 240 seconds)
2021-11-11 15:19:09 +0100tritlo(sid58727@user/tritlo) (Ping timeout: 250 seconds)
2021-11-11 15:19:09 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:19:09 +0100NemesisD(sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:19:17 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325) (Ping timeout: 264 seconds)
2021-11-11 15:19:30 +0100lightandlight(sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 268 seconds)
2021-11-11 15:19:32 +0100amir(sid22336@user/amir) (Ping timeout: 240 seconds)
2021-11-11 15:19:32 +0100ehamberg(sid18208@2a03:5180:f:4::4720) (Ping timeout: 240 seconds)
2021-11-11 15:19:32 +0100hendi(sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 240 seconds)
2021-11-11 15:19:35 +0100enemeth79(sid309041@2a03:5180:f:2::4:b731) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100kaychaks__(sid236345@2a03:5180:f:1::3:9b39) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100etrepum(sid763@2a03:5180:f:5::2fb) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100mustafa(sid502723@rockylinux/releng/mustafa) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100sa1_(sid7690@2a03:5180:f:3::1e0a) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100jonrh(sid5185@2a03:5180:f:3::1441) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100gregberns__(sid315709@2a03:5180:f:1::4:d13d) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100truckasaurus(sid457088@2a03:5180:f:1::6:f980) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100supersven(sid501114@2a03:5180:f:3::7:a57a) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100typetetris(sid275937@2a03:5180:f::4:35e1) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100SethTisue__(sid14912@2a03:5180:f:3::3a40) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100Pent(sid313808@2a03:5180:f:2::4:c9d0) (Ping timeout: 264 seconds)
2021-11-11 15:19:35 +0100parseval(sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:19:35 +0100glowcoil(sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 250 seconds)
2021-11-11 15:19:36 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-11-11 15:20:37 +0100 <hippoid> is there a way to search the archives of this channel by username?
2021-11-11 15:21:13 +0100 <[exa]> hippoid: actually tomsmeding was wondering about adding some such functionality a few days ago :D
2021-11-11 15:21:23 +0100gg(~gg@2a01:e0a:819:1510:e434:efd5:edf7:7caa) (Ping timeout: 264 seconds)
2021-11-11 15:21:38 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2021-11-11 15:22:06 +0100bradparker(sid262931@uxbridge.irccloud.com)
2021-11-11 15:22:07 +0100pepeiborra(sid443799@ilkley.irccloud.com)
2021-11-11 15:22:07 +0100supersven(sid501114@ilkley.irccloud.com)
2021-11-11 15:22:09 +0100grfn(sid449115@helmsley.irccloud.com)
2021-11-11 15:22:09 +0100davetapley(sid666@uxbridge.irccloud.com)
2021-11-11 15:22:09 +0100Firedancer(sid336191@hampstead.irccloud.com)
2021-11-11 15:22:12 +0100 <hippoid> [exa]: i'd use that! I can see there's an archive, but no easy way to search it
2021-11-11 15:22:13 +0100S11001001(sid42510@ilkley.irccloud.com)
2021-11-11 15:22:15 +0100teehemkay(sid14792@lymington.irccloud.com)
2021-11-11 15:22:16 +0100conjunctive(sid433686@helmsley.irccloud.com)
2021-11-11 15:22:18 +0100alinab(sid468903@helmsley.irccloud.com)
2021-11-11 15:22:20 +0100integral(sid296274@user/integral)
2021-11-11 15:22:20 +0100edmundnoble(sid229620@helmsley.irccloud.com)
2021-11-11 15:22:20 +0100kristjansson_(sid126207@tinside.irccloud.com)
2021-11-11 15:22:21 +0100dpratt__(sid193493@helmsley.irccloud.com)
2021-11-11 15:22:24 +0100caasih(sid13241@ilkley.irccloud.com)
2021-11-11 15:22:25 +0100alanz(sid110616@uxbridge.irccloud.com)
2021-11-11 15:22:26 +0100jackdk(sid373013@cssa/jackdk)
2021-11-11 15:22:29 +0100AndreasK__(sid320732@uxbridge.irccloud.com)
2021-11-11 15:22:30 +0100typetetris(sid275937@tinside.irccloud.com)
2021-11-11 15:22:31 +0100PotatoGim(sid99505@lymington.irccloud.com)
2021-11-11 15:22:31 +0100bbhoss(sid18216@tinside.irccloud.com)
2021-11-11 15:22:37 +0100truckasaurus(sid457088@helmsley.irccloud.com)
2021-11-11 15:22:45 +0100kaychaks__(sid236345@helmsley.irccloud.com)
2021-11-11 15:22:47 +0100nrr__(sid20938@lymington.irccloud.com)
2021-11-11 15:22:53 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 264 seconds)
2021-11-11 15:22:58 +0100Adeon(sid418992@lymington.irccloud.com)
2021-11-11 15:23:01 +0100SanchayanMaity(sid478177@hampstead.irccloud.com)
2021-11-11 15:23:02 +0100astra`(sid289983@user/amish)
2021-11-11 15:23:02 +0100rtpg(sid443069@ilkley.irccloud.com)
2021-11-11 15:23:03 +0100amir(sid22336@user/amir)
2021-11-11 15:23:06 +0100degraafk(sid71464@lymington.irccloud.com)
2021-11-11 15:23:14 +0100cbarrett(sid192934@helmsley.irccloud.com)
2021-11-11 15:23:14 +0100vito(sid1962@user/vito)
2021-11-11 15:23:14 +0100glowcoil(sid3405@tinside.irccloud.com)
2021-11-11 15:23:15 +0100christiaanb(sid84827@lymington.irccloud.com)
2021-11-11 15:23:16 +0100rubin55(sid175221@hampstead.irccloud.com)
2021-11-11 15:23:18 +0100b20n(sid115913@uxbridge.irccloud.com)
2021-11-11 15:23:19 +0100aristid(sid1599@uxbridge.irccloud.com)
2021-11-11 15:23:19 +0100hamishmack(sid389057@hampstead.irccloud.com)
2021-11-11 15:23:20 +0100stevenxl(sid133530@uxbridge.irccloud.com)
2021-11-11 15:23:21 +0100max22-(~maxime@2a01cb08833598008a48d8a24ae7f102.ipv6.abo.wanadoo.fr)
2021-11-11 15:23:21 +0100idnar(sid12240@debian/mithrandi)
2021-11-11 15:23:24 +0100scav(sid309693@helmsley.irccloud.com)
2021-11-11 15:23:25 +0100xkuru(~xkuru@user/xkuru)
2021-11-11 15:23:30 +0100gaze___(sid387101@helmsley.irccloud.com)
2021-11-11 15:23:34 +0100ysh(sid6017@ilkley.irccloud.com)
2021-11-11 15:23:34 +0100mrianbloom(sid350277@ilkley.irccloud.com)
2021-11-11 15:23:36 +0100tnks(sid412124@helmsley.irccloud.com)
2021-11-11 15:23:37 +0100rune(sid21167@ilkley.irccloud.com)
2021-11-11 15:23:40 +0100jakesyl_(sid56879@hampstead.irccloud.com)
2021-11-11 15:23:45 +0100edwardk(sid47016@haskell/developer/edwardk)
2021-11-11 15:23:46 +0100jonrh(sid5185@ilkley.irccloud.com)
2021-11-11 15:23:49 +0100acertain_(sid470584@hampstead.irccloud.com)
2021-11-11 15:23:52 +0100sa1_(sid7690@ilkley.irccloud.com)
2021-11-11 15:23:52 +0100Boarders_(sid425905@lymington.irccloud.com)
2021-11-11 15:23:54 +0100kaizen(sid501599@helmsley.irccloud.com)
2021-11-11 15:23:56 +0100mcfilib(sid302703@user/mcfilib)
2021-11-11 15:23:59 +0100lightandlight(sid135476@helmsley.irccloud.com)
2021-11-11 15:24:04 +0100sclv(sid39734@haskell/developer/sclv)
2021-11-11 15:24:07 +0100SethTisue__(sid14912@ilkley.irccloud.com)
2021-11-11 15:24:10 +0100ehamberg(sid18208@hampstead.irccloud.com)
2021-11-11 15:24:10 +0100jmct_(sid160793@tinside.irccloud.com)
2021-11-11 15:24:11 +0100dmj`(sid72307@hampstead.irccloud.com)
2021-11-11 15:24:14 +0100NiKaN(sid385034@helmsley.irccloud.com)
2021-11-11 15:24:23 +0100NemesisD(sid24071@lymington.irccloud.com)
2021-11-11 15:24:24 +0100hubvu(sid495858@user/hubvu)
2021-11-11 15:24:30 +0100mustafa(sid502723@rockylinux/releng/mustafa)
2021-11-11 15:24:32 +0100_0x47(sid508683@tinside.irccloud.com)
2021-11-11 15:24:32 +0100ProofTechnique(sid79547@ilkley.irccloud.com)
2021-11-11 15:24:43 +0100awpr(uid446117@lymington.irccloud.com)
2021-11-11 15:24:45 +0100gonz____(sid304396@lymington.irccloud.com)
2021-11-11 15:24:48 +0100T_S_(sid501726@uxbridge.irccloud.com)
2021-11-11 15:24:54 +0100systemfault(sid267009@uxbridge.irccloud.com)
2021-11-11 15:24:58 +0100dsal(sid13060@lymington.irccloud.com)
2021-11-11 15:25:01 +0100aria(sid380617@lymington.irccloud.com)
2021-11-11 15:26:29 +0100teehemkay_(sid14792@lymington.irccloud.com)
2021-11-11 15:28:12 +0100 <geekosaur> the code has most of the UI side of it already, but is missing the backend functionality (sphinx iirc) to do the actual search
2021-11-11 15:28:13 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-11-11 15:29:37 +0100jollygood2(~bc8165b6@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-11-11 15:29:52 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-11-11 15:30:54 +0100m1dnight(~christoph@xvm-104-119.dc0.ghst.net) (Quit: WeeChat 3.1)
2021-11-11 15:31:13 +0100whez(sid470288@lymington.irccloud.com)
2021-11-11 15:31:36 +0100gg(~gg@2a01:e0a:819:1510:4c29:c873:f42e:2b2)
2021-11-11 15:32:18 +0100m1dnight(~christoph@christophe.dev)
2021-11-11 15:32:22 +0100peight(~peight@198.35.131.77.rev.sfr.net)
2021-11-11 15:32:29 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325)
2021-11-11 15:33:31 +0100philpax_(sid516926@lymington.irccloud.com)
2021-11-11 15:33:51 +0100tritlo(sid58727@user/tritlo)
2021-11-11 15:34:17 +0100the_finn(uid526334@hampstead.irccloud.com)
2021-11-11 15:34:18 +0100joel135(sid136450@hampstead.irccloud.com)
2021-11-11 15:34:22 +0100agander_m(sid407952@tinside.irccloud.com)
2021-11-11 15:34:33 +0100gmc(sid58314@ilkley.irccloud.com)
2021-11-11 15:34:33 +0100sa(sid1055@tinside.irccloud.com)
2021-11-11 15:34:36 +0100pjlsergeant(sid143467@hampstead.irccloud.com)
2021-11-11 15:34:45 +0100meinside(uid24933@helmsley.irccloud.com)
2021-11-11 15:34:52 +0100iphy(sid67735@lymington.irccloud.com)
2021-11-11 15:35:27 +0100 <int-e> ddb: yeah after "cabal update; cabal v1-install lambdabot" in a clean user directory, `lambdabot` works for me. this is a Debian system but I don't see why it would matter?
2021-11-11 15:36:19 +0100cln(sid336875@ilkley.irccloud.com)
2021-11-11 15:36:37 +0100 <int-e> ddb: and "works for me" includes simple evaluations like "> product [1..5]" or "> S.fromList [3,1,4,1,5,9,2]"
2021-11-11 15:36:45 +0100 <tomsmeding> hippoid: eternally busy, but I have to proctor at a 3 hour exam this evening, so we'll see what happens :p
2021-11-11 15:36:46 +0100 <geekosaur> something about what gets installed with v2-install being symlinks, is what I ran into
2021-11-11 15:36:55 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325) (Ping timeout: 250 seconds)
2021-11-11 15:37:15 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-11-11 15:37:25 +0100hook54321(sid149355@user/hook54321)
2021-11-11 15:37:26 +0100 <geekosaur> I had to mess with my dotfile stuff to make it all work with v2-install
2021-11-11 15:37:52 +0100 <geekosaur> not that I run lambdabot any more, but it also affected things like pandoc, hledger, and xmonad
2021-11-11 15:40:19 +0100 <hippoid> tomsmeding: it'll be used right away. I ask questions here and then have to go back and find the answers when I have more time to think about them.
2021-11-11 15:41:00 +0100 <geekosaur> fwiw I track stuff in utc and mark when I ask stuff, so it's easier to search logs
2021-11-11 15:41:08 +0100 <int-e> ddb: One thing I can think of is that if you specify *any* package with --trust that disables the default list, so you need to specify all packages that need to be trusted. A minimal list for the default Pristine.hs is: lambdabot --trust=base --trust=random --trust=lambdabot-trusted
2021-11-11 15:41:37 +0100 <geekosaur> (logs are in utc and I use a wrapper script to run my IRC client in utc. this of course won't work so well if you're using webchat, and may not work well if you're on matrix)
2021-11-11 15:41:58 +0100 <hippoid> geekosaur: do you use irssi?
2021-11-11 15:42:03 +0100 <geekosaur> hexchat
2021-11-11 15:42:25 +0100 <geekosaur> but more or less the same wrapper script would work, I just shove TZ=TUC0 into the environment before running it
2021-11-11 15:42:31 +0100 <geekosaur> er, TZ=UTC0
2021-11-11 15:43:28 +0100angerman(sid209936@ilkley.irccloud.com)
2021-11-11 15:43:38 +0100enemeth79(sid309041@lymington.irccloud.com)
2021-11-11 15:43:42 +0100 <geekosaur> int-e, might that be part of what's wrong with using v2-install? I would guess they mark lambdabot-trusted as trusted in the package database, but package databases are kinda weird in "nix-like" mode
2021-11-11 15:43:55 +0100jurjen(~jurjen@83.232.63.97) (Ping timeout: 256 seconds)
2021-11-11 15:44:07 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325)
2021-11-11 15:44:08 +0100gregberns__(sid315709@helmsley.irccloud.com)
2021-11-11 15:44:22 +0100elvishjerricco(sid237756@helmsley.irccloud.com)
2021-11-11 15:44:26 +0100hongminhee(sid295@tinside.irccloud.com)
2021-11-11 15:44:27 +0100bjs(sid190364@user/bjs)
2021-11-11 15:44:33 +0100 <sprout> technically, you can break a lot more than only the type system with unsafePerformIO
2021-11-11 15:44:36 +0100etrepum(sid763@uxbridge.irccloud.com)
2021-11-11 15:44:37 +0100aarchi(sid486183@uxbridge.irccloud.com)
2021-11-11 15:44:39 +0100obviyus(sid415299@user/obviyus)
2021-11-11 15:44:41 +0100SrPx(sid108780@uxbridge.irccloud.com)
2021-11-11 15:44:45 +0100tapas(sid467876@ilkley.irccloud.com)
2021-11-11 15:44:45 +0100carter(sid14827@helmsley.irccloud.com)
2021-11-11 15:44:51 +0100bw(sid2730@user/betawaffle)
2021-11-11 15:44:51 +0100hippoid(~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Quit: leaving)
2021-11-11 15:44:54 +0100 <int-e> geekosaur: Do package environments (which I believe substitute the v1- model of installed libraries) even carry trust information?
2021-11-11 15:44:57 +0100ephemient(uid407513@lymington.irccloud.com)
2021-11-11 15:44:58 +0100Pent(sid313808@lymington.irccloud.com)
2021-11-11 15:45:01 +0100hendi(sid489601@lymington.irccloud.com)
2021-11-11 15:45:10 +0100JSharp(sid4580@lymington.irccloud.com)
2021-11-11 15:45:34 +0100 <geekosaur> there is ghc-pkg trust <pkgid>
2021-11-11 15:45:41 +0100 <int-e> geekosaur: though, trust shouldn't be relevant because lambdabot overrides it anyway. but package visibility may be an issue
2021-11-11 15:45:57 +0100 <int-e> seeing ddb's precise error might yield some clues
2021-11-11 15:47:11 +0100hippoid(~idris@c-98-220-13-8.hsd1.il.comcast.net)
2021-11-11 15:48:56 +0100 <geekosaur> and no, I don't think pkgenv carries trust information, which is part of why v1-install would avoid it, it's not just faking package databases with package environments
2021-11-11 15:49:15 +0100 <geekosaur> v1-install still modifies package databases
2021-11-11 15:50:38 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net) (Ping timeout: 246 seconds)
2021-11-11 15:51:21 +0100mimmy(~mimmy@72.142.88.18)
2021-11-11 15:52:52 +0100Sgeo(~Sgeo@user/sgeo)
2021-11-11 15:53:05 +0100chomwitt(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds)
2021-11-11 15:53:52 +0100taktoa[c](sid282096@tinside.irccloud.com)
2021-11-11 15:54:03 +0100saolsen(sid26430@lymington.irccloud.com)
2021-11-11 15:54:41 +0100parseval(sid239098@helmsley.irccloud.com)
2021-11-11 15:55:17 +0100CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-11-11 15:56:11 +0100merijn(~merijn@sp10.openwifi.nl)
2021-11-11 16:02:31 +0100robosexual(~spaceoyst@88.85.216.62) (Quit: Konversation terminated!)
2021-11-11 16:03:02 +0100mark__(~a@p200300ef973db1dc4086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-11-11 16:03:24 +0100mark__(~a@p200300ef973db1b24086f0a6a24fc4dd.dip0.t-ipconnect.de)
2021-11-11 16:03:45 +0100betelgeuse(~betelgeus@94-225-47-8.access.telenet.be)
2021-11-11 16:04:49 +0100 <int-e> ah it appears that `hint` (and hence `mueval` and `lambdabot`) does pick up the default GHC environment, so with v2-install, cabal v2-install lambdabot hoogle misfortune mueval unlambda dice; cabal v2-install --lib lambdabot-trusted random mtl show seems to be sufficient to get things working...
2021-11-11 16:05:47 +0100mimmy(~mimmy@72.142.88.18) (Ping timeout: 264 seconds)
2021-11-11 16:05:57 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 250 seconds)
2021-11-11 16:09:29 +0100 <int-e> oh does the default environment override the package database? if so then that would explain quite a lot
2021-11-11 16:10:08 +0100 <int-e> And I guess it does. "clear-package-db"
2021-11-11 16:10:54 +0100 <int-e> So once you use v2-install at all, v1-install-ed libraries will no longer be picked up unless you set GHC_ENVIRONMENT=-
2021-11-11 16:10:57 +0100 <int-e> ...eww...
2021-11-11 16:14:10 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 260 seconds)
2021-11-11 16:14:50 +0100 <int-e> ddb: ^ I may have figured out what happened to your lambdabot installation attempt.
2021-11-11 16:16:07 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-11-11 16:17:44 +0100mimmy(~mimmy@72.142.88.18)
2021-11-11 16:19:01 +0100waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-11-11 16:20:55 +0100chomwitt(~chomwitt@athedsl-32204.home.otenet.gr)
2021-11-11 16:21:36 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 16:24:18 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-11-11 16:25:09 +0100waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3)
2021-11-11 16:26:32 +0100waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-11-11 16:27:35 +0100Guest42(~Guest42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2021-11-11 16:33:32 +0100 <geekosaur> mm, I wonder if that's actually true. it'd also lose base if it were
2021-11-11 16:34:01 +0100 <geekosaur> so I think it only clears the virtual(?) package db used by the package environment
2021-11-11 16:35:29 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2021-11-11 16:35:29 +0100hippoid(~idris@c-98-220-13-8.hsd1.il.comcast.net) (Read error: Connection reset by peer)
2021-11-11 16:56:31 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:f0a8:ffae:2a2b:16fd) (Quit: WeeChat 2.8)
2021-11-11 17:01:02 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-11-11 17:02:11 +0100merijn(~merijn@sp10.openwifi.nl) (Ping timeout: 264 seconds)
2021-11-11 17:02:13 +0100APic(apic@apic.name) (Quit: [TLS] Client upgrade)
2021-11-11 17:02:25 +0100APic(apic@apic.name)
2021-11-11 17:03:08 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-11-11 17:04:24 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net)
2021-11-11 17:09:20 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2021-11-11 17:11:11 +0100boxscape_(~boxscape_@134.171.69.87) (Ping timeout: 256 seconds)
2021-11-11 17:12:26 +0100frosch03(~user@2a02:c98:1003:8000:b7c6:b991:b9e3:a54c)
2021-11-11 17:14:14 +0100 <jlamothe> I'm in the process of writing a Gemini server framework (I'm aware of the gemini-server package). I'm using tcp-streams to handle the TLS stuff, but I needed a way to find out which client certificate (if any) is being used when a connection is opened. Is this approach reasonable, or the ugly hack I suspect it mogjt be? https://codeberg.org/jlamothe/gemserv/src/branch/master/src/Network/GemServ.hs#L181
2021-11-11 17:14:59 +0100 <jlamothe> The relevent functions are listenLoop and adjustServwrParams
2021-11-11 17:15:45 +0100 <jlamothe> might be* adjustServerParams*
2021-11-11 17:15:51 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314)
2021-11-11 17:16:04 +0100 <jlamothe> IRC over SSH on mobile is fun.
2021-11-11 17:16:17 +0100shidima(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl)
2021-11-11 17:17:26 +0100acidjnk_new3(~acidjnk@p200300d0c721b739c4928bd7ecc09c55.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-11-11 17:19:13 +0100subdelusional(~user@188.249.169.186)
2021-11-11 17:19:37 +0100 <subdelusional> hello, I have a list [1..10], how can I filter out all the even numbers from it? is there a function for that?
2021-11-11 17:20:22 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314) (Ping timeout: 268 seconds)
2021-11-11 17:20:25 +0100 <jlamothe> subdelusional: Have you looked at the filter function from Data.List?
2021-11-11 17:22:33 +0100edroedr
2021-11-11 17:27:05 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-11-11 17:28:09 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-11-11 17:30:18 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-11-11 17:37:10 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-11-11 17:38:46 +0100 <subdelusional> jlamothe: thanks man I was looking for this
2021-11-11 17:38:56 +0100mbuf(~Shakthi@223.184.52.200) (Quit: Leaving)
2021-11-11 17:39:58 +0100acidjnk_new3(~acidjnk@p200300d0c721b739c4928bd7ecc09c55.dip0.t-ipconnect.de)
2021-11-11 17:39:59 +0100 <c_wraith> jlamothe: that will obliterate any existing client certificate hook in params
2021-11-11 17:40:12 +0100 <c_wraith> jlamothe: that might cause you problems down the line
2021-11-11 17:40:21 +0100 <c_wraith> (probably not, but it could happen)
2021-11-11 17:41:30 +0100CiaoSen(~Jura@p5dcc1a24.dip0.t-ipconnect.de)
2021-11-11 17:43:43 +0100 <c_wraith> Oh, nevermind. You did handle that, just in a different spot than I expected.
2021-11-11 17:45:13 +0100 <c_wraith> though the `certhook chain` call should probably be moved out one level. It should really always happen if the hook is called.
2021-11-11 17:46:02 +0100 <c_wraith> fwiw...
2021-11-11 17:46:07 +0100 <c_wraith> :t print <> print
2021-11-11 17:46:09 +0100 <lambdabot> Show a => a -> IO ()
2021-11-11 17:46:48 +0100 <c_wraith> you don't need to call down the chain explicitly, you could just <> the handlers together
2021-11-11 17:47:18 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-11-11 17:48:28 +0100ec(~ec@gateway/tor-sasl/ec)
2021-11-11 17:53:13 +0100shidima_(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl)
2021-11-11 17:55:13 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-11-11 17:55:35 +0100shidima(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl) (Ping timeout: 246 seconds)
2021-11-11 17:56:51 +0100alzgh(~alzgh@user/alzgh)
2021-11-11 17:58:01 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-11-11 17:58:13 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-11-11 17:59:38 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 260 seconds)
2021-11-11 17:59:51 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314)
2021-11-11 18:01:45 +0100subdelusional(~user@188.249.169.186) (Remote host closed the connection)
2021-11-11 18:03:22 +0100rkrishnan(~user@122.167.19.65) (Ping timeout: 260 seconds)
2021-11-11 18:03:25 +0100 <jlamothe> c_wraith: It does call tje original hook at the end.
2021-11-11 18:04:43 +0100 <c_wraith> jlamothe: only if the chain is non-empty
2021-11-11 18:09:58 +0100jkachmar(~jkachmar@2001:470:69fc:105::c72d)
2021-11-11 18:11:57 +0100frosch03(~user@2a02:c98:1003:8000:b7c6:b991:b9e3:a54c) (Quit: ERC (IRC client for Emacs 27.2))
2021-11-11 18:12:00 +0100peight(~peight@198.35.131.77.rev.sfr.net) (Leaving)
2021-11-11 18:12:23 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 256 seconds)
2021-11-11 18:13:53 +0100whatsupdoc(uid509081@hampstead.irccloud.com)
2021-11-11 18:14:39 +0100waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-11-11 18:15:05 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-11-11 18:16:31 +0100jkachmar(~jkachmar@2001:470:69fc:105::c72d) (Quit: Reconnecting)
2021-11-11 18:16:45 +0100jkachmar(~jkachmar@2001:470:69fc:105::c72d)
2021-11-11 18:18:36 +0100lbseale(~lbseale@user/ep1ctetus)
2021-11-11 18:18:38 +0100econo(uid147250@user/econo)
2021-11-11 18:18:54 +0100alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-11-11 18:19:14 +0100alzgh(~alzgh@user/alzgh)
2021-11-11 18:24:17 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-11-11 18:28:30 +0100bontaq`(~user@ool-45779fe5.dyn.optonline.net)
2021-11-11 18:28:42 +0100bontaq`bontaq
2021-11-11 18:30:05 +0100lavaman(~lavaman@98.38.249.169)
2021-11-11 18:32:10 +0100neurocyte0132889(~neurocyte@45.131.36.189)
2021-11-11 18:32:10 +0100neurocyte0132889(~neurocyte@45.131.36.189) (Changing host)
2021-11-11 18:32:10 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-11-11 18:34:59 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-11-11 18:36:16 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 18:37:53 +0100mimmy(~mimmy@72.142.88.18) (Ping timeout: 256 seconds)
2021-11-11 18:41:05 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net) (Ping timeout: 250 seconds)
2021-11-11 18:43:23 +0100jespada(~jespada@148.252.129.184)
2021-11-11 18:44:38 +0100jespada(~jespada@148.252.129.184) (Read error: Connection reset by peer)
2021-11-11 18:45:17 +0100alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-11-11 18:45:29 +0100jespada(~jespada@181.80.79.251)
2021-11-11 18:45:38 +0100alzgh(~alzgh@user/alzgh)
2021-11-11 18:48:02 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-11-11 18:48:23 +0100Teacup(~teacup@user/teacup) (Ping timeout: 264 seconds)
2021-11-11 18:49:35 +0100mimmy(~mimmy@72.142.88.18)
2021-11-11 18:50:02 +0100jespada(~jespada@181.80.79.251) (Ping timeout: 260 seconds)
2021-11-11 18:54:52 +0100Teacup(~teacup@user/teacup)
2021-11-11 18:57:45 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 18:59:59 +0100johnjay(~pi@192.142.100.50) (Ping timeout: 256 seconds)
2021-11-11 19:02:17 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-11-11 19:02:43 +0100ec(~ec@gateway/tor-sasl/ec)
2021-11-11 19:02:44 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-11-11 19:05:12 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-11-11 19:09:42 +0100johnjay(~pi@192.142.100.50)
2021-11-11 19:14:54 +0100shidima_(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2021-11-11 19:15:12 +0100shidima_(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl)
2021-11-11 19:16:02 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds)
2021-11-11 19:20:37 +0100beka(~beka@104.193.170.240)
2021-11-11 19:22:06 +0100notzmv(~zmv@user/notzmv)
2021-11-11 19:28:29 +0100beka(~beka@104.193.170.240) (Quit: Leaving)
2021-11-11 19:31:21 +0100johnjay(~pi@192.142.100.50) (Ping timeout: 245 seconds)
2021-11-11 19:31:46 +0100gaff(~gaff@49.207.205.240)
2021-11-11 19:31:53 +0100gaff(~gaff@49.207.205.240) (Client Quit)
2021-11-11 19:31:55 +0100chele(~chele@user/chele) (Remote host closed the connection)
2021-11-11 19:32:02 +0100dagi53949(~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Ping timeout: 268 seconds)
2021-11-11 19:32:20 +0100lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
2021-11-11 19:33:14 +0100dagit(~dagit@2001:558:6025:38:6476:a063:d05a:44da)
2021-11-11 19:33:23 +0100dagit(~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Remote host closed the connection)
2021-11-11 19:35:27 +0100dagit(~dagit@2001:558:6025:38:6476:a063:d05a:44da)
2021-11-11 19:37:23 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 256 seconds)
2021-11-11 19:38:11 +0100desantra(~skykanin@user/skykanin)
2021-11-11 19:38:20 +0100zincy_(~zincy@host86-181-60-139.range86-181.btcentralplus.com)
2021-11-11 19:42:01 +0100bitmapper(uid464869@lymington.irccloud.com)
2021-11-11 19:47:06 +0100alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-11-11 19:47:25 +0100alzgh(~alzgh@user/alzgh)
2021-11-11 19:48:09 +0100johnjay(~pi@192.142.100.50)
2021-11-11 19:49:37 +0100drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Ping timeout: 268 seconds)
2021-11-11 19:51:08 +0100drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-11-11 19:51:34 +0100tfeb(~tfb@88.98.95.237)
2021-11-11 19:53:49 +0100CiaoSen(~Jura@p5dcc1a24.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2021-11-11 19:59:16 +0100johnjay(~pi@192.142.100.50) (Remote host closed the connection)
2021-11-11 20:03:51 +0100lavaman(~lavaman@98.38.249.169)
2021-11-11 20:06:12 +0100tfeb(~tfb@88.98.95.237) (Quit: died)
2021-11-11 20:06:42 +0100zincy_(~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
2021-11-11 20:07:59 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-11-11 20:16:47 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-11-11 20:20:32 +0100zincy_(~zincy@host86-181-60-139.range86-181.btcentralplus.com)
2021-11-11 20:23:14 +0100shidima_(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2021-11-11 20:23:19 +0100shidima__(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl)
2021-11-11 20:29:41 +0100ec(~ec@gateway/tor-sasl/ec)
2021-11-11 20:31:21 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-11-11 20:32:11 +0100yinzzz
2021-11-11 20:32:44 +0100img(~img@user/img)
2021-11-11 20:36:13 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314) (Remote host closed the connection)
2021-11-11 20:36:28 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:c075:f6f7:f2c7:7314)
2021-11-11 20:41:25 +0100danso(~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.3)
2021-11-11 20:45:23 +0100aliosablack(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374)
2021-11-11 20:45:50 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-11-11 20:45:50 +0100chomwitt(~chomwitt@athedsl-32204.home.otenet.gr) (Read error: Connection reset by peer)
2021-11-11 20:46:05 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 20:51:03 +0100 <koz> I'm trying to write a newtype wrapper for lists, whose goal is to define an Arbitrary instance generating lists whose size is no more than some constant n.
2021-11-11 20:51:08 +0100 <koz> How would I write this in a sensible way?
2021-11-11 20:51:10 +0100fendor(~fendor@77.119.192.182.wireless.dyn.drei.com)
2021-11-11 20:55:38 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-11-11 20:55:38 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Read error: Connection reset by peer)
2021-11-11 20:57:02 +0100 <tomsmeding> koz: is that constant actually compile-time constant?
2021-11-11 20:57:50 +0100 <tomsmeding> newtype ConstSizeList a = ConstSizeList [a] ; instance Arbitrary a => Arbitrary (ConstSizeList a) where arbitrary = ConstSizeList <$> replicateM n arbitrary
2021-11-11 20:57:55 +0100 <tomsmeding> from Control.Monad
2021-11-11 20:58:29 +0100 <koz> tomsmeding: That's _already_ wrong, because it ignores the size parameter.
2021-11-11 20:58:44 +0100 <koz> Also, this will _always_ give lists of length n, whereas I need _up to_ n.
2021-11-11 20:58:47 +0100 <tomsmeding> ah
2021-11-11 20:58:54 +0100 <koz> There's a reason why I'm asking: QuickCheck is a delicate beast.
2021-11-11 20:59:03 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2021-11-11 20:59:05 +0100alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-11-11 20:59:13 +0100 <koz> I'll try cribbing off the list instance maybe.
2021-11-11 20:59:15 +0100alzgh(~alzgh@user/alzgh)
2021-11-11 20:59:27 +0100 <tomsmeding> does it ignore the size parameter though?
2021-11-11 20:59:34 +0100 <tomsmeding> I concede it always generates size n
2021-11-11 21:00:08 +0100 <tomsmeding> but the elements will inherit the size parameter
2021-11-11 21:00:09 +0100 <koz> Yes, it _must_ ignore it.
2021-11-11 21:00:18 +0100 <koz> Because the size _must_ affect the length too, and here it won't.
2021-11-11 21:00:29 +0100 <koz> Simply-put, if it were that simple, I wouldn't be asking.
2021-11-11 21:00:32 +0100 <hpc> you can probably use an arbitrary Int (constrained appropriately) for the list length
2021-11-11 21:00:40 +0100 <koz> I guess that _might_ work.
2021-11-11 21:00:48 +0100 <koz> Again, I'll crib off the [] instance.
2021-11-11 21:00:54 +0100 <koz> Since it has to determine length _somehow_.
2021-11-11 21:01:15 +0100 <koz> Yep, it does exactly what hpc says.
2021-11-11 21:01:24 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2021-11-11 21:01:28 +0100 <koz> It uses the size directly to determine length, then fills it.
2021-11-11 21:01:29 +0100jle`(~jle`@2603-8001-3b02-84d4-0000-0000-0000-025d.res6.spectrum.com)
2021-11-11 21:01:29 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Remote host closed the connection)
2021-11-11 21:01:37 +0100 <koz> So for a capped size, I guess scaling?
2021-11-11 21:01:48 +0100ec(~ec@gateway/tor-sasl/ec)
2021-11-11 21:01:52 +0100 <koz> I could do like, max size n I guess.
2021-11-11 21:02:00 +0100 <koz> So large sizes just always produce bigger lists.
2021-11-11 21:02:04 +0100 <koz> That's simpler.
2021-11-11 21:02:15 +0100 <koz> (this is how listOf1 works)
2021-11-11 21:02:30 +0100zincy_(~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Remote host closed the connection)
2021-11-11 21:03:50 +0100kenran(~kenran@200116b82b539f00f3f309ebb0e24d35.dip.versatel-1u1.de)
2021-11-11 21:04:16 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-11-11 21:05:13 +0100juhp(~juhp@128.106.188.220) (Ping timeout: 256 seconds)
2021-11-11 21:05:26 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65)
2021-11-11 21:07:21 +0100 <dsal> You just feed `choose (1,n)` into `listOf`
2021-11-11 21:08:13 +0100 <koz> dsal: Yeah, I figured that out now. Thanks.
2021-11-11 21:08:30 +0100juhp(~juhp@128.106.188.220)
2021-11-11 21:09:47 +0100DNH(~DNH@8.44.0.72) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-11-11 21:09:57 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Remote host closed the connection)
2021-11-11 21:10:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-11-11 21:11:32 +0100DNH(~DNH@8.44.0.72)
2021-11-11 21:11:45 +0100gg(~gg@2a01:e0a:819:1510:4c29:c873:f42e:2b2) (Remote host closed the connection)
2021-11-11 21:13:28 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl) (Read error: Connection reset by peer)
2021-11-11 21:14:22 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65)
2021-11-11 21:15:19 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 21:15:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-11-11 21:16:07 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-11-11 21:16:16 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-11-11 21:19:36 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl) (Read error: Connection reset by peer)
2021-11-11 21:20:28 +0100teddyc(theodorc@cassarossa.samfundet.no) (Ping timeout: 260 seconds)
2021-11-11 21:20:36 +0100johnny_sitar(~artur@078088015209.bialystok.vectranet.pl)
2021-11-11 21:22:02 +0100desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.3)
2021-11-11 21:22:14 +0100Topsi1(~Tobias@2001:638:708:1a::3f)
2021-11-11 21:22:45 +0100Topsi2(~Tobias@dyndsl-091-249-082-100.ewe-ip-backbone.de)
2021-11-11 21:22:45 +0100Topsi1(~Tobias@2001:638:708:1a::3f) (Read error: Connection reset by peer)
2021-11-11 21:22:51 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net)
2021-11-11 21:23:34 +0100Topsi(~Tobias@dyndsl-091-249-082-100.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2021-11-11 21:24:19 +0100 <mark__> The core dump of "x :: Num a => Maybe a; x = Just 42" looks like this: "x = \ @ a_aaUF $dNum_aaUH -> Just (fromInteger $dNum_aaUH 42)". Why is there an additional argument befor ethe dictionary. It's not even used in the body?
2021-11-11 21:24:31 +0100desantra(~skykanin@user/skykanin)
2021-11-11 21:24:53 +0100ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com) (Remote host closed the connection)
2021-11-11 21:24:56 +0100 <tomjaguarpaw> That's a type argument
2021-11-11 21:25:22 +0100 <mark__> So the $dNum has to match the type arg?
2021-11-11 21:25:34 +0100 <tomjaguarpaw> Yes, I'm not sure why it doesn't appear there
2021-11-11 21:25:50 +0100 <tomjaguarpaw> But apparently it doesn't
2021-11-11 21:26:06 +0100 <tomjaguarpaw> If you can see where $dNum_aaUH is created then maybe a_aaUF features there
2021-11-11 21:26:14 +0100 <tomjaguarpaw> Oh, no because it's bound right there
2021-11-11 21:26:24 +0100 <tomsmeding> % :set -fprint-explicit-foralls
2021-11-11 21:26:24 +0100 <yahb> tomsmeding:
2021-11-11 21:26:24 +0100 <mark__> Yes this is the binding site.
2021-11-11 21:26:26 +0100 <tomjaguarpaw> Yeah I'm not sure exactly how that all fits together.
2021-11-11 21:26:27 +0100 <tomsmeding> % f :: Num a => Maybe a ; f = Just 42
2021-11-11 21:26:27 +0100 <yahb> tomsmeding:
2021-11-11 21:26:29 +0100 <tomsmeding> % :t f
2021-11-11 21:26:29 +0100 <yahb> tomsmeding: forall {a}. Num a => Maybe a
2021-11-11 21:27:08 +0100 <tomsmeding> note that that first argument, a_aaUF, is tagged with a @
2021-11-11 21:27:11 +0100yauhsien(~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2021-11-11 21:27:30 +0100 <tomsmeding> I don't know for sure, but I would be surprised if that doesn't mean "this is a type argument" a la TypeApplications
2021-11-11 21:28:18 +0100 <geekosaur> I believe it does, and that's in fact where TypeApplications syntax came from
2021-11-11 21:28:21 +0100 <mark__> Like a capital lambda?
2021-11-11 21:28:29 +0100 <monochrom> I bet you suppressed type annotations in the dump.
2021-11-11 21:28:34 +0100 <tomsmeding> $dNum_aaUH isn't a polymorphic thing, right? it's a dictionary for this one particular type
2021-11-11 21:28:47 +0100 <tomsmeding> so there's no forall in its type, so no reason to apply anything to a_aaUF
2021-11-11 21:28:52 +0100 <mark__> monochrom: Yes I did suppress all.
2021-11-11 21:28:55 +0100ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com)
2021-11-11 21:28:56 +0100 <monochrom> Because the full version is x = \ (@ a_aAT) ($dNum_aAV :: Num a_aAT) -> GHC.Maybe.Just @ a_aAT (fromInteger @ a_aAT $dNum_aAV N.x1)
2021-11-11 21:29:08 +0100 <monochrom> See how a_aAT is all over the place.
2021-11-11 21:29:09 +0100 <tomjaguarpaw> Ah that makes more sense
2021-11-11 21:29:12 +0100 <tomsmeding> heh
2021-11-11 21:29:38 +0100 <mark__> I thought it would be more readable but then it doesn't tell the whole story.
2021-11-11 21:29:41 +0100 <tomsmeding> my remark about $dNum not needing the type argument is still valid though *phew*
2021-11-11 21:30:00 +0100 <monochrom> Also, clearly, the type argument is useless except in type annotations. See also System F.
2021-11-11 21:31:21 +0100 <tomjaguarpaw> c
2021-11-11 21:31:38 +0100jgeerds(~jgeerds@55d41b94.access.ecotel.net)
2021-11-11 21:32:48 +0100 <maerwald> what do you think about a GHC plugin that applies a function with flipped argument when you write it backwards, such as `pamf`
2021-11-11 21:33:12 +0100 <tomjaguarpaw> I think it would be taerg
2021-11-11 21:33:20 +0100 <geekosaur> sounds like a type fest waiting to happen
2021-11-11 21:33:26 +0100 <geekosaur> *typo fest
2021-11-11 21:33:47 +0100 <maerwald> of course you rais ambiguity errors when the same thing is in scope
2021-11-11 21:33:57 +0100 <maerwald> although silently shadowing could be fun
2021-11-11 21:34:04 +0100 <monochrom> Let's take it one step further.
2021-11-11 21:34:21 +0100deadmarshal(~deadmarsh@95.38.228.177)
2021-11-11 21:34:23 +0100 <tomsmeding> what about (>>)
2021-11-11 21:34:31 +0100 <monochrom> Suppose I have "abcd :: A -> B -> C -> D -> Z".
2021-11-11 21:34:32 +0100 <geekosaur> it already is
2021-11-11 21:34:53 +0100 <monochrom> Then acbd :: A -> C -> B -> D -> Z.
2021-11-11 21:35:45 +0100 <maerwald> That migh work if camelcase is an index for the type position
2021-11-11 21:35:50 +0100 <tomsmeding> unclear what to do with famp though
2021-11-11 21:36:24 +0100shidima__(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2021-11-11 21:36:39 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Remote host closed the connection)
2021-11-11 21:36:51 +0100 <maerwald> soGreatIsThat :: A -> B -> C -> D
2021-11-11 21:36:51 +0100 <tomsmeding> alternative: `fmap` is the normal thing, ´fmap´ is the flipped version
2021-11-11 21:36:58 +0100 <maerwald> thatIsSoGreat :: D -> C -> A -> B
2021-11-11 21:37:18 +0100 <tomsmeding> (U+00B4 ACUTE ACCENT)
2021-11-11 21:39:28 +0100 <koz> If I have a type Foo a which is a wrapper around [a] ensuring a limit on the length of [a], can I derive its Function instance via the underlying [a], or will this cause trouble>
2021-11-11 21:39:31 +0100 <koz> ?*
2021-11-11 21:39:31 +0100 <lambdabot> Maybe you meant: v @ ? .
2021-11-11 21:39:32 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65)
2021-11-11 21:39:42 +0100 <koz> By which I mean this Function here: https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/Test-QuickCheck-Function.html
2021-11-11 21:40:00 +0100 <monochrom> Function? Functor?
2021-11-11 21:40:14 +0100 <koz> monochrom: See my link - it's a QuickCheck thing.
2021-11-11 21:40:28 +0100 <koz> I've read the paper about Function and how it works and don't have a good answer to this question.
2021-11-11 21:41:09 +0100DNH(~DNH@8.44.0.72) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-11-11 21:43:46 +0100v01d4lph4(~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer)
2021-11-11 21:43:47 +0100 <tomsmeding> not sure, but this is public API: https://hackage.haskell.org/package/QuickCheck-2.14/docs/Test-QuickCheck-Function.html#v:functionMap
2021-11-11 21:44:02 +0100shidima(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl)
2021-11-11 21:44:02 +0100aliosablack(~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer)
2021-11-11 21:44:14 +0100 <tomsmeding> though that doesn't answer the question because what to put in the [a] -> Foo a thing
2021-11-11 21:44:21 +0100 <koz> That's exactly my issue.
2021-11-11 21:44:33 +0100 <koz> I _can_ crib a translation; I have no idea if it makes any sense or not.
2021-11-11 21:48:05 +0100Pickchea(~private@user/pickchea)
2021-11-11 21:49:15 +0100 <koz> I think they all project into Either, and then use that to label the different kinds of case, but I'm not sure how this works in my case.
2021-11-11 21:49:31 +0100 <koz> Bool and Ordering both do this, and what I have can be thought of as a (very large) sum.
2021-11-11 21:50:12 +0100 <tomsmeding> hm, that should be valid: it _is_ a very large sum, after all
2021-11-11 21:50:26 +0100 <koz> Yeah, the big question is _how_ to do this projection.
2021-11-11 21:50:49 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-11-11 21:51:59 +0100 <tomsmeding> if you know how to deal with large sums up to n long, then you can deal with large sums up to n+1 long with a single Either
2021-11-11 21:52:05 +0100 <tomsmeding> that's also what the [] instance seems to do
2021-11-11 21:52:28 +0100DNH(~DNH@8.43.122.53)
2021-11-11 21:52:36 +0100 <koz> Well, the smallest is where the limit is 0, since the only valid value is [].
2021-11-11 21:52:47 +0100 <koz> I'm not sure how to phrase the recursion properly here.
2021-11-11 21:52:58 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-11-11 21:53:21 +0100 <tomsmeding> you can deal with sums up to 0 long by mapping into the type (), right?
2021-11-11 21:53:27 +0100 <koz> Yes.
2021-11-11 21:53:38 +0100 <koz> I get the idea - I'm not sure how to spell it.
2021-11-11 21:53:40 +0100 <tomsmeding> ah, but the length is not a type index
2021-11-11 21:53:44 +0100 <koz> Correct.
2021-11-11 21:53:45 +0100 <tomsmeding> if it was, this could work
2021-11-11 21:53:52 +0100 <koz> I mean, I actually _can_ have a type index.
2021-11-11 21:53:58 +0100 <koz> So it'd be Foo n a.
2021-11-11 21:54:13 +0100 <koz> So then I write 'Function (Foo 0 a)', and then the recursive step?
2021-11-11 21:54:25 +0100 <koz> OK, thanks, that did it!
2021-11-11 21:54:34 +0100 <tomsmeding> if you have a type index, then 'instance Function (Foo 0 a) where function = functionMap (\(Foo []) -> ()) (\() -> Foo [])'
2021-11-11 21:54:49 +0100 <tomsmeding> and yeah, what you just figured out probably :p
2021-11-11 21:55:02 +0100sprout_(~quassel@2a02:a467:ccd6:1:9825:20f3:f69:55d5)
2021-11-11 21:55:23 +0100 <koz> Then you have (Function (Foo n a)) => Function (Foo (n + 1) a)
2021-11-11 21:55:33 +0100 <koz> (or 1 + n I guess.
2021-11-11 21:55:34 +0100 <koz> )
2021-11-11 21:55:38 +0100 <tomsmeding> I wonder whether the fact that this works with the (phantom) type index, implies that it would also work without the type index
2021-11-11 21:55:54 +0100 <koz> Probably.
2021-11-11 21:55:58 +0100 <tomsmeding> i.e. the stupid thing where you error on getting a Right in the second function for []
2021-11-11 21:55:58 +0100 <koz> It's just much more partial I think.
2021-11-11 21:56:22 +0100 <tomsmeding> but this is better!
2021-11-11 21:57:12 +0100 <tomsmeding> or hm, perhaps not, because the point of Function is that everything is made inspectable; so who knows whether some logic sees "hey I can Either here, so let's put a Right in it!"
2021-11-11 21:58:29 +0100sprout(~quassel@2a02:a467:ccd6:1:5c59:2f73:735:a325) (Ping timeout: 268 seconds)
2021-11-11 22:05:45 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-11-11 22:08:58 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-11-11 22:09:03 +0100unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2021-11-11 22:11:50 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-11-11 22:13:54 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
2021-11-11 22:26:49 +0100shidima(~shidima@84-104-108-90.cable.dynamic.v4.ziggo.nl) (Ping timeout: 256 seconds)
2021-11-11 22:26:51 +0100fresheyeball(~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net)
2021-11-11 22:30:38 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-11-11 22:34:09 +0100aegon(~mike@174.127.249.180)
2021-11-11 22:36:18 +0100zebrag(~chris@user/zebrag)
2021-11-11 22:36:43 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-11-11 22:37:18 +0100michalz(~michalz@185.246.204.37)
2021-11-11 22:37:42 +0100michalz(~michalz@185.246.204.37) (Remote host closed the connection)
2021-11-11 22:38:02 +0100michalz(~michalz@185.246.204.62)
2021-11-11 22:40:46 +0100zer0bitz_(~zer0bitz@2001:2003:f6e3:7400:d4e2:b355:67fe:933c)
2021-11-11 22:41:27 +0100mestre(~mestre@191.177.175.57)
2021-11-11 22:43:17 +0100Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-11-11 22:43:30 +0100zer0bitz(~zer0bitz@2001:2003:f6e3:7400:9c57:4715:1ac5:a700) (Ping timeout: 268 seconds)
2021-11-11 22:45:04 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-11-11 22:45:19 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-11-11 22:45:40 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-11-11 22:48:30 +0100jkaye(~jkaye@2601:281:8300:7530:abba:ebaf:fffa:714f)
2021-11-11 22:52:29 +0100michalz(~michalz@185.246.204.62) (Remote host closed the connection)
2021-11-11 22:53:31 +0100kenran(~kenran@200116b82b539f00f3f309ebb0e24d35.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-11-11 22:55:33 +0100jmorris(uid433911@hampstead.irccloud.com)
2021-11-11 23:00:48 +0100 <maerwald> do forM and forM_ have some significant laziness differences? I'm experiencing odd behavior
2021-11-11 23:01:19 +0100quintasan(~quassel@quintasan.pl) (Quit: quintasan)
2021-11-11 23:01:23 +0100mouseghost(~draco@user/mouseghost) (Quit: mew wew)
2021-11-11 23:02:09 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-11-11 23:02:14 +0100quintasan(~quassel@quintasan.pl)
2021-11-11 23:03:00 +0100mestre(~mestre@191.177.175.57) (Quit: Lost terminal)
2021-11-11 23:03:49 +0100 <maerwald> `void $ forM [1,2] $ \i -> putStrLn (show i) >> throwSomeError Foo` runs both loops and then errors, while `forM_` will only run the first iteration
2021-11-11 23:04:47 +0100deadmarshal(~deadmarsh@95.38.228.177) (Ping timeout: 256 seconds)
2021-11-11 23:05:18 +0100zincy_(~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Remote host closed the connection)
2021-11-11 23:05:27 +0100deadmarshal(~deadmarsh@95.38.228.222)
2021-11-11 23:05:45 +0100desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.3)
2021-11-11 23:06:40 +0100mrckndt3(~mrckndt@user/mrckndt)
2021-11-11 23:08:58 +0100mrckndt(~mrckndt@user/mrckndt) (Ping timeout: 260 seconds)
2021-11-11 23:08:58 +0100mrckndt3mrckndt
2021-11-11 23:09:51 +0100zer0bitz_(~zer0bitz@2001:2003:f6e3:7400:d4e2:b355:67fe:933c) (Read error: Connection reset by peer)
2021-11-11 23:12:10 +0100 <monochrom> I can't reproduce that. Unless I misunderstand "throwSomeError". WTH is it anyway?
2021-11-11 23:12:28 +0100falafel(~falafel@2603-8000-d800-688c-2092-0e6f-020e-f136.res6.spectrum.com)
2021-11-11 23:14:05 +0100 <maerwald> yeah, it's not ExceptT
2021-11-11 23:14:14 +0100 <maerwald> but similar, I'm trying to create a minimal reproducer
2021-11-11 23:14:30 +0100 <monochrom> I used ioError (userError "hi") very simply.
2021-11-11 23:16:30 +0100 <maerwald> ok, reproduced
2021-11-11 23:16:32 +0100 <maerwald> wow
2021-11-11 23:16:37 +0100 <maerwald> this is scary
2021-11-11 23:17:43 +0100 <maerwald> https://github.com/hasufell/except-bug/blob/master/app/Main.hs
2021-11-11 23:18:03 +0100 <maerwald> this print 1, 2, 1 to stdout
2021-11-11 23:19:03 +0100 <maerwald> the forM version runs both
2021-11-11 23:21:13 +0100deadmarshal(~deadmarsh@95.38.228.222) (Ping timeout: 256 seconds)
2021-11-11 23:23:29 +0100[Kalisto](~nico@user/kalisto/x-8968079) (Ping timeout: 256 seconds)
2021-11-11 23:23:48 +0100falafel_(~falafel@2603-8000-d800-688c-2092-0e6f-020e-f136.res6.spectrum.com)
2021-11-11 23:24:14 +0100pavonia(~user@user/siracusa)
2021-11-11 23:25:37 +0100cosimone(~user@93-44-184-239.ip98.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
2021-11-11 23:27:04 +0100 <dolio> I'm going to bet on the library you're using that uses unsafeCoerce to implement Either being at fault. :þ
2021-11-11 23:27:23 +0100falafel(~falafel@2603-8000-d800-688c-2092-0e6f-020e-f136.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-11-11 23:28:00 +0100 <ddb> int-e: O RLY? lay it on me
2021-11-11 23:28:02 +0100 <maerwald> I don't see unsafeCoerce there
2021-11-11 23:28:58 +0100 <dolio> It's in the code for variants.
2021-11-11 23:29:29 +0100 <maerwald> dolio: https://hackage.haskell.org/package/haskus-utils-variant-3.2/docs/src/Haskus.Utils.Variant.html#to…
2021-11-11 23:29:32 +0100 <maerwald> at there
2021-11-11 23:29:44 +0100 <maerwald> but what's going on here
2021-11-11 23:29:48 +0100 <dolio> The unsafeCoerce isn't the likely problem. It's probably the accompanying manual arithmetic for figuring out which number is left vs. right.
2021-11-11 23:30:35 +0100 <dolio> And somehow the first iteration of the loop, it thinks your error isn't actually an error or something.
2021-11-11 23:31:21 +0100 <dolio> I guess it could be a lot of different things, really. (>>) vs. (>>=).
2021-11-11 23:32:31 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 260 seconds)
2021-11-11 23:33:44 +0100 <int-e> ddb: check the context... the upshot is that v2-install (which you used) creates an environment for ghc and that will hide any libraries installed by v1-install by default
2021-11-11 23:33:45 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee)
2021-11-11 23:37:13 +0100 <sclv> what's the most convenient way to get "the underlying bytes of an Int as a ByteString" and to go back? i can see a bunch of options here...
2021-11-11 23:37:35 +0100 <sclv> honestly makes more sense on an Integer, so lets say that instead
2021-11-11 23:38:12 +0100 <sclv> like we can think of an Integer as encoding a sequence of bytes in a natural way, and it would be good to have access to that, conceptually, even if representationwise its not exactly the same thing
2021-11-11 23:38:39 +0100 <maerwald> dolio: if you figure it out, please comment here https://github.com/haskus/packages/issues/39
2021-11-11 23:39:19 +0100 <monochrom> I have narrowed it down to >> (which forM_ uses) vs <*>/liftA2 (which forM uses).
2021-11-11 23:39:40 +0100 <maerwald> so the applicative instance?
2021-11-11 23:39:51 +0100 <monochrom> Perhaps.
2021-11-11 23:40:03 +0100 <dolio> I'm probably not going to look long enough to find it. The arithmetic seems like the most likely candidate unless one of the instances is just wrong.
2021-11-11 23:40:44 +0100 <maerwald> https://hackage.haskell.org/package/haskus-utils-variant-3.2/docs/src/Haskus.Utils.Variant.Excepts…
2021-11-11 23:40:57 +0100 <dolio> The instances are pretty boring, though.
2021-11-11 23:41:00 +0100[Kalisto](~nico@user/kalisto/x-8968079)
2021-11-11 23:42:19 +0100 <dolio> maerwald: It might be interesting to come up with a test that does something after the error.
2021-11-11 23:42:34 +0100 <dolio> Maybe you can get it to unsafe coerce you a value.
2021-11-11 23:43:19 +0100 <ddb> int-e: Heyo! Thank you. Now I guess I need to download/patch djinn and it'll be fixed eh? Is there a reason that djinn hasn't been updated since 2014?
2021-11-11 23:43:35 +0100 <jkaye> sclv, https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/Data-ByteString-Builder.html ?
2021-11-11 23:43:58 +0100 <jkaye> Lots of functions there to go from various numeric types into a ByteString Biulder
2021-11-11 23:44:00 +0100 <dolio> Oh wait.
2021-11-11 23:44:02 +0100 <jkaye> Builder**
2021-11-11 23:44:16 +0100 <dolio> maerwald: Are you sure this isn't like 'Validation' or whatever?
2021-11-11 23:44:38 +0100 <sclv> jkaye: oh that's not bad for the encoding side, not sure what to do for the decoding side
2021-11-11 23:44:41 +0100 <dolio> I think it might be that.
2021-11-11 23:44:54 +0100 <sclv> i.e. Bytestring -> Integer
2021-11-11 23:45:06 +0100 <sclv> its not too hard to hand roll, just I'd think it might be lying around
2021-11-11 23:45:22 +0100 <dolio> (<*>) runs both things and aggregates the errors. (>>=) can't do that, and (*>) and (>>) are implemented in terms of (>>=).
2021-11-11 23:45:26 +0100 <maerwald> dolio: Excepts is an open sum type in the error
2021-11-11 23:45:54 +0100 <dolio> Well, look at that (<*>) definition.
2021-11-11 23:46:07 +0100 <maerwald> yeah
2021-11-11 23:46:17 +0100 <dolio> It doesn't care if the first thing fails.
2021-11-11 23:46:28 +0100 <monochrom> Ah.
2021-11-11 23:46:52 +0100 <dolio> I guess it's the worst of both Validation and Either. :)
2021-11-11 23:47:07 +0100 <dolio> Only one error, but no short circuiting. :)
2021-11-11 23:47:35 +0100 <jkaye> sclv, is it possible to choose an encoding scheme to do this for you, or is it a requirement that you do it directly?
2021-11-11 23:47:50 +0100 <monochrom> Well, one of <*>, >>= is broken because they differ.
2021-11-11 23:47:58 +0100 <jkaye> For example (silly example, but still) aeson would do this for you using json as the encoding
2021-11-11 23:48:04 +0100 <sclv> jkaye: i'm just trying to look at the most straightforward way to do this, pulling in as few libs as possible :-)
2021-11-11 23:48:14 +0100 <jkaye> Ah okay, so looking for minimal deps
2021-11-11 23:48:18 +0100 <jkaye> Makes sense
2021-11-11 23:48:25 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2021-11-11 23:48:52 +0100 <sclv> guess i'll just write my own for now. thanks for the pointer!
2021-11-11 23:51:10 +0100 <jkaye> Yeah I think the issue with that being available in base (generically) is that a ByteString can't really be guaranteed to be an Int (or anything else)
2021-11-11 23:51:19 +0100 <jkaye> Someone else might know more about this stuff
2021-11-11 23:56:09 +0100 <maerwald> dolio: yep... I fixed the instances and now it works
2021-11-11 23:56:12 +0100 <maerwald> monochrom: good catch
2021-11-11 23:56:36 +0100 <maerwald> just looked at the ExceptT applicative instance, which just does explicit pattern matching
2021-11-11 23:57:07 +0100 <maerwald> maybe because it looked less elegant, they tried to make it shorter
2021-11-11 23:58:22 +0100 <monochrom> IMO "(<*>) = Control.Monad.ap" is the most elegant and the safest and the least work, too.