| 2024-03-31 00:11:06 +0000 | qqq | (~qqq@92.43.167.61) (Quit: Lost terminal) |
| 2024-03-31 00:16:11 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
| 2024-03-31 00:17:10 +0000 | random-jellyfish | (~developer@user/random-jellyfish) (Ping timeout: 268 seconds) |
| 2024-03-31 00:19:59 +0000 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
| 2024-03-31 00:22:05 +0000 | Batzy | (~quassel@user/batzy) |
| 2024-03-31 00:25:09 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-03-31 00:36:12 +0000 | ddellacosta | (~ddellacos@172.58.109.152) |
| 2024-03-31 00:41:00 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2024-03-31 00:46:51 +0000 | hallucinagen | (~prodmezha@138.199.53.244) |
| 2024-03-31 00:49:28 +0000 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 2024-03-31 00:49:50 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-03-31 00:49:56 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-03-31 00:56:29 +0000 | ddellacosta | (~ddellacos@172.58.109.152) (Quit: WeeChat 4.2.1) |
| 2024-03-31 01:16:47 +0000 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Ping timeout: 264 seconds) |
| 2024-03-31 01:22:50 +0000 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) |
| 2024-03-31 01:34:31 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2024-03-31 01:51:35 +0000 | otto_s | (~user@p4ff277a3.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2024-03-31 01:52:39 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 01:53:03 +0000 | otto_s | (~user@p4ff27abc.dip0.t-ipconnect.de) |
| 2024-03-31 01:58:31 +0000 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
| 2024-03-31 01:59:23 +0000 | hallucinagen | (~prodmezha@138.199.53.244) (Ping timeout: 264 seconds) |
| 2024-03-31 02:04:28 +0000 | td_ | (~td@i53870929.versanet.de) (Ping timeout: 268 seconds) |
| 2024-03-31 02:05:04 +0000 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 2024-03-31 02:05:35 +0000 | op_4 | (~tslil@user/op-4/x-9116473) |
| 2024-03-31 02:05:58 +0000 | td_ | (~td@i53870915.versanet.de) |
| 2024-03-31 02:11:27 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 2024-03-31 02:11:39 +0000 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split) |
| 2024-03-31 02:15:40 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 02:16:42 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 2024-03-31 02:17:21 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) |
| 2024-03-31 02:18:13 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
| 2024-03-31 02:19:09 +0000 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 2024-03-31 02:20:07 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2024-03-31 02:20:07 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-03-31 02:20:07 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 2024-03-31 02:20:19 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2024-03-31 02:20:32 +0000 | califax | (~califax@user/califx) |
| 2024-03-31 02:20:33 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2024-03-31 02:20:35 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2024-03-31 02:20:40 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-03-31 02:22:20 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-03-31 02:22:21 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 2024-03-31 02:22:42 +0000 | califax | (~califax@user/califx) |
| 2024-03-31 02:22:56 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-03-31 02:48:51 +0000 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
| 2024-03-31 02:49:12 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 02:49:17 +0000 | pavonia | (~user@user/siracusa) |
| 2024-03-31 02:54:18 +0000 | tri_ | (~tri@172.59.8.159) |
| 2024-03-31 02:57:35 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 2024-03-31 03:03:29 +0000 | td_ | (~td@i53870915.versanet.de) (Ping timeout: 272 seconds) |
| 2024-03-31 03:05:04 +0000 | td_ | (~td@i53870929.versanet.de) |
| 2024-03-31 03:15:25 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 03:19:19 +0000 | tri_ | (~tri@172.59.8.159) (Ping timeout: 272 seconds) |
| 2024-03-31 03:24:48 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 03:27:14 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
| 2024-03-31 03:32:37 +0000 | aforemny_ | (~aforemny@2001:9e8:6cf4:d100:2036:993f:679a:6cf6) |
| 2024-03-31 03:32:51 +0000 | mmhat | (~mmh@p200300f1c706a275ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
| 2024-03-31 03:33:54 +0000 | phma | (phma@2001:5b0:215d:ba58:a61a:48b0:3e33:afde) (Read error: Connection reset by peer) |
| 2024-03-31 03:33:59 +0000 | aforemny | (~aforemny@2001:9e8:6cd3:b600:153d:d7c7:d668:8838) (Ping timeout: 260 seconds) |
| 2024-03-31 03:34:47 +0000 | phma | (phma@2001:5b0:215a:b318:a23a:3f03:dc96:3e6d) |
| 2024-03-31 03:49:44 +0000 | hallucinagen | (~prodmezha@149.102.244.68) |
| 2024-03-31 03:50:23 +0000 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) (Quit: WeeChat 4.2.1) |
| 2024-03-31 04:05:04 +0000 | zetef | (~quassel@5.2.182.99) (Remote host closed the connection) |
| 2024-03-31 04:05:36 +0000 | califax_ | (~califax@user/califx) |
| 2024-03-31 04:05:39 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-03-31 04:06:53 +0000 | califax_ | califax |
| 2024-03-31 04:08:44 +0000 | tri_ | (~tri@172.59.9.163) |
| 2024-03-31 04:12:00 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 2024-03-31 04:29:26 +0000 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 2024-03-31 04:43:51 +0000 | falafel | (~falafel@185.156.46.159) |
| 2024-03-31 04:45:05 +0000 | falafel | (~falafel@185.156.46.159) (Remote host closed the connection) |
| 2024-03-31 04:45:30 +0000 | falafel | (~falafel@185.156.46.159) |
| 2024-03-31 04:54:16 +0000 | nisstyre | (wes@user/nisstyre) (Quit: WeeChat 3.7.1) |
| 2024-03-31 05:10:31 +0000 | falafel_ | (~falafel@162.83.249.190) |
| 2024-03-31 05:12:53 +0000 | falafel | (~falafel@185.156.46.159) (Ping timeout: 240 seconds) |
| 2024-03-31 05:15:05 +0000 | otlesfenrtf^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 2024-03-31 05:18:56 +0000 | Lycurgus | (~georg@user/Lycurgus) |
| 2024-03-31 05:20:13 +0000 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 246 seconds) |
| 2024-03-31 05:25:17 +0000 | bilegeek | (~bilegeek@2600:1008:b09d:de0f:4083:7125:d524:fe72) (Ping timeout: 240 seconds) |
| 2024-03-31 05:27:28 +0000 | akspecs_ | akspecs |
| 2024-03-31 05:27:55 +0000 | akspecs | (00cc8321af@2a03:6000:1812:100::11a) (Changing host) |
| 2024-03-31 05:27:55 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) |
| 2024-03-31 05:30:03 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) (Remote host closed the connection) |
| 2024-03-31 05:30:12 +0000 | akspecs_ | (00cc8321af@2a03:6000:1812:100::11a) |
| 2024-03-31 05:30:55 +0000 | Pozyomka | (~pyon@user/pyon) |
| 2024-03-31 05:31:09 +0000 | akspecs_ | (00cc8321af@2a03:6000:1812:100::11a) (Remote host closed the connection) |
| 2024-03-31 05:31:17 +0000 | akspecs | (00cc8321af@sourcehut/user/akspecs) |
| 2024-03-31 05:33:56 +0000 | qqq | (~qqq@92.43.167.61) |
| 2024-03-31 05:36:54 +0000 | Patternmaster | (~georg@user/Patternmaster) |
| 2024-03-31 05:39:03 +0000 | Patternmaster | (~georg@user/Patternmaster) (Client Quit) |
| 2024-03-31 05:40:36 +0000 | Patternmaster | (~georg@user/Patternmaster) |
| 2024-03-31 05:53:39 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2024-03-31 05:53:57 +0000 | califax | (~califax@user/califx) |
| 2024-03-31 05:55:00 +0000 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
| 2024-03-31 06:00:08 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2024-03-31 06:03:03 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 06:09:20 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2024-03-31 06:13:02 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2024-03-31 06:13:38 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2024-03-31 06:16:40 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2024-03-31 06:17:07 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2024-03-31 06:26:24 +0000 | hallucinagen | (~prodmezha@149.102.244.68) (Read error: Connection reset by peer) |
| 2024-03-31 06:29:48 +0000 | tri_ | (~tri@172.59.9.163) (Remote host closed the connection) |
| 2024-03-31 06:30:24 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 06:30:45 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 06:32:34 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 2024-03-31 06:48:14 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 2024-03-31 06:55:08 +0000 | nisstyre | (wes@user/nisstyre) |
| 2024-03-31 07:00:01 +0000 | tt12310 | (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat) |
| 2024-03-31 07:02:23 +0000 | falafel_ | (~falafel@162.83.249.190) (Ping timeout: 264 seconds) |
| 2024-03-31 07:02:31 +0000 | tt12310 | (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
| 2024-03-31 07:08:51 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2024-03-31 07:25:14 +0000 | jorj | (~jorj@user/jorj) |
| 2024-03-31 07:42:49 +0000 | jorj | (~jorj@user/jorj) (Quit: jorj) |
| 2024-03-31 07:47:19 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 08:11:18 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 2024-03-31 08:22:17 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 2024-03-31 08:38:51 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-03-31 08:48:59 +0000 | fedorafan | (~fedorafan@user/fedorafan) (Ping timeout: 260 seconds) |
| 2024-03-31 08:59:43 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
| 2024-03-31 09:13:44 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
| 2024-03-31 09:14:07 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 2024-03-31 09:20:53 +0000 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-03-31 09:24:27 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2024-03-31 09:24:27 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2024-03-31 09:39:29 +0000 | <Inst> | hmmm |
| 2024-03-31 09:39:47 +0000 | <Inst> | i hope this isn't too stupid for you, but is it possible to build a nix... actually, if you have nix, you don't really need Haskell :) |
| 2024-03-31 09:40:06 +0000 | <Inst> | the idea of using Nixlang as a basis for an eDSL for web pages |
| 2024-03-31 09:58:27 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-03-31 10:00:32 +0000 | <srk> | Inst: https://code.tvl.fyi/tree/users/sterni/nix/html/README.md :) |
| 2024-03-31 10:01:18 +0000 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2024-03-31 10:01:46 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2024-03-31 10:02:59 +0000 | <ncf> | #haskell-offtopic |
| 2024-03-31 10:04:51 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 2024-03-31 10:05:36 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2024-03-31 10:09:27 +0000 | <Inst> | well it wasn't off-topic, I was planning to have it done via Haskell, and jeez |
| 2024-03-31 10:16:22 +0000 | <ncf> | this is a channel about the haskell programming language, not a place to discuss your personal projects that may or may not involve haskell |
| 2024-03-31 10:18:14 +0000 | jinsun_ | (~jinsun@user/jinsun) |
| 2024-03-31 10:18:14 +0000 | jinsun | Guest148 |
| 2024-03-31 10:18:14 +0000 | Guest148 | (~jinsun@user/jinsun) (Killed (copper.libera.chat (Nickname regained by services))) |
| 2024-03-31 10:18:14 +0000 | jinsun_ | jinsun |
| 2024-03-31 10:28:15 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2024-03-31 10:29:12 +0000 | <hammond> | yeah Inst, you went too far this time. |
| 2024-03-31 10:29:32 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 2024-03-31 10:29:34 +0000 | <Inst> | okay, i'll be less irritating then |
| 2024-03-31 10:29:37 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2024-03-31 10:29:39 +0000 | <hammond> | xD |
| 2024-03-31 10:34:49 +0000 | jamesmartinez | (uid6451@id-6451.helmsley.irccloud.com) |
| 2024-03-31 10:50:58 +0000 | paul_j | (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection) |
| 2024-03-31 10:51:37 +0000 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 10:52:03 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 2024-03-31 10:58:49 +0000 | Square2 | (~Square@user/square) (Ping timeout: 255 seconds) |
| 2024-03-31 11:03:22 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2024-03-31 11:07:39 +0000 | mechap | (~mechap@user/mechap) |
| 2024-03-31 11:11:08 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 2024-03-31 11:23:48 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 2024-03-31 11:41:00 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) |
| 2024-03-31 11:41:56 +0000 | son0p | (~ff@152.203.72.114) (Remote host closed the connection) |
| 2024-03-31 11:42:24 +0000 | mmhat | (~mmh@p200300f1c706a275ee086bfffe095315.dip0.t-ipconnect.de) |
| 2024-03-31 11:44:20 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2024-03-31 11:45:49 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-03-31 11:57:11 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 2024-03-31 11:57:13 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) |
| 2024-03-31 11:57:39 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2024-03-31 11:59:01 +0000 | son0p | (~ff@152.203.72.114) |
| 2024-03-31 12:09:27 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-03-31 12:12:08 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 2024-03-31 12:16:49 +0000 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 268 seconds) |
| 2024-03-31 12:20:43 +0000 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
| 2024-03-31 12:44:29 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2024-03-31 12:55:05 +0000 | <kuribas> | I cannot call wreq without doing any redirects? |
| 2024-03-31 12:58:27 +0000 | <kuribas> | Well, I can set a redirectCount limit, then catch the exception, that's rather ugly. |
| 2024-03-31 13:10:11 +0000 | <jackdk> | these days I stick with http-conduit. It's already in the depgraph of basically everything anyway |
| 2024-03-31 13:16:42 +0000 | mmhat | (~mmh@p200300f1c706a275ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2024-03-31 13:17:04 +0000 | mmhat | (~mmh@p200300f1c706a26eee086bfffe095315.dip0.t-ipconnect.de) |
| 2024-03-31 13:21:44 +0000 | acidjnk_new | (~acidjnk@p200300d6e714dc446d52a2431789bf32.dip0.t-ipconnect.de) |
| 2024-03-31 13:23:25 +0000 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2024-03-31 13:23:57 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 13:27:03 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 13:44:39 +0000 | fererrorocher | (fererroroc@gateway/vpn/protonvpn/fererrorocher) |
| 2024-03-31 13:46:08 +0000 | FragByte | (~christian@user/fragbyte) (Ping timeout: 256 seconds) |
| 2024-03-31 13:46:59 +0000 | FragByte | (~christian@user/fragbyte) |
| 2024-03-31 13:55:42 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 2024-03-31 13:55:49 +0000 | naso | (~naso@202.115.218.139.sta.wbroadband.net.au) |
| 2024-03-31 13:57:30 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-03-31 13:57:40 +0000 | naso | (~naso@202.115.218.139.sta.wbroadband.net.au) (Changing host) |
| 2024-03-31 13:57:40 +0000 | naso | (~naso@user/naso) |
| 2024-03-31 13:57:49 +0000 | Achylles | (~Achylles_@45.182.57.45) |
| 2024-03-31 14:00:14 +0000 | naso | (~naso@user/naso) (Remote host closed the connection) |
| 2024-03-31 14:00:35 +0000 | naso | (~naso@user/naso) |
| 2024-03-31 14:02:40 +0000 | naso | (~naso@user/naso) (Remote host closed the connection) |
| 2024-03-31 14:05:32 +0000 | halloy6709 | (~halloy670@202.115.218.139.sta.wbroadband.net.au) |
| 2024-03-31 14:05:42 +0000 | halloy6709 | (~halloy670@202.115.218.139.sta.wbroadband.net.au) (Remote host closed the connection) |
| 2024-03-31 14:06:25 +0000 | naso | (~naso@202.115.218.139.sta.wbroadband.net.au) |
| 2024-03-31 14:06:25 +0000 | naso | (~naso@202.115.218.139.sta.wbroadband.net.au) (Changing host) |
| 2024-03-31 14:06:25 +0000 | naso | (~naso@user/naso) |
| 2024-03-31 14:06:49 +0000 | naso | (~naso@user/naso) (Remote host closed the connection) |
| 2024-03-31 14:07:21 +0000 | nilradical | (~nilradica@user/naso) |
| 2024-03-31 14:07:49 +0000 | Etabeta1 | (~Etabeta1@176.207.241.56) (Changing host) |
| 2024-03-31 14:07:49 +0000 | Etabeta1 | (~Etabeta1@user/Etabeta1) |
| 2024-03-31 14:08:23 +0000 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
| 2024-03-31 14:14:45 +0000 | Achylles | Achylles_ |
| 2024-03-31 14:15:00 +0000 | Achylles_ | GROUP |
| 2024-03-31 14:16:10 +0000 | GROUP | Achylles_ |
| 2024-03-31 14:16:35 +0000 | chexum_ | (~quassel@gateway/tor-sasl/chexum) |
| 2024-03-31 14:17:28 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 2024-03-31 14:18:50 +0000 | Achylles_ | Achylles |
| 2024-03-31 14:32:31 +0000 | <haskellbridge> | <e​ldritchcookie> people that use stack why? |
| 2024-03-31 14:51:15 +0000 | nilradical | (~nilradica@user/naso) |
| 2024-03-31 14:52:05 +0000 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-03-31 14:52:23 +0000 | <duncan> | pinned package versions is great |
| 2024-03-31 14:54:04 +0000 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit) |
| 2024-03-31 14:55:57 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 2024-03-31 14:57:18 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
| 2024-03-31 14:57:23 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-03-31 15:04:20 +0000 | jespada_ | (~jespada@85.255.232.146) |
| 2024-03-31 15:05:19 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-03-31 15:07:04 +0000 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) |
| 2024-03-31 15:07:35 +0000 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
| 2024-03-31 15:08:01 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 272 seconds) |
| 2024-03-31 15:08:02 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 2024-03-31 15:08:23 +0000 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 2024-03-31 15:08:57 +0000 | op_4 | (~tslil@user/op-4/x-9116473) |
| 2024-03-31 15:09:51 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-03-31 15:12:37 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-03-31 15:15:38 +0000 | doyougnu | (~doyougnu@045-046-170-068.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-03-31 15:15:55 +0000 | doyougnu | (~doyougnu@045-046-170-068.res.spectrum.com) |
| 2024-03-31 15:16:38 +0000 | <geekosaur> | eldritchcookie, there are advantages to starting from a known-good set of package versions, as duncan commented. cabal's answer to this is freeze files, but they can go a bit too far as your code may work with multiple stackage snapshots but a freeze file locks you to a single version of every dependency |
| 2024-03-31 15:17:52 +0000 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 2024-03-31 15:17:53 +0000 | <int-e> | plus there's history |
| 2024-03-31 15:18:16 +0000 | <haskellbridge> | <e​ldritchcookie> cool |
| 2024-03-31 15:19:00 +0000 | <int-e> | (cabal-install is pretty different from what it was when stack came around) |
| 2024-03-31 15:25:49 +0000 | <geekosaur> | (thankfully) |
| 2024-03-31 15:26:04 +0000 | <geekosaur> | cabal 1.x was a mess |
| 2024-03-31 15:26:14 +0000 | target_i | (~target_i@user/target-i/x-6023099) |
| 2024-03-31 15:26:46 +0000 | jespada_ | (~jespada@85.255.232.146) (Read error: Connection reset by peer) |
| 2024-03-31 15:27:32 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-03-31 15:28:34 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-03-31 15:29:21 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-03-31 15:29:59 +0000 | pavonia | (~user@user/siracusa) |
| 2024-03-31 15:48:24 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2024-03-31 15:58:21 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) |
| 2024-03-31 16:05:09 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-03-31 16:05:21 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 16:10:12 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 16:10:50 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-03-31 16:12:25 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 16:19:19 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-03-31 16:20:34 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 16:21:02 +0000 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
| 2024-03-31 16:24:28 +0000 | mmhat | (~mmh@p200300f1c706a26eee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
| 2024-03-31 16:25:08 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 16:25:51 +0000 | r5c4571lh01987 | (rscastilho@179.221.142.8) |
| 2024-03-31 16:27:46 +0000 | zetef | (~quassel@5.2.182.99) |
| 2024-03-31 16:30:40 +0000 | sawilagar | (~sawilagar@user/sawilagar) |
| 2024-03-31 16:32:43 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-03-31 16:32:56 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-03-31 16:35:02 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-03-31 16:36:07 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2024-03-31 16:37:10 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2024-03-31 16:37:13 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 2024-03-31 16:38:35 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-03-31 16:39:03 +0000 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 2024-03-31 16:39:33 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-03-31 16:43:21 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 2024-03-31 16:56:26 +0000 | zetef | (~quassel@5.2.182.99) (Remote host closed the connection) |
| 2024-03-31 16:59:56 +0000 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-03-31 17:01:46 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
| 2024-03-31 17:02:32 +0000 | Achylles | (~Achylles_@45.182.57.45) (Remote host closed the connection) |
| 2024-03-31 17:04:44 +0000 | <haskellbridge> | <s​m> eldritchcookie: UX, reproducibility focus, modern codebase, stability |
| 2024-03-31 17:05:02 +0000 | <haskellbridge> | <s​m> eldritchcookie: UX, reproducibility focus, modern codebase, stability, easier to support |
| 2024-03-31 17:06:31 +0000 | aljazmc | (~aljazmc@user/aljazmc) |
| 2024-03-31 17:06:37 +0000 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
| 2024-03-31 17:12:52 +0000 | <haskellbridge> | <e​ldritchcookie> ok in which way is UX better than cabal-install? |
| 2024-03-31 17:19:10 +0000 | <cheater> | we already had sandboxes when stack came around, building stack was an unforced error |
| 2024-03-31 17:20:52 +0000 | <cheater> | is stack being maintained nowadays? |
| 2024-03-31 17:23:54 +0000 | YoungFrog | (~youngfrog@2a02:a03f:c9db:fc00:dc64:8456:22b9:2c5f) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 2024-03-31 17:24:13 +0000 | <haskellbridge> | <s​m> eldritchcookie: it's best to spend time with both, then you'll know what each is better at |
| 2024-03-31 17:24:14 +0000 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
| 2024-03-31 17:25:05 +0000 | <haskellbridge> | <s​m> cheater: yes, there's an active maintainer these days, and a matrix room (#haskell-stack:matrix.org ) |
| 2024-03-31 17:25:32 +0000 | <cheater> | @sm that wasn't the case for a long time, was it? |
| 2024-03-31 17:25:32 +0000 | <lambdabot> | Come on, let's all slap that wasn't the case for a long time, was it? |
| 2024-03-31 17:25:44 +0000 | <cheater> | er |
| 2024-03-31 17:25:50 +0000 | <cheater> | oookay lambdabot |
| 2024-03-31 17:26:01 +0000 | <geekosaur> | sandboxes came after the first version of stack iirc |
| 2024-03-31 17:26:21 +0000 | <haskellbridge> | <s​m> there was a period when the lead maintainer (Michael Snoyman) announced he was stepping down and called for someone new, until Mike Pilgrem arrived. I don't remember how long that was |
| 2024-03-31 17:26:32 +0000 | r5c4571lh01987 | (rscastilho@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 17:26:58 +0000 | <int-e> | @smack |
| 2024-03-31 17:26:58 +0000 | lambdabot | pokes in the eye |
| 2024-03-31 17:28:55 +0000 | <geekosaur> | (it's actually @slap iirc. yay edit distance) |
| 2024-03-31 17:29:38 +0000 | <cheater> | is there any sort of logic between the shape of nested dot operators like ((.).(.)).((.).) and their type sig? |
| 2024-03-31 17:29:41 +0000 | <int-e> | geekosaur: it's both; the plugin is indeed called "slap" though |
| 2024-03-31 17:29:57 +0000 | <cheater> | other than, you know, the haskell type system |
| 2024-03-31 17:30:23 +0000 | <cheater> | int-e: at least we have @protontorpedo again |
| 2024-03-31 17:30:35 +0000 | <cheater> | removing it was one of the greatest mistakes in haskell history |
| 2024-03-31 17:30:44 +0000 | <int-e> | geekosaur: I'm pretty sure that @sm is interpreted as @smack, not @slap :) |
| 2024-03-31 17:30:52 +0000 | <cheater> | almost as bad as lens |
| 2024-03-31 17:31:07 +0000 | <int-e> | without focus |
| 2024-03-31 17:31:11 +0000 | <haskellbridge> | <s​m> may I request that feature be turned off :) |
| 2024-03-31 17:31:55 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 2024-03-31 17:33:01 +0000 | <ski> | @type (.) . (.) . (.) |
| 2024-03-31 17:33:02 +0000 | <lambdabot> | (b -> c) -> (a1 -> a2 -> a3 -> b) -> a1 -> a2 -> a3 -> c |
| 2024-03-31 17:33:09 +0000 | <ski> | @type (.) . (.) . (.) . (.) |
| 2024-03-31 17:33:09 +0000 | <lambdabot> | (b -> c) -> (a1 -> a2 -> a3 -> a4 -> b) -> a1 -> a2 -> a3 -> a4 -> c |
| 2024-03-31 17:33:48 +0000 | ski | calls those, `(::.)' resp `(:::.)' |
| 2024-03-31 17:34:24 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 17:35:07 +0000 | <ncf> | :t fmap . fmap . fmap . fmap |
| 2024-03-31 17:35:08 +0000 | <lambdabot> | (Functor f1, Functor f2, Functor f3, Functor f4) => (a -> b) -> f1 (f2 (f3 (f4 a))) -> f1 (f2 (f3 (f4 b))) |
| 2024-03-31 17:35:35 +0000 | <ski> | cheater : `(f .)' "focuses" on the result type of a function, letting `f' operate on it. `(. f)' similarly focuses on the argument type. `map f' "focuses on list elements" |
| 2024-03-31 17:35:37 +0000 | <ncf> | :t traverse . traverse . traverse . traverse |
| 2024-03-31 17:35:37 +0000 | <lambdabot> | (Applicative f, Traversable t1, Traversable t2, Traversable t3, Traversable t4) => (a -> f b) -> t1 (t2 (t3 (t4 a))) -> f (t1 (t2 (t3 (t4 b)))) |
| 2024-03-31 17:35:42 +0000 | <ski> | @where SEC |
| 2024-03-31 17:35:42 +0000 | <lambdabot> | http://conal.net/blog/posts/semantic-editor-combinators/ |
| 2024-03-31 17:36:14 +0000 | <ski> | (and you can guess what `first' and `second' does, i hope) |
| 2024-03-31 17:36:15 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-03-31 17:38:30 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 17:43:42 +0000 | <ski> | @type traverse :: Traversable t => (a -> State s b) -> (t a -> State s (t b)) |
| 2024-03-31 17:43:43 +0000 | <lambdabot> | Traversable t => (a -> State s b) -> t a -> State s (t b) |
| 2024-03-31 17:43:51 +0000 | <ski> | @type mapAccumL |
| 2024-03-31 17:43:52 +0000 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) |
| 2024-03-31 17:44:12 +0000 | <ski> | @type ((state . (swap .)) .) . flip . mapAccumL . flip . (((swap .) . runState) .) :: Traversable t => (a -> State s b) -> (t a -> State s (t b)) |
| 2024-03-31 17:44:12 +0000 | <lambdabot> | Traversable t => (a -> State s b) -> t a -> State s (t b) |
| 2024-03-31 17:44:16 +0000 | kuribas | (~user@ptr-17d51eo5ejgrzwny9lg.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2024-03-31 17:44:37 +0000 | <ski> | (see if you can follow that, if you like, cheater) |
| 2024-03-31 17:44:50 +0000 | <cheater> | erm |
| 2024-03-31 17:45:09 +0000 | <cheater> | i was thinking more of, if the parens will have that shape, then there will be that many arrows in that argument |
| 2024-03-31 17:45:24 +0000 | <cheater> | like if you do |
| 2024-03-31 17:45:25 +0000 | <cheater> | @type ((.).(.)).((.).) |
| 2024-03-31 17:45:26 +0000 | <lambdabot> | (b1 -> b2 -> c) -> (a1 -> a2 -> b1) -> a1 -> a2 -> (a3 -> b2) -> a3 -> c |
| 2024-03-31 17:45:56 +0000 | <cheater> | first argument is a function of 2 args, 2nd arg has 2 args, third has 0, fourth has 0, fifth has 1, sixth has 0 |
| 2024-03-31 17:46:02 +0000 | <cheater> | 2, 2, 0, 0, 1, 0 |
| 2024-03-31 17:46:28 +0000 | <ski> | `((.).(.)).((.).)' is the same as `(.).(.).((.).)', no need to add in those redundant brackets, unless you want to emphasize that grouping |
| 2024-03-31 17:46:31 +0000 | <cheater> | i was wondering how these numbers relate to the structure of ((.).(.)).((.).) if looked at as a tree |
| 2024-03-31 17:47:09 +0000 | <ski> | i don't really have a usecase ready, offhand, for when `((.) .)' (aka `(.) (.)'), would be useful |
| 2024-03-31 17:47:23 +0000 | <cheater> | not particularly, i didn't really look at it too hard to spot that this set of parens is unneeded, it's just a random example |
| 2024-03-31 17:47:34 +0000 | <cheater> | @type (.) (.) |
| 2024-03-31 17:47:35 +0000 | <lambdabot> | (a1 -> b -> c) -> a1 -> (a2 -> b) -> a2 -> c |
| 2024-03-31 17:48:05 +0000 | <cheater> | it's useful for when eg you want to add a float and int |
| 2024-03-31 17:48:34 +0000 | <cheater> | > ((.) (.)) (+) 2.2 fromIntegral 3 |
| 2024-03-31 17:48:35 +0000 | <lambdabot> | 5.2 |
| 2024-03-31 17:48:46 +0000 | <ski> | the `(.) . (.)' initial part is just `(:.)', aka `\f g x y -> f (g x y)', passing along two curried parameters to `g', passing its result to `f' |
| 2024-03-31 17:49:19 +0000 | <cheater> | it's useful to do a thing on two things that are *almost* compatible but you have to convert one of the two things by one step |
| 2024-03-31 17:49:34 +0000 | <ski> | well .. i guess i'd prefer `fromIntegral' to come before `2.2', in that example |
| 2024-03-31 17:49:57 +0000 | <cheater> | but it's applied to 3 |
| 2024-03-31 17:50:17 +0000 | <cheater> | it's probably prettier to write 2.2 + (fromIntegral 3) anyways |
| 2024-03-31 17:50:27 +0000 | <cheater> | > 2.2 + (fromIntegral 3) |
| 2024-03-31 17:50:28 +0000 | <lambdabot> | 5.2 |
| 2024-03-31 17:50:32 +0000 | <cheater> | works just as well |
| 2024-03-31 17:50:39 +0000 | <cheater> | no weird pointless form |
| 2024-03-31 17:50:45 +0000 | <cheater> | but, you know |
| 2024-03-31 17:50:48 +0000 | <cheater> | if you're asking what it's good for |
| 2024-03-31 17:50:52 +0000 | <cheater> | that's what it's good for |
| 2024-03-31 17:52:11 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
| 2024-03-31 17:52:44 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
| 2024-03-31 17:52:50 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2024-03-31 17:53:02 +0000 | <ski> | > ((. flip (.)) . flip (.)) (+) fromIntegral 2.2 3 -- this looks hideous |
| 2024-03-31 17:53:03 +0000 | <lambdabot> | 5.2 |
| 2024-03-31 17:53:09 +0000 | <ski> | > ((. fromIntegral) . (+)) 2.2 3 -- only slightly better |
| 2024-03-31 17:53:10 +0000 | <lambdabot> | 5.2 |
| 2024-03-31 17:54:19 +0000 | <ski> | (oh, and the brackets around the call to `fromIntegral' there are also redundant) |
| 2024-03-31 17:55:05 +0000 | michalz | (~michalz@185.246.207.200) |
| 2024-03-31 17:55:40 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-03-31 17:56:50 +0000 | <ski> | > ((.) . flip (.)) fromIntegral (+) 2.2 3 |
| 2024-03-31 17:56:51 +0000 | <lambdabot> | 5.2 |
| 2024-03-31 17:59:29 +0000 | r5c4571lh01987 | (rscastilho@179.221.142.8) |
| 2024-03-31 18:01:10 +0000 | <cheater> | i think the original was best... |
| 2024-03-31 18:01:30 +0000 | <cheater> | but... shrug haha |
| 2024-03-31 18:01:44 +0000 | <cheater> | stuff like that is useful in a language that doesn't have lambda syntax... |
| 2024-03-31 18:01:59 +0000 | <cheater> | otherwise you just do \x y -> x + (fromIntegral y) |
| 2024-03-31 18:02:50 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-03-31 18:03:17 +0000 | <ski> | mild usage of pointless can be potentially nicer |
| 2024-03-31 18:03:50 +0000 | r5c4571lh01987 | (rscastilho@179.221.142.8) (Remote host closed the connection) |
| 2024-03-31 18:14:50 +0000 | <Inst> | how do you debug pointless anyways? |
| 2024-03-31 18:15:16 +0000 | <Inst> | i ended up debugging a pointfree function chain by converting it to accum parameter instead, and tbh the latter was more readable :( |
| 2024-03-31 18:17:23 +0000 | <Inst> | i mean you can always stuff in traceshowid |
| 2024-03-31 18:17:32 +0000 | <ski> | in that case, use the pointful |
| 2024-03-31 18:18:10 +0000 | <ski> | (in case it's more readable, to be clear) |
| 2024-03-31 18:18:29 +0000 | <ski> | (but, to some extent, "more readable" is a matter of familiarity) |
| 2024-03-31 18:19:40 +0000 | <ski> | i'm used enough to reading `(foo .)' and `(. bar)', that they don't seem inscrutable, to me |
| 2024-03-31 18:20:33 +0000 | <Inst> | when you get to multi-arg pointfree, imo, you're going too far |
| 2024-03-31 18:20:38 +0000 | <ski> | (but i wouldn't use the examples above (below the `mapAccumL' one), repeatedly) |
| 2024-03-31 18:21:03 +0000 | <ski> | `foo :. bar',`foo ::. baz' is also ok, imho |
| 2024-03-31 18:21:17 +0000 | <ski> | but, generally, yes, that tends to be the case |
| 2024-03-31 18:23:22 +0000 | <ski> | it can still be fun, now and again, to try to see whether you can pointless some lambda (manually, mind, *not* using an automatic translator. well, sometimes it can give a nice result, but often it will miss it, for a hairy one. or, more commonly perhaps, there simply is no non-hairy one) .. only sometimes do i find some interesting pattern, and only sometimes would i actually use the result in practice |
| 2024-03-31 18:23:47 +0000 | <ski> | it's still a nice mental gymnastics exercise, at least if you like puzzley things |
| 2024-03-31 18:26:18 +0000 | <Inst> | wait, have you ever tried curry / uncurry for pf? |
| 2024-03-31 18:26:34 +0000 | <Inst> | as in, you avoid (.).(.) etc via curry and uncurry strategically placed? |
| 2024-03-31 18:27:25 +0000 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
| 2024-03-31 18:27:46 +0000 | <ski> | "have you ever tried curry / uncurry for pf?" -- yes, .. is that not obvious ? |
| 2024-03-31 18:28:24 +0000 | <ski> | haven't really thought of `curry' & `uncurry' as being in opposition to `(:.)', though |
| 2024-03-31 18:29:59 +0000 | mei | (~mei@user/mei) (Quit: mei) |
| 2024-03-31 18:33:31 +0000 | mei | (~mei@user/mei) |
| 2024-03-31 18:41:42 +0000 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 2024-03-31 18:46:41 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-03-31 18:47:23 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 18:50:10 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Remote host closed the connection) |
| 2024-03-31 18:50:35 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
| 2024-03-31 18:51:53 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Remote host closed the connection) |
| 2024-03-31 18:57:02 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 268 seconds) |
| 2024-03-31 18:58:12 +0000 | ft | (~ft@mue-88-130-107-219.dsl.tropolys.de) |
| 2024-03-31 19:06:59 +0000 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 2024-03-31 19:13:03 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2024-03-31 19:13:46 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-03-31 19:22:03 +0000 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
| 2024-03-31 19:22:44 +0000 | aljazmc | (~aljazmc@user/aljazmc) |
| 2024-03-31 19:24:35 +0000 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
| 2024-03-31 19:25:05 +0000 | aljazmc | (~aljazmc@user/aljazmc) |
| 2024-03-31 19:50:28 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-03-31 19:59:58 +0000 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-03-31 20:01:54 +0000 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
| 2024-03-31 20:18:32 +0000 | sawilagar | (~sawilagar@user/sawilagar) |
| 2024-03-31 20:33:00 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 2024-03-31 20:39:17 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) |
| 2024-03-31 20:52:39 +0000 | aljazmc | (~aljazmc@user/aljazmc) (Quit: Leaving) |
| 2024-03-31 20:52:44 +0000 | michalz | (~michalz@185.246.207.200) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-03-31 21:04:25 +0000 | <cheater> | i feel like pointless is the best if your mental model is that of eg working with a stack of some sort of arguments |
| 2024-03-31 21:04:48 +0000 | <cheater> | and then you can generalize this and instead of stack you could have a tree or whatever maybe, idk, i'd have to think about how i'd do it |
| 2024-03-31 21:05:18 +0000 | <ski> | stack, as in concatenative languages ? |
| 2024-03-31 21:06:00 +0000 | <cheater> | yes |
| 2024-03-31 21:06:46 +0000 | <cheater> | like eg |
| 2024-03-31 21:07:04 +0000 | <cheater> | you could have ifthenelse pred then else |
| 2024-03-31 21:07:22 +0000 | <cheater> | ifthenelse :: Bool -> a -> a -> a |
| 2024-03-31 21:08:02 +0000 | <cheater> | and you can kind of think of the stack being True 2 3 |
| 2024-03-31 21:08:06 +0000 | <cheater> | and then you do something like |
| 2024-03-31 21:08:21 +0000 | <cheater> | double . ifthenelse |
| 2024-03-31 21:08:34 +0000 | <cheater> | and the stack still being True 2 3 yields 4 |
| 2024-03-31 21:09:29 +0000 | <cheater> | and operators such as ifthenelse that choose program flow between two parts of the stack, essentially allow you to have tree-shaped arguments |
| 2024-03-31 21:09:49 +0000 | <ski> | > run (push 3 . dup . push 5 . swp . minus . times) |
| 2024-03-31 21:09:51 +0000 | <lambdabot> | 6 |
| 2024-03-31 21:10:07 +0000 | [exa] | (~exa@user/exa/x-3587197) (Quit: WeeChat 4.2.1) |
| 2024-03-31 21:10:19 +0000 | <cheater> | yea no idea how to read those ;) too long for me |
| 2024-03-31 21:10:35 +0000 | <cheater> | what i'm saying though is you could easily imagine other kinds of functions that eg work with rose trees, deques, whatever |
| 2024-03-31 21:10:36 +0000 | <ski> | `3 dup 5 swap - *', in Forth |
| 2024-03-31 21:10:47 +0000 | <cheater> | yeah i still don't know how to read that |
| 2024-03-31 21:10:51 +0000 | <cheater> | like i could probably figure it out |
| 2024-03-31 21:10:54 +0000 | <cheater> | but it's also 11 pm |
| 2024-03-31 21:10:59 +0000 | <cheater> | and i'm reading some rust |
| 2024-03-31 21:11:01 +0000 | <cheater> | and i don't know rust |
| 2024-03-31 21:11:10 +0000 | <cheater> | so i'm at the limit of my polyglocy right now |
| 2024-03-31 21:11:15 +0000 | <ski> | it computes `3 * (5 - 3)' |
| 2024-03-31 21:12:09 +0000 | <ski> | "working with a stack of some sort of arguments","and you can kind of think of the stack being True 2 3" -- which is what my combinators above do |
| 2024-03-31 21:12:28 +0000 | <cheater> | i'd have expected push to happen first |
| 2024-03-31 21:12:30 +0000 | <cheater> | not last |
| 2024-03-31 21:12:39 +0000 | <ski> | `push' does happen first |
| 2024-03-31 21:12:50 +0000 | <ski> | (read left-to-right) |
| 2024-03-31 21:12:57 +0000 | <cheater> | why am i reading left to right? |
| 2024-03-31 21:13:09 +0000 | <ski> | .. because, well .. |
| 2024-03-31 21:13:20 +0000 | <ski> | check types of the combinators ? |
| 2024-03-31 21:13:44 +0000 | <ski> | @type minus |
| 2024-03-31 21:13:45 +0000 | <lambdabot> | Num t1 => (t1 -> t2) -> t1 -> t1 -> t2 |
| 2024-03-31 21:13:50 +0000 | <ski> | @type dup |
| 2024-03-31 21:13:51 +0000 | <lambdabot> | (t1 -> t1 -> t2) -> t1 -> t2 |
| 2024-03-31 21:13:52 +0000 | <ski> | @type swp |
| 2024-03-31 21:13:53 +0000 | <lambdabot> | (t1 -> t2 -> t3) -> t2 -> t1 -> t3 |
| 2024-03-31 21:13:55 +0000 | <ski> | @type push |
| 2024-03-31 21:13:56 +0000 | <lambdabot> | t1 -> (t1 -> t2) -> t2 |
| 2024-03-31 21:14:09 +0000 | <ski> | .. these are written, using CPS |
| 2024-03-31 21:14:23 +0000 | <ski> | and CPS tends to turn things "inside out". that's why you're reading left-to-right |
| 2024-03-31 21:15:00 +0000 | <ski> | (also cf. optics composition .. basically same phenomenon) |
| 2024-03-31 21:15:06 +0000 | <cheater> | hmm ok |
| 2024-03-31 21:15:24 +0000 | <ski> | @type run |
| 2024-03-31 21:15:25 +0000 | <lambdabot> | ((a -> a) -> t) -> t |
| 2024-03-31 21:15:27 +0000 | ncf | . o O ( "CPS-based functional references" ) |
| 2024-03-31 21:15:34 +0000 | <cheater> | where do those come from |
| 2024-03-31 21:15:36 +0000 | <cheater> | did you write them |
| 2024-03-31 21:15:51 +0000 | <ski> | the pro of this approach is that it supports heterogenous stack, automatically |
| 2024-03-31 21:15:57 +0000 | <ski> | yep, i did |
| 2024-03-31 21:16:00 +0000 | <ncf> | cheater: ski can project any combinator from his brain directly onto lambdabot |
| 2024-03-31 21:16:34 +0000 | <ski> | (i came up with this idea, many years ago. .. i think maybe around twenty or something ?) |
| 2024-03-31 21:16:48 +0000 | <cheater> | what is the source for minus ? |
| 2024-03-31 21:17:06 +0000 | <cheater> | ncf: i believe that |
| 2024-03-31 21:17:11 +0000 | <ski> | minus k x y = k (y - x) |
| 2024-03-31 21:18:12 +0000 | <ski> | for the example above |
| 2024-03-31 21:18:17 +0000 | <ski> | run (push 3 . dup . push 5 . swp . minus . times) |
| 2024-03-31 21:18:26 +0000 | <ski> | = (push 3 . dup . push 5 . swp . minus . times) id |
| 2024-03-31 21:19:09 +0000 | <ski> | = push 3 (dup (push 5 (swp (minus (times id))))) |
| 2024-03-31 21:19:17 +0000 | <ski> | = dup (push 5 (swp (minus (times id)))) 3 |
| 2024-03-31 21:19:23 +0000 | <ski> | = push 5 (swp (minus (times id))) 3 3 |
| 2024-03-31 21:19:31 +0000 | <ski> | = swp (minus (times id)) 3 3 5 |
| 2024-03-31 21:19:48 +0000 | <ski> | er, actually |
| 2024-03-31 21:19:52 +0000 | <ski> | = swp (minus (times id)) 5 3 3 |
| 2024-03-31 21:20:04 +0000 | <ski> | = minus (times id) 3 5 3 |
| 2024-03-31 21:20:19 +0000 | <ski> | = times id (5 - 3) 3 |
| 2024-03-31 21:20:29 +0000 | <ski> | = id (3 * (5 - 3)) |
| 2024-03-31 21:20:33 +0000 | <ski> | = 3 * (5 - 3) |
| 2024-03-31 21:20:37 +0000 | <ski> | = 3 * 2 |
| 2024-03-31 21:20:39 +0000 | <ski> | = 6 |
| 2024-03-31 21:20:40 +0000 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2024-03-31 21:20:57 +0000 | <ski> | cheater : makes more sense, now, how the arguments act like a stack ? |
| 2024-03-31 21:21:03 +0000 | <cheater> | yes |
| 2024-03-31 21:21:10 +0000 | <cheater> | but could they be a tree instead? |
| 2024-03-31 21:21:34 +0000 | <cheater> | it's so weird because |
| 2024-03-31 21:22:16 +0000 | <ski> | "and operators such as ifthenelse that choose program flow between two parts of the stack, essentially allow you to have tree-shaped arguments" -- hmm |
| 2024-03-31 21:22:22 +0000 | <ski> | i don't really follow this |
| 2024-03-31 21:22:42 +0000 | <cheater> | with a c-like, you could always say: the arguments are a tuple, f(x, y z). so if the arguments were a tree, we'd have f(x,((y, z), (u, v))) |
| 2024-03-31 21:22:57 +0000 | <cheater> | but i wonder what the haskell equivalent would be |
| 2024-03-31 21:23:03 +0000 | <cheater> | we separate arguments with spaces |
| 2024-03-31 21:23:19 +0000 | <cheater> | what would the ergonomic syntax be for a tree? |
| 2024-03-31 21:23:48 +0000 | <ski> | .. tuples ? |
| 2024-03-31 21:24:47 +0000 | <ski> | `(a,b) -> c' is equivalent to `a -> b -> c'. how would you represent the nested structure of the argument type in `((a,b,c),(d,e)) -> f', in a curried form ? |
| 2024-03-31 21:24:48 +0000 | <cheater> | idk if that's so ergonomic |
| 2024-03-31 21:25:03 +0000 | <cheater> | yeah |
| 2024-03-31 21:25:06 +0000 | <cheater> | that's a good question |
| 2024-03-31 21:25:10 +0000 | <cheater> | maybe via a graph? |
| 2024-03-31 21:25:17 +0000 | Silver_X | (~Silver_X@182.178.140.82) |
| 2024-03-31 21:25:41 +0000 | <cheater> | big braces } |
| 2024-03-31 21:25:55 +0000 | <cheater> | a b c } |
| 2024-03-31 21:26:01 +0000 | <cheater> | } -> f |
| 2024-03-31 21:26:05 +0000 | <cheater> | d e } |
| 2024-03-31 21:26:16 +0000 | <cheater> | now if those three braces all aligned that would be better |
| 2024-03-31 21:26:29 +0000 | <cheater> | i guess more like |
| 2024-03-31 21:26:37 +0000 | <cheater> | a -> b -> c -> } |
| 2024-03-31 21:26:45 +0000 | <ski> | .. reminds me of a CPSed tree type i experimented with, that separated the branching structure of the tree, from the payload (the elements stored in the nodes). so that you'd first give the branching structure (in depth-first traversal order), and then the payload as a nested pair structure |
| 2024-03-31 21:26:51 +0000 | <cheater> | } -> f |
| 2024-03-31 21:27:06 +0000 | <cheater> | d -> e -> } |
| 2024-03-31 21:27:39 +0000 | <cheater> | the question is though |
| 2024-03-31 21:27:48 +0000 | <cheater> | what would the meaning be of such a branched type signature? |
| 2024-03-31 21:27:51 +0000 | <cheater> | etc |
| 2024-03-31 21:28:44 +0000 | <cheater> | polymorphism? |
| 2024-03-31 21:29:12 +0000 | <ski> | like representing `B 2 (B 3 N N) (B 5 (B 7 N N) N)' as something like (not exactly) `(Br . Br . Ni . Ni . Br . Br . Ni . Ni . Ni) (2,(3,(),()),(5,(7,(),()),()))' |
| 2024-03-31 21:29:52 +0000 | <cheater> | Syntax error: not enough shrubberies |
| 2024-03-31 21:30:53 +0000 | <ski> | cheater : would that type be represented by a tree (and if so, what's its nesting structure) ? |
| 2024-03-31 21:31:04 +0000 | <cheater> | what type? |
| 2024-03-31 21:31:10 +0000 | <cheater> | the one i wrote above? |
| 2024-03-31 21:31:17 +0000 | <ski> | the "big braces" example you gave |
| 2024-03-31 21:31:29 +0000 | <cheater> | `((a,b,c),(d,e)) -> f' |
| 2024-03-31 21:31:36 +0000 | <ski> | if it's a tree, what's the top-level type constructor ? |
| 2024-03-31 21:31:52 +0000 | <cheater> | i guess f would be the root |
| 2024-03-31 21:31:55 +0000 | <ski> | no, not the tupled version. your attempt at a "tree-structured curried" version |
| 2024-03-31 21:32:05 +0000 | <ski> | `f' is a leaf |
| 2024-03-31 21:32:12 +0000 | <cheater> | well to me it would be the root |
| 2024-03-31 21:32:46 +0000 | <ski> | what's the children / subtrees of the root ? |
| 2024-03-31 21:33:15 +0000 | <cheater> | the children would be c + its children, and e + its children |
| 2024-03-31 21:33:33 +0000 | <ski> | so, two children ? |
| 2024-03-31 21:33:36 +0000 | <cheater> | yes |
| 2024-03-31 21:33:45 +0000 | <cheater> | and those woudl have one child each in this case |
| 2024-03-31 21:33:53 +0000 | <cheater> | c has child b, and e has child d |
| 2024-03-31 21:33:59 +0000 | <ski> | but in other cases, it could be three, or one, or four children, yes ? |
| 2024-03-31 21:34:03 +0000 | <cheater> | d has no children. b has child a. a has no children. |
| 2024-03-31 21:34:05 +0000 | <cheater> | sure |
| 2024-03-31 21:34:53 +0000 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2024-03-31 21:35:10 +0000 | <ski> | i guess i'd interpret "well to me it would be the root" as meaning that `f' is the element in the root node |
| 2024-03-31 21:35:17 +0000 | <cheater> | yes |
| 2024-03-31 21:35:50 +0000 | <ski> | (not at all the same thing, wrt how i was grasping at it with my terminology) |
| 2024-03-31 21:36:41 +0000 | <ski> | shouldn't `} -> f' be `-> } f' ? |
| 2024-03-31 21:37:17 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 21:37:27 +0000 | <cheater> | no idea |
| 2024-03-31 21:37:34 +0000 | <cheater> | feel free to change it as you see fit :) |
| 2024-03-31 21:37:55 +0000 | <ski> | seems it would have to be, to be consistent .. unless i'm misunderstanding |
| 2024-03-31 21:38:13 +0000 | <ski> | the other `}'s are preceded by `->'s |
| 2024-03-31 21:40:16 +0000 | <ski> | so .. it seems that your example expresses the same information as say `(((((),a),b),c),(((),d),e)) -> f' .. only using another concrete syntax |
| 2024-03-31 21:40:54 +0000 | ski | ponders that |
| 2024-03-31 21:40:56 +0000 | <cheater> | oh no just imagine there's one big brace instead od the three stacked braces |
| 2024-03-31 21:41:01 +0000 | <cheater> | there's no -> in the middle |
| 2024-03-31 21:41:10 +0000 | <cheater> | on the left of the brace |
| 2024-03-31 21:41:12 +0000 | <cheater> | only on the right |
| 2024-03-31 21:41:54 +0000 | <cheater> | or alternatively |
| 2024-03-31 21:42:02 +0000 | <cheater> | we could have no arrows pointing to/from braces |
| 2024-03-31 21:42:04 +0000 | <cheater> | like |
| 2024-03-31 21:42:04 +0000 | <ski> | .. why three (and not two) ? |
| 2024-03-31 21:42:08 +0000 | <cheater> | a -> b } |
| 2024-03-31 21:42:18 +0000 | <cheater> | } z |
| 2024-03-31 21:42:30 +0000 | <cheater> | c } |
| 2024-03-31 21:42:52 +0000 | <cheater> | three because i gotta align z with something and i don't want to align it with either of the lines on the left |
| 2024-03-31 21:43:07 +0000 | <cheater> | i just wanted it to be central |
| 2024-03-31 21:45:28 +0000 | <cheater> | https://imgur.com/a/KU8UeST |
| 2024-03-31 21:47:10 +0000 | euphores | (~SASL_euph@user/euphores) |
| 2024-03-31 21:48:31 +0000 | <cheater> | ski: |
| 2024-03-31 21:51:35 +0000 | <ski> | what does the `->' mean, here ? |
| 2024-03-31 21:52:31 +0000 | <cheater> | as in normal haskell |
| 2024-03-31 21:52:50 +0000 | <cheater> | the brace means |
| 2024-03-31 21:52:53 +0000 | <ski> | so `a -> b' here is the same as `(a -> b)' ? |
| 2024-03-31 21:53:03 +0000 | <cheater> | no |
| 2024-03-31 21:53:14 +0000 | <cheater> | it's the same as a -> (b -> ...) |
| 2024-03-31 21:53:23 +0000 | <ski> | (iow, `a' and `b' are not separate parameter types, but rather `a -> b' being the type of a single callback parameter) |
| 2024-03-31 21:53:28 +0000 | <cheater> | the a b c z brace above means |
| 2024-03-31 21:53:33 +0000 | <cheater> | a -> b -> z |
| 2024-03-31 21:53:33 +0000 | <cheater> | and |
| 2024-03-31 21:53:36 +0000 | <cheater> | c -> z |
| 2024-03-31 21:53:38 +0000 | <cheater> | at the same time |
| 2024-03-31 21:53:42 +0000 | <ski> | ok, so it doesn't meant the same as in ordinary Haskell |
| 2024-03-31 21:53:55 +0000 | <cheater> | no |
| 2024-03-31 21:53:56 +0000 | <ski> | `a -> b' is not a subexpression of `a -> b -> z', in Haskell |
| 2024-03-31 21:54:02 +0000 | <ski> | (`->' is right-associative) |
| 2024-03-31 21:54:08 +0000 | <cheater> | yes |
| 2024-03-31 21:54:13 +0000 | <cheater> | the arrows are the same as in haskell. |
| 2024-03-31 21:54:55 +0000 | <ski> | well, i thought we just established that they're not |
| 2024-03-31 21:55:00 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-03-31 21:55:08 +0000 | <cheater> | no, you established that they're not. i established that they are |
| 2024-03-31 21:55:21 +0000 | <ski> | if `a -> b }' is not parsed as `(a -> b) }', how is it parsed (grouped) ? |
| 2024-03-31 21:55:30 +0000 | <cheater> | [23:53:25] <cheater> the a b c z brace above means |
| 2024-03-31 21:55:30 +0000 | <cheater> | [23:53:29] <cheater> a -> b -> z |
| 2024-03-31 21:55:30 +0000 | <cheater> | [23:53:30] <cheater> and |
| 2024-03-31 21:55:30 +0000 | <cheater> | [23:53:32] <cheater> c -> z |
| 2024-03-31 21:55:30 +0000 | <cheater> | [23:53:35] <cheater> at the same time |
| 2024-03-31 21:55:35 +0000 | <cheater> | that's how |
| 2024-03-31 21:55:56 +0000 | <ski> | that sounds like we're not talking about trees anymore, but (a forest of) DAGs |
| 2024-03-31 21:56:20 +0000 | <ski> | two roots, one starting with `a', another starting with `c', and both eventyally having `z' as a subtree |
| 2024-03-31 21:56:48 +0000 | <cheater> | well, if you take a tree and flip its arrows, sure, that's a dag. |
| 2024-03-31 21:57:11 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds) |
| 2024-03-31 21:57:40 +0000 | Silver_X | (~Silver_X@182.178.140.82) (Remote host closed the connection) |
| 2024-03-31 21:57:41 +0000 | <ski> | that's how i interpret "a -> b -> z","and","c -> z","at the same time", namely the `z' part of the two lines above "overlapping" |
| 2024-03-31 21:58:01 +0000 | <cheater> | sure |
| 2024-03-31 21:58:05 +0000 | <cheater> | that's a good way to look at it |
| 2024-03-31 21:58:27 +0000 | <ski> | because `a -> b -> z' here can't mean `(a -> b) -> z', you agreed with that, so it seems it must mean `a -> (b -> z)' (or something like that) still, and then the two `z's must overlap |
| 2024-03-31 21:58:48 +0000 | <cheater> | yes, they overlap |
| 2024-03-31 22:00:10 +0000 | <ski> | (perhaps there's another way to look at it. if you could define some (e.g. Haskell) data types (trees or graphs or tables or whatever), that can be used to represent these types (and also, preferably, corresponding expression structures for invoking functions having these types), that could help to better understand how you're thinking about it) |
| 2024-03-31 22:00:19 +0000 | <ski> | (bbiam) |
| 2024-03-31 22:02:55 +0000 | <cheater> | so what if you had |
| 2024-03-31 22:02:59 +0000 | <cheater> | a } |
| 2024-03-31 22:03:09 +0000 | <cheater> | } Bool -> c |
| 2024-03-31 22:03:12 +0000 | <cheater> | b } |
| 2024-03-31 22:03:35 +0000 | <cheater> | and the Bool informed whether your function wants an a or a b? |
| 2024-03-31 22:04:15 +0000 | <cheater> | you start with the fact that you end up with c |
| 2024-03-31 22:04:17 +0000 | <cheater> | you know that for sure |
| 2024-03-31 22:04:36 +0000 | <cheater> | but then at runtime depending on the value of the Bool you either want an a as input, or a b as input. |
| 2024-03-31 22:07:33 +0000 | <cheater> | (and maybe you can figure out the Bool at compile time already, and specialize) |
| 2024-03-31 22:14:39 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
| 2024-03-31 22:14:43 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-03-31 22:18:18 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 22:22:33 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
| 2024-03-31 22:23:56 +0000 | <ski> | at compile-time, you don't know the run-time value of the `Bool', in general. so you'd have to provide potential computations for both `a' and `b' (but not necessarily the possibility to materialize both) |
| 2024-03-31 22:27:54 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 2024-03-31 22:28:00 +0000 | <cheater> | yup |
| 2024-03-31 22:41:44 +0000 | causal | (~eric@50.35.88.207) |
| 2024-03-31 22:44:26 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2024-03-31 22:45:53 +0000 | Square2 | (~Square@user/square) |
| 2024-03-31 22:58:04 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-03-31 23:08:31 +0000 | iteratee | (~kyle@162.218.222.207) (Read error: Connection reset by peer) |
| 2024-03-31 23:08:52 +0000 | iteratee | (~kyle@162.218.222.207) |
| 2024-03-31 23:08:57 +0000 | acidjnk_new | (~acidjnk@p200300d6e714dc446d52a2431789bf32.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 2024-03-31 23:12:57 +0000 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds) |
| 2024-03-31 23:13:41 +0000 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
| 2024-03-31 23:30:03 +0000 | travgm | (~travgm@fsf/member/travgm) |
| 2024-03-31 23:31:13 +0000 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 255 seconds) |
| 2024-03-31 23:36:07 +0000 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) |
| 2024-03-31 23:51:05 +0000 | jero98772 | (~jero98772@2800:484:1d81:2200::4) |
| 2024-03-31 23:52:22 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-03-31 23:57:02 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Remote host closed the connection) |