2023/04/14

2023-04-14 00:00:17 +0200mechap(~mechap@user/mechap)
2023-04-14 00:00:23 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-04-14 00:01:22 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-04-14 00:01:27 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-04-14 00:06:58 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au)
2023-04-14 00:08:27 +0200kaskal(~kaskal@089144220250.atnat0029.highway.webapn.at) (Ping timeout: 255 seconds)
2023-04-14 00:12:05 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 265 seconds)
2023-04-14 00:12:28 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-04-14 00:18:44 +0200NiceBird(~NiceBird@185.133.111.196) (Ping timeout: 252 seconds)
2023-04-14 00:22:58 +0200kaskal(~kaskal@089144220250.atnat0029.highway.webapn.at)
2023-04-14 00:30:23 +0200hochata(~user@user/hochata)
2023-04-14 00:31:59 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-04-14 00:34:33 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-04-14 00:35:05 +0200kaskal(~kaskal@089144220250.atnat0029.highway.webapn.at) (Ping timeout: 240 seconds)
2023-04-14 00:35:25 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 00:38:56 +0200gurkenglas(~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de)
2023-04-14 00:41:18 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 00:41:25 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 00:43:25 +0200foul_owl(~kerry@157.97.134.62) (Ping timeout: 250 seconds)
2023-04-14 00:47:34 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-14 00:54:11 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-04-14 00:55:14 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-14 00:55:23 +0200 <dsal> sqlite-simple is failing to load some data I've got claiming that an integer column is coming across as text. Any clues why it would do this and how I might fix it?
2023-04-14 00:55:52 +0200 <dsal> `ConversionFailed {errSQLType = "TEXT", errHaskellType = "Int", errMessage = "need an int"}` -- the column's basic type is int and there's an integer stored in it. No idea where this text thing is coming from.
2023-04-14 00:57:42 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2023-04-14 00:58:34 +0200foul_owl(~kerry@157.97.134.62)
2023-04-14 01:00:43 +0200kaskal(~kaskal@213-147-165-218.nat.highway.webapn.at)
2023-04-14 01:02:48 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-04-14 01:08:15 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-14 01:10:02 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de)
2023-04-14 01:10:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-14 01:13:01 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-04-14 01:14:28 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 252 seconds)
2023-04-14 01:16:20 +0200xff0x(~xff0x@178.255.149.135)
2023-04-14 01:18:25 +0200cheater(~Username@user/cheater)
2023-04-14 01:22:12 +0200nate1(~nate@98.45.169.16)
2023-04-14 01:24:14 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-04-14 01:24:25 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 240 seconds)
2023-04-14 01:24:25 +0200kaskal(~kaskal@213-147-165-218.nat.highway.webapn.at) (Ping timeout: 240 seconds)
2023-04-14 01:26:18 +0200kaskal(~kaskal@213-147-166-209.nat.highway.webapn.at)
2023-04-14 01:26:26 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-04-14 01:26:32 +0200xff0x(~xff0x@2405:6580:b080:900:fbf1:b4aa:9ad5:f3c2)
2023-04-14 01:26:45 +0200nate1(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-04-14 01:37:29 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-04-14 01:38:00 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 01:40:23 +0200xff0x(~xff0x@2405:6580:b080:900:fbf1:b4aa:9ad5:f3c2) (Ping timeout: 264 seconds)
2023-04-14 01:41:53 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-04-14 01:43:40 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds)
2023-04-14 01:44:30 +0200ReinhildeEllenor
2023-04-14 01:53:05 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-14 01:55:59 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de)
2023-04-14 01:57:56 +0200mauke_(~mauke@user/mauke)
2023-04-14 02:00:22 +0200mauke(~mauke@user/mauke) (Ping timeout: 276 seconds)
2023-04-14 02:00:22 +0200mauke_mauke
2023-04-14 02:01:23 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2023-04-14 02:02:18 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
2023-04-14 02:04:42 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-04-14 02:11:12 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 248 seconds)
2023-04-14 02:18:11 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 264 seconds)
2023-04-14 02:20:48 +0200janus(janus@anubis.0x90.dk)
2023-04-14 02:21:02 +0200 <janus> what was the name of that program that would generate bounds based on what you actually tested?
2023-04-14 02:21:07 +0200 <janus> it's a recent project
2023-04-14 02:24:19 +0200 <jackdk> Not sure, I only know of `cabal gen-bounds`
2023-04-14 02:27:52 +0200 <monochrom> I think we can find it again on discourse. It came up in a thread there.
2023-04-14 02:28:26 +0200 <monochrom> Perhaps this: https://discourse.haskell.org/t/don-t-edit-dependency-bounds-manually-with-this-ci-setup/5539
2023-04-14 02:29:40 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-14 02:29:40 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-14 02:29:40 +0200wroathe(~wroathe@user/wroathe)
2023-04-14 02:30:50 +0200 <janus> aah yes! thank you monochrom!
2023-04-14 02:31:34 +0200 <janus> cabal also has --prefer-oldest which is kinda in the same vein
2023-04-14 02:33:28 +0200jargon(~jargon@174-22-213-236.phnx.qwest.net)
2023-04-14 02:41:05 +0200joeyh_(joeyh@2600:3c03::f03c:91ff:fe73:b0d2) (Quit: ZNC 1.8.2+deb2+b5 - https://znc.in)
2023-04-14 02:45:25 +0200Vq(~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 240 seconds)
2023-04-14 02:47:36 +0200Vq(~vq@90-227-192-206-no77.tbcn.telia.com)
2023-04-14 02:49:15 +0200 <Axman6> dsal: don't forget that sqlite doesn't enforce column types (apparently a careful reading of the SQL spec requires that it's not enforced) so it's possible there's data in there which is stored as text in an int column - you probably need to take a look at the sqlite file
2023-04-14 02:51:08 +0200joeyh(~joeyh@kitenet.net)
2023-04-14 02:53:17 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 02:54:40 +0200chanceyan(~chanceyan@user/chanceyan)
2023-04-14 03:01:44 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2023-04-14 03:10:31 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-04-14 03:13:29 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 03:14:36 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 03:14:45 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-04-14 03:16:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-04-14 03:22:02 +0200acidjnk(~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de)
2023-04-14 03:24:48 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-14 03:29:25 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-04-14 03:47:05 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
2023-04-14 03:48:38 +0200 <dsal> Axman6: yeah, that's what I'm doing. It's not clear to me how it might consider this number text.
2023-04-14 03:51:41 +0200 <Axman6> I wondered if the Integer instance might check whether the value fits in an int64 or not and use a string instead, but it doesn't it just uses fromIntegral, which is not great
2023-04-14 03:53:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-04-14 03:58:48 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 04:03:12 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 248 seconds)
2023-04-14 04:03:55 +0200pyook(~puke@user/puke) (Remote host closed the connection)
2023-04-14 04:04:12 +0200pyook(~puke@user/puke)
2023-04-14 04:07:07 +0200gurkenglas(~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
2023-04-14 04:12:25 +0200td_(~td@i53870908.versanet.de) (Ping timeout: 240 seconds)
2023-04-14 04:14:34 +0200td_(~td@i53870905.versanet.de)
2023-04-14 04:18:45 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 04:32:32 +0200 <dsal> Hopefully this isn't going to take me a while. I just finished up work stuff so I'm going to look at my dog for a while before fixing this problem. :)
2023-04-14 04:33:44 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 04:34:26 +0200wroathe(~wroathe@user/wroathe) (Read error: Connection reset by peer)
2023-04-14 04:35:37 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-14 04:35:37 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-14 04:35:37 +0200wroathe(~wroathe@user/wroathe)
2023-04-14 04:37:26 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-04-14 04:39:45 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 04:42:44 +0200 <Axman6> non-rubber doggo debugging
2023-04-14 04:44:16 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 248 seconds)
2023-04-14 04:45:26 +0200nate1(~nate@98.45.169.16)
2023-04-14 04:48:43 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-14 04:50:07 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-14 04:52:54 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-04-14 04:53:54 +0200srk(~sorki@user/srk) (Remote host closed the connection)
2023-04-14 04:54:13 +0200srk(~sorki@user/srk)
2023-04-14 04:56:52 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-04-14 04:56:52 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-04-14 04:56:52 +0200finn_elijaFinnElija
2023-04-14 04:58:52 +0200irrgit_(~irrgit@89.47.234.74)
2023-04-14 04:59:19 +0200irrgit(~irrgit@86.106.90.226) (Read error: Connection reset by peer)
2023-04-14 05:00:47 +0200 <sm> wish I had a debugging dog!
2023-04-14 05:02:58 +0200jero98772(~jero98772@2800:484:1d84:9000::1) (Remote host closed the connection)
2023-04-14 05:03:14 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-04-14 05:08:12 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 05:08:18 +0200 <jackdk> All I have is an updog
2023-04-14 05:12:43 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 265 seconds)
2023-04-14 05:21:57 +0200vglfr(~vglfr@37.73.75.47)
2023-04-14 05:27:20 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-04-14 05:48:48 +0200nate1(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2023-04-14 05:59:29 +0200hochata(~user@user/hochata) (Read error: Connection reset by peer)
2023-04-14 06:00:26 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 06:05:25 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 276 seconds)
2023-04-14 06:05:43 +0200NiceBird(~NiceBird@185.133.111.196)
2023-04-14 06:11:43 +0200joeyh(~joeyh@kitenet.net) (Ping timeout: 260 seconds)
2023-04-14 06:12:14 +0200joeyh(~joeyh@kitenet.net)
2023-04-14 06:13:13 +0200tureba(~tureba@tureba.org) (Ping timeout: 276 seconds)
2023-04-14 06:26:24 +0200tureba(~tureba@tureba.org)
2023-04-14 06:29:59 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-14 06:44:14 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-14 06:46:50 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-14 06:46:51 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-14 06:46:51 +0200wroathe(~wroathe@user/wroathe)
2023-04-14 06:47:17 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-14 06:49:17 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 06:52:35 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-04-14 06:52:46 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-14 06:53:33 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
2023-04-14 06:59:22 +0200phma_(~phma@2001:5b0:211b:b518:b882:9716:7840:b9e6)
2023-04-14 06:59:38 +0200phma(phma@2001:5b0:210f:2778:fc72:e59d:c1c3:921c) (Read error: Connection reset by peer)
2023-04-14 07:03:48 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-04-14 07:15:16 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2023-04-14 07:23:46 +0200tr_ev(~trev@user/trev)
2023-04-14 07:25:14 +0200tr_ev(~trev@user/trev) (Client Quit)
2023-04-14 07:26:52 +0200tr_ev(~trev@user/trev)
2023-04-14 07:27:22 +0200jargon(~jargon@174-22-213-236.phnx.qwest.net) (Remote host closed the connection)
2023-04-14 07:31:27 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-04-14 07:32:56 +0200 <dsal> Yay, I fixed the terrible bug in that awful sqlite library. I was using it incorrectly.
2023-04-14 07:33:33 +0200 <dsal> The columns and the fields I was trying to stuff them into weren't in the same order.
2023-04-14 07:35:25 +0200Square(~Square4@user/square) (Ping timeout: 240 seconds)
2023-04-14 07:36:35 +0200slack1256(~slack1256@181.43.89.191)
2023-04-14 07:36:50 +0200 <slack1256> Is there a way to upload by hand the haddock docs for a uploaded package?
2023-04-14 07:39:33 +0200 <jackdk> slack1256: cabal upload -d <other args>
2023-04-14 07:39:44 +0200 <jackdk> build docs using cabal haddock --haddock-for-hackage
2023-04-14 07:41:34 +0200 <slack1256> It really is 2023
2023-04-14 07:41:40 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 07:46:07 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
2023-04-14 08:00:05 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 240 seconds)
2023-04-14 08:00:26 +0200m5zs7k(aquares@web10.mydevil.net)
2023-04-14 08:02:48 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-04-14 08:03:11 +0200 <slack1256> Check this out https://hackage.haskell.org/package/data-forced-0.2.0.0 . CBV semantics with unlifted values !
2023-04-14 08:03:43 +0200dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Ping timeout: 276 seconds)
2023-04-14 08:06:22 +0200slack1256(~slack1256@181.43.89.191) (Remote host closed the connection)
2023-04-14 08:09:52 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-04-14 08:24:02 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-04-14 08:26:40 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds)
2023-04-14 08:31:55 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 08:32:18 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-04-14 08:32:59 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-04-14 08:35:23 +0200tr_ev(~trev@user/trev) (Quit: tr_ev)
2023-04-14 08:36:05 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 08:36:08 +0200mncheck(~mncheck@193.224.205.254)
2023-04-14 08:36:40 +0200tr_ev(~trev@user/trev)
2023-04-14 08:38:33 +0200 <[exa]> dsal: try selda?
2023-04-14 08:39:03 +0200kenran(~user@user/kenran)
2023-04-14 08:39:08 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-14 08:45:32 +0200tr_evtrev
2023-04-14 08:47:32 +0200 <dsal> I've not. I've used hasql on a a project, but have mostly been fine with sqlite-simple. This is an old project that I had mostly abandoned, but turns out to be useful for me again. Probably should've written a couple more tests.
2023-04-14 08:52:05 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-14 09:01:16 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2023-04-14 09:02:42 +0200Bocaneri(~sauvin@user/Sauvin)
2023-04-14 09:03:06 +0200BocaneriGuest2353
2023-04-14 09:03:20 +0200kmein(~weechat@user/kmein)
2023-04-14 09:05:05 +0200Sauvin(~sauvin@user/Sauvin) (Ping timeout: 246 seconds)
2023-04-14 09:06:39 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 09:09:10 +0200gmg(~user@user/gehmehgeh)
2023-04-14 09:10:45 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 09:25:33 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
2023-04-14 09:27:09 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-04-14 09:28:25 +0200BemusedOtter(~BemusedOt@128.194.3.189)
2023-04-14 09:29:08 +0200BemusedOtter(~BemusedOt@128.194.3.189) ()
2023-04-14 09:31:18 +0200phma_phma
2023-04-14 09:36:57 +0200cfricke(~cfricke@user/cfricke)
2023-04-14 09:37:59 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 09:39:15 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 09:45:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection)
2023-04-14 09:46:10 +0200nate1(~nate@98.45.169.16)
2023-04-14 09:48:05 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 240 seconds)
2023-04-14 09:49:42 +0200cfricke(~cfricke@user/cfricke)
2023-04-14 09:50:56 +0200nate1(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2023-04-14 09:55:05 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 09:57:01 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-04-14 09:57:43 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-14 09:59:05 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 10:04:05 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-14 10:12:59 +0200_xor(~xor@74.215.46.17) (Quit: bbiab)
2023-04-14 10:16:58 +0200mikess(~sam@user/mikess) (Ping timeout: 276 seconds)
2023-04-14 10:20:32 +0200kritzefitz(~kritzefit@debian/kritzefitz)
2023-04-14 10:22:38 +0200 <fendor[m]> <slack1256> "Is there a way to upload by hand..." <- yeah, with cabal upload --documentation, after you have built haddock with `cabal haddock --haddock-for-hackage`
2023-04-14 10:23:53 +0200mmhat(~mmh@p200300f1c7106e4fee086bfffe095315.dip0.t-ipconnect.de)
2023-04-14 10:24:31 +0200mmhat(~mmh@p200300f1c7106e4fee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-04-14 10:34:42 +0200ub1(~Thunderbi@p200300ecdf114f85712b972abb9d8a7e.dip0.t-ipconnect.de)
2023-04-14 10:34:53 +0200thegeekinside(~thegeekin@189.217.90.138) (Read error: Connection reset by peer)
2023-04-14 10:35:25 +0200ub(~Thunderbi@p548c84d6.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-04-14 10:36:58 +0200ub1ub
2023-04-14 10:37:37 +0200trillp(~trillp@69.233.98.238)
2023-04-14 10:37:43 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-04-14 10:38:26 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-04-14 10:38:57 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 10:40:19 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-04-14 10:43:31 +0200drdo(~drdo@bl7-76-103.dsl.telepac.pt) (Ping timeout: 240 seconds)
2023-04-14 10:44:22 +0200drdo(~drdo@bl7-76-103.dsl.telepac.pt)
2023-04-14 10:44:58 +0200trillp(~trillp@69.233.98.238) (Quit: trillp)
2023-04-14 10:45:36 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 10:45:38 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 10:46:14 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8)
2023-04-14 10:49:08 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-04-14 10:49:45 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 10:50:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 248 seconds)
2023-04-14 10:51:24 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-14 10:52:35 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-04-14 10:54:05 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-04-14 11:00:56 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-04-14 11:01:25 +0200chanceyan(~chanceyan@user/chanceyan) (Quit: Client closed)
2023-04-14 11:04:31 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-04-14 11:07:52 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 11:10:23 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-04-14 11:11:31 +0200ub(~Thunderbi@p200300ecdf114f85712b972abb9d8a7e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-04-14 11:11:48 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 11:12:07 +0200ub(~Thunderbi@p548c84d6.dip0.t-ipconnect.de)
2023-04-14 11:15:04 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-04-14 11:16:14 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-14 11:16:55 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2023-04-14 11:18:08 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-14 11:20:48 +0200titibandit(~titibandi@user/titibandit)
2023-04-14 11:22:34 +0200driib(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2023-04-14 11:23:30 +0200driib(~driib@vmi931078.contaboserver.net)
2023-04-14 11:28:11 +0200zeenk(~zeenk@2a02:2f04:a307:2300::7fe)
2023-04-14 11:36:33 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 11:40:30 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 260 seconds)
2023-04-14 11:40:31 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 11:41:20 +0200cyphase(~cyphase@user/cyphase)
2023-04-14 11:45:40 +0200vglfr(~vglfr@37.73.75.47) (Ping timeout: 265 seconds)
2023-04-14 11:49:41 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2023-04-14 11:51:49 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 11:52:13 +0200 <jitrs[m]> @pl \x () -> check x sort
2023-04-14 11:52:13 +0200 <lambdabot> (line 1, column 6):
2023-04-14 11:52:13 +0200 <lambdabot> unexpected " "
2023-04-14 11:52:13 +0200 <lambdabot> expecting pattern or "->"
2023-04-14 11:53:51 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 12:03:04 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 265 seconds)
2023-04-14 12:03:48 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli)
2023-04-14 12:09:56 +0200 <ski> const . (`check` sort)
2023-04-14 12:11:23 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 248 seconds)
2023-04-14 12:15:23 +0200vglfr(~vglfr@37.73.75.47)
2023-04-14 12:15:30 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 12:26:16 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53)
2023-04-14 12:28:42 +0200gurkenglas(~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de)
2023-04-14 12:30:25 +0200segfaultfizzbuzz(~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
2023-04-14 12:39:01 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:80f2:1b63:4085:5e0a) (Ping timeout: 240 seconds)
2023-04-14 12:39:53 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 12:41:09 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 12:44:50 +0200akegalj(~akegalj@156-230.dsl.iskon.hr)
2023-04-14 12:49:41 +0200cheater_(~Username@user/cheater)
2023-04-14 12:51:45 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-04-14 12:51:47 +0200cheater_cheater
2023-04-14 12:59:55 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-14 13:01:33 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 13:01:45 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
2023-04-14 13:02:51 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 13:08:55 +0200[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-04-14 13:13:05 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-14 13:13:55 +0200 <kaol> What's the mechanism that makes "print Nothing" (for example) not complain about not knowing what "a" in Maybe a is?
2023-04-14 13:15:16 +0200 <[exa]> kaol: likely defaulting
2023-04-14 13:15:36 +0200 <geekosaur> look at ExtendedDefaultRules
2023-04-14 13:16:05 +0200 <geekosaur> iirc specifically ghci uses defaulting to assume () as the missing type
2023-04-14 13:16:15 +0200 <[exa]> kaol: a similar thing happens if you do say `(read.show) 5`, it assumes that you want to read a ()
2023-04-14 13:19:05 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-04-14 13:21:46 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli) ()
2023-04-14 13:22:19 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) ()
2023-04-14 13:22:28 +0200cheater(~Username@user/cheater)
2023-04-14 13:47:41 +0200nate1(~nate@98.45.169.16)
2023-04-14 13:53:00 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2023-04-14 14:03:47 +0200 <merijn> I don't suppose anyone can give me a pointer on methods for computing partial derivatives of stochastic functions that doesn't involve me studying stochastic calculus first? :p
2023-04-14 14:04:29 +0200zeenk(~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
2023-04-14 14:11:46 +0200 <[exa]> merijn: what precise kind of stochastic functions?
2023-04-14 14:12:07 +0200 <merijn> [exa]: effectively it's a monte carlo sim
2023-04-14 14:12:39 +0200 <merijn> So I have a blackbox monte carlo sim with N inputs and would like to compute partial derivatives for said inputs
2023-04-14 14:12:47 +0200 <[exa]> so you have formulas that have a few variables that get random values and you want your partial derivative to be a distribution, right?
2023-04-14 14:13:04 +0200 <[exa]> ah you want it numerically
2023-04-14 14:13:16 +0200 <[exa]> any assumptions about the blackbox?
2023-04-14 14:13:27 +0200 <merijn> [exa]: I think numerically is the only thing that can be done in this setting
2023-04-14 14:14:13 +0200 <merijn> [exa]: Not really other than "given a specific set of inputs I would expect outputs to be a normal distribution around the average"
2023-04-14 14:14:28 +0200 <[exa]> does the blackbox include its own randomness or is it deterministic?
2023-04-14 14:16:01 +0200 <merijn> [exa]: It's a monte carlo simulation, so the only randomness is inside the black box. I suppose that alternately you could model it as a non-stochastic function by considering "the mean output over N iterations" as non-stochastic value
2023-04-14 14:16:06 +0200 <[exa]> anyway the general method is 1] guess the neighborhood size 2] generate output samples for the neighborhood 3] make a regression 4] if R^2 is bad, either it's not differentiable or your neighborhood is too big
2023-04-14 14:16:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-04-14 14:16:50 +0200 <[exa]> ah it's this kind of problem, that would give you a regression over distributions
2023-04-14 14:17:49 +0200 <[exa]> ._.
2023-04-14 14:19:03 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-04-14 14:25:02 +0200 <kenran> I'm using lens in a GHC 8.10.7 application, together with DuplicateRecordFields and thus short accessor names. Is there a way "around" shadowing warnings when using the same names as variables, without disabling the warning altogether? Like, is it "usual" to just not export the accessors in that case (but they could still be shadowed in the same module ofc)?
2023-04-14 14:25:34 +0200 <merijn> kenran: -XNoFieldSelectors?
2023-04-14 14:25:46 +0200 <merijn> But then you can't use them as functions anymore, so that might not be useful :p
2023-04-14 14:26:40 +0200 <kenran> merijn: I don't want to use them as functions, as they most often clash anyway. I didn't know about this extension, thanks! Let me check it out :)
2023-04-14 14:27:04 +0200 <merijn> kenran: Right, that's exactly what you want then
2023-04-14 14:27:13 +0200 <kenran> Ah
2023-04-14 14:27:14 +0200 <merijn> oh, wait
2023-04-14 14:27:16 +0200 <kenran> since 9.2
2023-04-14 14:27:27 +0200 <merijn> yeah, just realised it's not in 8.10 :p
2023-04-14 14:27:36 +0200 <merijn> That's the main reason I wasn't using it yet :p
2023-04-14 14:30:05 +0200gurkenglas(~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-04-14 14:36:00 +0200 <kenran> With a LOT of luck we're able to upgrade to GHC 9 in a couple of weeks, but 9.2 is still a *long* way to go for us
2023-04-14 14:36:20 +0200 <kenran> mainly due to accelerate and compiling-to-categories
2023-04-14 14:37:37 +0200 <kenran> so, I guess I'll try the "replace Foo(..) with Foo(Foo)" route then, though it might suck for sum types
2023-04-14 14:37:49 +0200 <kenran> until we get that juicy extension
2023-04-14 14:39:23 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-04-14 14:58:10 +0200LenarHoyt(~LenarHoyt@mail.bfc-net.de)
2023-04-14 14:58:54 +0200LenarHoyt49(~LenarHoyt@p54b50987.dip0.t-ipconnect.de)
2023-04-14 15:00:53 +0200LenarHoytGuest3970
2023-04-14 15:00:53 +0200LenarHoyt49LenarHoyt
2023-04-14 15:02:48 +0200Guest3970(~LenarHoyt@mail.bfc-net.de) (Ping timeout: 260 seconds)
2023-04-14 15:07:02 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-14 15:16:46 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-14 15:19:29 +0200mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2023-04-14 15:20:32 +0200dtman34(~dtman34@2601:447:d000:93c9:297:babc:4251:fc7a) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2023-04-14 15:20:47 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-14 15:20:53 +0200dtman34(~dtman34@2601:447:d000:93c9:3c66:2a15:f4fe:e249)
2023-04-14 15:22:34 +0200[_][itchyjunk]
2023-04-14 15:23:32 +0200Guest94(~Guest94@2409:40f4:1033:3f44:63d3:fd2e:5615:e88a)
2023-04-14 15:24:17 +0200Guest94(~Guest94@2409:40f4:1033:3f44:63d3:fd2e:5615:e88a) (Client Quit)
2023-04-14 15:31:23 +0200LenarHoyt(~LenarHoyt@p54b50987.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-04-14 15:32:00 +0200mc47(~mc47@xmonad/TheMC47)
2023-04-14 15:35:02 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-14 15:39:29 +0200irrgit__(~irrgit@146.70.27.250)
2023-04-14 15:39:36 +0200irrgit_(~irrgit@89.47.234.74) (Read error: Connection reset by peer)
2023-04-14 15:40:51 +0200raym(~ray@user/raym)
2023-04-14 15:43:45 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 15:44:06 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 15:45:08 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-14 15:47:32 +0200zilog(~zilog@37.218.244.251)
2023-04-14 15:48:30 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-04-14 15:48:37 +0200cheater(~Username@user/cheater)
2023-04-14 15:49:12 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 15:50:10 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 15:54:24 +0200fbytez(~uid@2001:bc8:2117:100::) (Leaving)
2023-04-14 15:54:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 246 seconds)
2023-04-14 15:56:53 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 16:05:31 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-04-14 16:13:25 +0200vglfr(~vglfr@37.73.75.47) (Ping timeout: 256 seconds)
2023-04-14 16:16:40 +0200 <kenran> dang... I was hunting a bug for 2h before realizing that replacing Data.Map with Data.Map.Strict fixes the problem
2023-04-14 16:17:03 +0200 <kenran> shouldn't put a non-strict map into a TVar I guess
2023-04-14 16:23:24 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-04-14 16:24:29 +0200ddellacosta(~ddellacos@143.244.47.83) (Quit: WeeChat 3.8)
2023-04-14 16:25:41 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 16:25:44 +0200ddellacosta(~ddellacos@143.244.47.83)
2023-04-14 16:26:00 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 16:33:15 +0200ubert(~Thunderbi@p200300ecdf114f85b06c57b48694016e.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-04-14 16:33:15 +0200ububert
2023-04-14 16:33:43 +0200ubert1(~Thunderbi@p200300ecdf114fa887ef22f225e2ea1c.dip0.t-ipconnect.de)
2023-04-14 16:40:53 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 16:41:59 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 16:42:10 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-04-14 16:50:39 +0200kenran(~user@user/kenran) (Remote host closed the connection)
2023-04-14 16:52:53 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au) (Quit: Going offline, see ya! (www.adiirc.com))
2023-04-14 17:05:20 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 17:13:03 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-14 17:16:46 +0200cheater(~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com))
2023-04-14 17:17:52 +0200vglfr(~vglfr@88.155.140.234)
2023-04-14 17:18:44 +0200Sgeo(~Sgeo@user/sgeo)
2023-04-14 17:19:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection)
2023-04-14 17:19:51 +0200 <zilog> oh gosh
2023-04-14 17:21:58 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2023-04-14 17:23:08 +0200cheater(~Username@user/cheater)
2023-04-14 17:28:31 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-04-14 17:33:12 +0200econo(uid147250@user/econo)
2023-04-14 17:33:50 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-14 17:34:09 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-14 17:44:09 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-04-14 17:44:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-14 17:46:09 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-04-14 17:46:34 +0200zer0bitz_(~zer0bitz@2001:2003:f443:d600:1cd1:b173:147e:35a6) ()
2023-04-14 17:49:10 +0200zer0bitz(~zer0bitz@2001:2003:f443:d600:1cd1:b173:147e:35a6)
2023-04-14 17:49:12 +0200nate1(~nate@98.45.169.16)
2023-04-14 17:50:05 +0200vglfr(~vglfr@88.155.140.234) (Ping timeout: 240 seconds)
2023-04-14 17:50:53 +0200vglfr(~vglfr@88.155.140.234)
2023-04-14 17:50:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 17:54:03 +0200nate1(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2023-04-14 17:59:56 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
2023-04-14 18:03:37 +0200mncheck(~mncheck@193.224.205.254)
2023-04-14 18:06:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection)
2023-04-14 18:06:39 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-04-14 18:06:49 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-14 18:08:45 +0200thegeekinside(~thegeekin@189.217.90.138) (Ping timeout: 240 seconds)
2023-04-14 18:09:42 +0200thegeekinside(~thegeekin@189.217.90.138)
2023-04-14 18:11:56 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-14 18:12:24 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-04-14 18:13:10 +0200irrgit__(~irrgit@146.70.27.250) (Read error: Connection reset by peer)
2023-04-14 18:14:30 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-04-14 18:15:36 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-14 18:15:59 +0200ryantrinkle(~ryantrink@2607:f00:7:c77:744b:b821:58fc:4775) (Ping timeout: 246 seconds)
2023-04-14 18:21:04 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 18:21:13 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-04-14 18:28:28 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-04-14 18:32:47 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-04-14 18:33:15 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-04-14 18:33:55 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
2023-04-14 18:36:49 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-04-14 18:40:11 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 18:44:18 +0200 <tomsmeding> @tell kenran accelerate master compiles with ghcs up to 9.6
2023-04-14 18:44:18 +0200 <lambdabot> Consider it noted.
2023-04-14 18:44:52 +0200 <tomsmeding> @tell kenran re non-strict stuff in a tvar: https://www.well-typed.com/blog/2020/09/nothunks/
2023-04-14 18:44:52 +0200 <lambdabot> Consider it noted.
2023-04-14 18:45:40 +0200__monty__(~toonn@user/toonn)
2023-04-14 18:46:07 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-14 18:46:27 +0200mikess(~sam@user/mikess)
2023-04-14 18:47:41 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-14 18:50:38 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-04-14 19:05:20 +0200disconnect3d(~disconnec@user/disconnect3d)
2023-04-14 19:05:32 +0200 <disconnect3d> hi, how do i check the memory layout of a type in haskell?
2023-04-14 19:05:51 +0200 <disconnect3d> specifically, i'd like to understand what is the exact layout of this type: https://github.com/crytic/echidna/blob/master/lib/Echidna/Types/Tx.hs#L60-L68
2023-04-14 19:05:59 +0200 <disconnect3d> (a haskell newbie here)
2023-04-14 19:07:58 +0200 <c_wraith> disconnect3d: why do you need that? (Not trying to be dismissive. The full story is just really complex, and you might not need it)
2023-04-14 19:08:22 +0200 <disconnect3d> because i am curious ;)
2023-04-14 19:08:33 +0200 <disconnect3d> because this project is a fuzzer, and that structure is one of the crucial point of it
2023-04-14 19:08:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection)
2023-04-14 19:09:02 +0200 <disconnect3d> and so you would want it to be efficient and do not contain e.g. padding between fields
2023-04-14 19:09:19 +0200 <disconnect3d> tbh i doubt there is any padding here, but i would like to be able to see it in practice
2023-04-14 19:09:44 +0200 <disconnect3d> i tried compiling with -g3 and using llvm-dwarfdump, pahole or gdb + its `ptype /o <type>` command to determine this
2023-04-14 19:09:58 +0200 <disconnect3d> but iiuc the resulting binary and its dwarf doesn't contain info about that type
2023-04-14 19:10:02 +0200 <c_wraith> well, first off, it's a lifted data type. a value of that type could be represented as an arbitrary thunk, or as the constructor itself
2023-04-14 19:10:09 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-04-14 19:10:19 +0200 <disconnect3d> what is an 'arbitrary thunk'?
2023-04-14 19:12:56 +0200 <c_wraith> Haskell doesn't have strict evaluation. It's possible for an expression to be unevaluated. GHC represents this as a thunk, which is *either* the constructor itself or a closure that will evaluate to a constructor (or fail at run time) when demanded.
2023-04-14 19:13:41 +0200 <disconnect3d> Is it possible to ask it to be fully strict? (Afaik you can make a field strict with that bang '!' symbol)
2023-04-14 19:14:07 +0200 <c_wraith> you can only be *fully* strict by using unlifted data types
2023-04-14 19:14:11 +0200 <c_wraith> and that one is lifted
2023-04-14 19:14:49 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-04-14 19:15:16 +0200 <c_wraith> (If it was unlifted, there would be some kind of annotations to that effect on the type declaration)
2023-04-14 19:18:48 +0200 <ncf> how would that work? would you not have undefined :: Tx any more?
2023-04-14 19:18:59 +0200 <c_wraith> ncf: correct. that would be a kind error
2023-04-14 19:19:14 +0200 <ncf> right
2023-04-14 19:19:36 +0200zilog(~zilog@37.218.244.251) (Quit: grass)
2023-04-14 19:21:11 +0200skiidly wonders how complicated it would be to tie knots with such
2023-04-14 19:21:40 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-04-14 19:21:47 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 260 seconds)
2023-04-14 19:21:52 +0200 <c_wraith> or maybe a levity error. I haven't played with levity much. Maybe it has distinct errors.
2023-04-14 19:22:42 +0200 <c_wraith> disconnect3d: in any case, once you have an actual TX constructor in memory, the field layout gets more precise. There's a value header that... I honestly don't recall the size of. It's one or two words with various information used by the garbage collector and the runtime system. After that, each field gets one word.
2023-04-14 19:23:27 +0200 <disconnect3d> "each field gets one word" - do you mean that each field is a pointer?
2023-04-14 19:23:27 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-04-14 19:23:32 +0200 <disconnect3d> and is accessed by a pointer, or, may be?
2023-04-14 19:23:48 +0200 <disconnect3d> (depending on how things compile or/and whether the compiler thinks to optimize or not?)
2023-04-14 19:23:50 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 19:23:55 +0200 <c_wraith> All of those fields except the Word64 one will be pointers. On most any version of GHC you see these days, a strict field that fits in a word is automatically unboxed directly into the constructor
2023-04-14 19:23:59 +0200 <disconnect3d> how can i "unlift" a type? any examples?
2023-04-14 19:24:10 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-14 19:24:26 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-14 19:25:39 +0200 <c_wraith> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/primitives.html?highlight=unlifted%… this extension is used to create unlifted types. The documentation describes the syntax
2023-04-14 19:26:26 +0200 <disconnect3d> I guess that won't be as easy as adding 'Unlifted' to type declaration? ;p
2023-04-14 19:26:42 +0200ryantrinkle(~ryantrink@2607:f00:7:60f7:127b:3ad2:6da3:7b8d)
2023-04-14 19:26:43 +0200 <c_wraith> It's actually close to that easy
2023-04-14 19:27:01 +0200 <c_wraith> Though it may cause compilation failures if anything is actually using the fact that it's lifted
2023-04-14 19:29:53 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 19:30:27 +0200 <monochrom> Adding a new syntax "add 'Unlifted to type declarations" is penny-wise pound-foolish, and therefore the popular approach that everyone thinks up first and done in popular languages, and is a huge factor why popular languages suck.
2023-04-14 19:31:10 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 19:31:18 +0200 <c_wraith> and just as an added note, the (W256, W256) field may be stored strictly itself, but the elements of a pair are not strict. Even though the pair is evaluated, its contents may still be unevaluated thunks
2023-04-14 19:32:34 +0200 <monochrom> A small way to see it is that the GHC people recognize potential tensions between unlifted and lifted types and have been working hard to unify them as much as possible. The kind annotation "Unlifted Type" reflects that.
2023-04-14 19:34:13 +0200 <c_wraith> disconnect3d: for lower-level details on thunks and the value header: https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/storage/heap-objects
2023-04-14 19:34:30 +0200ryantrinkle(~ryantrink@2607:f00:7:60f7:127b:3ad2:6da3:7b8d) (Ping timeout: 265 seconds)
2023-04-14 19:34:43 +0200 <monochrom> Popular languages shortsightedly think that adding a new syntax is the end. No, that just begs a million semantic questions and a million unhappy answers.
2023-04-14 19:42:55 +0200 <disconnect3d> not sure i understand the point about other languages
2023-04-14 19:45:42 +0200 <monochrom> In short they make rash decisions. And it shows. The syntax is bloated and the semantics is shallow and self-conflicting.
2023-04-14 19:46:12 +0200 <monochrom> In particular the syntax is bloated because "just add one more reserved word, it's easy!"
2023-04-14 19:47:51 +0200 <monochrom> The semantics is shallow and self-conflicting because, with that kind of mindset, it is unlikely that they think of the hard questions.
2023-04-14 19:47:55 +0200 <disconnect3d> I mean... comming from "popular languages" background, I find Haskell not so readable; it seems that there are like 100 different operators used by different libs etc.
2023-04-14 19:48:01 +0200 <disconnect3d> but maybe its just me not understanding Haskell
2023-04-14 19:48:12 +0200 <disconnect3d> I don't really want to start any pl-flamewar here ;p
2023-04-14 19:48:32 +0200 <monochrom> Here is one. If someone writes a polymorphic function "f :: t -> t", may I use an unlifted type for t?
2023-04-14 19:48:39 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-14 19:49:06 +0200 <disconnect3d> Probably yes? I don't know Haskell :P
2023-04-14 19:49:19 +0200trev(~trev@user/trev) (Quit: trev)
2023-04-14 19:49:51 +0200 <disconnect3d> I think that its easy to point flaws in any programming language tbh
2023-04-14 19:50:01 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-14 19:50:10 +0200 <monochrom> No.
2023-04-14 19:50:34 +0200 <disconnect3d> I'm not going to try to convince you
2023-04-14 19:50:47 +0200 <monochrom> It looks like that because it has been easy to point flaws in popular languages. But then the reason is what I said.
2023-04-14 19:50:48 +0200trev(~trev@user/trev)
2023-04-14 19:51:02 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-04-14 19:51:09 +0200ryantrinkle(~ryantrink@140.174.248.64)
2023-04-14 19:51:17 +0200 <monochrom> Finding flaws in Haskell is a bit harder, and the flaws found are a bit less important.
2023-04-14 19:51:42 +0200 <disconnect3d> Yea... that's really subjective
2023-04-14 19:51:44 +0200 <monochrom> One day I'm sure there will be an even better language in that sense.
2023-04-14 19:52:10 +0200 <monochrom> Well when you are ready to quantify "easy" then you can make it more objective.
2023-04-14 19:52:22 +0200 <disconnect3d> For example, the fact it's not easy to reason or control whether something is boxed or not may be a flaw to some ;)
2023-04-14 19:53:01 +0200 <monochrom> That is already easy in Haskell.
2023-04-14 19:53:33 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 19:54:20 +0200 <disconnect3d> Yea, but then people default to not think about such things and the bigger project you have the harder it may be to track inefficiencies that are a result of this
2023-04-14 19:54:42 +0200 <disconnect3d> I may also be wrong and maybe people do think about such things
2023-04-14 19:55:20 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 19:56:00 +0200 <disconnect3d> Anyway; thx c_wraith for some pointers
2023-04-14 19:56:02 +0200 <[exa]> disconnect3d: it happens everynow and then and the debugging is sometimes confusing but the fixes are easy and pretty much decisive
2023-04-14 19:56:28 +0200 <monochrom> That one is not easier in C. In fact I think the C people have given up, for large projects. Look at gtk for example. Just always take a pointer, i.e., boxed.
2023-04-14 19:57:01 +0200 <disconnect3d> monochrom: large projects have baggage of legacy and "want to be compatible forever" kind of mantra
2023-04-14 19:57:08 +0200 <[exa]> disconnect3d: as in, if I would choose to debug some kind of "unexpected null"-style error in python and haskell memory leak, the memory leak is going to be a happier experience
2023-04-14 19:57:15 +0200 <disconnect3d> so i am not sure if gtk is a good example or whether its actually a good or bad lib (I just don't know)
2023-04-14 19:57:39 +0200 <monochrom> Only the C++ people are still fighting that fight. But their solution is adding more and more versions of the "same" function.
2023-04-14 19:57:40 +0200jwiegleyjohnw`
2023-04-14 19:58:37 +0200 <monochrom> gtk is not legacy, compared to the long history of C.
2023-04-14 19:58:57 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Killed (NickServ (GHOST command used by johnw`!~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)))
2023-04-14 19:59:04 +0200johnw`johnw
2023-04-14 19:59:45 +0200johnw_(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-14 19:59:49 +0200 <[exa]> btw gtk is miracle of a a software engineering purity, esp. once you compare it to some other windowy toolkits out there
2023-04-14 20:00:03 +0200 <[exa]> s/a //
2023-04-14 20:00:18 +0200[exa]looks at Qt's macros
2023-04-14 20:05:01 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
2023-04-14 20:07:33 +0200hugo(znc@verdigris.lysator.liu.se)
2023-04-14 20:09:13 +0200Guest51(~Guest51@106.51.64.60)
2023-04-14 20:12:07 +0200jero98772(~jero98772@2800:484:1d84:9000::1) (Ping timeout: 250 seconds)
2023-04-14 20:13:02 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-14 20:13:02 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-14 20:13:02 +0200wroathe(~wroathe@user/wroathe)
2023-04-14 20:18:53 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-04-14 20:23:38 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8)
2023-04-14 20:24:00 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-14 20:25:15 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-14 20:26:06 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-04-14 20:29:18 +0200Guest2353Sauvin
2023-04-14 20:29:45 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-04-14 20:30:41 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-59a1-cc84-c4b1-5715.rev.sfr.net)
2023-04-14 20:44:20 +0200Guest51(~Guest51@106.51.64.60) (Quit: Client closed)
2023-04-14 20:46:36 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-14 20:57:04 +0200gmg(~user@user/gehmehgeh)
2023-04-14 20:58:27 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-04-14 21:00:29 +0200nschoe(~q@2a01:e0a:8e:a190:7be1:3a97:5734:6645)
2023-04-14 21:02:50 +0200Guest59(~Guest59@ip-78-45-2-56.bb.vodafone.cz)
2023-04-14 21:10:12 +0200ddellacosta(~ddellacos@143.244.47.83) (Ping timeout: 265 seconds)
2023-04-14 21:16:13 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-04-14 21:16:21 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-14 21:19:01 +0200Guest59(~Guest59@ip-78-45-2-56.bb.vodafone.cz) ()
2023-04-14 21:20:25 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-04-14 21:21:01 +0200vglfr(~vglfr@88.155.140.234) (Ping timeout: 250 seconds)
2023-04-14 21:22:14 +0200jero98772(~jero98772@2800:484:1d84:9000::1) (Ping timeout: 246 seconds)
2023-04-14 21:28:21 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-04-14 21:31:24 +0200gdd(~gdd@129.199.146.230) (Ping timeout: 255 seconds)
2023-04-14 21:33:56 +0200jero98772(~jero98772@2800:484:1d84:9000::1)
2023-04-14 21:35:22 +0200nschoe(~q@2a01:e0a:8e:a190:7be1:3a97:5734:6645) (Quit: Switching off)
2023-04-14 21:43:34 +0200azimut_(~azimut@gateway/tor-sasl/azimut)
2023-04-14 21:47:08 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-04-14 21:47:39 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-04-14 21:48:06 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: Ping timeout (120 seconds))
2023-04-14 21:48:28 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2023-04-14 21:50:42 +0200nate1(~nate@98.45.169.16)
2023-04-14 21:55:42 +0200nate1(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2023-04-14 21:59:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection)
2023-04-14 22:02:37 +0200Unhammer(~Unhammer@user/unhammer) (Ping timeout: 250 seconds)
2023-04-14 22:13:09 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 22:16:51 +0200Unhammer(~Unhammer@user/unhammer)
2023-04-14 22:17:28 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-14 22:18:54 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-04-14 22:22:02 +0200dtman34_(~dtman34@76.156.89.180)
2023-04-14 22:22:17 +0200ubert1(~Thunderbi@p200300ecdf114fa887ef22f225e2ea1c.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-04-14 22:23:11 +0200dtman34(~dtman34@2601:447:d000:93c9:3c66:2a15:f4fe:e249) (Ping timeout: 265 seconds)
2023-04-14 22:23:40 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-04-14 22:29:27 +0200ystael(~ystael@user/ystael) (Ping timeout: 255 seconds)
2023-04-14 22:38:59 +0200OscarZ(~oscarz@95.175.104.196)
2023-04-14 22:41:36 +0200opticblast(~Thunderbi@172.58.87.44)
2023-04-14 22:43:06 +0200ryantrinkle(~ryantrink@140.174.248.64) (Read error: Connection reset by peer)
2023-04-14 22:43:21 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-14 22:43:45 +0200mesaoptimizer(apotheosis@user/PapuaHardyNet)
2023-04-14 22:44:30 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-14 22:44:45 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-14 22:45:06 +0200insidetrip(~nicholas@2600:8807:9103:b700:85c7:4177:b865:8650)
2023-04-14 22:47:52 +0200zeenk(~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0)
2023-04-14 22:52:03 +0200mesaoptimizer(apotheosis@user/PapuaHardyNet) ()
2023-04-14 22:52:16 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-04-14 22:52:18 +0200zeenk2(~zeenk@188.26.30.104)
2023-04-14 22:52:26 +0200zeenk(~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0) (Excess Flood)
2023-04-14 22:55:29 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 250 seconds)
2023-04-14 22:55:38 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-04-14 22:59:08 +0200 <insidetrip> I'm interested in trying to use curl in a haskell project I'm working on. However, because curlGetString from Network.Curl returns an IO monad, I cannot figure out a way to use the response without using unsafePerformIO. Is there a way to get the response without using unsafePerformIO?
2023-04-14 23:00:33 +0200 <geekosaur> o.O it's doing IO, why would you expect otherwise?
2023-04-14 23:01:00 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-59a1-cc84-c4b1-5715.rev.sfr.net) (Remote host closed the connection)
2023-04-14 23:01:13 +0200kimiamania(~65804703@user/kimiamania) (Quit: PegeLinux)
2023-04-14 23:01:29 +0200 <insidetrip> I don't think I did expect otherwise
2023-04-14 23:01:33 +0200kimiamania(~65804703@user/kimiamania)
2023-04-14 23:01:40 +0200 <monochrom> I would use curlGetString like I would use getLine. How would you use getLine?
2023-04-14 23:02:04 +0200 <geekosaur> oh, use the response. is this not knowing about >>= or <- ?
2023-04-14 23:02:21 +0200 <insidetrip> Well, the issue is the code is wrapped in the happstack framework, so it doesn't really make sense to fight over the IO in main just to make some api calls from another server.
2023-04-14 23:02:55 +0200 <insidetrip> I'm thinking that there's no other way other than unsafePerformIO, but I don't know all there is to know
2023-04-14 23:03:07 +0200 <monochrom> Pretty sure happstack does not ban IO.
2023-04-14 23:03:45 +0200 <insidetrip> well this might be where I"m getting jammed up
2023-04-14 23:04:46 +0200 <insidetrip> because with happstack you call the serve function, which uses IO, so if you use IO within the app you're developing now you have an IO within an IO
2023-04-14 23:05:10 +0200 <insidetrip> while it doesn't ban that, I'm not sure how to extract the response as, say a, string so I can use it elsewhere.
2023-04-14 23:05:22 +0200 <insidetrip> at least not without using unsafePerformIO
2023-04-14 23:05:28 +0200 <geekosaur> <-
2023-04-14 23:05:34 +0200 <geekosaur> or >>=
2023-04-14 23:05:57 +0200 <insidetrip> how is that different from using do notation?
2023-04-14 23:05:59 +0200 <geekosaur> @where iotut
2023-04-14 23:05:59 +0200 <lambdabot> https://www.vex.net/~trebla/haskell/IO.xhtml
2023-04-14 23:06:07 +0200 <mauke> <- is part of do notation
2023-04-14 23:06:09 +0200 <geekosaur> the first is do notation
2023-04-14 23:06:17 +0200 <mauke> also, forget about unsafePerformIO; it doesn't do what you think it does
2023-04-14 23:06:23 +0200 <geekosaur> ^
2023-04-14 23:06:28 +0200 <insidetrip> exactly, which causes a mismatch in type of the function
2023-04-14 23:06:42 +0200 <mauke> what function?
2023-04-14 23:06:43 +0200 <insidetrip> instead of returning a ServerPart it returns an IO
2023-04-14 23:06:48 +0200 <insidetrip> curlGetString
2023-04-14 23:06:50 +0200 <monochrom> This is why I am still against "dive-in projects" that skip the "boring, toy program" basics.
2023-04-14 23:07:04 +0200 <mauke> no, what is this ServerPart thing?
2023-04-14 23:07:13 +0200 <mauke> do you have a link to the API docs?
2023-04-14 23:07:34 +0200 <insidetrip> its a monad that contains the response that the server then sends out
2023-04-14 23:07:53 +0200 <insidetrip> which, curl or happstack?
2023-04-14 23:08:16 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 23:08:17 +0200 <geekosaur> I'm starting to think you should just show code
2023-04-14 23:08:24 +0200 <insidetrip> which part?
2023-04-14 23:08:29 +0200 <mauke> whatever thing you're using that forces the ServerPart type on you
2023-04-14 23:08:33 +0200 <insidetrip> i can pastebin the whole file
2023-04-14 23:08:35 +0200 <mauke> ah, it's type ServerPart a = ServerPartT IO a
2023-04-14 23:08:35 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl)
2023-04-14 23:08:41 +0200 <insidetrip> where do you want me to pastebin?
2023-04-14 23:08:43 +0200 <mauke> which is an instance of MonadIO
2023-04-14 23:08:45 +0200 <ncf> are you looking for liftIO?
2023-04-14 23:08:47 +0200 <geekosaur> @where paste
2023-04-14 23:08:48 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2023-04-14 23:08:49 +0200 <mauke> so I don't see what the problem is
2023-04-14 23:08:55 +0200 <geekosaur> but it sounds like you want liftIO indeed
2023-04-14 23:09:03 +0200 <insidetrip> yeah I've come across liftIO, but it didn't completely seem right
2023-04-14 23:09:04 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-04-14 23:09:16 +0200 <ncf> showing some code would definitely help right now
2023-04-14 23:09:17 +0200 <geekosaur> it's a lot more right than unsafePerformIO is
2023-04-14 23:12:40 +0200 <insidetrip> https://paste.tomsmeding.com/CSP1BGt2
2023-04-14 23:12:44 +0200 <monochrom> I cite Dunning-Kruger.
2023-04-14 23:12:44 +0200 <insidetrip> that's the code
2023-04-14 23:13:27 +0200 <ncf> liftIO $ curlGetString ...
2023-04-14 23:13:42 +0200barcisz(~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-14 23:13:56 +0200 <insidetrip> https://paste.tomsmeding.com/Q7p7lfp1 is my compile error
2023-04-14 23:14:07 +0200 <mauke> ah, it's from happstack-lite
2023-04-14 23:14:21 +0200 <insidetrip> yeah, technically I'm using lite correct
2023-04-14 23:14:25 +0200ncf. o O ( https://www.smbc-comics.com/comic/dunning )
2023-04-14 23:15:18 +0200 <insidetrip> are you talkinga bout this liftIO?
2023-04-14 23:15:25 +0200 <insidetrip> https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Monad-IO-Class.html#v:liftIO
2023-04-14 23:15:41 +0200 <ncf> yes
2023-04-14 23:16:34 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-04-14 23:17:24 +0200 <mauke> for reference, the documentation is here: https://hackage.haskell.org/package/happstack-lite-7.3.8/docs/Happstack-Lite.html#v:serve
2023-04-14 23:18:19 +0200 <ncf> alternatively you could use lift from Control.Monad.Trans.Class since the IO layer is right under the ServerPartT layer
2023-04-14 23:18:40 +0200 <ncf> but liftIO is more explicit
2023-04-14 23:19:05 +0200 <geekosaur> and doesn't rely on IO being right under ServerPartT
2023-04-14 23:27:15 +0200 <insidetrip> Yeah so where can I find out more about this liftIO? How is it unwrapping the IO action without using unsafeperformio?
2023-04-14 23:27:42 +0200 <monochrom> No, it unwraps and rewraps ServerPartT.
2023-04-14 23:27:47 +0200 <insidetrip> ah
2023-04-14 23:27:55 +0200 <insidetrip> cool
2023-04-14 23:27:58 +0200 <insidetrip> how does that work? lol
2023-04-14 23:28:18 +0200 <monochrom> Please study https://wiki.haskell.org/Typeclassopedia#Monad_transformers
2023-04-14 23:29:00 +0200 <insidetrip> thanks
2023-04-14 23:29:10 +0200 <monochrom> And https://en.wikibooks.org/wiki/Haskell/Monad_transformers
2023-04-14 23:31:20 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7)
2023-04-14 23:32:05 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-04-14 23:33:57 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-14 23:37:56 +0200coot_(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-14 23:39:47 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 264 seconds)
2023-04-14 23:39:48 +0200coot_coot
2023-04-14 23:44:22 +0200 <mauke> liftIO is wrapping the IO action in ServerPart
2023-04-14 23:44:37 +0200 <mauke> you get a "fake unwrap" with <- in do notation
2023-04-14 23:45:29 +0200 <hololeap> I see that there is this in the newest filepath: osp :: QuasiQuoter
2023-04-14 23:45:36 +0200 <mauke> I say fake because its effect is local: <- gives you direct access to an unwrapped value, but in exchange your whole do-block is of the wrapped type
2023-04-14 23:46:10 +0200 <hololeap> I'm not familiar with quasi-quoters, is there a tl;dr for how to hard-code a path as a OsPath?
2023-04-14 23:49:13 +0200 <mauke> I can't tell from the documentation whether it is meant to be used as [osp|foobar] or [osp|"foobar"]
2023-04-14 23:49:14 +0200 <geekosaur> [osp|/usr/local/bin/ghc]
2023-04-14 23:50:09 +0200 <hololeap> great, thanks
2023-04-14 23:50:20 +0200ystael(~ystael@user/ystael)
2023-04-14 23:50:44 +0200 <geekosaur> you almost never use additional quotes (the exceptions are QQing things like foreign code, see for example inline-c)
2023-04-14 23:53:06 +0200 <hololeap> hm, I'm getting an error geekosaur
2023-04-14 23:53:17 +0200 <hololeap> unterminated quasiquotation at end of input: libFronts = [osp|/usr/lib]
2023-04-14 23:53:47 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-04-14 23:54:03 +0200 <mauke> oh, should be |], not ]
2023-04-14 23:54:07 +0200 <geekosaur> yeh
2023-04-14 23:54:08 +0200 <geekosaur> sorry
2023-04-14 23:54:14 +0200 <geekosaur> I keep forgetting that
2023-04-14 23:54:59 +0200 <hololeap> ok, no worries
2023-04-14 23:55:02 +0200 <insidetrip> I guess what's confusing me, and why I didn't think the transformers was what I was looking for was because it still looks to me like monad transformers combine monads with other monads, so it doesn't make them disappear. So I have 2 IO actions (from serve and from curlGetString) and 1 ServerPart monad. What happens to the IO action called by curlGetString? Am I right in assuming that it unwrapps
2023-04-14 23:55:03 +0200 <insidetrip> ServerPart, integrates curlgetString with the IO action from serve, and then rewraps ServerPart?
2023-04-14 23:55:56 +0200 <monochrom> No one is trying to make any monad disappear.
2023-04-14 23:56:19 +0200 <monochrom> liftIO injects IO in ServerWhateverT IO.
2023-04-14 23:56:26 +0200 <ncf> just like return :: Monad m => a -> m a wraps a value in a trivial layer of m-effects, lift :: MonadTrans t => m a -> t m a wraps an m-computation in a trivial layer of t-effects. liftIO is an iterated version of that
2023-04-14 23:56:28 +0200 <monochrom> s/ in / into /
2023-04-14 23:56:58 +0200 <monochrom> Really in the same sense that you can inject integers into the rational numbers.
2023-04-14 23:57:32 +0200Unhammer(~Unhammer@user/unhammer) (WeeChat 2.3)
2023-04-14 23:59:51 +0200 <monochrom> Bah, all these wordy "intuitive" "explanations" have zero predictive power.