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