Logs on 2023-05-11 (liberachat/#haskell)
| 00:13:35 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:13:35 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:13:35 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:15:11 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 00:17:01 | → | jero98772 joins (~jero98772@190.158.28.80) |
| 00:19:01 | × | falafel quits (~falafel@2603-8000-d700-115c-4c01-bd57-7717-801a.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 00:29:23 | → | Guest40 joins (~Guest40@138.251.117.48) |
| 00:29:48 | → | cowboy8625 joins (~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) |
| 00:33:04 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 00:33:33 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 00:33:54 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 00:36:17 | × | Guest40 quits (~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds)) |
| 00:36:41 | × | notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer) |
| 00:40:51 | ← | SeanKing[m] parts (~seankingm@2001:470:69fc:105::cf9c) () |
| 00:41:45 | × | cowboy8625 quits (~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) (Quit: WeeChat 3.5) |
| 00:42:57 | → | cowboy8625 joins (~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) |
| 00:43:05 | → | SeanKing[m] joins (~seankingm@2001:470:69fc:105::cf9c) |
| 01:01:41 | × | cowboy8625 quits (~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) (Ping timeout: 256 seconds) |
| 01:04:23 | × | rbrins quits (~user@67.21.186.139) (Ping timeout: 240 seconds) |
| 01:08:32 | × | jero98772 quits (~jero98772@190.158.28.80) (Ping timeout: 246 seconds) |
| 01:08:45 | → | cowboy8625 joins (~cowboy@2001-48F8-4002-30E-8B19-A165-5F15-CE9E-static.midco.net) |
| 01:10:38 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:01 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 01:13:07 | → | Guest40 joins (~Guest40@138.251.117.48) |
| 01:13:40 | × | cowboy8625 quits (~cowboy@2001-48F8-4002-30E-8B19-A165-5F15-CE9E-static.midco.net) (Ping timeout: 265 seconds) |
| 01:16:45 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:24 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 01:19:31 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 01:19:31 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds) |
| 01:20:18 | × | puke quits (~puke@user/puke) (Quit: puke) |
| 01:20:37 | → | puke joins (~puke@user/puke) |
| 01:23:57 | × | Guest40 quits (~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds)) |
| 01:25:22 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 01:25:36 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:26:49 | → | evincar joins (~evincar@user/evincar) |
| 01:27:07 | → | jero98772 joins (~jero98772@190.158.28.80) |
| 01:29:07 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:31:33 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds) |
| 01:36:52 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 02:02:24 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:02:24 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:02:24 | finn_elija | is now known as FinnElija |
| 02:03:11 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 02:07:14 | → | Guest51 joins (~Guest51@69-165-220-190.dsl.teksavvy.com) |
| 02:08:01 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds) |
| 02:15:26 | → | nate2 joins (~nate@98.45.169.16) |
| 02:20:27 | × | td_ quits (~td@i53870904.versanet.de) (Ping timeout: 256 seconds) |
| 02:22:06 | → | td_ joins (~td@i53870913.versanet.de) |
| 02:27:12 | × | accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:34:41 | × | puke quits (~puke@user/puke) (Quit: puke) |
| 02:36:05 | × | Guest51 quits (~Guest51@69-165-220-190.dsl.teksavvy.com) (Quit: Client closed) |
| 02:37:23 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
| 02:37:54 | → | puke joins (~puke@user/puke) |
| 02:40:27 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 02:40:27 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 02:40:27 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:45:30 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 02:46:09 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 02:55:22 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 03:01:00 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 03:03:58 | → | freeside_ joins (~mengwong@202.161.55.11) |
| 03:04:40 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:05:25 | → | cheater_ joins (~Username@user/cheater) |
| 03:05:48 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 03:05:50 | cheater_ | is now known as cheater |
| 03:13:32 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 265 seconds) |
| 03:13:34 | × | jero98772 quits (~jero98772@190.158.28.80) (Remote host closed the connection) |
| 03:17:37 | → | jargon joins (~jargon@184.101.78.160) |
| 03:18:33 | × | jargon quits (~jargon@184.101.78.160) (Remote host closed the connection) |
| 03:19:20 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 03:20:14 | → | evincar joins (~evincar@user/evincar) |
| 03:23:35 | × | freeside_ quits (~mengwong@202.161.55.11) (Ping timeout: 240 seconds) |
| 03:23:46 | → | freeside_ joins (~mengwong@202.161.55.11) |
| 03:26:33 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:27:59 | × | freeside_ quits (~mengwong@202.161.55.11) (Ping timeout: 240 seconds) |
| 03:41:41 | → | trev joins (~trev@user/trev) |
| 03:43:23 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 264 seconds) |
| 03:48:55 | → | evincar joins (~evincar@user/evincar) |
| 03:51:23 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:d8c8:6fc6:e851:a318) |
| 04:01:18 | → | Ross[m]1 joins (~zhichuche@2001:470:69fc:105::3:584b) |
| 04:10:25 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:36:55 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 04:39:43 | → | bilegeek joins (~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) |
| 04:47:11 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 04:54:32 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 04:59:09 | × | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 05:02:11 | → | freeside_ joins (~mengwong@122.11.214.81) |
| 05:07:11 | × | opticblast quits (~Thunderbi@172.58.86.143) (Ping timeout: 240 seconds) |
| 05:10:39 | → | evincar joins (~evincar@user/evincar) |
| 05:11:34 | × | famubu quits (~julinuser@user/famubu) (Quit: leaving) |
| 05:12:11 | → | bliminse joins (~bliminse@user/bliminse) |
| 05:13:52 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 05:17:41 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:27:48 | × | myxokeph quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Ping timeout: 240 seconds) |
| 05:27:58 | → | coot_ joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 05:29:09 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 256 seconds) |
| 05:29:10 | coot_ | is now known as coot |
| 05:39:34 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 05:40:43 | → | michalz joins (~michalz@185.246.207.218) |
| 05:47:41 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 265 seconds) |
| 05:49:24 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 05:50:37 | × | freeside_ quits (~mengwong@122.11.214.81) (Ping timeout: 265 seconds) |
| 05:57:00 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:57:01 | × | pyook quits (~puke@user/puke) (Quit: Quit) |
| 05:58:16 | → | myxokeph joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) |
| 06:01:48 | → | freeside_ joins (~mengwong@202.161.55.11) |
| 06:07:46 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 06:10:07 | → | oo_miguel joins (~Thunderbi@77.252.47.78) |
| 06:16:59 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 06:18:48 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:22:40 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:23:05 | → | acidjnk joins (~acidjnk@p200300d6e7072f6355212613ac33bd6e.dip0.t-ipconnect.de) |
| 06:42:05 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 06:48:23 | → | mncheck joins (~mncheck@193.224.205.254) |
| 06:51:53 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 256 seconds) |
| 06:54:21 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 06:59:19 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:2872:f96c:b2e6:63a4) |
| 07:01:23 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:02:37 | → | pyook joins (~puke@user/puke) |
| 07:05:02 | → | CiaoSen joins (~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) |
| 07:16:13 | → | nate2 joins (~nate@98.45.169.16) |
| 07:20:25 | × | bilegeek quits (~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) (Remote host closed the connection) |
| 07:20:49 | → | bilegeek joins (~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) |
| 07:21:01 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 07:25:29 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 07:26:35 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 07:30:16 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:32:08 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 07:33:01 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:34:47 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 07:41:10 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 250 seconds) |
| 07:41:20 | → | Techcable joins (~Techcable@user/Techcable) |
| 07:49:07 | × | bilegeek quits (~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) (Ping timeout: 256 seconds) |
| 07:49:11 | × | Techcable quits (~Techcable@user/Techcable) (Read error: Connection reset by peer) |
| 07:49:23 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 07:50:48 | × | m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 240 seconds) |
| 07:51:59 | → | Techcable joins (~Techcable@user/Techcable) |
| 07:52:54 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 265 seconds) |
| 07:54:44 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 07:55:25 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 07:57:02 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:58:55 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 08:01:10 | → | merijn joins (~merijn@86.86.29.250) |
| 08:12:25 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:15:16 | → | mmhat joins (~mmh@p200300f1c706683cee086bfffe095315.dip0.t-ipconnect.de) |
| 08:15:58 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:21:53 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:23:00 | × | mmhat quits (~mmh@p200300f1c706683cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 08:23:07 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 256 seconds) |
| 08:24:06 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 08:24:51 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:25:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) |
| 08:29:38 | → | ystael joins (~ystael@user/ystael) |
| 08:30:14 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 246 seconds) |
| 08:41:14 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 08:41:41 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 08:42:43 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 08:42:57 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 256 seconds) |
| 08:43:11 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:44:31 | Lord_of_Life_ | is now known as Lord_of_Life |
| 08:58:22 | × | pyook quits (~puke@user/puke) (Ping timeout: 268 seconds) |
| 08:58:23 | → | ccapndave joins (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) |
| 08:59:27 | → | JimL joins (~quassel@89.162.16.26) |
| 09:01:41 | → | oo_miguel1 joins (~Thunderbi@77.252.47.78) |
| 09:02:05 | × | oo_miguel quits (~Thunderbi@77.252.47.78) (Ping timeout: 246 seconds) |
| 09:02:05 | oo_miguel1 | is now known as oo_miguel |
| 09:04:25 | → | alexherbo2 joins (~alexherbo@211.190.65.81.rev.sfr.net) |
| 09:04:48 | → | hgolden_ joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 09:06:31 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Ping timeout: 240 seconds) |
| 09:07:08 | × | JimL quits (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 09:07:10 | → | titibandit joins (~titibandi@user/titibandit) |
| 09:09:09 | → | JimL joins (~quassel@89.162.16.26) |
| 09:16:11 | → | pyook joins (~puke@user/puke) |
| 09:17:01 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
| 09:17:22 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 09:18:33 | → | gurkenglas joins (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) |
| 09:22:21 | → | __monty__ joins (~toonn@user/toonn) |
| 09:24:29 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:a17e:7764:ca3b:275) |
| 09:30:45 | × | ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:33:53 | × | alexherbo2 quits (~alexherbo@211.190.65.81.rev.sfr.net) (Remote host closed the connection) |
| 09:34:11 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) |
| 09:40:44 | → | phma_ joins (phma@2001:5b0:210d:9dd8:7e87:f62f:6b71:75cd) |
| 09:44:43 | × | phma quits (~phma@host-67-44-208-102.hnremote.net) (Ping timeout: 256 seconds) |
| 09:51:47 | → | hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) |
| 09:52:11 | × | ccapndave quits (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
| 09:54:52 | × | dfg quits (~dfg@user/dfg) (Remote host closed the connection) |
| 09:55:10 | → | dfg joins (~dfg@dfg.rocks) |
| 09:55:10 | × | dfg quits (~dfg@dfg.rocks) (Changing host) |
| 09:55:10 | → | dfg joins (~dfg@user/dfg) |
| 09:58:39 | phma_ | is now known as phma |
| 10:01:16 | × | freeside_ quits (~mengwong@202.161.55.11) (Ping timeout: 268 seconds) |
| 10:01:35 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
| 10:01:35 | × | tokie quits (~tokie@tokie.net) (Ping timeout: 260 seconds) |
| 10:01:36 | → | Guest75 joins (~Guest75@ip5f5be7a8.dynamic.kabel-deutschland.de) |
| 10:02:04 | → | freeside_ joins (~mengwong@122.11.248.245) |
| 10:06:29 | × | gurkenglas quits (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 10:06:49 | × | freeside_ quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 10:07:20 | × | pharonix71 quits (~pharonix7@user/pharonix71) (Ping timeout: 240 seconds) |
| 10:07:31 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
| 10:09:43 | → | pharonix71 joins (~pharonix7@user/pharonix71) |
| 10:11:11 | × | Guest75 quits (~Guest75@ip5f5be7a8.dynamic.kabel-deutschland.de) (Quit: Connection closed) |
| 10:12:54 | → | tokie joins (~tokie@tokie.net) |
| 10:17:35 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 240 seconds) |
| 10:20:38 | → | Techcable joins (~Techcable@user/Techcable) |
| 10:22:23 | × | CiaoSen quits (~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 10:23:34 | → | gurkenglas joins (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) |
| 10:24:45 | <jade[m]> | I was asking about the signature of `($) :: forall r a (b :: TYPE r). (a -> b) -> a -> b`. From what I understand it just means that b has _some_ runtime representation? |
| 10:24:45 | <jade[m]> | What does that mean in practice? What is the difference to `($) :: (a -> b) -> a -> b`? |
| 10:25:13 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 10:25:35 | <geekosaur> | it means that it has any runtime representation, as opposed to the default of being `LiftedRep` |
| 10:28:38 | <jade[m]> | does that have any effect in practice though? Is there anything that you can do with that which the "normal" signature can't? |
| 10:30:27 | <geekosaur> | you can use it with unboxed values |
| 10:30:54 | <geekosaur> | (which should not be surprising as it's just normal function application with a different fixity) |
| 10:31:11 | <geekosaur> | this doesn't matter for most purposes but there are indeed uses for it |
| 10:31:52 | <jade[m]> | mh I see |
| 10:32:05 | <jade[m]> | thank you, I'll have to learn more about these primitive things |
| 10:32:41 | <ncf> | doesn't ($) have to be special-cased internally anyway for impredicative polymorphism or something |
| 10:33:38 | <tomsmeding> | geekosaur: shouldn't the 'a' also be given a kind annotation then? |
| 10:33:49 | <ncf> | this https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0274-quick-look-impredicativity.rst#the-typing-rule-for |
| 10:34:36 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 10:36:03 | <geekosaur> | tomsmeding, I think `a` is already representation polymorphic? it's `b` that defaults to `TYPE LiftedRep` aka `Type` |
| 10:36:24 | <tomsmeding> | hmm |
| 10:36:38 | <geekosaur> | way back in the day the kind of the function arrow was something like `? -> ?? -> *` |
| 10:36:43 | <geekosaur> | :k (->) |
| 10:36:44 | <lambdabot> | * -> * -> * |
| 10:37:02 | <geekosaur> | % :set -fprint-explicit-foralls |
| 10:37:02 | <yahb2> | <no output> |
| 10:37:08 | <geekosaur> | % :kind (->) |
| 10:37:08 | <yahb2> | (->) :: * -> * -> * |
| 10:37:11 | <geekosaur> | hm |
| 10:37:35 | <tomsmeding> | also there's something weird going on anyway https://paste.tomsmeding.com/j8g3OWzO |
| 10:37:44 | <tomsmeding> | seems ($) is indeed handled specially somehow |
| 10:38:43 | <tomsmeding> | % :set -fprint-explicit-kinds -fprint-explicit-runtime-reps |
| 10:38:43 | <yahb2> | <no output> |
| 10:38:48 | <tomsmeding> | $ :kind (->) |
| 10:38:52 | <tomsmeding> | % :kind (->) |
| 10:38:52 | <yahb2> | (->) :: forall {q :: GHC.Types.RuntimeRep} ; {r :: GHC.Types.RuntimeRep}. ; TYPE q -> TYPE r -> * |
| 10:39:01 | <tomsmeding> | geekosaur: ^ |
| 10:39:22 | <ncf> | apparently base 4.19 makes ($) representation-polymorphic in both parameters |
| 10:39:25 | <jade[m]> | huh interesting |
| 10:39:31 | × | acidjnk quits (~acidjnk@p200300d6e7072f6355212613ac33bd6e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 10:39:38 | <ncf> | https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1601 |
| 10:40:34 | <ncf> | > the generalisation forced a change in its implementation |
| 10:40:36 | <lambdabot> | <hint>:1:36: error: parse error on input ‘in’ |
| 10:40:50 | <tomsmeding> | ncf: not only ($)'s implementation, GHC's implementation apparently |
| 10:40:50 | <ncf> | love to read about the implementation of function application |
| 10:40:57 | <tomsmeding> | because that type is not accepted by ghc 9.2.4 :p |
| 10:41:26 | <ncf> | statements dreamt up by the utterly deranged |
| 10:41:33 | <tomsmeding> | ah but it is accepted by 9.6.1 |
| 10:41:35 | <ncf> | ($) was not meant to be given types! |
| 10:41:54 | <ncf> | "yes i would like forall repa (a :: TYPE repa). apples please" |
| 10:41:57 | <tomsmeding> | lol |
| 10:42:40 | <tomsmeding> | 9.6.1 accepts a more general type for ($) than the one in 9.6.1's base, leading to my app in my paste working whereas ($) doesn't |
| 10:42:47 | → | zmt00 joins (~zmt00@user/zmt00) |
| 10:43:30 | <tomsmeding> | @hackage repa |
| 10:43:30 | <lambdabot> | https://hackage.haskell.org/package/repa |
| 10:45:50 | <carbolymer> | if I do `let foo = someExpensiveFunction` and use foo multiple times, `someExpensiveFunction` would be executed only once and the result reused, right? |
| 10:46:42 | <geekosaur> | usually |
| 10:46:51 | <carbolymer> | wdym |
| 10:47:33 | <geekosaur> | lets can be sunk or floated which can change how often they are evaluated. usually it will take your code as a request (not command) to only perform the computation once |
| 10:47:48 | <geekosaur> | but you can annotate it with Debug.Trace.trace to verify |
| 10:48:47 | <opqdonut> | also if the type of foo is polymorphic (e.g. Num a => a), it might get recomputed |
| 10:49:02 | <carbolymer> | opqdonut: oh yeah, that would make sense |
| 10:49:14 | <tomsmeding> | carbolymer: note that you may see different behaviour in a compiled file and in ghci, because ghci sets -XNoMonomorphismRestriction by default, and without the mono-res, opqdonut's situation arises |
| 10:49:20 | × | gry quits (~quassel@botters/gry) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 10:49:42 | <geekosaur> | no it won't because the monomorphism restriction applies to top level bindings, not let bindings |
| 10:49:46 | <opqdonut> | if it's an actual let...in, TDMR won't affect |
| 10:49:48 | <geekosaur> | MonoLocalBinds applies to those |
| 10:49:51 | <opqdonut> | yeah |
| 10:49:55 | <tomsmeding> | ah! |
| 10:49:56 | <tomsmeding> | right |
| 10:50:29 | <opqdonut> | carbolymer: in general, for basic haskell, "a named value gets evaluated at most once" is a good rule of thumb |
| 10:50:52 | → | gry joins (quasselcor@2400:c400:1002:11:5054:ff:fe78:ebe6) |
| 10:51:26 | <carbolymer> | opqdonut: I thought so, but I got a review comment that my value in where gets recomputed every time, so it got me thinking if that's really the case |
| 10:51:28 | <tomsmeding> | ghc is allowed to inline and violate that rule, but if the computation is actually expensive, that would arguably be a bug |
| 10:52:28 | <sm1> | carbolymer: would be interesting to see that code |
| 10:52:45 | <tomsmeding> | carbolymer: if it depends on the function arguments, then it will get recomputed the next time the function that the 'where' is attached to is called |
| 10:52:50 | <opqdonut> | yeah |
| 10:53:07 | <opqdonut> | and even if it doesn't depend on the args, it might get recomputed |
| 10:53:11 | <geekosaur> | or, as mentioned, if it's inferred to be typeclass-polymorphic |
| 10:53:15 | <tomsmeding> | if it doesn't depend on the function arguments, ghc should (but might not) float it up and make it a top-level constant |
| 10:53:21 | <geekosaur> | in which case you may like `MonoLocalBinds` |
| 10:53:21 | <carbolymer> | sm1: here https://github.com/input-output-hk/cardano-node/pull/5197/files/b78ed2c5038381134d9f91971f541623f6d1d3e9#diff-12e0bb9f3db22ac71c93ed3932f54c91a6f6bf7243afaa29ccd7ecb3657e6069R1042 |
| 10:54:13 | → | Guest40 joins (~Guest40@138.251.117.48) |
| 10:54:56 | <carbolymer> | tomsmeding: yeah, that's expected I'd say, but I would like to avoid recomputing within single call of a function where 'where' is placed |
| 10:55:00 | <sm1> | thanks! |
| 10:55:12 | tomsmeding | isn't sure which where binding we're talking about here |
| 10:55:45 | <sm1> | https://github.com/input-output-hk/cardano-node/blob/b78ed2c5038381134d9f91971f541623f6d1d3e9/cardano-api/src/Cardano/Api/Fees.hs#L1042 I think |
| 10:55:48 | × | gry quits (quasselcor@2400:c400:1002:11:5054:ff:fe78:ebe6) (Changing host) |
| 10:55:48 | → | gry joins (quasselcor@botters/gry) |
| 10:55:53 | <sm1> | it depends on pparams function argument |
| 10:56:03 | <carbolymer> | sm1: yes |
| 10:56:10 | <carbolymer> | sry, I thought that I copied highlighted line |
| 10:58:59 | × | gurkenglas quits (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds) |
| 10:59:23 | <tomsmeding> | carbolymer: I think their point is not that the whole eBpparams will be recomputed every time, but that the Either will be matched on every time |
| 11:00:01 | <tomsmeding> | which is indeed repeated computation, but much less than the whole binding |
| 11:01:43 | <carbolymer> | tomsmeding: ah, thanks, that would make sense |
| 11:05:09 | → | xff0x joins (~xff0x@2405:6580:b080:900:eba2:f46b:4628:1a3b) |
| 11:05:34 | → | vpan joins (~0@mail.elitnet.lt) |
| 11:07:08 | <sm1> | carbolymer: off the top of your head, is there a trick to get hls working in this repo ? It can't detect the ghc version. |
| 11:10:08 | <carbolymer> | sm1: I'm using direnv to manually set ghc version https://c-v.sh/mirkysissies.txt |
| 11:10:37 | <sm1> | 👍️ |
| 11:11:44 | <sm1> | phew.. so old |
| 11:12:14 | <carbolymer> | well we need to support 8.10 as of now, but it should work with 9.4 I think |
| 11:15:10 | <sm1> | nothing works here. Sorry y'all dropped stack! |
| 11:15:21 | <sm1> | but don't mind me |
| 11:17:43 | → | nate2 joins (~nate@98.45.169.16) |
| 11:19:35 | <tomsmeding> | sm1: what happens if you add a hie.yaml file in the repo root with the contents "cradle:\n cabal:" (with the \n denoting an actual newline) |
| 11:21:52 | → | gurkenglas joins (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) |
| 11:22:59 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
| 11:23:07 | <sm1> | no change tomsmeding |
| 11:23:51 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:25:51 | × | Guest40 quits (~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds)) |
| 11:28:25 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:31be:f6fb:98c3:bcac) |
| 11:37:11 | <sm1> | (got it starting up by: adding with-compiler: ghc-9.2.7 in cabal.project.local, brew install secp256k1) |
| 11:37:52 | → | oneeyedalien joins (~oneeyedal@103.21.127.60) |
| 11:39:55 | → | d3mon joins (~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) |
| 11:42:23 | <d3mon> | hi, beginner here, could someone help me understand what's causing the type error here? https://paste.tomsmeding.com/cfrDOEar |
| 11:42:42 | <ncf> | the error message should help you |
| 11:42:46 | <merijn> | d3mon: Could you include the type error? ;) |
| 11:43:10 | <d3mon> | oh yeah oops that would help wouldn't it |
| 11:43:41 | <d3mon> | https://paste.tomsmeding.com/Zjoi8rRR here's the same again with the type error appended |
| 11:43:43 | <merijn> | d3mon: unrelated style remark: I, uh, wouldn't indent that where so much :p |
| 11:43:46 | → | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 11:44:21 | <ncf> | you can't multiply Ints and Doubles together |
| 11:44:23 | <merijn> | d3mon: oh! There is no implicit type conversion for numbers (like C, etc.) would do |
| 11:44:26 | <merijn> | :t (*) |
| 11:44:27 | <lambdabot> | Num a => a -> a -> a |
| 11:44:40 | <merijn> | * requires both arguments to have the same type |
| 11:44:53 | <merijn> | You probably want |
| 11:44:55 | <merijn> | :t fromIntegral |
| 11:44:56 | <lambdabot> | (Integral a, Num b) => a -> b |
| 11:45:04 | <merijn> | > fromIntegral (1 :: Int) :: Double |
| 11:45:06 | <lambdabot> | 1.0 |
| 11:45:39 | <merijn> | > (2.0 :: Double) * (1 :: Int) |
| 11:45:40 | <lambdabot> | error: |
| 11:45:41 | <lambdabot> | • Couldn't match expected type ‘Double’ with actual type ‘Int’ |
| 11:45:41 | <lambdabot> | • In the second argument of ‘(*)’, namely ‘(1 :: Int)’ |
| 11:45:46 | <merijn> | > (2.0 :: Double) * fromIntegral (1 :: Int) |
| 11:45:47 | <lambdabot> | 2.0 |
| 11:46:08 | <d3mon> | merijn: ah okay. Do you know where I could find a good style guide for Haskell? |
| 11:46:26 | <d3mon> | I get it now, so both the arguments to (*) have to be of the same type |
| 11:46:45 | <merijn> | d3mon: I don't think there's really one, but normally you'd only indent where 1 (or half) an indent |
| 11:46:56 | × | oneeyedalien quits (~oneeyedal@103.21.127.60) (Quit: Leaving) |
| 11:47:16 | <d3mon> | one indent from the margin? |
| 11:48:36 | <merijn> | d3mon: I generally format nested stuff like this: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/StepAggregate.hs#L62-L119 |
| 11:51:57 | <d3mon> | great thanks! |
| 11:52:21 | <d3mon> | how come using fromIntegral like this doesn't solve the problem? https://paste.tomsmeding.com/5rmwTU5U |
| 11:53:56 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 11:56:24 | <ncf> | p0 and aug are still Ints |
| 11:56:35 | <ncf> | :t (+) |
| 11:56:36 | <lambdabot> | Num a => a -> a -> a |
| 11:57:16 | <d3mon> | so I need to convert them all to fractional types? |
| 11:58:31 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 11:58:47 | <d3mon> | okay that seems to be working. I don't understand why the error message didn't change when I fixed the first one, though |
| 12:00:06 | <merijn> | d3mon: Because change the first one changes the type of the multiplication to Double, but the + still wants it to be Int |
| 12:00:48 | <merijn> | d3mon: And * being double is still caused by 'pc' |
| 12:01:05 | <d3mon> | ah |
| 12:01:47 | <d3mon> | so where exactly is this type error coming from? is it the whole expression that's assigned to `result`? |
| 12:01:49 | <merijn> | d3mon: One thing that's different in haskell's type inference compared to, say, 'auto' in C++ and Go's typing is that constraint and type information in Haskell is bidirectional |
| 12:02:35 | <d3mon> | what does that mean? |
| 12:02:58 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 12:03:40 | <merijn> | d3mon: Well, 'years', 'p0', 'aug', and 'p' being Int and 'pc' bein Double are a given (from the type signature), (+) and (*) both demand the same types in both their arguments, but there's way to decide which side is "right" |
| 12:04:19 | <merijn> | d3mon: I mean that type information goes both "upwards" (from individual variables into larger expressions) and downards (from the final type of an expression to it's individual subexpressions) |
| 12:06:13 | <d3mon> | okay, so as I understand it, Haskell presents the information coming from "the top" (e.g. declared type of a function) as the "expected" type, and the information coming from "the bottom" as the "actual" type, right? |
| 12:06:20 | <merijn> | So GHC just sees: 1) the argument to + is Int and some type 'b' (the result type of the multiplication, initially you get a type error because (*) with Int and Double leads to a conflict (since Int and Double aren't the same). Once you fix that with fromIntegral the inferred result type of * is the type of 'pc' (i.e. Double), which then conflicts with the Int on the other side of (+), and thus it |
| 12:06:20 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 12:06:26 | <merijn> | concludes "things mismatch here" |
| 12:07:03 | <merijn> | d3mon: I'm not gonna lie, after, like, 15 years I still haven't memorised which one is "expected" and which one is "actual" xD |
| 12:07:10 | <d3mon> | haha lol |
| 12:07:21 | <d3mon> | I'm *pretty* sure that "expected" is the "top" type |
| 12:08:03 | <merijn> | d3mon: otoh, since information goes both directions anyway, which is "the top" and which is "the bottom" is generally not that important, since you can usually easily figure out which is which looking at the code and types |
| 12:08:17 | <merijn> | d3mon: (i.e. pc being Double) |
| 12:08:46 | <geekosaur> | the real problem is you have to guess what order the typechecker is working in; that determines which is expected vs. actual |
| 12:09:22 | <merijn> | d3mon: A better example of things going backwards is that in most languages you can't have a polymorphic return type |
| 12:09:27 | <merijn> | i.e. compare |
| 12:09:29 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 12:09:29 | <merijn> | :t readMaybe |
| 12:09:30 | <lambdabot> | error: Variable not in scope: readMaybe |
| 12:09:35 | <merijn> | boo |
| 12:09:37 | <merijn> | :t read |
| 12:09:38 | <lambdabot> | Read a => String -> a |
| 12:09:57 | <d3mon> | uh huh |
| 12:10:05 | <merijn> | d3mon: In most languages you can't write something like that where a function's result type is inferred from where you use it |
| 12:10:14 | <d3mon> | Yeah I get that |
| 12:10:23 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 12:11:04 | <tomsmeding> | @let import Text.Read |
| 12:11:05 | <lambdabot> | Defined. |
| 12:12:19 | <d3mon> | how can I convert back from a Double to an Int now? I thought using `floor` would work |
| 12:12:28 | <merijn> | floor, round, ceil |
| 12:13:13 | <merijn> | (usual warning that round for Double uses banker's rounding by default, since that's what IEEE-754 species, but no one expects :p) |
| 12:14:55 | <merijn> | oh, there's truncate too |
| 12:15:25 | tomsmeding | . o O ( fromEnum ) |
| 12:15:47 | <merijn> | And then there's of course also fixed precision and rationals for more precise results ;) |
| 12:15:59 | <merijn> | tomsmeding: I'm gonna find you a duct tape you to a ceiling |
| 12:16:13 | <tomsmeding> | merijn: I knew what would make you angry |
| 12:16:56 | <d3mon> | :t fromEnum |
| 12:16:57 | <lambdabot> | Enum a => a -> Int |
| 12:17:32 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:31be:f6fb:98c3:bcac) (Quit: caryhartline) |
| 12:17:40 | <d3mon> | Great, I've got this puzzle solution working now, thanks |
| 12:17:44 | jade[m] | uploaded an image: (25KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/UdkZqMJdGgegxAqlnpONGeRC/image.png > |
| 12:17:45 | <jade[m]> | this keeps happening to my ghci |
| 12:17:59 | <jade[m]> | im not really sure how or why |
| 12:18:34 | <tomsmeding> | d3mon: please for the love of god do not use fromEnum here |
| 12:18:50 | <d3mon> | tomsmeding: don't worry I was just curious. what's it supposed to be for anyway? |
| 12:19:17 | <tomsmeding> | me and merijn and others are of the opinion that fromEnum shouldn't even be defined for Double in the first place |
| 12:19:24 | <tomsmeding> | ignore it until you deal with Enum |
| 12:19:38 | <merijn> | d3mon: I swear to god, if you use fromEnum I will kill myself and have my ghost haunt you for eternity |
| 12:19:49 | <geekosaur> | jade[m], https://bbs.archlinux.org/viewtopic.php?id=282429 |
| 12:19:53 | <carbolymer> | wait wat, there's Enum instance for Float and Double o.O |
| 12:20:02 | <merijn> | carbolymer: Braindamaged |
| 12:20:09 | <tomsmeding> | carbolymer: yes, and that has been the meme of this channel for years |
| 12:20:13 | <merijn> | > enumFromThen 1.5 1.6 |
| 12:20:14 | <lambdabot> | [1.5,1.6,1.7000000000000002,1.8000000000000003,1.9000000000000004,2.00000000... |
| 12:20:16 | <carbolymer> | jade[m]: looks like your first mistake is using GHC provided by arch |
| 12:20:18 | <merijn> | > map fromEnum $ enumFromThen 1.5 1.6 |
| 12:20:19 | <geekosaur> | upgrade to ghc 9.4 or apply a kernel hotfix as specified in that discussion |
| 12:20:19 | <lambdabot> | [1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5... |
| 12:20:34 | <tomsmeding> | > map fromEnum [1.5,1.6..] |
| 12:20:35 | <geekosaur> | carbolymer, this isn't arch's fault, they just have the best discussion of it |
| 12:20:35 | <lambdabot> | [1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5... |
| 12:20:38 | <merijn> | jade[m]: Kernel bug |
| 12:20:41 | <geekosaur> | it's a kernel 6,1/6.2 bug |
| 12:20:43 | <merijn> | carbolymer: That's irrelevant |
| 12:20:58 | <merijn> | Kernel's busted. It was fixed in 6.2.9, but 6.2.13 regressed and rebroke it |
| 12:20:59 | <tomsmeding> | (although using Arch's GHC is also a mistake) |
| 12:21:19 | <carbolymer> | geekosaur: still, using ghc from arch repo for development means opening a can of worms |
| 12:21:19 | <jade[m]> | ah, I didn't even realize I had it installed via pacman ... |
| 12:21:24 | <jade[m]> | I thought I used ghcup |
| 12:21:39 | <merijn> | jade[m]: ghcup doesn't work either, since it's a kernel bug |
| 12:21:55 | <jade[m]> | ok, still |
| 12:21:59 | <merijn> | ghc 9.4 *might* work, since it doesn't seem to trigger said kernel bug |
| 12:22:36 | <merijn> | Well, that or downgrading your kernel (or upgrading, if they refixed it by now?) |
| 12:24:55 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:26:02 | <yin> | :t pure succ <*> pure 0 |
| 12:26:03 | <lambdabot> | (Applicative f, Enum b, Num b) => f b |
| 12:26:16 | <yin> | > pure succ <*> pure 0 |
| 12:26:18 | <lambdabot> | error: |
| 12:26:18 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M826100026447... |
| 12:26:18 | <lambdabot> | prevents the constraint ‘(Show (f0 Integer))’ from being solved. |
| 12:27:09 | <yin> | if i understand correctly, ghci defaults the Applicative to IO ? |
| 12:27:48 | <yin> | because it gives me `2 :: Integer` without a problem |
| 12:28:16 | <carbolymer> | > pure 0 :: _ |
| 12:28:18 | <lambdabot> | error: |
| 12:28:18 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M288124193279... |
| 12:28:18 | <lambdabot> | prevents the constraint ‘(Show (f0 Integer))’ from being solved. |
| 12:28:40 | <carbolymer> | https://bpa.st/7QQO6 |
| 12:28:46 | <carbolymer> | yes, IO |
| 12:29:27 | <tomsmeding> | carbolymer: what ghc version is that |
| 12:29:35 | <geekosaur> | https://downloads.haskell.org/ghc/9.6.1/docs/users_guide/ghci.html#i-o-actions-at-the-prompt |
| 12:29:40 | <tomsmeding> | I'm getting "standing for 'f a'" on 8.10.7, 9.2.4 and 9.6.1 |
| 12:29:42 | <carbolymer> | tomsmeding: 9.4.4 |
| 12:29:50 | <geekosaur> | note "provided it can be instantiated to IO" |
| 12:29:51 | <tomsmeding> | same |
| 12:30:13 | <tomsmeding> | carbolymer: https://paste.tomsmeding.com/b2o3Say0 |
| 12:30:20 | <carbolymer> | :set -XPartialTypeSignatures |
| 12:30:35 | <tomsmeding> | oh the defaulting happens later :p |
| 12:30:50 | <tomsmeding> | ugly that you get to see that ghciStepIO |
| 12:31:23 | <carbolymer> | yeah |
| 12:31:25 | <tomsmeding> | % :set -XPartialTypeSignatures |
| 12:31:25 | <yahb2> | <no output> |
| 12:31:29 | <tomsmeding> | % pure 0 :: _ |
| 12:31:29 | <yahb2> | <interactive>:113:11: warning: [-Wpartial-type-signatures] ; • Found type wildcard ‘_’ standing for ‘IO Integer’ ; • In an expression type signature: _ ; In the first argument of ‘GHC... |
| 12:31:32 | <tomsmeding> | % show (pure 0 :: _) |
| 12:31:32 | <yahb2> | <interactive>:115:1: error: ; • Ambiguous type variable ‘f0’ arising from a use of ‘show’ ; prevents the constraint ‘(Show (f0 Integer))’ from being solved. ; Probable fix: use a ty... |
| 12:31:39 | <tomsmeding> | the second one is the error that lambdabot gives |
| 12:34:29 | → | CiaoSen joins (~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) |
| 12:35:47 | × | d3mon quits (~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) (Quit: Client closed) |
| 12:40:01 | × | zer0bitz_ quits (~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds) |
| 12:40:05 | → | zer0bitz joins (~zer0bitz@user/zer0bitz) |
| 12:50:37 | × | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
| 12:50:51 | → | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 12:50:55 | × | mncheck quits (~mncheck@193.224.205.254) (Remote host closed the connection) |
| 12:51:12 | → | mncheck joins (~mncheck@193.224.205.254) |
| 12:54:28 | × | myme quits (~myme@2a01:799:d60:e400:2dd4:a7b:39d8:afc) (Ping timeout: 240 seconds) |
| 12:55:24 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 12:55:35 | → | myme joins (~myme@2a01:799:d60:e400:2ce:5c57:3d17:4b34) |
| 12:56:35 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 12:58:23 | × | gurkenglas quits (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds) |
| 13:06:27 | → | titibandit joins (~titibandi@user/titibandit) |
| 13:09:06 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:511d:d8dc:88ae:f967) |
| 13:12:52 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:16:23 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 13:16:54 | → | titibandit joins (~titibandi@user/titibandit) |
| 13:20:53 | → | d3mon joins (~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) |
| 13:24:47 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 240 seconds) |
| 13:30:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) |
| 13:32:31 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds) |
| 13:33:28 | → | Techcable joins (~Techcable@user/Techcable) |
| 13:34:28 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 240 seconds) |
| 13:38:24 | → | zer0bitz_ joins (~zer0bitz@user/zer0bitz) |
| 13:39:39 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 13:40:08 | × | zer0bitz quits (~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds) |
| 13:40:51 | → | acidjnk joins (~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de) |
| 13:44:13 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 13:44:13 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 13:44:13 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:45:48 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 13:46:58 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 268 seconds) |
| 13:49:05 | × | dsrt^ quits (~dsrt@73.237.206.60) (Ping timeout: 246 seconds) |
| 13:49:48 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 13:51:21 | → | Guest51 joins (~Guest51@69-165-220-190.dsl.teksavvy.com) |
| 13:58:19 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 14:02:14 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 14:02:49 | → | gurkenglas joins (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) |
| 14:03:13 | → | fizbin joins (~fizbin@user/fizbin) |
| 14:04:49 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 256 seconds) |
| 14:11:31 | × | accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:11:57 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:511d:d8dc:88ae:f967) (Quit: caryhartline) |
| 14:16:13 | → | fireking4 joins (~karl@112.206.65.164) |
| 14:18:10 | <fireking4> | What sort of projects do you work on right now? |
| 14:18:41 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:29:04 | → | mark_ joins (~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com) |
| 14:29:28 | mark_ | is now known as Hounded |
| 14:30:28 | × | Hounded quits (~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com) (Client Quit) |
| 14:30:46 | → | Hounded joins (~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com) |
| 14:30:59 | Hounded | is now known as Hounded1969 |
| 14:33:47 | × | gurkenglas quits (~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds) |
| 14:33:51 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 14:38:15 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 256 seconds) |
| 14:42:44 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:fc15:d4ea:f20e:7419) |
| 14:48:13 | <merijn> | man...why did network get rid of iNADDR_ANY |
| 14:49:35 | <geekosaur> | isn't that network-bsd? |
| 14:50:19 | <merijn> | No? |
| 14:50:34 | <merijn> | geekosaur: It's a constant that you pass to bind() |
| 14:51:04 | <merijn> | The deprecation notice says "use getAddrInfo", but that's dumb, because AFAIK it's impossible to get the same behaviour with getAddrInfo |
| 14:51:06 | <geekosaur> | oh, should be `Network.Socket` but indeed it seems to be missing |
| 14:52:14 | <merijn> | It was deprecated and then removed in 3.0 |
| 14:52:24 | <merijn> | But I don't understand why |
| 14:52:49 | <merijn> | aNY_PORT was replaced with defaultPort, which I can get |
| 14:53:12 | <merijn> | But now I need to do hacky shit like manually building a 0.0.0.0 address instead of a nicely named constant |
| 14:53:27 | <geekosaur> | looks like `AI_PASSIVE` is supposed to do that now? |
| 14:55:31 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 14:59:05 | × | CiaoSen quits (~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 15:02:30 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 15:03:07 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 15:03:08 | → | ocharles[m] joins (~ocharlesm@2001:470:69fc:105::3:5899) |
| 15:03:32 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Remote host closed the connection) |
| 15:03:51 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) |
| 15:07:54 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 265 seconds) |
| 15:12:38 | <merijn> | Well, first need to excise an 11 year old package from the code to see if that makes it work :p |
| 15:15:09 | → | russell` joins (~user@67.21.186.139) |
| 15:15:27 | ← | russell` parts (~user@67.21.186.139) () |
| 15:17:39 | ← | fireking4 parts (~karl@112.206.65.164) (WeeChat 4.0.0-dev) |
| 15:18:17 | → | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 15:19:16 | → | nate2 joins (~nate@98.45.169.16) |
| 15:20:02 | × | vpan quits (~0@mail.elitnet.lt) (Quit: Leaving.) |
| 15:20:54 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 15:22:56 | → | strugglingCrab joins (~strugglin@2a02:a03f:acfa:b800:78f8:196d:2cf4:70c5) |
| 15:23:01 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 15:23:59 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 15:23:59 | × | Guest51 quits (~Guest51@69-165-220-190.dsl.teksavvy.com) (Quit: Client closed) |
| 15:27:47 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 246 seconds) |
| 15:28:23 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 15:28:43 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 15:29:39 | <d3mon> | is there a function in the base package which can be used to split a string into the substrings which appear between a particular sequence of characters? |
| 15:29:59 | <d3mon> | in the input stream, three spaces indicates something special and different from a single space |
| 15:30:07 | <d3mon> | so I need to split on three spaces but not on single spaces |
| 15:30:12 | → | sagax joins (~sagax_nb@user/sagax) |
| 15:30:23 | <ncf> | @hackage split |
| 15:30:23 | <lambdabot> | https://hackage.haskell.org/package/split |
| 15:30:28 | <c_wraith> | d3mon: not easily. For doing that sort of thing easily, I'd go to the split package |
| 15:31:26 | → | zmt00 joins (~zmt00@user/zmt00) |
| 15:32:18 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:33:21 | <d3mon> | oh, it looks like the `split` package is part of the standard library now |
| 15:33:52 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 15:34:40 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 15:34:41 | <c_wraith> | It doesn't come with ghc... What other definition of "standard library" are you using? |
| 15:35:09 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 15:35:33 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:35:34 | <tomsmeding> | you've got to love the package description of 'split' |
| 15:36:07 | <c_wraith> | oh no. it has a typo in the word "diverse" |
| 15:36:08 | × | acidjnk quits (~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 15:37:24 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:2872:f96c:b2e6:63a4) (Quit: WeeChat 2.8) |
| 15:37:35 | <tomsmeding> | c_wraith: fairly sure that's intentional https://en.wiktionary.org/wiki/divers#Etymology_2 |
| 15:37:56 | <c_wraith> | oh, huh. I had no idea that was an archaic spelling. ok then! |
| 15:38:05 | <tomsmeding> | _very_ archaic I think |
| 15:38:30 | <tomsmeding> | it does stand out as being more non-standard than the rest |
| 15:38:59 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 246 seconds) |
| 15:39:11 | <c_wraith> | it hurts that it is a modern spelling of a totally unrelated word |
| 15:40:41 | <tomsmeding> | not to be confused with https://malazan.fandom.com/wiki/D%27ivers |
| 15:41:05 | <d3mon> | oh okay oops. Well it's included with whatever set of modules this puzzle website has included by default |
| 15:41:16 | <tomsmeding> | which puzzle website? |
| 15:41:27 | <d3mon> | codewars.com |
| 15:41:38 | <tomsmeding> | ah the kata stuff |
| 15:41:53 | <c_wraith> | yeah, it's a very common package to use for that sort of thing |
| 15:42:00 | <c_wraith> | So it's good that they have it available |
| 15:42:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) |
| 15:44:15 | × | fryguybob quits (~fryguybob@cpe-24-94-50-22.stny.res.rr.com) (Ping timeout: 260 seconds) |
| 15:46:54 | → | opticblast joins (~Thunderbi@172.58.86.143) |
| 15:48:31 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 240 seconds) |
| 15:51:41 | <d3mon> | yeah |
| 15:52:25 | × | superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 240 seconds) |
| 15:56:06 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:01:04 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:06:02 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 16:06:13 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Remote host closed the connection) |
| 16:06:33 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) |
| 16:08:31 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 16:12:04 | → | econo joins (uid147250@user/econo) |
| 16:12:08 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 16:12:20 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:13:23 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 264 seconds) |
| 16:14:19 | → | zer0bitz joins (~zer0bitz@user/zer0bitz) |
| 16:16:00 | × | zer0bitz_ quits (~zer0bitz@user/zer0bitz) (Ping timeout: 248 seconds) |
| 16:16:26 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 16:20:14 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:21:11 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 264 seconds) |
| 16:21:59 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 16:22:41 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 16:30:18 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::2) |
| 16:30:51 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 16:34:17 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 246 seconds) |
| 16:39:52 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:a17e:7764:ca3b:275) (Remote host closed the connection) |
| 16:41:10 | × | d3mon quits (~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) (Quit: Client closed) |
| 16:44:01 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 16:44:52 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:49:59 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
| 16:52:16 | → | mei joins (~mei@user/mei) |
| 16:52:38 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 16:54:39 | → | shapr` joins (~user@76.29.230.19) |
| 16:54:49 | <shapr`> | @pl traverse . flip fmap |
| 16:54:49 | <lambdabot> | traverse . flip fmap |
| 16:54:54 | shapr` | is now known as shapr |
| 16:55:41 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds) |
| 16:56:47 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 17:00:11 | → | nick4 joins (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) |
| 17:03:07 | × | byte quits (~byte@user/byte) (Quit: Quitting...) |
| 17:03:39 | → | byte joins (~byte@user/byte) |
| 17:04:19 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:04:52 | × | nick4 quits (~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 265 seconds) |
| 17:05:15 | → | mechap joins (~mechap@user/mechap) |
| 17:08:11 | → | Guest97 joins (~Guest97@host86-162-153-188.range86-162.btcentralplus.com) |
| 17:09:21 | × | Guest97 quits (~Guest97@host86-162-153-188.range86-162.btcentralplus.com) (Client Quit) |
| 17:09:35 | → | Guest97 joins (~Guest97@host86-162-153-188.range86-162.btcentralplus.com) |
| 17:13:52 | → | shapr` joins (~user@76.29.230.19) |
| 17:15:35 | × | shapr quits (~user@76.29.230.19) (Ping timeout: 246 seconds) |
| 17:15:41 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 17:17:32 | → | byte` joins (~byte@user/byte) |
| 17:18:23 | × | byte quits (~byte@user/byte) (Ping timeout: 240 seconds) |
| 17:18:53 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::2) (Ping timeout: 265 seconds) |
| 17:19:53 | → | ubert joins (~Thunderbi@p200300ecdf18b6370daf7c8ea36938d7.dip0.t-ipconnect.de) |
| 17:29:39 | × | strugglingCrab quits (~strugglin@2a02:a03f:acfa:b800:78f8:196d:2cf4:70c5) (Quit: Client closed) |
| 17:30:01 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::3) |
| 17:31:57 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:fc15:d4ea:f20e:7419) (Quit: caryhartline) |
| 17:35:01 | → | caryhartline joins (~caryhartl@107.140.218.181) |
| 17:45:06 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:45:21 | → | mbuf joins (~Shakthi@49.207.178.186) |
| 17:45:34 | → | shapr`` joins (~user@76.29.230.19) |
| 17:47:11 | × | shapr` quits (~user@76.29.230.19) (Ping timeout: 240 seconds) |
| 17:47:56 | → | ub joins (~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) |
| 17:49:01 | × | ubert quits (~Thunderbi@p200300ecdf18b6370daf7c8ea36938d7.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 17:49:01 | ub | is now known as ubert |
| 17:49:14 | sa_ | is now known as sa |
| 17:50:52 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 17:54:40 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 17:56:04 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 18:00:47 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 18:04:11 | × | caryhartline quits (~caryhartl@107.140.218.181) (Quit: caryhartline) |
| 18:08:17 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 18:08:17 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 18:08:17 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:10:36 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds) |
| 18:11:06 | → | oneeyedalien joins (~oneeyedal@103.21.127.60) |
| 18:13:37 | → | titibandit joins (~titibandi@user/titibandit) |
| 18:17:06 | → | merijn joins (~merijn@86.86.29.250) |
| 18:20:23 | → | evincar joins (~evincar@user/evincar) |
| 18:23:15 | × | oneeyedalien quits (~oneeyedal@103.21.127.60) (Read error: Connection reset by peer) |
| 18:28:15 | Sauvin | is now known as Zymurgy |
| 18:28:35 | × | Zymurgy quits (~sauvin@user/Sauvin) (Changing host) |
| 18:28:35 | → | Zymurgy joins (~sauvin@about/linux/staff/zymurgy) |
| 18:30:25 | × | opticblast quits (~Thunderbi@172.58.86.143) (Ping timeout: 265 seconds) |
| 18:31:10 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:b59b:d427:e374:11eb) |
| 18:32:01 | × | ubert quits (~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 18:32:24 | → | ubert joins (~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) |
| 18:33:26 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 18:38:02 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 18:39:05 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 18:39:40 | → | bli2ss joins (~quassel@190.78.156.89.rev.sfr.net) |
| 18:44:02 | × | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 18:49:46 | → | shapr``` joins (~user@76.29.230.19) |
| 18:50:01 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 240 seconds) |
| 18:51:11 | × | shapr`` quits (~user@76.29.230.19) (Ping timeout: 240 seconds) |
| 18:55:22 | × | bollu quits (~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds)) |
| 18:55:38 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 18:55:48 | → | bollu joins (~bollu@159.65.151.13) |
| 18:56:50 | → | noteness_ joins (~noteness@user/noteness) |
| 18:57:16 | × | ystael quits (~ystael@user/ystael) (Quit: Lost terminal) |
| 18:57:29 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 246 seconds) |
| 19:00:08 | → | ystael joins (~ystael@user/ystael) |
| 19:05:39 | → | ub joins (~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) |
| 19:07:01 | × | ubert quits (~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 19:07:01 | ub | is now known as ubert |
| 19:15:17 | → | gmg joins (~user@user/gehmehgeh) |
| 19:20:31 | × | titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds) |
| 19:20:48 | → | nate2 joins (~nate@98.45.169.16) |
| 19:22:10 | <tomsmeding> | :t traverse . flip fmap |
| 19:22:11 | <lambdabot> | (Traversable t, Applicative f) => f a -> t (a -> b) -> f (t b) |
| 19:22:47 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 19:24:36 | → | zeenk joins (~zeenk@2a02:2f04:a105:f00::7fe) |
| 19:25:35 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 19:29:41 | → | ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
| 19:30:58 | <yin> | :t flip |
| 19:30:59 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
| 19:31:07 | <yin> | :t flip flip |
| 19:31:08 | <lambdabot> | b -> (a -> b -> c) -> a -> c |
| 19:31:14 | <yin> | ;t flip flip flip |
| 19:31:26 | <yin> | :t flip flip flip |
| 19:31:27 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:31:34 | <yin> | :t flip flip flip flip |
| 19:31:35 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:31:43 | <yin> | :t flip flip flip flip flip |
| 19:31:44 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:32:20 | <yin> | :t flip flip flip flip flip flip |
| 19:32:21 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:32:30 | <yin> | fun |
| 19:33:27 | <Rembane> | Lovely machine you found there. |
| 19:33:31 | → | evincar joins (~evincar@user/evincar) |
| 19:34:39 | <yin> | Rembane: wdym machine? |
| 19:36:05 | <Rembane> | yin: The thing that produces more elaborate functions the more you add flip to it. |
| 19:36:14 | <ncf> | now do fmap (in your own interpreter) |
| 19:36:23 | → | jjb joins (~jjb@user/jjb) |
| 19:36:29 | <geekosaur> | you'll note it locked up at 3 |
| 19:36:58 | <geekosaur> | you can add as many more flips as you like, the type doesn't change after that |
| 19:37:04 | × | bli2ss quits (~quassel@190.78.156.89.rev.sfr.net) (Read error: Connection reset by peer) |
| 19:37:44 | <Rembane> | Oh. I didn't pay attention. Is there a fix point in there somehwere? |
| 19:37:49 | <yin> | ncf: my head hurts |
| 19:38:59 | <ncf> | flip flip flip flip == flip flip flip |
| 19:40:26 | <ski> | (s/==/=/) |
| 19:44:23 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 19:44:27 | <ncf> | there's probably a neat visualisation with string diagrams lurking |
| 19:44:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Remote host closed the connection) |
| 19:47:23 | → | titibandit joins (~titibandi@user/titibandit) |
| 19:49:09 | <yin> | :t foldr1 (.) (repeat flip) |
| 19:49:10 | <lambdabot> | (a -> a -> c) -> a -> a -> c |
| 19:49:12 | <yin> | hmm |
| 19:52:46 | → | Guest75 joins (~Guest75@cpe-172-116-174-226.socal.res.rr.com) |
| 19:53:21 | × | Guest75 quits (~Guest75@cpe-172-116-174-226.socal.res.rr.com) (Client Quit) |
| 19:55:18 | → | acidjnk joins (~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de) |
| 19:56:23 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds) |
| 19:57:23 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 19:58:08 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Ping timeout: 245 seconds) |
| 20:04:21 | <ncf> | :t fix flip |
| 20:04:22 | <lambdabot> | a -> a -> c |
| 20:05:06 | <ncf> | (note that the flips are right-associative here, whereas in the examples before they were left-associative) |
| 20:05:48 | × | tubogram447 quits (~tubogram@user/tubogram) (*.net *.split) |
| 20:05:48 | × | Axman6 quits (~Axman6@user/axman6) (*.net *.split) |
| 20:06:10 | → | tubogram447 joins (~tubogram@user/tubogram) |
| 20:06:10 | → | Axman6 joins (~Axman6@user/axman6) |
| 20:08:47 | <ski> | @type fix ($ flip) |
| 20:08:48 | <lambdabot> | error: |
| 20:08:48 | <lambdabot> | • Occurs check: cannot construct the infinite type: |
| 20:08:48 | <lambdabot> | a ~ ((a0 -> b0 -> c0) -> b0 -> a0 -> c0) -> a |
| 20:12:47 | × | myxokeph quits (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Ping timeout: 240 seconds) |
| 20:13:08 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:14:06 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 20:14:24 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 20:15:11 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 264 seconds) |
| 20:18:15 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:27:55 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 20:31:36 | jade[m] | is now known as jadeOld[m] |
| 20:36:33 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 20:40:05 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:41:29 | × | oo_miguel quits (~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds) |
| 20:45:20 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) |
| 20:47:02 | shapr``` | is now known as shapr` |
| 20:49:59 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 256 seconds) |
| 20:50:27 | → | diod joins (~diod@142.188.218.35) |
| 20:50:32 | ← | diod parts (~diod@142.188.218.35) () |
| 20:51:57 | <tomsmeding> | flip^4 == flip^3 is easily seen via a dumb observation: flip = \f x y -> f y x, hence flip flip = \x y -> flip y x. Hence (flip flip1) flip2 flip3 == flip1 flip3 flip2 |
| 20:52:23 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 20:53:14 | <tomsmeding> | which yin taught me last time! |
| 20:53:41 | tomsmeding | looks askance at yin |
| 20:54:22 | <tomsmeding> | https://ircbrowse.tomsmeding.com/day/lchaskell/2022/12/02?id=795469#trid795469 |
| 21:01:06 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 21:04:22 | → | fernand joins (uid551405@id-551405.tinside.irccloud.com) |
| 21:07:59 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 264 seconds) |
| 21:18:24 | → | fizbin joins (~fizbin@user/fizbin) |
| 21:18:50 | × | fizbin quits (~fizbin@user/fizbin) (Read error: Connection reset by peer) |
| 21:20:31 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 21:21:09 | × | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 256 seconds) |
| 21:32:18 | × | Guest97 quits (~Guest97@host86-162-153-188.range86-162.btcentralplus.com) (Quit: Client closed) |
| 21:37:14 | × | erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 21:37:59 | → | erisco joins (~erisco@d24-141-66-165.home.cgocable.net) |
| 21:46:02 | × | tubogram447 quits (~tubogram@user/tubogram) (*.net *.split) |
| 21:46:02 | × | Axman6 quits (~Axman6@user/axman6) (*.net *.split) |
| 21:46:10 | → | tubogram447 joins (~tubogram@user/tubogram) |
| 21:46:10 | → | Axman6 joins (~Axman6@user/axman6) |
| 21:51:26 | × | turlando_ quits (~turlando@user/turlando) (Read error: Connection reset by peer) |
| 21:53:36 | → | jade[m] joins (~jade256th@2001:470:69fc:105::3:58df) |
| 21:53:49 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 21:56:06 | → | turlando joins (~turlando@user/turlando) |
| 21:57:55 | → | biberu joins (~biberu@user/biberu) |
| 21:59:06 | → | taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) |
| 21:59:44 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) |
| 22:02:26 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) (Remote host closed the connection) |
| 22:03:35 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) |
| 22:07:56 | → | evincar joins (~evincar@user/evincar) |
| 22:13:51 | megeve | is now known as delyan |
| 22:16:02 | × | zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!) |
| 22:16:46 | → | elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
| 22:17:02 | → | merijn joins (~merijn@86.86.29.250) |
| 22:18:57 | × | elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Client Quit) |
| 22:19:18 | → | falafel joins (~falafel@2603-8000-d700-115c-06e9-5265-747f-4f34.res6.spectrum.com) |
| 22:19:44 | × | michalz quits (~michalz@185.246.207.218) (Remote host closed the connection) |
| 22:21:31 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 240 seconds) |
| 22:22:48 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 22:26:55 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 22:27:44 | → | tusko joins (~yeurt@user/tusko) |
| 22:27:49 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 22:27:50 | <tusko> | is haskell a lisp? |
| 22:28:19 | <geekosaur> | no |
| 22:33:50 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 22:34:05 | → | jargon joins (~jargon@184.101.78.160) |
| 22:34:41 | × | shapr` quits (~user@76.29.230.19) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 22:35:08 | → | shapr joins (~user@76.29.230.19) |
| 22:37:59 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) (Remote host closed the connection) |
| 22:38:28 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net) |
| 22:40:32 | <ski> | there is/was Liskell, however |
| 22:40:56 | <geekosaur[m]> | Hrm |
| 22:42:05 | <ski> | @where liskell |
| 22:42:05 | <lambdabot> | a SExp syntax for Haskell, by therp : <http://clemens.endorphin.org/liskell> (broken),<https://web.archive.org/web/20081105133119/http://clemens.endorphin.org/liskell>,<http://clemens.endorphin.org/ |
| 22:42:05 | <lambdabot> | ILC07-Liskell-draft.pdf>,<https://web.archive.org/web/20120609122549/http://www.liskell.org/> |
| 22:42:32 | <ncf> | or hackett |
| 22:42:44 | <ski> | right, i forget about that one |
| 22:47:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) |
| 22:51:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 240 seconds) |
| 22:55:31 | <tusko> | is Learn You a Haskell for Great Good a venerable text? |
| 22:59:01 | <ddellacosta> | it's been around a while and many still recommend it as a beginner's tutorial for Haskell, if that's what you mean |
| 22:59:56 | <ski> | it doesn't have exercises |
| 23:00:04 | <ski> | @where CIS194 |
| 23:00:04 | <lambdabot> | <https://github.com/byorgey/haskell-course>,<https://www.seas.upenn.edu/~cis194/spring13/lectures.html> |
| 23:02:41 | <tusko> | Many blessings |
| 23:03:45 | <ski> | Haskell could be said to be in the ML tradition, with type inferenced FP |
| 23:04:32 | <tusko> | I wish I knew what that meant practically. What applications do you think the language is well suited to? |
| 23:04:48 | <c_wraith> | mostly programming |
| 23:05:41 | <c_wraith> | I mean, maybe you won't get fortran performance on numerical code, and maybe system UI libraries really aren't usable in a nice way. |
| 23:05:56 | <c_wraith> | But mostly Haskell is good for writing programs. |
| 23:08:12 | <ski> | type inferenced means that it's statically typed (reports type errors, before running program). the inference part means that you usually don't have to specify types of variables, parameters, functions. although, for documentation reasons, and to more easily narrow down errors, people usually specify types of functions |
| 23:12:01 | × | falafel quits (~falafel@2603-8000-d700-115c-06e9-5265-747f-4f34.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 23:12:45 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:b59b:d427:e374:11eb) (Quit: caryhartline) |
| 23:13:46 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:c4fd:519c:c524:bc7c) |
| 23:14:08 | × | fernand quits (uid551405@id-551405.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:16:55 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 23:19:14 | × | acidjnk quits (~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 23:22:18 | → | nate2 joins (~nate@98.45.169.16) |
| 23:22:44 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
| 23:23:15 | <yin> | tomsmeding: i thought this looked familiar! |
| 23:25:47 | → | mauke_ joins (~mauke@user/mauke) |
| 23:26:47 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 23:27:11 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds) |
| 23:27:11 | mauke_ | is now known as mauke |
| 23:47:07 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:50:22 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 23:59:31 | × | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 240 seconds) |
All times are in UTC on 2023-05-11.