Logs on 2023-04-14 (liberachat/#haskell)
| 00:00:22 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 276 seconds) |
| 00:00:22 | mauke_ | is now known as mauke |
| 00:01:23 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 00:02:18 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 00:04:42 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:11:12 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
| 00:18:11 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 264 seconds) |
| 00:20:48 | → | janus joins (janus@anubis.0x90.dk) |
| 00:21:02 | <janus> | what was the name of that program that would generate bounds based on what you actually tested? |
| 00:21:07 | <janus> | it's a recent project |
| 00:24:19 | <jackdk> | Not sure, I only know of `cabal gen-bounds` |
| 00:27:52 | <monochrom> | I think we can find it again on discourse. It came up in a thread there. |
| 00:28:26 | <monochrom> | Perhaps this: https://discourse.haskell.org/t/don-t-edit-dependency-bounds-manually-with-this-ci-setup/5539 |
| 00:29:40 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:29:40 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:29:40 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:30:50 | <janus> | aah yes! thank you monochrom! |
| 00:31:34 | <janus> | cabal also has --prefer-oldest which is kinda in the same vein |
| 00:33:28 | → | jargon joins (~jargon@174-22-213-236.phnx.qwest.net) |
| 00:41:05 | × | joeyh_ quits (joeyh@2600:3c03::f03c:91ff:fe73:b0d2) (Quit: ZNC 1.8.2+deb2+b5 - https://znc.in) |
| 00:45:25 | × | Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 00:47:36 | → | Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com) |
| 00:49:15 | <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 |
| 00:51:08 | → | joeyh joins (~joeyh@kitenet.net) |
| 00:53:17 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 00:54:40 | → | chanceyan joins (~chanceyan@user/chanceyan) |
| 01:01:44 | × | acidjnk quits (~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 01:10:31 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:29 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 01:14:36 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 01:14:45 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 01:16:39 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:22:02 | → | acidjnk joins (~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) |
| 01:24:48 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:29:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 01:47:05 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds) |
| 01:48:38 | <dsal> | Axman6: yeah, that's what I'm doing. It's not clear to me how it might consider this number text. |
| 01:51:41 | <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 |
| 01:53:25 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 01:58:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 02:03:12 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 248 seconds) |
| 02:03:55 | × | pyook quits (~puke@user/puke) (Remote host closed the connection) |
| 02:04:12 | → | pyook joins (~puke@user/puke) |
| 02:07:07 | × | gurkenglas quits (~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 02:12:25 | × | td_ quits (~td@i53870908.versanet.de) (Ping timeout: 240 seconds) |
| 02:14:34 | → | td_ joins (~td@i53870905.versanet.de) |
| 02:18:45 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 02:32:32 | <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. :) |
| 02:33:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 02:34:26 | × | wroathe quits (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
| 02:35:37 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 02:35:37 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 02:35:37 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:37:26 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:39:45 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 02:42:44 | <Axman6> | non-rubber doggo debugging |
| 02:44:16 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds) |
| 02:45:26 | → | nate1 joins (~nate@98.45.169.16) |
| 02:48:43 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 02:50:07 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 02:52:54 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 02:53:54 | × | srk quits (~sorki@user/srk) (Remote host closed the connection) |
| 02:54:13 | → | srk joins (~sorki@user/srk) |
| 02:56:52 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:56:52 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:56:52 | finn_elija | is now known as FinnElija |
| 02:58:52 | → | irrgit_ joins (~irrgit@89.47.234.74) |
| 02:59:19 | × | irrgit quits (~irrgit@86.106.90.226) (Read error: Connection reset by peer) |
| 03:00:47 | <sm> | wish I had a debugging dog! |
| 03:02:58 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::1) (Remote host closed the connection) |
| 03:03:14 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 03:08:12 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 03:08:18 | <jackdk> | All I have is an updog |
| 03:12:43 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 265 seconds) |
| 03:21:57 | → | vglfr joins (~vglfr@37.73.75.47) |
| 03:27:20 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 03:48:48 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 03:59:29 | × | hochata quits (~user@user/hochata) (Read error: Connection reset by peer) |
| 04:00:26 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 04:05:25 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 276 seconds) |
| 04:05:43 | → | NiceBird joins (~NiceBird@185.133.111.196) |
| 04:11:43 | × | joeyh quits (~joeyh@kitenet.net) (Ping timeout: 260 seconds) |
| 04:12:14 | → | joeyh joins (~joeyh@kitenet.net) |
| 04:13:13 | × | tureba quits (~tureba@tureba.org) (Ping timeout: 276 seconds) |
| 04:26:24 | → | tureba joins (~tureba@tureba.org) |
| 04:29:59 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 04:44:14 | → | jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 04:46:50 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 04:46:51 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 04:46:51 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:47:17 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 04:49:17 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 04:52:35 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 04:52:46 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
| 04:53:33 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds) |
| 04:59:22 | → | phma_ joins (~phma@2001:5b0:211b:b518:b882:9716:7840:b9e6) |
| 04:59:38 | × | phma quits (phma@2001:5b0:210f:2778:fc72:e59d:c1c3:921c) (Read error: Connection reset by peer) |
| 05:03:48 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
| 05:15:16 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 05:23:46 | → | tr_ev joins (~trev@user/trev) |
| 05:25:14 | × | tr_ev quits (~trev@user/trev) (Client Quit) |
| 05:26:52 | → | tr_ev joins (~trev@user/trev) |
| 05:27:22 | × | jargon quits (~jargon@174-22-213-236.phnx.qwest.net) (Remote host closed the connection) |
| 05:31:27 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 05:32:56 | <dsal> | Yay, I fixed the terrible bug in that awful sqlite library. I was using it incorrectly. |
| 05:33:33 | <dsal> | The columns and the fields I was trying to stuff them into weren't in the same order. |
| 05:35:25 | × | Square quits (~Square4@user/square) (Ping timeout: 240 seconds) |
| 05:36:35 | → | slack1256 joins (~slack1256@181.43.89.191) |
| 05:36:50 | <slack1256> | Is there a way to upload by hand the haddock docs for a uploaded package? |
| 05:39:33 | <jackdk> | slack1256: cabal upload -d <other args> |
| 05:39:44 | <jackdk> | build docs using cabal haddock --haddock-for-hackage |
| 05:41:34 | <slack1256> | It really is 2023 |
| 05:41:40 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 05:46:07 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
| 06:00:05 | × | m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 240 seconds) |
| 06:00:26 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 06:02:48 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:03:11 | <slack1256> | Check this out https://hackage.haskell.org/package/data-forced-0.2.0.0 . CBV semantics with unlifted values ! |
| 06:03:43 | × | dsrt^ quits (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Ping timeout: 276 seconds) |
| 06:06:22 | × | slack1256 quits (~slack1256@181.43.89.191) (Remote host closed the connection) |
| 06:09:52 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:24:02 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 06:26:40 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds) |
| 06:31:55 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 06:32:18 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 06:32:59 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 06:35:23 | × | tr_ev quits (~trev@user/trev) (Quit: tr_ev) |
| 06:36:05 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 06:36:08 | → | mncheck joins (~mncheck@193.224.205.254) |
| 06:36:40 | → | tr_ev joins (~trev@user/trev) |
| 06:38:33 | <[exa]> | dsal: try selda? |
| 06:39:03 | → | kenran joins (~user@user/kenran) |
| 06:39:08 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 06:45:32 | tr_ev | is now known as trev |
| 06:47:32 | <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. |
| 06:52:05 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 07:01:16 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 07:02:42 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 07:03:06 | Bocaneri | is now known as Guest2353 |
| 07:03:20 | → | kmein joins (~weechat@user/kmein) |
| 07:05:05 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 246 seconds) |
| 07:06:39 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 07:09:10 | → | gmg joins (~user@user/gehmehgeh) |
| 07:10:45 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 07:25:33 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 07:27:09 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 07:28:25 | → | BemusedOtter joins (~BemusedOt@128.194.3.189) |
| 07:29:08 | ← | BemusedOtter parts (~BemusedOt@128.194.3.189) () |
| 07:31:18 | phma_ | is now known as phma |
| 07:36:57 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:37:59 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 07:39:15 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:45:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 07:46:10 | → | nate1 joins (~nate@98.45.169.16) |
| 07:48:05 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 07:49:42 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:50:56 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 07:55:05 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 07:57:01 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:57:43 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 07:59:05 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 08:04:05 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:12:59 | × | _xor quits (~xor@74.215.46.17) (Quit: bbiab) |
| 08:16:58 | × | mikess quits (~sam@user/mikess) (Ping timeout: 276 seconds) |
| 08:20:32 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 08:22:38 | <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` |
| 08:23:53 | → | mmhat joins (~mmh@p200300f1c7106e4fee086bfffe095315.dip0.t-ipconnect.de) |
| 08:24:31 | × | mmhat quits (~mmh@p200300f1c7106e4fee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 08:34:42 | → | ub1 joins (~Thunderbi@p200300ecdf114f85712b972abb9d8a7e.dip0.t-ipconnect.de) |
| 08:34:53 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
| 08:35:25 | × | ub quits (~Thunderbi@p548c84d6.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 08:36:58 | ub1 | is now known as ub |
| 08:37:37 | → | trillp joins (~trillp@69.233.98.238) |
| 08:37:43 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:38:26 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 08:38:57 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 08:40:19 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:43:31 | × | drdo quits (~drdo@bl7-76-103.dsl.telepac.pt) (Ping timeout: 240 seconds) |
| 08:44:22 | → | drdo joins (~drdo@bl7-76-103.dsl.telepac.pt) |
| 08:44:58 | × | trillp quits (~trillp@69.233.98.238) (Quit: trillp) |
| 08:45:36 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 08:45:38 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 08:46:14 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8) |
| 08:49:08 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 08:49:45 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 08:50:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 248 seconds) |
| 08:51:24 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 08:52:35 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 08:54:05 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
| 09:00:56 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:01:25 | × | chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed) |
| 09:04:31 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 09:07:52 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 09:10:23 | × | ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:11:31 | × | ub quits (~Thunderbi@p200300ecdf114f85712b972abb9d8a7e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 09:11:48 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 09:12:07 | → | ub joins (~Thunderbi@p548c84d6.dip0.t-ipconnect.de) |
| 09:15:04 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 09:16:14 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 09:16:55 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
| 09:18:08 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 09:20:48 | → | titibandit joins (~titibandi@user/titibandit) |
| 09:22:34 | × | driib quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 09:23:30 | → | driib joins (~driib@vmi931078.contaboserver.net) |
| 09:28:11 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 09:36:33 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 09:40:30 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 260 seconds) |
| 09:40:31 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 09:41:20 | → | cyphase joins (~cyphase@user/cyphase) |
| 09:45:40 | × | vglfr quits (~vglfr@37.73.75.47) (Ping timeout: 265 seconds) |
| 09:49:41 | → | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 09:51:49 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 09:52:13 | <jitrs[m]> | @pl \x () -> check x sort |
| 09:52:13 | <lambdabot> | (line 1, column 6): |
| 09:52:13 | <lambdabot> | unexpected " " |
| 09:52:13 | <lambdabot> | expecting pattern or "->" |
| 09:53:51 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 10:03:04 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 265 seconds) |
| 10:03:48 | → | marinelli joins (~marinelli@gateway/tor-sasl/marinelli) |
| 10:09:56 | <ski> | const . (`check` sort) |
| 10:11:23 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 248 seconds) |
| 10:15:23 | → | vglfr joins (~vglfr@37.73.75.47) |
| 10:15:30 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 10:26:16 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 10:28:42 | → | gurkenglas joins (~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de) |
| 10:30:25 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds) |
| 10:39:01 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:80f2:1b63:4085:5e0a) (Ping timeout: 240 seconds) |
| 10:39:53 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 10:41:09 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 10:44:50 | → | akegalj joins (~akegalj@156-230.dsl.iskon.hr) |
| 10:49:41 | → | cheater_ joins (~Username@user/cheater) |
| 10:51:45 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 10:51:47 | cheater_ | is now known as cheater |
| 10:59:55 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:01:33 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 11:01:45 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds) |
| 11:02:51 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 11:08:55 | × | [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 11:13:05 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:13:55 | <kaol> | What's the mechanism that makes "print Nothing" (for example) not complain about not knowing what "a" in Maybe a is? |
| 11:15:16 | <[exa]> | kaol: likely defaulting |
| 11:15:36 | <geekosaur> | look at ExtendedDefaultRules |
| 11:16:05 | <geekosaur> | iirc specifically ghci uses defaulting to assume () as the missing type |
| 11:16:15 | <[exa]> | kaol: a similar thing happens if you do say `(read.show) 5`, it assumes that you want to read a () |
| 11:19:05 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 11:21:46 | ← | marinelli parts (~marinelli@gateway/tor-sasl/marinelli) () |
| 11:22:19 | ← | marinelli[m] parts (~marinelli@2001:470:69fc:105::2d8) () |
| 11:22:28 | → | cheater joins (~Username@user/cheater) |
| 11:47:41 | → | nate1 joins (~nate@98.45.169.16) |
| 11:53:00 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
| 12:03:47 | <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 |
| 12:04:29 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 12:11:46 | <[exa]> | merijn: what precise kind of stochastic functions? |
| 12:12:07 | <merijn> | [exa]: effectively it's a monte carlo sim |
| 12:12:39 | <merijn> | So I have a blackbox monte carlo sim with N inputs and would like to compute partial derivatives for said inputs |
| 12:12:47 | <[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? |
| 12:13:04 | <[exa]> | ah you want it numerically |
| 12:13:16 | <[exa]> | any assumptions about the blackbox? |
| 12:13:27 | <merijn> | [exa]: I think numerically is the only thing that can be done in this setting |
| 12:14:13 | <merijn> | [exa]: Not really other than "given a specific set of inputs I would expect outputs to be a normal distribution around the average" |
| 12:14:28 | <[exa]> | does the blackbox include its own randomness or is it deterministic? |
| 12:16:01 | <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 |
| 12:16:06 | <[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 |
| 12:16:12 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:16:50 | <[exa]> | ah it's this kind of problem, that would give you a regression over distributions |
| 12:17:49 | <[exa]> | ._. |
| 12:19:03 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 12:25:02 | <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)? |
| 12:25:34 | <merijn> | kenran: -XNoFieldSelectors? |
| 12:25:46 | <merijn> | But then you can't use them as functions anymore, so that might not be useful :p |
| 12:26:40 | <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 :) |
| 12:27:04 | <merijn> | kenran: Right, that's exactly what you want then |
| 12:27:13 | <kenran> | Ah |
| 12:27:14 | <merijn> | oh, wait |
| 12:27:16 | <kenran> | since 9.2 |
| 12:27:27 | <merijn> | yeah, just realised it's not in 8.10 :p |
| 12:27:36 | <merijn> | That's the main reason I wasn't using it yet :p |
| 12:30:05 | × | gurkenglas quits (~gurkengla@dynamic-046-114-177-195.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 12:36:00 | <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 |
| 12:36:20 | <kenran> | mainly due to accelerate and compiling-to-categories |
| 12:37:37 | <kenran> | so, I guess I'll try the "replace Foo(..) with Foo(Foo)" route then, though it might suck for sum types |
| 12:37:49 | <kenran> | until we get that juicy extension |
| 12:39:23 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 12:58:10 | → | LenarHoyt joins (~LenarHoyt@mail.bfc-net.de) |
| 12:58:54 | → | LenarHoyt49 joins (~LenarHoyt@p54b50987.dip0.t-ipconnect.de) |
| 13:00:53 | LenarHoyt | is now known as Guest3970 |
| 13:00:53 | LenarHoyt49 | is now known as LenarHoyt |
| 13:02:48 | × | Guest3970 quits (~LenarHoyt@mail.bfc-net.de) (Ping timeout: 260 seconds) |
| 13:07:02 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:16:46 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 13:19:29 | × | mncheck quits (~mncheck@193.224.205.254) (Remote host closed the connection) |
| 13:20:32 | × | dtman34 quits (~dtman34@2601:447:d000:93c9:297:babc:4251:fc7a) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 13:20:47 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:20:53 | → | dtman34 joins (~dtman34@2601:447:d000:93c9:3c66:2a15:f4fe:e249) |
| 13:22:34 | [_] | is now known as [itchyjunk] |
| 13:23:32 | → | Guest94 joins (~Guest94@2409:40f4:1033:3f44:63d3:fd2e:5615:e88a) |
| 13:24:17 | × | Guest94 quits (~Guest94@2409:40f4:1033:3f44:63d3:fd2e:5615:e88a) (Client Quit) |
| 13:31:23 | × | LenarHoyt quits (~LenarHoyt@p54b50987.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 13:32:00 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 13:35:02 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::1) |
| 13:39:29 | → | irrgit__ joins (~irrgit@146.70.27.250) |
| 13:39:36 | × | irrgit_ quits (~irrgit@89.47.234.74) (Read error: Connection reset by peer) |
| 13:40:51 | → | raym joins (~ray@user/raym) |
| 13:43:45 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 13:44:06 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 13:45:08 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 13:47:32 | → | zilog joins (~zilog@37.218.244.251) |
| 13:48:30 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 13:48:37 | → | cheater joins (~Username@user/cheater) |
| 13:49:12 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 13:50:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 13:54:24 | ← | fbytez parts (~uid@2001:bc8:2117:100::) (Leaving) |
| 13:54:35 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Ping timeout: 246 seconds) |
| 13:56:53 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 14:05:31 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 14:13:25 | × | vglfr quits (~vglfr@37.73.75.47) (Ping timeout: 256 seconds) |
| 14:16:40 | <kenran> | dang... I was hunting a bug for 2h before realizing that replacing Data.Map with Data.Map.Strict fixes the problem |
| 14:17:03 | <kenran> | shouldn't put a non-strict map into a TVar I guess |
| 14:23:24 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 14:24:29 | × | ddellacosta quits (~ddellacos@143.244.47.83) (Quit: WeeChat 3.8) |
| 14:25:41 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 14:25:44 | → | ddellacosta joins (~ddellacos@143.244.47.83) |
| 14:26:00 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 14:33:15 | × | ubert quits (~Thunderbi@p200300ecdf114f85b06c57b48694016e.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 14:33:15 | ub | is now known as ubert |
| 14:33:43 | → | ubert1 joins (~Thunderbi@p200300ecdf114fa887ef22f225e2ea1c.dip0.t-ipconnect.de) |
| 14:40:53 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 14:41:59 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 14:42:10 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:50:39 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 14:52:53 | × | Me-me quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 15:05:20 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 15:13:03 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 15:16:46 | × | cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 15:17:52 | → | vglfr joins (~vglfr@88.155.140.234) |
| 15:18:44 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:19:13 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 15:19:51 | <zilog> | oh gosh |
| 15:21:58 | × | grnman_ quits (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 15:23:08 | → | cheater joins (~Username@user/cheater) |
| 15:28:31 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 15:33:12 | → | econo joins (uid147250@user/econo) |
| 15:33:50 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
| 15:34:09 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 15:44:09 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 15:44:20 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 15:46:09 | → | grnman_ joins (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
| 15:46:34 | × | zer0bitz_ quits (~zer0bitz@2001:2003:f443:d600:1cd1:b173:147e:35a6) () |
| 15:49:10 | → | zer0bitz joins (~zer0bitz@2001:2003:f443:d600:1cd1:b173:147e:35a6) |
| 15:49:12 | → | nate1 joins (~nate@98.45.169.16) |
| 15:50:05 | × | vglfr quits (~vglfr@88.155.140.234) (Ping timeout: 240 seconds) |
| 15:50:53 | → | vglfr joins (~vglfr@88.155.140.234) |
| 15:50:55 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 15:54:03 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 15:59:56 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds) |
| 16:03:37 | → | mncheck joins (~mncheck@193.224.205.254) |
| 16:06:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 16:06:39 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 16:06:49 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 16:08:45 | × | thegeekinside quits (~thegeekin@189.217.90.138) (Ping timeout: 240 seconds) |
| 16:09:42 | → | thegeekinside joins (~thegeekin@189.217.90.138) |
| 16:11:56 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 16:12:24 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 16:13:10 | × | irrgit__ quits (~irrgit@146.70.27.250) (Read error: Connection reset by peer) |
| 16:14:30 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 16:15:36 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 16:15:59 | × | ryantrinkle quits (~ryantrink@2607:f00:7:c77:744b:b821:58fc:4775) (Ping timeout: 246 seconds) |
| 16:21:04 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 16:21:13 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 16:28:28 | → | ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
| 16:32:47 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 16:33:15 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 16:33:55 | → | elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
| 16:36:49 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:40:11 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 16:44:18 | <tomsmeding> | @tell kenran accelerate master compiles with ghcs up to 9.6 |
| 16:44:18 | <lambdabot> | Consider it noted. |
| 16:44:52 | <tomsmeding> | @tell kenran re non-strict stuff in a tvar: https://www.well-typed.com/blog/2020/09/nothunks/ |
| 16:44:52 | <lambdabot> | Consider it noted. |
| 16:45:40 | → | __monty__ joins (~toonn@user/toonn) |
| 16:46:07 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 16:46:27 | → | mikess joins (~sam@user/mikess) |
| 16:47:41 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:50:38 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds) |
| 17:05:20 | → | disconnect3d joins (~disconnec@user/disconnect3d) |
| 17:05:32 | <disconnect3d> | hi, how do i check the memory layout of a type in haskell? |
| 17:05:51 | <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 |
| 17:05:59 | <disconnect3d> | (a haskell newbie here) |
| 17:07:58 | <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) |
| 17:08:22 | <disconnect3d> | because i am curious ;) |
| 17:08:33 | <disconnect3d> | because this project is a fuzzer, and that structure is one of the crucial point of it |
| 17:08:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 17:09:02 | <disconnect3d> | and so you would want it to be efficient and do not contain e.g. padding between fields |
| 17:09:19 | <disconnect3d> | tbh i doubt there is any padding here, but i would like to be able to see it in practice |
| 17:09:44 | <disconnect3d> | i tried compiling with -g3 and using llvm-dwarfdump, pahole or gdb + its `ptype /o <type>` command to determine this |
| 17:09:58 | <disconnect3d> | but iiuc the resulting binary and its dwarf doesn't contain info about that type |
| 17:10:02 | <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 |
| 17:10:09 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 17:10:19 | <disconnect3d> | what is an 'arbitrary thunk'? |
| 17:12:56 | <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. |
| 17:13:41 | <disconnect3d> | Is it possible to ask it to be fully strict? (Afaik you can make a field strict with that bang '!' symbol) |
| 17:14:07 | <c_wraith> | you can only be *fully* strict by using unlifted data types |
| 17:14:11 | <c_wraith> | and that one is lifted |
| 17:14:49 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 17:15:16 | <c_wraith> | (If it was unlifted, there would be some kind of annotations to that effect on the type declaration) |
| 17:18:48 | <ncf> | how would that work? would you not have undefined :: Tx any more? |
| 17:18:59 | <c_wraith> | ncf: correct. that would be a kind error |
| 17:19:14 | <ncf> | right |
| 17:19:36 | × | zilog quits (~zilog@37.218.244.251) (Quit: grass) |
| 17:21:11 | ski | idly wonders how complicated it would be to tie knots with such |
| 17:21:40 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 17:21:47 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 260 seconds) |
| 17:21:52 | <c_wraith> | or maybe a levity error. I haven't played with levity much. Maybe it has distinct errors. |
| 17:22:42 | <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. |
| 17:23:27 | <disconnect3d> | "each field gets one word" - do you mean that each field is a pointer? |
| 17:23:27 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 17:23:32 | <disconnect3d> | and is accessed by a pointer, or, may be? |
| 17:23:48 | <disconnect3d> | (depending on how things compile or/and whether the compiler thinks to optimize or not?) |
| 17:23:50 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 17:23:55 | <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 |
| 17:23:59 | <disconnect3d> | how can i "unlift" a type? any examples? |
| 17:24:10 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
| 17:24:26 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 17:25:39 | <c_wraith> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/primitives.html?highlight=unlifted%20data%20types#extension-UnliftedDatatypes this extension is used to create unlifted types. The documentation describes the syntax |
| 17:26:26 | <disconnect3d> | I guess that won't be as easy as adding 'Unlifted' to type declaration? ;p |
| 17:26:42 | → | ryantrinkle joins (~ryantrink@2607:f00:7:60f7:127b:3ad2:6da3:7b8d) |
| 17:26:43 | <c_wraith> | It's actually close to that easy |
| 17:27:01 | <c_wraith> | Though it may cause compilation failures if anything is actually using the fact that it's lifted |
| 17:29:53 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 17:30:27 | <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. |
| 17:31:10 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 17:31:18 | <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 |
| 17:32:34 | <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. |
| 17:34:13 | <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 |
| 17:34:30 | × | ryantrinkle quits (~ryantrink@2607:f00:7:60f7:127b:3ad2:6da3:7b8d) (Ping timeout: 265 seconds) |
| 17:34:43 | <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. |
| 17:42:55 | <disconnect3d> | not sure i understand the point about other languages |
| 17:45:42 | <monochrom> | In short they make rash decisions. And it shows. The syntax is bloated and the semantics is shallow and self-conflicting. |
| 17:46:12 | <monochrom> | In particular the syntax is bloated because "just add one more reserved word, it's easy!" |
| 17:47:51 | <monochrom> | The semantics is shallow and self-conflicting because, with that kind of mindset, it is unlikely that they think of the hard questions. |
| 17:47:55 | <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. |
| 17:48:01 | <disconnect3d> | but maybe its just me not understanding Haskell |
| 17:48:12 | <disconnect3d> | I don't really want to start any pl-flamewar here ;p |
| 17:48:32 | <monochrom> | Here is one. If someone writes a polymorphic function "f :: t -> t", may I use an unlifted type for t? |
| 17:48:39 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 17:49:06 | <disconnect3d> | Probably yes? I don't know Haskell :P |
| 17:49:19 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 17:49:51 | <disconnect3d> | I think that its easy to point flaws in any programming language tbh |
| 17:50:01 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 17:50:10 | <monochrom> | No. |
| 17:50:34 | <disconnect3d> | I'm not going to try to convince you |
| 17:50:47 | <monochrom> | It looks like that because it has been easy to point flaws in popular languages. But then the reason is what I said. |
| 17:50:48 | → | trev joins (~trev@user/trev) |
| 17:51:02 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 17:51:09 | → | ryantrinkle joins (~ryantrink@140.174.248.64) |
| 17:51:17 | <monochrom> | Finding flaws in Haskell is a bit harder, and the flaws found are a bit less important. |
| 17:51:42 | <disconnect3d> | Yea... that's really subjective |
| 17:51:44 | <monochrom> | One day I'm sure there will be an even better language in that sense. |
| 17:52:10 | <monochrom> | Well when you are ready to quantify "easy" then you can make it more objective. |
| 17:52:22 | <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 ;) |
| 17:53:01 | <monochrom> | That is already easy in Haskell. |
| 17:53:33 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 17:54:20 | <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 |
| 17:54:42 | <disconnect3d> | I may also be wrong and maybe people do think about such things |
| 17:55:20 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 17:56:00 | <disconnect3d> | Anyway; thx c_wraith for some pointers |
| 17:56:02 | <[exa]> | disconnect3d: it happens everynow and then and the debugging is sometimes confusing but the fixes are easy and pretty much decisive |
| 17:56:28 | <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. |
| 17:57:01 | <disconnect3d> | monochrom: large projects have baggage of legacy and "want to be compatible forever" kind of mantra |
| 17:57:08 | <[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 |
| 17:57:15 | <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) |
| 17:57:39 | <monochrom> | Only the C++ people are still fighting that fight. But their solution is adding more and more versions of the "same" function. |
| 17:57:40 | jwiegley | is now known as johnw` |
| 17:58:37 | <monochrom> | gtk is not legacy, compared to the long history of C. |
| 17:58:57 | × | johnw quits (~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))) |
| 17:59:04 | johnw` | is now known as johnw |
| 17:59:45 | → | johnw_ joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 17:59:49 | <[exa]> | btw gtk is miracle of a a software engineering purity, esp. once you compare it to some other windowy toolkits out there |
| 18:00:03 | <[exa]> | s/a // |
| 18:00:18 | [exa] | looks at Qt's macros |
| 18:05:01 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
| 18:07:33 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 18:09:13 | → | Guest51 joins (~Guest51@106.51.64.60) |
| 18:12:07 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::1) (Ping timeout: 250 seconds) |
| 18:13:02 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 18:13:02 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 18:13:02 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:18:53 | × | elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 18:23:38 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8) |
| 18:24:00 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 18:25:15 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::1) |
| 18:26:06 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 18:29:18 | Guest2353 | is now known as Sauvin |
| 18:29:45 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 18:30:41 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-59a1-cc84-c4b1-5715.rev.sfr.net) |
| 18:44:20 | × | Guest51 quits (~Guest51@106.51.64.60) (Quit: Client closed) |
| 18:46:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:57:04 | → | gmg joins (~user@user/gehmehgeh) |
| 18:58:27 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 19:00:29 | → | nschoe joins (~q@2a01:e0a:8e:a190:7be1:3a97:5734:6645) |
| 19:02:50 | → | Guest59 joins (~Guest59@ip-78-45-2-56.bb.vodafone.cz) |
| 19:10:12 | × | ddellacosta quits (~ddellacos@143.244.47.83) (Ping timeout: 265 seconds) |
| 19:16:13 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 19:16:21 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:19:01 | ← | Guest59 parts (~Guest59@ip-78-45-2-56.bb.vodafone.cz) () |
| 19:20:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 19:21:01 | × | vglfr quits (~vglfr@88.155.140.234) (Ping timeout: 250 seconds) |
| 19:22:14 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::1) (Ping timeout: 246 seconds) |
| 19:28:21 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 19:31:24 | × | gdd quits (~gdd@129.199.146.230) (Ping timeout: 255 seconds) |
| 19:33:56 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::1) |
| 19:35:22 | × | nschoe quits (~q@2a01:e0a:8e:a190:7be1:3a97:5734:6645) (Quit: Switching off) |
| 19:43:34 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 19:47:08 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 19:47:39 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
| 19:48:06 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: Ping timeout (120 seconds)) |
| 19:48:28 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 19:50:42 | → | nate1 joins (~nate@98.45.169.16) |
| 19:55:42 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 19:59:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 20:02:37 | × | Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 250 seconds) |
| 20:13:09 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 20:16:51 | → | Unhammer joins (~Unhammer@user/unhammer) |
| 20:17:28 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:18:54 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:22:02 | → | dtman34_ joins (~dtman34@76.156.89.180) |
| 20:22:17 | × | ubert1 quits (~Thunderbi@p200300ecdf114fa887ef22f225e2ea1c.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 20:23:11 | × | dtman34 quits (~dtman34@2601:447:d000:93c9:3c66:2a15:f4fe:e249) (Ping timeout: 265 seconds) |
| 20:23:40 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 20:29:27 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 255 seconds) |
| 20:38:59 | → | OscarZ joins (~oscarz@95.175.104.196) |
| 20:41:36 | → | opticblast joins (~Thunderbi@172.58.87.44) |
| 20:43:06 | × | ryantrinkle quits (~ryantrink@140.174.248.64) (Read error: Connection reset by peer) |
| 20:43:21 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 20:43:45 | → | mesaoptimizer joins (apotheosis@user/PapuaHardyNet) |
| 20:44:30 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
| 20:44:45 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 20:45:06 | → | insidetrip joins (~nicholas@2600:8807:9103:b700:85c7:4177:b865:8650) |
| 20:47:52 | → | zeenk joins (~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0) |
| 20:52:03 | ← | mesaoptimizer parts (apotheosis@user/PapuaHardyNet) () |
| 20:52:16 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 20:52:18 | → | zeenk2 joins (~zeenk@188.26.30.104) |
| 20:52:26 | × | zeenk quits (~zeenk@2a02:2f0e:7900:da01:b4a3:67c4:d0e3:beb0) (Excess Flood) |
| 20:55:29 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 250 seconds) |
| 20:55:38 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:59:08 | <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? |
| 21:00:33 | <geekosaur> | o.O it's doing IO, why would you expect otherwise? |
| 21:01:00 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-59a1-cc84-c4b1-5715.rev.sfr.net) (Remote host closed the connection) |
| 21:01:13 | × | kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux) |
| 21:01:29 | <insidetrip> | I don't think I did expect otherwise |
| 21:01:33 | → | kimiamania joins (~65804703@user/kimiamania) |
| 21:01:40 | <monochrom> | I would use curlGetString like I would use getLine. How would you use getLine? |
| 21:02:04 | <geekosaur> | oh, use the response. is this not knowing about >>= or <- ? |
| 21:02:21 | <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. |
| 21:02:55 | <insidetrip> | I'm thinking that there's no other way other than unsafePerformIO, but I don't know all there is to know |
| 21:03:07 | <monochrom> | Pretty sure happstack does not ban IO. |
| 21:03:45 | <insidetrip> | well this might be where I"m getting jammed up |
| 21:04:46 | <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 |
| 21:05:10 | <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. |
| 21:05:22 | <insidetrip> | at least not without using unsafePerformIO |
| 21:05:28 | <geekosaur> | <- |
| 21:05:34 | <geekosaur> | or >>= |
| 21:05:57 | <insidetrip> | how is that different from using do notation? |
| 21:05:59 | <geekosaur> | @where iotut |
| 21:05:59 | <lambdabot> | https://www.vex.net/~trebla/haskell/IO.xhtml |
| 21:06:07 | <mauke> | <- is part of do notation |
| 21:06:09 | <geekosaur> | the first is do notation |
| 21:06:17 | <mauke> | also, forget about unsafePerformIO; it doesn't do what you think it does |
| 21:06:23 | <geekosaur> | ^ |
| 21:06:28 | <insidetrip> | exactly, which causes a mismatch in type of the function |
| 21:06:42 | <mauke> | what function? |
| 21:06:43 | <insidetrip> | instead of returning a ServerPart it returns an IO |
| 21:06:48 | <insidetrip> | curlGetString |
| 21:06:50 | <monochrom> | This is why I am still against "dive-in projects" that skip the "boring, toy program" basics. |
| 21:07:04 | <mauke> | no, what is this ServerPart thing? |
| 21:07:13 | <mauke> | do you have a link to the API docs? |
| 21:07:34 | <insidetrip> | its a monad that contains the response that the server then sends out |
| 21:07:53 | <insidetrip> | which, curl or happstack? |
| 21:08:16 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 21:08:17 | <geekosaur> | I'm starting to think you should just show code |
| 21:08:24 | <insidetrip> | which part? |
| 21:08:29 | <mauke> | whatever thing you're using that forces the ServerPart type on you |
| 21:08:33 | <insidetrip> | i can pastebin the whole file |
| 21:08:35 | <mauke> | ah, it's type ServerPart a = ServerPartT IO a |
| 21:08:35 | → | barcisz joins (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) |
| 21:08:41 | <insidetrip> | where do you want me to pastebin? |
| 21:08:43 | <mauke> | which is an instance of MonadIO |
| 21:08:45 | <ncf> | are you looking for liftIO? |
| 21:08:47 | <geekosaur> | @where paste |
| 21:08:48 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 21:08:49 | <mauke> | so I don't see what the problem is |
| 21:08:55 | <geekosaur> | but it sounds like you want liftIO indeed |
| 21:09:03 | <insidetrip> | yeah I've come across liftIO, but it didn't completely seem right |
| 21:09:04 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:09:16 | <ncf> | showing some code would definitely help right now |
| 21:09:17 | <geekosaur> | it's a lot more right than unsafePerformIO is |
| 21:12:40 | <insidetrip> | https://paste.tomsmeding.com/CSP1BGt2 |
| 21:12:44 | <monochrom> | I cite Dunning-Kruger. |
| 21:12:44 | <insidetrip> | that's the code |
| 21:13:27 | <ncf> | liftIO $ curlGetString ... |
| 21:13:42 | × | barcisz quits (~barcisz@79.191.65.29.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 21:13:56 | <insidetrip> | https://paste.tomsmeding.com/Q7p7lfp1 is my compile error |
| 21:14:07 | <mauke> | ah, it's from happstack-lite |
| 21:14:21 | <insidetrip> | yeah, technically I'm using lite correct |
| 21:14:25 | ncf | . o O ( https://www.smbc-comics.com/comic/dunning ) |
| 21:15:18 | <insidetrip> | are you talkinga bout this liftIO? |
| 21:15:25 | <insidetrip> | https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Monad-IO-Class.html#v:liftIO |
| 21:15:41 | <ncf> | yes |
| 21:16:34 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:17:24 | <mauke> | for reference, the documentation is here: https://hackage.haskell.org/package/happstack-lite-7.3.8/docs/Happstack-Lite.html#v:serve |
| 21:18:19 | <ncf> | alternatively you could use lift from Control.Monad.Trans.Class since the IO layer is right under the ServerPartT layer |
| 21:18:40 | <ncf> | but liftIO is more explicit |
| 21:19:05 | <geekosaur> | and doesn't rely on IO being right under ServerPartT |
| 21:27:15 | <insidetrip> | Yeah so where can I find out more about this liftIO? How is it unwrapping the IO action without using unsafeperformio? |
| 21:27:42 | <monochrom> | No, it unwraps and rewraps ServerPartT. |
| 21:27:47 | <insidetrip> | ah |
| 21:27:55 | <insidetrip> | cool |
| 21:27:58 | <insidetrip> | how does that work? lol |
| 21:28:18 | <monochrom> | Please study https://wiki.haskell.org/Typeclassopedia#Monad_transformers |
| 21:29:00 | <insidetrip> | thanks |
| 21:29:10 | <monochrom> | And https://en.wikibooks.org/wiki/Haskell/Monad_transformers |
| 21:31:20 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 21:32:05 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 21:33:57 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 21:37:56 | → | coot_ joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 21:39:47 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 264 seconds) |
| 21:39:48 | coot_ | is now known as coot |
| 21:44:22 | <mauke> | liftIO is wrapping the IO action in ServerPart |
| 21:44:37 | <mauke> | you get a "fake unwrap" with <- in do notation |
| 21:45:29 | <hololeap> | I see that there is this in the newest filepath: osp :: QuasiQuoter |
| 21:45:36 | <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 |
| 21:46:10 | <hololeap> | I'm not familiar with quasi-quoters, is there a tl;dr for how to hard-code a path as a OsPath? |
| 21:49:13 | <mauke> | I can't tell from the documentation whether it is meant to be used as [osp|foobar] or [osp|"foobar"] |
| 21:49:14 | <geekosaur> | [osp|/usr/local/bin/ghc] |
| 21:50:09 | <hololeap> | great, thanks |
| 21:50:20 | → | ystael joins (~ystael@user/ystael) |
| 21:50:44 | <geekosaur> | you almost never use additional quotes (the exceptions are QQing things like foreign code, see for example inline-c) |
| 21:53:06 | <hololeap> | hm, I'm getting an error geekosaur |
| 21:53:17 | <hololeap> | unterminated quasiquotation at end of input: libFronts = [osp|/usr/lib] |
| 21:53:47 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:54:03 | <mauke> | oh, should be |], not ] |
| 21:54:07 | <geekosaur> | yeh |
| 21:54:08 | <geekosaur> | sorry |
| 21:54:14 | <geekosaur> | I keep forgetting that |
| 21:54:59 | <hololeap> | ok, no worries |
| 21:55:02 | <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 |
| 21:55:03 | <insidetrip> | ServerPart, integrates curlgetString with the IO action from serve, and then rewraps ServerPart? |
| 21:55:56 | <monochrom> | No one is trying to make any monad disappear. |
| 21:56:19 | <monochrom> | liftIO injects IO in ServerWhateverT IO. |
| 21:56:26 | <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 |
| 21:56:28 | <monochrom> | s/ in / into / |
| 21:56:58 | <monochrom> | Really in the same sense that you can inject integers into the rational numbers. |
| 21:57:32 | ← | Unhammer parts (~Unhammer@user/unhammer) (WeeChat 2.3) |
| 21:59:51 | <monochrom> | Bah, all these wordy "intuitive" "explanations" have zero predictive power. |
| 22:00:27 | <monochrom> | When I posted the URLs to typeclassopedia and the wikibook, there was a reason I said "study". |
| 22:00:33 | <insidetrip> | Yeah, sorry not understanding what you're getting at I'll just keep reading |
| 22:00:45 | <monochrom> | "study" means it should take several days, for example. |
| 22:00:52 | <insidetrip> | gotta get to carnegie hall somehow |
| 22:01:12 | <monochrom> | And it also means you would be working out what liftIO does in the cases of, for example, ReaderT and StateT. |
| 22:01:35 | <insidetrip> | i mean, that is the goal right? |
| 22:06:54 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 22:08:05 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 240 seconds) |
| 22:08:09 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 22:08:20 | <monochrom> | s/what liftIO does/how to code up liftIO/ |
| 22:16:57 | → | stackdroid18 joins (~stackdroi@de1.hashbang.sh) |
| 22:17:02 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 22:17:21 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 22:17:24 | → | heraldo joins (~heraldo@user/heraldo) |
| 22:18:22 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 22:24:01 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 22:24:53 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) (Remote host closed the connection) |
| 22:25:44 | × | akegalj quits (~akegalj@156-230.dsl.iskon.hr) (Quit: leaving) |
| 22:25:49 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 22:25:53 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 22:33:07 | × | heraldo quits (~heraldo@user/heraldo) (Quit: heraldo) |
| 22:33:33 | → | Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-d082-4129-2dde-19a1.res6.spectrum.com) |
| 22:34:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7dba:33a7:e996:fba7) |
| 22:36:32 | → | heraldo joins (~heraldo@user/heraldo) |
| 22:36:44 | → | Me-me joins (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
| 22:38:17 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:44:42 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:44:46 | × | heraldo quits (~heraldo@user/heraldo) (Quit: heraldo) |
| 22:44:50 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
| 22:45:00 | → | mesaoptimizer_ joins (apotheosis@tilde.institute) |
| 22:45:05 | × | mesaoptimizer_ quits (apotheosis@tilde.institute) (Client Quit) |
| 22:45:06 | → | oac joins (~oac@50-93-248-155.fttp.usinternet.com) |
| 22:45:25 | × | Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-d082-4129-2dde-19a1.res6.spectrum.com) (Quit: ZZZzzz…) |
| 22:46:25 | → | esph joins (~weechat@user/esph) |
| 22:49:40 | × | oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Client Quit) |
| 22:49:47 | × | acidjnk quits (~acidjnk@p200300d6e715c413dd3a93b6f19e5fad.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 22:51:52 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 22:54:30 | × | stackdroid18 quits (~stackdroi@de1.hashbang.sh) (Quit: hasta la vista... tchau!) |
| 22:55:32 | → | _xor joins (~xor@74.215.46.17) |
| 22:56:51 | × | zeenk2 quits (~zeenk@188.26.30.104) (Quit: Konversation terminated!) |
| 22:57:25 | × | NiceBird quits (~NiceBird@185.133.111.196) (Ping timeout: 240 seconds) |
| 22:58:01 | → | acidjnk joins (~acidjnk@p200300d6e715c4416144e158ab279f3c.dip0.t-ipconnect.de) |
| 23:24:34 | × | czy quits (~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection) |
| 23:24:50 | × | insidetrip quits (~nicholas@2600:8807:9103:b700:85c7:4177:b865:8650) (Quit: WeeChat 3.8) |
| 23:35:59 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 23:44:33 | → | ystael joins (~ystael@user/ystael) |
| 23:52:14 | → | nate1 joins (~nate@98.45.169.16) |
| 23:55:51 | → | mauke_ joins (~mauke@user/mauke) |
| 23:56:45 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 23:57:25 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds) |
| 23:57:25 | mauke_ | is now known as mauke |
| 23:58:55 | → | pavonia joins (~user@user/siracusa) |
All times are in UTC on 2023-04-14.