2023-10-15 00:00:38 +0200 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-10-15 00:14:54 +0200 | <EvanR> | the async library allows setting up relationships between threads, but doesn't go as far as cloud haskell with the network transparency |
2023-10-15 00:15:43 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-10-15 00:28:43 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-10-15 00:28:43 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-10-15 00:28:43 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-10-15 00:31:45 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) |
2023-10-15 00:34:11 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds) |
2023-10-15 00:34:28 +0200 | talismanick | (~user@2601:204:ef80:2980::b23e) (Remote host closed the connection) |
2023-10-15 00:36:17 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-10-15 00:38:00 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2023-10-15 00:38:16 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-10-15 00:42:28 +0200 | simendsjo | (~user@84.211.91.241) (Ping timeout: 255 seconds) |
2023-10-15 00:44:39 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-10-15 00:46:25 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 00:49:16 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 00:54:10 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds) |
2023-10-15 00:54:54 +0200 | talismanick | (~user@2601:204:ef80:2980::b23e) |
2023-10-15 01:00:21 +0200 | bilegeek | (~bilegeek@2600:1008:b094:3e4e:83d7:cfc2:3666:8d15) |
2023-10-15 01:03:56 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 01:05:30 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-10-15 01:19:57 +0200 | lg188 | (~lg188@82.18.98.230) (Ping timeout: 255 seconds) |
2023-10-15 01:22:16 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Read error: Connection reset by peer) |
2023-10-15 01:25:22 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 01:26:31 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 01:29:01 +0200 | roboguy_ | (~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805) (Remote host closed the connection) |
2023-10-15 01:29:16 +0200 | roboguy_ | (~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805) |
2023-10-15 01:30:11 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-10-15 01:32:01 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-10-15 01:32:01 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-10-15 01:32:01 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-10-15 01:33:53 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) |
2023-10-15 01:34:04 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-15 01:42:57 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-10-15 01:48:39 +0200 | Sgeo_ | (~Sgeo@user/sgeo) |
2023-10-15 01:48:43 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-10-15 01:50:25 +0200 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) (Ping timeout: 255 seconds) |
2023-10-15 01:51:22 +0200 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) |
2023-10-15 01:55:30 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection) |
2023-10-15 01:57:23 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-10-15 02:00:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-10-15 02:04:53 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-10-15 02:06:34 +0200 | califax | (~califax@user/califx) |
2023-10-15 02:10:39 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds) |
2023-10-15 02:12:44 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 02:23:02 +0200 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds) |
2023-10-15 02:23:43 +0200 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) |
2023-10-15 02:27:15 +0200 | <EvanR> | is Just 'A' an application of function Just to char 'A', or a data object ready to be case analyzed, not applicated |
2023-10-15 02:27:43 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) |
2023-10-15 02:27:55 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 02:28:30 +0200 | <geekosaur> | both |
2023-10-15 02:29:06 +0200 | <geekosaur> | well, technically it's only the latter but ghc treats `Just` as a function that can be applied |
2023-10-15 02:30:07 +0200 | <EvanR> | both at once, or could be either and there's no way to know |
2023-10-15 02:33:22 +0200 | <EvanR> | only just now realized how confusing that could be |
2023-10-15 02:37:38 +0200 | <geekosaur> | once you have `Just 'A'` you have a data object, not a function that can't be case analyzed |
2023-10-15 02:37:59 +0200 | <geekosaur> | but `Just` exists as both a data object creator and as a partially applied function |
2023-10-15 02:38:44 +0200 | <EvanR> | so Just 'A' written anywhere doesn't correspond to an "app node" |
2023-10-15 02:38:45 +0200 | <geekosaur> | I think you have to look at Core to see this though |
2023-10-15 02:38:47 +0200 | <hpc> | or perhaps it's better to say, the same word refers to both |
2023-10-15 02:39:09 +0200 | <roboguy_> | One name for two things that could be considered conceptually different. Sorta reminds me of how something like Maybe is a function that sends a type to another type, but that other type doesn't have a "separate name". So, Maybe sends Int to "Maybe Int". That actually confused me for a while when I was trying to figure out how Haskell `Functor`s relate to category theory functors |
2023-10-15 02:39:14 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 02:39:26 +0200 | <hpc> | imagine if data constructors were special, but you didn't have to write (\x -> Just x) all the time |
2023-10-15 02:40:19 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
2023-10-15 02:40:19 +0200 | <geekosaur> | that is, if you declare your own `data MyMaybe a = MyNothing | MyJust a` then ghc declares both `MyJust a` and partially applied `MyJust`. I seem to recall a `W$` being in the name of the latter, but would have to inspect Core to be certain |
2023-10-15 02:40:48 +0200 | <geekosaur> | this leads to speedups when you write `MyJust 'A'` while still supporting using `MyJust` as a function |
2023-10-15 02:42:00 +0200 | <c_wraith> | there's also the CONLIKE pragma to tell the optimizer (simplifier, I think?) that a particular function can be treated much like a constructor |
2023-10-15 02:42:56 +0200 | <c_wraith> | I don't know exactly when it fires, but I presume it requires the definition to reduce to a constructor without branching or recursing |
2023-10-15 02:44:21 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-10-15 02:44:50 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 02:44:58 +0200 | <geekosaur> | https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/exts/rewrite_rules.html#conlike |
2023-10-15 02:45:21 +0200 | <geekosaur> | it actually moodifies the INLINE pragma and affects how rules treat it |
2023-10-15 02:45:52 +0200 | <geekosaur> | (rules "see through" constructors but not functions, unless the function is INLINABLE/INLINE and CONLIKE) |
2023-10-15 02:45:56 +0200 | <geekosaur> | iirc |
2023-10-15 02:47:26 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-10-15 02:53:50 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-15 02:55:57 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2023-10-15 02:55:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-10-15 02:56:43 +0200 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 02:57:19 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-10-15 03:00:30 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
2023-10-15 03:00:36 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 03:09:33 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds) |
2023-10-15 03:14:20 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-10-15 03:14:34 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-10-15 03:23:26 +0200 | otto_s | (~user@p4ff27101.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2023-10-15 03:25:07 +0200 | otto_s | (~user@p4ff27012.dip0.t-ipconnect.de) |
2023-10-15 03:31:21 +0200 | Pozyomka | (~pyon@user/pyon) |
2023-10-15 03:31:30 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-15 03:34:26 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 03:35:32 +0200 | aforemny | (~aforemny@2001:9e8:6cda:1500:6f40:15a2:ac09:312c) |
2023-10-15 03:35:35 +0200 | aforemny_ | (~aforemny@i59F516EA.versanet.de) (Ping timeout: 255 seconds) |
2023-10-15 03:39:01 +0200 | otto_s | (~user@p4ff27012.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2023-10-15 03:40:27 +0200 | otto_s | (~user@p5de2f3ed.dip0.t-ipconnect.de) |
2023-10-15 03:41:34 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-10-15 03:46:45 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-10-15 03:48:56 +0200 | bilegeek_ | (~bilegeek@230.sub-174-228-97.myvzw.com) |
2023-10-15 03:51:34 +0200 | bilegeek | (~bilegeek@2600:1008:b094:3e4e:83d7:cfc2:3666:8d15) (Ping timeout: 272 seconds) |
2023-10-15 03:54:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 03:55:24 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-1ee4-1b7c-94a7-8fa7.res6.spectrum.com) |
2023-10-15 03:57:59 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 245 seconds) |
2023-10-15 03:59:53 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 04:00:02 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-10-15 04:00:30 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-10-15 04:00:35 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-15 04:02:50 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 04:24:20 +0200 | vglfr | (~vglfr@88.155.159.184) |
2023-10-15 04:25:55 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds) |
2023-10-15 04:28:49 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-10-15 04:33:01 +0200 | roboguy_ | (~roboguy_@2605:a601:ac4a:2700:d466:7d9:bddf:805) (Quit: Leaving...) |
2023-10-15 04:38:45 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 252 seconds) |
2023-10-15 04:39:37 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-15 04:39:37 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-10-15 04:39:37 +0200 | finn_elija | FinnElija |
2023-10-15 04:46:44 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 04:47:50 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 258 seconds) |
2023-10-15 04:48:08 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-10-15 04:52:01 +0200 | bilegeek_ | (~bilegeek@230.sub-174-228-97.myvzw.com) (Remote host closed the connection) |
2023-10-15 04:52:25 +0200 | bilegeek_ | (~bilegeek@230.sub-174-228-97.myvzw.com) |
2023-10-15 04:57:23 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 04:59:31 +0200 | td_ | (~td@i5387092A.versanet.de) (Ping timeout: 260 seconds) |
2023-10-15 04:59:49 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 05:00:03 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-10-15 05:00:56 +0200 | td_ | (~td@i53870930.versanet.de) |
2023-10-15 05:04:58 +0200 | nilradical | (~nilradica@user/naso) |
2023-10-15 05:08:26 +0200 | nilradical | (~nilradica@user/naso) (Client Quit) |
2023-10-15 05:11:53 +0200 | aforemny_ | (~aforemny@2001:9e8:6ce4:3000:9219:c90e:a79a:8713) |
2023-10-15 05:12:21 +0200 | aforemny | (~aforemny@2001:9e8:6cda:1500:6f40:15a2:ac09:312c) (Ping timeout: 260 seconds) |
2023-10-15 05:22:40 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-15 05:23:12 +0200 | privacy | (~privacy@user/privacy) (Quit: Leaving) |
2023-10-15 05:23:47 +0200 | vglfr | (~vglfr@88.155.159.184) (Read error: Connection reset by peer) |
2023-10-15 05:24:07 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) |
2023-10-15 05:51:30 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection) |
2023-10-15 05:52:15 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) |
2023-10-15 05:58:02 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 05:59:15 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) (Remote host closed the connection) |
2023-10-15 06:00:01 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) |
2023-10-15 06:02:25 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 06:07:06 +0200 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) (Ping timeout: 272 seconds) |
2023-10-15 06:07:16 +0200 | vglfr | (~vglfr@88.155.159.184) |
2023-10-15 06:20:13 +0200 | sabino | (~sabino@user/sabino) (Quit: Lambda _ -> x) |
2023-10-15 06:24:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-10-15 06:26:16 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-10-15 06:35:46 +0200 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 260 seconds) |
2023-10-15 06:36:17 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 06:37:36 +0200 | xff0x | (~xff0x@178.255.149.135) |
2023-10-15 06:47:06 +0200 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 255 seconds) |
2023-10-15 06:48:42 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
2023-10-15 06:48:55 +0200 | xff0x | (~xff0x@2405:6580:b080:900:4eda:e939:15a9:23d7) |
2023-10-15 06:55:30 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 07:03:44 +0200 | ensyde | (~ensyde@2600:381:f429:4668:5188:5a77:b1c6:d864) (Read error: Connection reset by peer) |
2023-10-15 07:09:39 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds) |
2023-10-15 07:10:05 +0200 | glguy | ghoulguy |
2023-10-15 07:21:09 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 07:22:00 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 07:31:31 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 07:33:53 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 08:02:59 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-10-15 08:07:32 +0200 | zaquest | (~notzaques@5.130.79.72) |
2023-10-15 08:18:31 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 260 seconds) |
2023-10-15 08:30:11 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 08:30:17 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-10-15 08:32:05 +0200 | califax_ | (~califax@user/califx) |
2023-10-15 08:32:41 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds) |
2023-10-15 08:32:41 +0200 | califax | (~califax@user/califx) (Ping timeout: 252 seconds) |
2023-10-15 08:33:18 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-10-15 08:33:21 +0200 | califax_ | califax |
2023-10-15 08:40:49 +0200 | akyv13 | (~akyv13@157.40.97.94) |
2023-10-15 08:48:45 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection) |
2023-10-15 08:49:39 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-10-15 08:51:54 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 08:52:46 +0200 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
2023-10-15 08:54:40 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-10-15 08:56:45 +0200 | bilegeek_ | (~bilegeek@230.sub-174-228-97.myvzw.com) (Quit: Leaving) |
2023-10-15 09:04:13 +0200 | akyv13 | (~akyv13@157.40.97.94) (Read error: Connection reset by peer) |
2023-10-15 09:12:02 +0200 | acidjnk | (~acidjnk@p200300d6e7072f17652bd3d039ad030c.dip0.t-ipconnect.de) |
2023-10-15 09:14:12 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-15 09:17:44 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 09:19:50 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) |
2023-10-15 09:24:39 +0200 | gmg | (~user@user/gehmehgeh) |
2023-10-15 09:41:58 +0200 | <tomsmeding> | EvanR: the term `Just 'A'` is an application of the function Just to the char 'A'. It evaluates to a data object ready to be case-analysed. |
2023-10-15 09:42:34 +0200 | <tomsmeding> | (if you Show that data object, you do get a string equal to "Just 'A'", but that is neither here nor there.) |
2023-10-15 09:45:52 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 09:48:28 +0200 | <mauke> | IIRC ocaml doesn't functionize constructors, so you always have to fully apply them syntactically |
2023-10-15 09:49:00 +0200 | Jackneill | (~Jackneill@20014C4E1E021C0053F19F32A19511C4.dsl.pool.telekom.hu) |
2023-10-15 09:50:41 +0200 | Vajb | (~Vajb@2001:999:584:acfe:2adf:4620:2462:b0dd) (Ping timeout: 246 seconds) |
2023-10-15 09:55:06 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds) |
2023-10-15 09:55:16 +0200 | xff0x | (~xff0x@2405:6580:b080:900:4eda:e939:15a9:23d7) (Ping timeout: 258 seconds) |
2023-10-15 09:55:55 +0200 | cpressey | (~cpressey@host-2-102-87-108.as13285.net) |
2023-10-15 09:56:33 +0200 | kantokuen | (~kantokuen@user/kantokuen) (Ping timeout: 255 seconds) |
2023-10-15 09:57:16 +0200 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) |
2023-10-15 09:59:03 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 10:01:06 +0200 | Kuttenbrunzer | (~Kuttenbru@2a02:8108:8b80:1d48::ac91) |
2023-10-15 10:03:43 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-10-15 10:04:02 +0200 | califax | (~califax@user/califx) |
2023-10-15 10:04:04 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 10:09:52 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-10-15 10:10:46 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
2023-10-15 10:10:57 +0200 | kantokuen | (~kantokuen@user/kantokuen) |
2023-10-15 10:16:04 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 10:18:49 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-15 10:21:23 +0200 | cpressey | (~cpressey@host-2-102-87-108.as13285.net) (Ping timeout: 245 seconds) |
2023-10-15 10:29:27 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-15 10:30:24 +0200 | rgw | (~R@2605:a601:a0df:5600:2810:3d3e:92e6:48c8) (Quit: rgw) |
2023-10-15 10:30:51 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2023-10-15 10:34:29 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 10:37:44 +0200 | ludat | (~ludat@2800:810:5ea:34e:1c56:e7eb:4664:3b36) |
2023-10-15 10:40:14 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) |
2023-10-15 10:41:45 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 10:46:11 +0200 | Vajb | (~Vajb@85-76-98-119-nat.elisa-mobile.fi) |
2023-10-15 10:48:46 +0200 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2023-10-15 10:50:42 +0200 | ludat | (~ludat@2800:810:5ea:34e:1c56:e7eb:4664:3b36) (Quit: Client closed) |
2023-10-15 10:50:51 +0200 | Xe | (~cadey@perl/impostor/xe) (Ping timeout: 258 seconds) |
2023-10-15 10:51:09 +0200 | cpressey | (~cpressey@host-92-21-195-194.as13285.net) |
2023-10-15 10:53:10 +0200 | Xe | (~cadey@perl/impostor/xe) |
2023-10-15 10:53:25 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-15 10:53:25 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-10-15 10:53:25 +0200 | finn_elija | FinnElija |
2023-10-15 10:55:58 +0200 | aforemny_ | (~aforemny@2001:9e8:6ce4:3000:9219:c90e:a79a:8713) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-15 10:56:31 +0200 | kantokuen | (~kantokuen@user/kantokuen) (Ping timeout: 260 seconds) |
2023-10-15 10:57:05 +0200 | aforemny | (~aforemny@i59F516EA.versanet.de) |
2023-10-15 10:57:29 +0200 | Vajb | (~Vajb@85-76-98-119-nat.elisa-mobile.fi) (Ping timeout: 255 seconds) |
2023-10-15 10:57:45 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 258 seconds) |
2023-10-15 10:59:11 +0200 | Vajb | (~Vajb@2001:999:609:2930:4ab0:3772:15e9:4ad9) |
2023-10-15 11:03:05 +0200 | kantokuen | (~kantokuen@user/kantokuen) |
2023-10-15 11:04:04 +0200 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2023-10-15 11:05:11 +0200 | NinjaTrappeur | (~ninja@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.0.5) |
2023-10-15 11:06:01 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 11:08:26 +0200 | NinjaTrappeur | (~ninja@about/aquilenet/vodoo/NinjaTrappeur) |
2023-10-15 11:10:04 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-10-15 11:13:14 +0200 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 11:20:54 +0200 | <Inst> | Does anyone use a lot of fourmolu? Do people custom-config fourmolu to support $ at the end of a line instead of at the start? |
2023-10-15 11:21:00 +0200 | dtman34 | (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
2023-10-15 11:24:55 +0200 | <[exa]> | wow there's an option to do that? |
2023-10-15 11:27:44 +0200 | <haskellbridge> | <Inst> Is there? |
2023-10-15 11:28:05 +0200 | <haskellbridge> | <Inst> I'm sort of freaked out because I ended up submitting 5 PRs and closing them within 10 minutes because it wouldn't pass Fourmolu CI |
2023-10-15 11:29:29 +0200 | <[exa]> | can you use their fourmolu config to just format it locally? |
2023-10-15 11:29:32 +0200 | <[exa]> | (if not I'd complain) |
2023-10-15 11:31:00 +0200 | Kuttenbrunzer | (~Kuttenbru@2a02:8108:8b80:1d48::ac91) (Remote host closed the connection) |
2023-10-15 11:33:36 +0200 | biberu | (~biberu@user/biberu) |
2023-10-15 11:34:01 +0200 | <haskellbridge> | <Inst> i'm guessing what's going on is that they have an exception set up on CI |
2023-10-15 11:34:12 +0200 | <haskellbridge> | <Inst> that certain files that haven't been moved to fourmolu are trying to respect an older format |
2023-10-15 11:35:53 +0200 | <[exa]> | is it public somewhere? |
2023-10-15 11:43:46 +0200 | <haskellbridge> | <Inst> exa, do you really want to help me? I'm just comment appending to Cabal right now |
2023-10-15 11:44:53 +0200 | KBar | (kbar@is.drunk.and.ready-to.party) () |
2023-10-15 11:45:51 +0200 | <Inst> | notice verbosity |
2023-10-15 11:45:52 +0200 | <Inst> | $ pkg_descr_file |
2023-10-15 11:45:52 +0200 | <Inst> | ++ " has been changed. " |
2023-10-15 11:45:52 +0200 | <Inst> | ++ "Re-configuring with most recently used options. " |
2023-10-15 11:45:52 +0200 | <Inst> | ++ "If this fails, please run configure manually.\n" |
2023-10-15 11:46:02 +0200 | <Inst> | this is what fourmolu is supposed to do, right? |
2023-10-15 11:46:51 +0200 | <mauke> | I guess people don't like string gaps |
2023-10-15 11:47:24 +0200 | <Inst> | i'll wait for their team, etc |
2023-10-15 11:48:16 +0200 | <Inst> | this is embarrassing, everyone's probably complaining about spam now |
2023-10-15 11:53:52 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 11:54:21 +0200 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 260 seconds) |
2023-10-15 11:56:00 +0200 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) |
2023-10-15 11:56:04 +0200 | <Inst> | actual question |
2023-10-15 11:56:05 +0200 | Vajb | (~Vajb@2001:999:609:2930:4ab0:3772:15e9:4ad9) (Ping timeout: 240 seconds) |
2023-10-15 11:56:21 +0200 | <Inst> | does anyone use VLC + fourmolu toolchain? |
2023-10-15 11:57:03 +0200 | <Inst> | erm, VSC |
2023-10-15 11:57:21 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 11:57:22 +0200 | <Inst> | VSC + haskell extension + fourmolu? is it possible my problem is with VSC trying to load fourmolu and failing? |
2023-10-15 11:57:30 +0200 | <Inst> | then defaulting to another formatter? |
2023-10-15 11:59:19 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-10-15 12:03:43 +0200 | superbil_ | (~superbil@1-34-176-171.hinet-ip.hinet.net) |
2023-10-15 12:06:48 +0200 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 252 seconds) |
2023-10-15 12:09:21 +0200 | <[exa]> | Inst: yeah I was trying to find what is actually wrong |
2023-10-15 12:09:46 +0200 | <[exa]> | anyway yeah VSC tends to do wild things by default |
2023-10-15 12:10:55 +0200 | <Inst> | does fourmolu not actually look like that? And fourmolu is sold as "ormolu, but less opinionated" |
2023-10-15 12:11:43 +0200 | <[exa]> | Inst: usually when sending code to ci-formatchecked repositories I just run the formatter manually in the terminal before committing anything; trusting any IDE-originating formatters isn't usually a good bet |
2023-10-15 12:14:06 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 12:14:10 +0200 | <[exa]> | Inst: btw might be worth checking your local fourmolu version against this here: https://github.com/haskell/cabal/actions/runs/6523316413/job/17713831514?pr=9340#step:3:10 |
2023-10-15 12:15:09 +0200 | cpressey | (~cpressey@host-92-21-195-194.as13285.net) (Quit: Client closed) |
2023-10-15 12:16:18 +0200 | <haskellbridge> | <Inst> not quite sure what's going on, tbh |
2023-10-15 12:16:28 +0200 | <haskellbridge> | <Inst> do you know how to point fourmolu at a fourmolu.yaml? |
2023-10-15 12:21:03 +0200 | <[exa]> | good question, failed to google that |
2023-10-15 12:21:13 +0200 | <[exa]> | --help doesn't say anything usable? |
2023-10-15 12:23:21 +0200 | hiyori | (~hiyori@user/hiyori) |
2023-10-15 12:27:39 +0200 | <Inst> | tryng on a tooling channel right now |
2023-10-15 12:32:40 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 12:42:47 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 12:58:13 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 12:58:46 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-10-15 13:01:13 +0200 | mrmr155 | (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
2023-10-15 13:01:36 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2023-10-15 13:02:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-15 13:03:42 +0200 | Guest80 | (~Guest80@149.167.36.31) |
2023-10-15 13:04:38 +0200 | Guest80 | (~Guest80@149.167.36.31) (Client Quit) |
2023-10-15 13:05:10 +0200 | mrmr155 | (~mrmr@user/mrmr) |
2023-10-15 13:05:13 +0200 | <sshine> | curious, does fourmolu and ormolu only differ on one constant? :-D |
2023-10-15 13:05:55 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-10-15 13:08:42 +0200 | kimiamania46 | (~b4f4a2ab@user/kimiamania) |
2023-10-15 13:10:30 +0200 | kimiamania4 | (~b4f4a2ab@user/kimiamania) (Ping timeout: 255 seconds) |
2023-10-15 13:10:31 +0200 | kimiamania46 | kimiamania4 |
2023-10-15 13:12:02 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
2023-10-15 13:13:02 +0200 | <probie> | Ormolu is opinionated, and wants to be like `go fmt`, `rustfmt` or Python's `black`. Fourmolu is based on Ormolu, but allows the user to specify a style |
2023-10-15 13:14:52 +0200 | <probie> | They're similar in that they're both code formatters, but ideologically, they're very far apart |
2023-10-15 13:15:56 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 13:17:07 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds) |
2023-10-15 13:22:42 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 13:23:38 +0200 | <Inst> | Trying to figure out right now |
2023-10-15 13:23:44 +0200 | <Inst> | what the actual formatter is |
2023-10-15 13:24:04 +0200 | <Inst> | the problem seems to be that fourmolu is unhooked, cabal install fourmolu provides a binary that outputs the correct output |
2023-10-15 13:26:26 +0200 | <[exa]> | ah nice |
2023-10-15 13:26:45 +0200 | <[exa]> | btw might be good to squash the commits so that you don't have extraneous edits on the (un)formatted fields |
2023-10-15 13:30:01 +0200 | <haskellbridge> | <Inst> Not quite sure how to do that :( |
2023-10-15 13:31:01 +0200 | <[exa]> | usually `git rebase -i <branch_starting_point>`... I usually do `git rebase -i origin/main` or so |
2023-10-15 13:31:56 +0200 | <[exa]> | SO is surprisingly quite right on this one https://stackoverflow.com/questions/5189560/how-do-i-squash-my-last-n-commits-together#5201642 |
2023-10-15 13:33:11 +0200 | <Inst> | Thank you :) |
2023-10-15 13:33:29 +0200 | <[exa]> | TIl the `git reset --soft` way. actually good idea. |
2023-10-15 13:34:10 +0200 | rawles | (~rawles@user/rawles) |
2023-10-15 13:37:37 +0200 | privacy | (~privacy@user/privacy) |
2023-10-15 13:39:26 +0200 | Pickchea | (~private@user/pickchea) |
2023-10-15 13:50:07 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
2023-10-15 13:56:22 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 13:56:56 +0200 | akyv13 | (~akyv13@2409:4060:2e12:cf5d:1b2:b5f1:edb8:22a6) |
2023-10-15 13:57:10 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Ping timeout: 255 seconds) |
2023-10-15 14:00:33 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 14:02:21 +0200 | akyv13 | (~akyv13@2409:4060:2e12:cf5d:1b2:b5f1:edb8:22a6) (Read error: Connection reset by peer) |
2023-10-15 14:06:02 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 14:06:21 +0200 | Square | (~Square@user/square) (Ping timeout: 258 seconds) |
2023-10-15 14:07:09 +0200 | patrl | (~patrl@user/patrl) (Remote host closed the connection) |
2023-10-15 14:09:36 +0200 | patrl | (~patrl@user/patrl) |
2023-10-15 14:09:41 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-10-15 14:13:14 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds) |
2023-10-15 14:13:22 +0200 | patrl | (~patrl@user/patrl) (Remote host closed the connection) |
2023-10-15 14:15:48 +0200 | patrl | (~patrl@user/patrl) |
2023-10-15 14:15:49 +0200 | patrl | (~patrl@user/patrl) (Read error: Connection reset by peer) |
2023-10-15 14:18:17 +0200 | patrl | (~patrl@user/patrl) |
2023-10-15 14:19:39 +0200 | aforemny | (~aforemny@i59F516EA.versanet.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-15 14:21:22 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-10-15 14:21:35 +0200 | aforemny | (~aforemny@2001:9e8:6ce4:3000:710b:6622:3257:ead) |
2023-10-15 14:23:46 +0200 | patrl | (~patrl@user/patrl) (Remote host closed the connection) |
2023-10-15 14:26:14 +0200 | patrl | (~patrl@user/patrl) |
2023-10-15 14:27:49 +0200 | marienz | (~marienz@libera/staff/marienz) (Ping timeout: 622 seconds) |
2023-10-15 14:28:06 +0200 | <haskellbridge> | <tewuzij> Maybe |
2023-10-15 14:28:39 +0200 | Square | (~Square@user/square) |
2023-10-15 14:30:09 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:7157:6245:cbff:fe9f:48b1) |
2023-10-15 14:35:42 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2023-10-15 14:36:15 +0200 | mmhat | (~mmh@p200300f1c73a9525ee086bfffe095315.dip0.t-ipconnect.de) |
2023-10-15 14:36:42 +0200 | mmhat | (~mmh@p200300f1c73a9525ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-10-15 14:37:23 +0200 | Lycurgus | (~juan@user/Lycurgus) (Client Quit) |
2023-10-15 14:38:14 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 14:41:35 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
2023-10-15 14:41:45 +0200 | qqq | (~qqq@92.43.167.61) (Quit: leaving) |
2023-10-15 14:42:00 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 14:50:56 +0200 | Square | (~Square@user/square) (Ping timeout: 255 seconds) |
2023-10-15 15:00:50 +0200 | qqq | (~qqq@92.43.167.61) |
2023-10-15 15:04:37 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 15:06:30 +0200 | ames | (~amelia@offtopia/offtopian/amelia) (Quit: Bye!) |
2023-10-15 15:07:31 +0200 | <cheater> | hello |
2023-10-15 15:08:26 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 15:08:50 +0200 | <cheater> | i would like to create a simple desktop application gui system. so stuff like layout, contents, etc. i'd like to have various backends so it can spit out javascript, java, or c++ depending on need. what's the best way to do this? |
2023-10-15 15:10:35 +0200 | yuuta | (~YuutaW@mail.yuuta.moe) (Ping timeout: 240 seconds) |
2023-10-15 15:11:58 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2023-10-15 15:12:00 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-10-15 15:15:29 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-10-15 15:23:26 +0200 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 255 seconds) |
2023-10-15 15:23:56 +0200 | rawles | (~rawles@user/rawles) (Quit: Textual IRC Client: www.textualapp.com) |
2023-10-15 15:29:31 +0200 | ames | (~amelia@offtopia/offtopian/amelia) |
2023-10-15 15:30:42 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-10-15 15:35:28 +0200 | <duncan> | cheater: https://wiki.haskell.org/Applications_and_libraries/GUI_libraries |
2023-10-15 15:35:51 +0200 | <cheater> | duncan: that's not what i'm trying to do. |
2023-10-15 15:36:19 +0200 | <duncan> | you want to build the UI framework? |
2023-10-15 15:36:23 +0200 | <cheater> | i want to create a generic DSL that is agnostic of any specific gui library. |
2023-10-15 15:37:29 +0200 | <duncan> | GTK, Xorg, TCLtk, QT all have wildlydifferent paradigms, so it's unlikely to produce the result which you want. |
2023-10-15 15:37:52 +0200 | <cheater> | that's ok |
2023-10-15 15:37:58 +0200 | <cheater> | i'll figure it out |
2023-10-15 15:38:07 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2023-10-15 15:38:15 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 240 seconds) |
2023-10-15 15:38:16 +0200 | <Inst> | good luck, i wanted to do this, but skill issue :( |
2023-10-15 15:38:17 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-15 15:38:24 +0200 | <duncan> | I wish I had your Dutch courage. |
2023-10-15 15:38:31 +0200 | <cheater> | uh |
2023-10-15 15:39:11 +0200 | <cheater> | here's what you think: i want to do an all-encompassing DSL that can create the most beautiful output in every backend, which is able to take advantage of every special-purpose functionality in each GUI library |
2023-10-15 15:39:38 +0200 | <cheater> | here's what i think: something to make some simple boxes and buttons. whatever is not possible in a backend just doesn't work / doesn't compile. |
2023-10-15 15:39:53 +0200 | <cheater> | few features, no fireworks. |
2023-10-15 15:42:04 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-10-15 15:42:57 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 15:44:37 +0200 | <cheater> | see where i'm coming from |
2023-10-15 15:45:02 +0200 | <srk> | cheater: for some inspiration, check out brick and monomer |
2023-10-15 15:45:13 +0200 | <cheater> | thanks |
2023-10-15 15:45:15 +0200 | <cheater> | why? |
2023-10-15 15:45:45 +0200 | <srk> | I wish there was a generic library for layouting that wasn't tied to TUI or specific toolkit |
2023-10-15 15:46:13 +0200 | <srk> | the UI model of both is pretty neat |
2023-10-15 15:46:15 +0200 | <cheater> | that's pretty much what i want to make |
2023-10-15 15:46:52 +0200 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2023-10-15 15:46:52 +0200 | ChanServ | +v haskellbridge |
2023-10-15 15:47:04 +0200 | <cheater> | and in parallel to this, a simple dsl for logic and other stuff. like, you don't want to be running haskell code in the browser. it's better to spit out jabbascript. |
2023-10-15 15:47:51 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 15:47:54 +0200 | <cheater> | i'd like to be able to create something as complex as, say, uhh, a simple front-end to an email client. |
2023-10-15 15:48:00 +0200 | <srk> | you can compile to js or wasm |
2023-10-15 15:48:04 +0200 | <cheater> | yes. |
2023-10-15 15:48:10 +0200 | <cheater> | i can also grab onto hot embers |
2023-10-15 15:48:23 +0200 | <cheater> | bot will result in the same amount of pain |
2023-10-15 15:49:17 +0200 | <cheater> | but i'd rather not do either :) |
2023-10-15 15:51:35 +0200 | <[exa]> | cheater: +1 for jabbascript |
2023-10-15 15:53:43 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2023-10-15 15:55:50 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) |
2023-10-15 15:56:09 +0200 | John_Ivan__ | (~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection) |
2023-10-15 15:56:59 +0200 | John_Ivan__ | (~John_Ivan@user/john-ivan/x-1515935) |
2023-10-15 16:03:31 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-15 16:03:50 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-15 16:07:02 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 16:08:04 +0200 | <Inst> | whoa! |
2023-10-15 16:08:18 +0200 | <Inst> | guess what you can fmap on in accordance with the functor laws? |
2023-10-15 16:08:20 +0200 | <Inst> | https://haskell.foundation |
2023-10-15 16:09:17 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 16:12:30 +0200 | misterfish | (~misterfis@87.215.131.102) |
2023-10-15 16:12:55 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2023-10-15 16:13:58 +0200 | <haskellbridge> | <Inst> Yeah, Google just signed onto HF as a Functor. :D |
2023-10-15 16:14:43 +0200 | <cheater> | huh? |
2023-10-15 16:15:00 +0200 | <[exa]> | kinda wondering what the additional split in the λ in the website logo means there |
2023-10-15 16:15:25 +0200 | <haskellbridge> | <Inst> It's probably to generate the F |
2023-10-15 16:16:01 +0200 | <c_wraith> | oh, that's an F. I kept reading it as \= |
2023-10-15 16:16:04 +0200 | <[exa]> | OH SOO. |
2023-10-15 16:16:10 +0200 | <c_wraith> | which.. isn't a thing that exists! |
2023-10-15 16:16:48 +0200 | <[exa]> | I read it like >,i= |
2023-10-15 16:17:09 +0200 | <cheater> | bruh |
2023-10-15 16:17:13 +0200 | <cheater> | programmers making logos >_> |
2023-10-15 16:17:27 +0200 | <haskellbridge> | <Inst> This is the Google project I'm aware of, although it seems to be mostly Py these days |
2023-10-15 16:17:28 +0200 | jespada | (~jespada@148.252.141.173) |
2023-10-15 16:17:29 +0200 | <haskellbridge> | <Inst> https://github.com/ganeti/ganeti |
2023-10-15 16:17:42 +0200 | <cheater> | what are you talking about inst |
2023-10-15 16:18:08 +0200 | <haskellbridge> | <Inst> Well, I thought people would be happier that Google is donating a pittance to Haskell Foundation these days |
2023-10-15 16:22:19 +0200 | <cheater> | what's that about "fmap on" ? |
2023-10-15 16:22:49 +0200 | <[exa]> | like, people aren't generally happy about google touching things. |
2023-10-15 16:23:25 +0200 | <cheater> | what does any of this have to do with "<Inst> guess what you can fmap on in accordance with the functor laws?" |
2023-10-15 16:23:27 +0200 | <Inst> | i.e, candy-colored version of Embrace Extend Extinguish? |
2023-10-15 16:23:34 +0200 | <Inst> | Oh, functor level of donor |
2023-10-15 16:23:49 +0200 | <[exa]> | cheater: like we can fmap through google now. |
2023-10-15 16:23:56 +0200 | <cheater> | that makes no fucking sense |
2023-10-15 16:24:05 +0200 | <[exa]> | no. |
2023-10-15 16:24:07 +0200 | <cheater> | "functor level of donor"? |
2023-10-15 16:24:12 +0200 | <[exa]> | :] |
2023-10-15 16:24:25 +0200 | <cheater> | oh, is that like a funny name for the donation levels like in patreon? |
2023-10-15 16:24:26 +0200 | <[exa]> | c'mon it's supposed to be programmer-level funny |
2023-10-15 16:24:33 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 16:24:36 +0200 | <cheater> | it's funny if it makes sense |
2023-10-15 16:24:55 +0200 | <geekosaur> | we do the same thing with xmonad donor levels |
2023-10-15 16:24:59 +0200 | <cheater> | if you're leaving out massive amounts of context, then it doesn't make sense, and it's not funny |
2023-10-15 16:25:03 +0200 | <geekosaur> | not sure who started it furst |
2023-10-15 16:25:08 +0200 | <geekosaur> | *first |
2023-10-15 16:25:18 +0200 | <cheater> | makes sense geekosaur |
2023-10-15 16:29:39 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-10-15 16:29:39 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-10-15 16:29:39 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-10-15 16:29:56 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-15 16:30:00 +0200 | <cheater> | i know the ganeti guy |
2023-10-15 16:30:04 +0200 | <cheater> | wow, he's been working on it for ages |
2023-10-15 16:30:10 +0200 | Alleria | (~JohnGalt@user/alleria) (Ping timeout: 255 seconds) |
2023-10-15 16:31:00 +0200 | Pickchea | (~private@user/pickchea) |
2023-10-15 16:31:15 +0200 | ames | (~amelia@offtopia/offtopian/amelia) (Quit: Bye!) |
2023-10-15 16:33:14 +0200 | ames | (~amelia@offtopia/offtopian/amelia) |
2023-10-15 16:33:51 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 16:37:13 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 16:37:13 +0200 | stites | (~stites@130.44.147.204) (Read error: Connection reset by peer) |
2023-10-15 16:38:05 +0200 | stites | (~stites@130.44.147.204) |
2023-10-15 16:39:36 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 16:40:13 +0200 | cpressey | (~cpressey@host-92-21-195-194.as13285.net) |
2023-10-15 16:48:00 +0200 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
2023-10-15 16:48:05 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-15 16:49:13 +0200 | stites | (~stites@130.44.147.204) (Ping timeout: 255 seconds) |
2023-10-15 16:49:51 +0200 | stites | (~stites@2607:fb90:ade3:cc85:9fb2:d897:5057:9250) |
2023-10-15 16:52:26 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2023-10-15 16:52:54 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) |
2023-10-15 16:53:07 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-10-15 16:54:53 +0200 | jespada | (~jespada@148.252.141.173) (Read error: Connection reset by peer) |
2023-10-15 16:55:29 +0200 | jespada | (~jespada@148.252.141.173) |
2023-10-15 16:56:44 +0200 | Alleria | (~JohnGalt@user/alleria) (Read error: Connection reset by peer) |
2023-10-15 16:59:34 +0200 | son0p | (~ff@181.136.122.143) (Quit: Bye) |
2023-10-15 16:59:38 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 17:03:14 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-10-15 17:04:35 +0200 | Alleria | (~JohnGalt@user/alleria) (Ping timeout: 240 seconds) |
2023-10-15 17:09:21 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 17:11:33 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-15 17:11:51 +0200 | euleritian | (~euleritia@77.22.252.56) |
2023-10-15 17:15:36 +0200 | son0p | (~ff@181.136.122.143) |
2023-10-15 17:16:23 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 255 seconds) |
2023-10-15 17:16:49 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) |
2023-10-15 17:19:01 +0200 | jespada | (~jespada@148.252.141.173) (Read error: Connection reset by peer) |
2023-10-15 17:19:37 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-15 17:19:55 +0200 | euleritian | (~euleritia@77.22.252.56) |
2023-10-15 17:24:26 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 260 seconds) |
2023-10-15 17:25:15 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) |
2023-10-15 17:25:34 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2023-10-15 17:26:27 +0200 | Alleria | (~JohnGalt@user/alleria) (Ping timeout: 258 seconds) |
2023-10-15 17:30:20 +0200 | vglfr | (~vglfr@88.155.159.184) (Ping timeout: 255 seconds) |
2023-10-15 17:31:19 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 17:31:40 +0200 | vglfr | (~vglfr@88.155.159.184) |
2023-10-15 17:32:01 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2023-10-15 17:33:52 +0200 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
2023-10-15 17:34:07 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2023-10-15 17:34:11 +0200 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2023-10-15 17:34:26 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-10-15 17:40:35 +0200 | Alleria | (~JohnGalt@user/alleria) (Read error: Connection reset by peer) |
2023-10-15 17:45:51 +0200 | Alleria | (~JohnGalt@user/alleria) |
2023-10-15 18:02:33 +0200 | RSCASTILHO | (~RSCASTILH@187.40.125.21) |
2023-10-15 18:03:02 +0200 | finsternis | (~X@23.226.237.192) |
2023-10-15 18:13:34 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-15 18:22:03 +0200 | mango | (~finn@2001:861:5863:3d50:d9fa:54c2:f74c:ebba) |
2023-10-15 18:23:40 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-10-15 18:25:30 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-10-15 18:36:03 +0200 | euleritian | (~euleritia@dynamic-046-114-202-145.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-10-15 18:36:20 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-15 18:45:04 +0200 | michalz | (~michalz@185.246.207.221) |
2023-10-15 18:46:11 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 18:48:46 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-10-15 18:58:42 +0200 | krei-se | (~krei-se@p50874770.dip0.t-ipconnect.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-15 18:58:42 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2023-10-15 18:59:23 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-15 19:00:14 +0200 | <monochrom> | I propose the highest donor level to be named "pointfree level". And the 2nd highest, "pointed level" haha. |
2023-10-15 19:00:20 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 19:01:36 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-15 19:02:16 +0200 | stites | (~stites@2607:fb90:ade3:cc85:9fb2:d897:5057:9250) (Read error: Connection reset by peer) |
2023-10-15 19:02:18 +0200 | <monochrom> | ("Pointed" comes from the hypothetical "class Pointed f where pure :: a -> f a" if we were to separate it out from Applicative.) |
2023-10-15 19:02:22 +0200 | krei-se | (~krei-se@p50874770.dip0.t-ipconnect.de) |
2023-10-15 19:02:36 +0200 | stites | (~stites@130.44.147.204) |
2023-10-15 19:10:31 +0200 | <ncf> | pointed types are fun too (but i guess there's less point in having a typeclass for them) |
2023-10-15 19:11:11 +0200 | <geekosaur> | edwardk pointed out (no pun intended) the problems with Pointed at one point |
2023-10-15 19:11:46 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection) |
2023-10-15 19:11:51 +0200 | <geekosaur> | specifically since there's no way to tie them to Applicative or Monad, it would be possible to declare a lawful Pointed and use it to make a non-lawful Applicative |
2023-10-15 19:12:02 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) |
2023-10-15 19:12:21 +0200 | <ncf> | what's a lawful Pointed? |
2023-10-15 19:12:31 +0200 | <geekosaur> | that's the problem |
2023-10-15 19:13:32 +0200 | <ncf> | i don't follow |
2023-10-15 19:14:30 +0200 | <geekosaur> | Pointed has no laws, if you can define one then it's valid. but iirc at most one Pointed makes for a legal Applicative |
2023-10-15 19:15:24 +0200 | <ncf> | i expect that to be true by a similar argument to "being a monoid is a property of a semigroup", but why is that a problem? |
2023-10-15 19:17:04 +0200 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2023-10-15 19:18:23 +0200 | <geekosaur> | mm, I think I need edwardk here to explain it, I'm not an expert on these things. I think the point was that there is no way for the Applicative to prove that the Pointed you declared is valid for it, whereas for Monoid you always know the Semigroup is valid, you're just adding an identity to it |
2023-10-15 19:19:05 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-10-15 19:19:48 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2023-10-15 19:20:26 +0200 | <geekosaur> | that is, it's always on the Monoid to "know" that the identity it's adding is an identity, but an Applicative can't likewise "know" that its "apply" (<*>) is valid for the "pure". Something like that. (and yes I know we can't provide proofs for our typeclasses anyway) |
2023-10-15 19:20:39 +0200 | <geekosaur> | this may be more relevant in the context of lens or something |
2023-10-15 19:31:06 +0200 | <monochrom> | Basically all laws for pure are stated with <*>. |
2023-10-15 19:32:20 +0200 | <monochrom> | The *-kind analogy is imagine if people wrote "class Default a where mempty :: a; class Default a => Monoid a where mappend :: a -> a -> a". >:) |
2023-10-15 19:35:46 +0200 | Alleria | (~JohnGalt@user/alleria) (Quit: Textual IRC Client: www.textualapp.com) |
2023-10-15 19:39:12 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
2023-10-15 19:47:10 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-10-15 19:47:10 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-10-15 19:47:10 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-10-15 19:48:09 +0200 | <tomsmeding> | I don't see any inherent problems with that imaginary Default superclass of Monoid |
2023-10-15 19:48:15 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-15 19:48:43 +0200 | <tomsmeding> | it's just that the choice of Default instance determines, to a large extent, the Monoid that can be built on top of it -- and sometimes (often?) there is even no such Monoid instance |
2023-10-15 19:49:03 +0200 | <tomsmeding> | but it's the same with Semigroup => Monoid, the ratios of occurrence are just a bit different |
2023-10-15 19:49:13 +0200 | <tomsmeding> | (less different valid Semigroups per valid corresponding Monoid) |
2023-10-15 19:50:14 +0200 | <tomsmeding> | this thing about "ratios of occurrence" (which is honestly BS because what's Infinity/Infinity) is perhaps just a way to say "Monoid adds few laws over Semigroup, but Monoid adds many laws over Default" |
2023-10-15 19:50:27 +0200 | <tomsmeding> | because Default has no laws to speak of, but that's somewhat missing the point |
2023-10-15 19:51:13 +0200 | <tomsmeding> | and no, I don't _practically_ think it's a good idea at all to make Default a superclass of Monoid :p |
2023-10-15 19:52:01 +0200 | <tomsmeding> | even though I expect many types that are both Monoid and Default to satisfy 'default == mempty' |
2023-10-15 19:53:21 +0200 | <EvanR> | to answer what infinity over infinity is, see graphical linear algebra blog |
2023-10-15 19:54:09 +0200 | rawles | (~rawles@user/rawles) |
2023-10-15 20:07:32 +0200 | stites | (~stites@130.44.147.204) (Remote host closed the connection) |
2023-10-15 20:10:51 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 20:11:22 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) |
2023-10-15 20:13:22 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 255 seconds) |
2023-10-15 20:13:35 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 258 seconds) |
2023-10-15 20:19:03 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 20:19:27 +0200 | <c_wraith> | tomsmeding: I think of it from a different perspective. what useful code can you write that abstracts over an instance of the class? I can write a good number of things that use semigroup. I'm not sure I can write anything interesting that abstracts over Default instances |
2023-10-15 20:20:29 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 258 seconds) |
2023-10-15 20:20:52 +0200 | <c_wraith> | ok, I can see a few things interesting resulting from Default, like Default a => Maybe a -> a |
2023-10-15 20:21:07 +0200 | <c_wraith> | so it's not a complete wasteland. |
2023-10-15 20:23:24 +0200 | mango | (~finn@2001:861:5863:3d50:d9fa:54c2:f74c:ebba) (Ping timeout: 245 seconds) |
2023-10-15 20:23:40 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-15 20:24:10 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds) |
2023-10-15 20:26:02 +0200 | <davean> | c_wraith: Just a lone tree in a desert, I expect many accidents. |
2023-10-15 20:26:20 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-15 20:26:51 +0200 | <c_wraith> | it's only one tree. how do so many people manage to crash into it? |
2023-10-15 20:27:45 +0200 | <geekosaur> | Default is built on sand. defaults are contextual, not a property of a type |
2023-10-15 20:28:29 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-15 20:30:50 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-10-15 20:32:21 +0200 | <ncf> | few typeclasses represent properties |
2023-10-15 20:33:02 +0200 | <monochrom> | "What have I started?!" >:) |
2023-10-15 20:33:03 +0200 | <ncf> | it's kind of a dialectical thing anyway |
2023-10-15 20:34:04 +0200 | <geekosaur> | you have not answered "defaults are contextual" |
2023-10-15 20:34:52 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 20:34:59 +0200 | <davean> | geekosaur: I mean I tihnk many defaults are contextual, I think they have a more real nature for some types. |
2023-10-15 20:36:13 +0200 | <davean> | I think the name leans away from that generally. |
2023-10-15 20:36:19 +0200 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 245 seconds) |
2023-10-15 20:39:27 +0200 | <tomsmeding> | c_wraith: right, good point |
2023-10-15 20:40:00 +0200 | <tomsmeding> | which is I guess also a complaint against Pointed, but that's quite different from what geekosaur was saying that ekmett apparently said |
2023-10-15 20:49:30 +0200 | rgw | (~R@2605:a601:a0df:5600:a4a0:a66c:3431:6e78) |
2023-10-15 20:53:48 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 240 seconds) |
2023-10-15 20:54:17 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-10-15 20:54:44 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 20:57:48 +0200 | Inst | (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
2023-10-15 20:58:01 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-10-15 20:59:10 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2023-10-15 20:59:26 +0200 | Vajb | (~Vajb@85-76-115-250-nat.elisa-mobile.fi) |
2023-10-15 21:01:25 +0200 | Vajb | (~Vajb@85-76-115-250-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
2023-10-15 21:03:18 +0200 | <dolio> | I don't really get the argument, either. If you want to require laws about superficially unrelated type classes, you just do it. It's all social convention anyway. |
2023-10-15 21:06:49 +0200 | <dolio> | I think Default is still probably a poor type class due to some of the other reasons people have given. |
2023-10-15 21:10:08 +0200 | <dolio> | If you're thinking about pointed types, many don't have a 'notable' choice of point that is worth distinguishing from others as 'the' point for that type. |
2023-10-15 21:10:11 +0200 | <davean> | dolio: which argument? |
2023-10-15 21:11:20 +0200 | <dolio> | 'Separate class X is bad because it doesn't satisfy laws unless combined with class Y.' |
2023-10-15 21:11:46 +0200 | <dolio> | Or, you can't talk about the laws without Y. |
2023-10-15 21:12:39 +0200 | <Alex_test> | 2377 |
2023-10-15 21:12:39 +0200 | <Alex_test> | +5 |
2023-10-15 21:12:39 +0200 | <Alex_test> | 56% |
2023-10-15 21:12:39 +0200 | <Alex_test> | 1:07 |
2023-10-15 21:12:39 +0200 | <Alex_test> | ������� ������ (#1904720) |
2023-10-15 21:12:39 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2023-10-15 21:12:39 +0200 | <Alex_test> | 2082 |
2023-10-15 21:12:40 +0200 | <Alex_test> | ������� ����� |
2023-10-15 21:12:40 +0200 | <Alex_test> | 0:26 |
2023-10-15 21:12:56 +0200 | <davean> | Hum, thats a bit different than the arguments I've heard. I'm not sure you're fairly characturizing them, at least if you mean the referenced Pointed arguments. |
2023-10-15 21:13:01 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2023-10-15 21:13:01 +0200 | ChanServ | +v yahb2 |
2023-10-15 21:13:34 +0200 | <tomsmeding> | davean: https://ircbrowse.tomsmeding.com/day/lchaskell/2023/10/15?id=1107511#trid1107511 |
2023-10-15 21:13:56 +0200 | <tomsmeding> | see also the context a few messages above that |
2023-10-15 21:14:27 +0200 | <geekosaur> | Alex_test, did that have a point? |
2023-10-15 21:14:38 +0200 | <davean> | tomsmeding: I mean yes I read that? Many reference the external, historical arguments about Pointed which I am also familiar with |
2023-10-15 21:14:41 +0200 | tomsmeding | suspects clipboard paste in the wrong window |
2023-10-15 21:15:02 +0200 | <[exa]> | geekosaur: I don't see any variables captured there :) |
2023-10-15 21:15:04 +0200 | <davean> | which I believe dolio is missrepresenting, at least from my perspective on them |
2023-10-15 21:15:17 +0200 | <tomsmeding> | ah, then ignore mme :) |
2023-10-15 21:15:19 +0200 | <Alex_test> | ���������� |
2023-10-15 21:15:19 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2023-10-15 21:15:20 +0200 | <tomsmeding> | *me |
2023-10-15 21:15:25 +0200 | <tomsmeding> | @where ops |
2023-10-15 21:15:26 +0200 | <lambdabot> | byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski |
2023-10-15 21:15:31 +0200 | <Alex_test> | 62.7% |
2023-10-15 21:15:35 +0200 | ChanServ | +o dolio |
2023-10-15 21:15:35 +0200 | dolio | +b Alex_test!*@* |
2023-10-15 21:15:41 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2023-10-15 21:15:41 +0200 | ChanServ | +v yahb2 |
2023-10-15 21:15:47 +0200 | <ncf> | davean: if you can characterise them better then please do because that is also how i interpreted what geekosaur said above |
2023-10-15 21:15:49 +0200 | <tomsmeding> | thanks! |
2023-10-15 21:15:51 +0200 | <geekosaur> | they've done this before |
2023-10-15 21:15:55 +0200 | zenstoic | (uid461840@id-461840.hampstead.irccloud.com) |
2023-10-15 21:15:56 +0200 | <tomsmeding> | ah |
2023-10-15 21:16:08 +0200 | ChanServ | +o ghoulguy |
2023-10-15 21:16:08 +0200 | ghoulguy | +b *!*@178.34.151.245 |
2023-10-15 21:16:13 +0200 | dolio | -o dolio |
2023-10-15 21:16:16 +0200 | <geekosaur> | also you might check what in that is clobbering yahb2 |
2023-10-15 21:16:42 +0200 | <tomsmeding> | geekosaur: hm? What do you mean? |
2023-10-15 21:16:46 +0200 | <davean> | My feeling is that more of the Pointed argument comes down to all the laws taht are interesting reference the other classes that already include pointed's capabilities, and Pointed fails to unify any ideas, so it ends up adding nothing semanticly. |
2023-10-15 21:17:11 +0200 | <geekosaur> | thta's more or less how I understand it as well |
2023-10-15 21:17:12 +0200 | <davean> | Complexity for no gain is a loss |
2023-10-15 21:17:33 +0200 | <tomsmeding> | the context was "if we were to separate it out of Applicative" |
2023-10-15 21:17:36 +0200 | <geekosaur> | tomsmeding, looks to me like yahb2 falls out of channel when it gets the unicode? |
2023-10-15 21:17:52 +0200 | <monochrom> | Nooooooooo |
2023-10-15 21:17:57 +0200 | <tomsmeding> | hence I read what geekosaur wrote as "put 'pure' in Pointed, make Pointed a superclass of Applicative, and _remove_ 'pure' from Applicative" |
2023-10-15 21:18:04 +0200 | <ncf> | yeah that one makes sense i think |
2023-10-15 21:18:16 +0200 | <davean> | tomsmeding: right but to what gain? |
2023-10-15 21:18:18 +0200 | <monochrom> | The context was "if we were to make funny names for donor levels" >:) |
2023-10-15 21:18:24 +0200 | <tomsmeding> | geekosaur: _oh oops_ |
2023-10-15 21:18:27 +0200 | <dolio> | I mean, I've definitely seen this argument before. |
2023-10-15 21:18:41 +0200 | <davean> | monochrom: I mean I already made funny names for donor levels :) |
2023-10-15 21:18:57 +0200 | <davean> | I had more names! |
2023-10-15 21:19:06 +0200 | <ncf> | lol, did Alex_test find an RCE in yahb or something |
2023-10-15 21:19:08 +0200 | <davean> | Thats just how many we found useful. |
2023-10-15 21:19:34 +0200 | <tomsmeding> | ncf: nah, "yahb2: Cannot decode byte '\xd0': Data.Text.Internal.Encoding: Invalid UTF-8 stream" and it exits |
2023-10-15 21:19:40 +0200 | <davean> | And no, it wasn't point free |
2023-10-15 21:19:43 +0200 | <ncf> | hah |
2023-10-15 21:19:53 +0200 | <ncf> | probably a good idea to use a lenient decoding there :p |
2023-10-15 21:19:56 +0200 | <tomsmeding> | yes |
2023-10-15 21:19:59 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-10-15 21:20:07 +0200 | <dolio> | Like, suppose you split Applicative into two classes: Pointed and Ap. People often say you "can't" impose the Applicative laws for types that have instances for both, so you can't factor them that way. But there's really no reason that you can't impose requirements like that. |
2023-10-15 21:20:32 +0200 | <davean> | I think I still have my list of donor level naming scheme options around here somewhere ... |
2023-10-15 21:20:35 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-15 21:20:51 +0200 | <dolio> | Now, factoring it that way might not be useful, but that's a separate question. |
2023-10-15 21:21:20 +0200 | <dolio> | The only concrete use I know of is supporting lens stuff, which is probably not worthwhile. |
2023-10-15 21:21:50 +0200 | <geekosaur> | re yahb2, this being ORC it should try to decode as utf8 and if it fails try iso8859-1 |
2023-10-15 21:22:03 +0200 | <geekosaur> | *being IRC |
2023-10-15 21:22:12 +0200 | <geekosaur> | rather than lenient per-char |
2023-10-15 21:22:19 +0200 | <davean> | No, no, I like Obsolete Relay Chat |
2023-10-15 21:22:36 +0200 | <ncf> | ah yeah i guess you get AffineTraversal from Pointed and Traversal1 from Ap |
2023-10-15 21:22:57 +0200 | <monochrom> | Obsolete Reactionacy Chat >:) |
2023-10-15 21:23:33 +0200 | <monochrom> | or maybe Retrograde is better? :) |
2023-10-15 21:24:08 +0200 | <tomsmeding> | https://tomsmeding.com/abbrgen/orc/50 |
2023-10-15 21:25:04 +0200 | <tomsmeding> | I'm afraid this is not yahb2 code https://github.com/barrucadu/irc-client/blob/b4490b126e69257d94df2f7750937c5319c4ff2e/Network/IRC/… |
2023-10-15 21:25:14 +0200 | <geekosaur> | sad |
2023-10-15 21:25:28 +0200 | <monochrom> | outlandishly ruthless >:) |
2023-10-15 21:31:55 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:7157:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
2023-10-15 21:39:11 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2023-10-15 21:40:36 +0200 | jrm | (~jrm@user/jrm) |
2023-10-15 21:42:07 +0200 | jrm | (~jrm@user/jrm) (Client Quit) |
2023-10-15 21:43:03 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-1ee4-1b7c-94a7-8fa7.res6.spectrum.com) (Remote host closed the connection) |
2023-10-15 21:43:15 +0200 | <tomsmeding> | but we shall not be discouraged https://git.tomsmeding.com/yahb2/commit/?id=5976161a7649cca7cd56d4335316179031a364ab |
2023-10-15 21:43:36 +0200 | jrm | (~jrm@user/jrm) |
2023-10-15 21:47:03 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-10-15 21:49:13 +0200 | <int-e> | what the fork |
2023-10-15 21:49:57 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2023-10-15 21:50:09 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2023-10-15 21:50:09 +0200 | ChanServ | +v yahb2 |
2023-10-15 21:50:23 +0200 | <tomsmeding> | % 1 |
2023-10-15 21:50:23 +0200 | <yahb2> | 1 |
2023-10-15 21:50:32 +0200 | <tomsmeding> | now we just need some invalid utf8 |
2023-10-15 21:51:04 +0200 | <geekosaur> | hm, sadly my client translates so if I copy and paste it'll be utf8 |
2023-10-15 21:51:19 +0200 | <tomsmeding> | that is why I asked, I honestly have no clue how :p |
2023-10-15 21:51:24 +0200 | <geekosaur> | [15 19:15:19] <Alex_test> Ñïðàâèëèñü |
2023-10-15 21:53:43 +0200 | <geekosaur> | I have to disconnect and reconnect to switch charset, it seems |
2023-10-15 21:55:55 +0200 | sabino | (~sabino@user/sabino) |
2023-10-15 21:58:16 +0200 | dcoutts | (~duncan@212.187.244.86) |
2023-10-15 22:05:46 +0200 | dcoutts | (~duncan@212.187.244.86) (Ping timeout: 252 seconds) |
2023-10-15 22:06:40 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-15 22:14:34 +0200 | Guest33 | (~Guest10@87-119-179-51.tll.elisa.ee) |
2023-10-15 22:16:12 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-10-15 22:16:31 +0200 | Guest33 | (~Guest10@87-119-179-51.tll.elisa.ee) (Client Quit) |
2023-10-15 22:18:21 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) (Quit: WeeChat 4.0.5) |
2023-10-15 22:24:52 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2023-10-15 22:27:25 +0200 | jrm | (~jrm@user/jrm) |
2023-10-15 22:29:09 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-10-15 22:30:19 +0200 | alphacentauri | (alphacenta@gateway/vpn/protonvpn/alphacentauri) |
2023-10-15 22:33:16 +0200 | Pozyomka | (~pyon@user/pyon) (Quit: Pozyomka, my beloved: https://i.imgur.com/BMmVfTq.png) |
2023-10-15 22:35:43 +0200 | <nullie> | ü |
2023-10-15 22:36:14 +0200 | <nullie> | � |
2023-10-15 22:46:08 +0200 | ghoulpine | (xfnw@tilde.team) (Quit: Connection reset by purr) |
2023-10-15 22:46:28 +0200 | finsternis | (~X@23.226.237.192) (Ping timeout: 252 seconds) |
2023-10-15 22:46:46 +0200 | RSCASTILHO | (~RSCASTILH@187.40.125.21) () |
2023-10-15 22:47:17 +0200 | finsternis | (~X@23.226.237.192) |
2023-10-15 22:50:15 +0200 | Jackneill | (~Jackneill@20014C4E1E021C0053F19F32A19511C4.dsl.pool.telekom.hu) (Ping timeout: 240 seconds) |
2023-10-15 22:53:37 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 252 seconds) |
2023-10-15 22:55:26 +0200 | vulpine | (xfnw@tilde.team) |
2023-10-15 22:57:44 +0200 | vulpine | ghoulpine |
2023-10-15 22:58:24 +0200 | <tomsmeding> | yahb2 survived! :) |
2023-10-15 22:58:45 +0200 | <monochrom> | \∩/ |
2023-10-15 22:59:06 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 22:59:17 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-15 23:05:35 +0200 | michalz | (~michalz@185.246.207.221) (Remote host closed the connection) |
2023-10-15 23:06:38 +0200 | <tomsmeding> | I cannot even check whether it was a proper test |
2023-10-15 23:07:13 +0200 | <tomsmeding> | my client logs as well as ircbrowse convert it to a unicode replacement character U+FFFD |
2023-10-15 23:10:24 +0200 | <geekosaur> | mine converted to ü |
2023-10-15 23:11:07 +0200 | <tomsmeding> | for me the first message is ü and the second message is the replacement character |
2023-10-15 23:11:23 +0200 | <tomsmeding> | ircbrowse does the same |
2023-10-15 23:12:01 +0200 | <tomsmeding> | geekosaur: if they're both ü for you, then I guess that means that the test did succeed |
2023-10-15 23:12:16 +0200 | <tomsmeding> | and my clients just do lenient UTF8 decoding without Latin1 fallback |
2023-10-15 23:12:36 +0200 | acidjnk | (~acidjnk@p200300d6e7072f17652bd3d039ad030c.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2023-10-15 23:13:07 +0200 | <geekosaur> | yes, both are ü |
2023-10-15 23:13:14 +0200 | <monochrom> | I think the first line was 0xc3 0xbc, the 2nd line was 0xfc. (My log system stores uninterpreted bytes.) |
2023-10-15 23:13:30 +0200 | <tomsmeding> | yay! |
2023-10-15 23:13:49 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-10-15 23:14:25 +0200 | <monochrom> | Oh interesting, 0xc3 0xbc is UTF-8 for U+00FC. |
2023-10-15 23:14:36 +0200 | dcoutts | (~duncan@host86-146-194-46.range86-146.btcentralplus.com) |
2023-10-15 23:14:49 +0200 | <tomsmeding> | isn't kind of the point that Latin1 is just embedded in unicode in the first 256 codepoints? |
2023-10-15 23:14:51 +0200 | privacy | (~privacy@user/privacy) (Leaving) |
2023-10-15 23:14:55 +0200 | <geekosaur> | yes |
2023-10-15 23:14:59 +0200 | <geekosaur> | so that's expected |
2023-10-15 23:15:09 +0200 | <tomsmeding> | nullie: thanks :) |
2023-10-15 23:15:31 +0200 | <geekosaur> | my client converted before logging so I can't see what they were originally |
2023-10-15 23:17:41 +0200 | tomsmeding | is off to bed |
2023-10-15 23:18:45 +0200 | <nullie> | I had the same problem with my python bot |
2023-10-15 23:24:23 +0200 | cpressey | (~cpressey@host-92-21-195-194.as13285.net) (Quit: Client closed) |
2023-10-15 23:27:54 +0200 | <Inst> | here's an interesting question |
2023-10-15 23:28:33 +0200 | <Inst> | https://paste.tomsmeding.com/Hceu0Hp4 |
2023-10-15 23:29:27 +0200 | <Inst> | so, in this case, it is, imo, a bit ugly |
2023-10-15 23:29:37 +0200 | <geekosaur> | did you intend to ask in #hackage? |
2023-10-15 23:30:05 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:189c:98ad:f16d:aaa6) (Remote host closed the connection) |
2023-10-15 23:30:08 +0200 | <Inst> | oh no, i was more asking, how do you refactor away the 0 term? |
2023-10-15 23:30:50 +0200 | <geekosaur> | (confHook hooks epkg_descr flags') {…} |
2023-10-15 23:30:53 +0200 | <Inst> | I'm not planning to, I'm not planning to make any changes for a while |
2023-10-15 23:30:58 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-10-15 23:31:00 +0200 | <Inst> | no, but it's monadic code |
2023-10-15 23:31:02 +0200 | <geekosaur> | but naming it so it can be a record update is easier |
2023-10-15 23:31:25 +0200 | <monochrom> | Um I thought localbuildinfo0 was the refactoring? |
2023-10-15 23:31:25 +0200 | <Inst> | the above shouldn't work because you're trying to record update an IO action, which shouldn't support record updates |
2023-10-15 23:31:37 +0200 | <geekosaur> | oh. you lose, if it's a record update. you could use lens but I doubt that's admitted into the cabal codebase |
2023-10-15 23:32:00 +0200 | <Inst> | only thing I can imagine is <&> \u -> u {..} |
2023-10-15 23:32:08 +0200 | <monochrom> | localbuildinfo <- (\x -> x{pkg...}) <$> confHook hooks epkg_descr flags' |
2023-10-15 23:32:32 +0200 | <geekosaur> | well, I guess there's that |
2023-10-15 23:32:33 +0200 | <Inst> | tbh my antipathy for let is that it's sort of a lie, isn't it? |
2023-10-15 23:32:39 +0200 | <geekosaur> | no? |
2023-10-15 23:32:44 +0200 | <geekosaur> | it expands to… a let |
2023-10-15 23:32:49 +0200 | <Inst> | you're thinking it's strict, and the term will be evaluated to at least WHNF |
2023-10-15 23:33:05 +0200 | <geekosaur> | I'm certainly not |
2023-10-15 23:33:06 +0200 | <Inst> | but in reality, it's not a variable assignment, it's a thunk creation |
2023-10-15 23:33:06 +0200 | <monochrom> | Sometimes, giving subexpressions names is the refactoring. |
2023-10-15 23:33:12 +0200 | <Inst> | i guess you're used to it |
2023-10-15 23:33:30 +0200 | <Inst> | but it's deceptive because now laziness is factored into do notation |
2023-10-15 23:33:39 +0200 | <geekosaur> | I'm thinking it's giving an expression a name for convenience |
2023-10-15 23:33:48 +0200 | <geekosaur> | and nothing more |
2023-10-15 23:33:54 +0200 | <monochrom> | Huh everyone already understands that "let" means that. |
2023-10-15 23:33:55 +0200 | <Inst> | i don't mean you, btw |
2023-10-15 23:34:08 +0200 | <Inst> | just, meaning people in general, people coming in from imperative languages |
2023-10-15 23:34:28 +0200 | <Inst> | where is, at least, more honest, because it doesn't pretend to be a variable assignment |
2023-10-15 23:34:39 +0200 | <geekosaur> | so? do we always have to code in pseudo-javascript because a newcomer might see it? |
2023-10-15 23:34:59 +0200 | <monochrom> | No one is pretending. |
2023-10-15 23:35:15 +0200 | <geekosaur> | this got us fmap instead of map, it got us return instead of pure, it got us RecordDotSyntax |
2023-10-15 23:35:28 +0200 | <geekosaur> | it gets us Haskell as a worse JavaScript |
2023-10-15 23:35:48 +0200 | <Inst> | oh no, i'm not arguing for "real" variable assignment |
2023-10-15 23:36:04 +0200 | mikoto-chan | (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
2023-10-15 23:36:06 +0200 | <Inst> | and imo fmap is still better than map |
2023-10-15 23:36:14 +0200 | <Inst> | map doesn't imply laws |
2023-10-15 23:36:45 +0200 | <Inst> | i'm just trying to explain why i dislike usage of let in do notation unless you can't avoid it |
2023-10-15 23:37:40 +0200 | <monochrom> | Now, once upon a time there were people who proposed, unsuccessfully (thank God), automatic detection of for example "getChar : getLine" being Applicative and auto-desugar to "liftA2 (:) getChar getLine" "because it looks more like mainstream syntax". Now that would be pretending. |
2023-10-15 23:39:25 +0200 | <monochrom> | Here in Haskell, we define what "class", "type", "let" mean for Haskell, and we don't care what other people think what they would mean in other languages. Well, at least I don't,. |
2023-10-15 23:39:48 +0200 | <Inst> | i guess it's more that i just ended up on the side of the fence that prefers where over let whenever possible |
2023-10-15 23:39:57 +0200 | <Inst> | and having to see it back in do notation, because where can't see bindings, is annoying |
2023-10-15 23:40:26 +0200 | <monochrom> | And no one is pretending OOP when Haskell uses the word "class" for whatever purpose Haskell actually uses it for. |
2023-10-15 23:40:51 +0200 | <monochrom> | Oh but in this example, "where" is impossible. |
2023-10-15 23:41:00 +0200 | <Inst> | yup, since it's referring to a bind result |
2023-10-15 23:41:26 +0200 | <Inst> | and apparently people poo-poohed my attempt to try to push monadic code with or without do with heavy point-free |
2023-10-15 23:41:32 +0200 | <Inst> | erm, with where |
2023-10-15 23:41:49 +0200 | <davean> | Inst: I mean, if you think of the desugaring then what you say doesn't make sense anymore |
2023-10-15 23:42:07 +0200 | <davean> | Inst: let can do the same things as where, you're just being confused about what the equivilent lets and wheres are |
2023-10-15 23:42:22 +0200 | <Inst> | where iirc desugars to a top-level let before any other code |
2023-10-15 23:42:32 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:58fe:b85d:458c:ca9c) |
2023-10-15 23:43:48 +0200 | <monochrom> | No, I believe that what people poo-poohed was your syntax nitpicking. |
2023-10-15 23:45:16 +0200 | <Inst> | i did see an example of someone's code for their production codebase that was like, lolwut in the exact other direction, though |
2023-10-15 23:45:23 +0200 | <Inst> | so many monad chains |
2023-10-15 23:45:27 +0200 | <mauke> | (\u -> u{ ... } -> localbuildinfo) <- confHook hooks epkg_descr flags' |
2023-10-15 23:45:47 +0200 | <monochrom> | Haha mauke wins. |
2023-10-15 23:45:52 +0200 | <Inst> | that actually works? |
2023-10-15 23:45:59 +0200 | <mauke> | yes :-( |
2023-10-15 23:46:17 +0200 | <Inst> | viewpattern |
2023-10-15 23:46:27 +0200 | <dolio> | View patterns are that loose? |
2023-10-15 23:46:38 +0200 | <mauke> | loose? |
2023-10-15 23:46:59 +0200 | <dolio> | How is that parsing? |
2023-10-15 23:47:27 +0200 | <mauke> | (fn -> pat) |
2023-10-15 23:47:34 +0200 | <mauke> | where fn = lambda |
2023-10-15 23:47:45 +0200 | <dolio> | Okay, yeah. |
2023-10-15 23:48:00 +0200 | <dolio> | So, the view pattern -> is looser than the lambda ->. |
2023-10-15 23:48:15 +0200 | <mauke> | lambda body extends as far right as possible, but no further |
2023-10-15 23:48:22 +0200 | <Inst> | hmmm, does this work without the parens? |
2023-10-15 23:48:31 +0200 | <mauke> | -> can't be part of the expression |
2023-10-15 23:48:44 +0200 | <mauke> | Inst: it would surprise me |
2023-10-15 23:50:02 +0200 | <Inst> | monochrom: about syntax, the point is more, I think I have a reasonable idea of how to do pure style, I just don't have a similar idea of how to do it when you have the option of using do |
2023-10-15 23:50:28 +0200 | <Inst> | i was just shocked everyone just preferred making all intermediate results explicit, although when I think about it, it's actually not that bad |
2023-10-15 23:50:57 +0200 | <Inst> | same reason when someone told me "avoid lambdas when possible, even if it cuts down on concision", and it made sense |
2023-10-15 23:51:39 +0200 | <monochrom> | You will never get a consensus over whether one should write "x * (y + z)" or one should write "x * tmp where tmp = y + z". |
2023-10-15 23:52:43 +0200 | <monochrom> | Even for my small example, there are OOP extremists who genuinely swear that they believe in the latter. (And obviously, conversely, FP extremists who swear by the former.) |
2023-10-15 23:53:37 +0200 | <monochrom> | Oh and programming attracts religious extremists so reasonable people in the middle ground are actually the silent minorit |
2023-10-15 23:55:53 +0200 | <Inst> | what happened to Oxford style, anyways? |
2023-10-15 23:58:42 +0200 | <EvanR> | Inst, in let or where (which desugars to let), the order of definitions doesn't matter and are also recursive. So it will be tough to fooled into thinking it's imperative, side effecting, eager, assignment with a totally different syntax for long |
2023-10-15 23:59:42 +0200 | <EvanR> | if something is confusing then how bad that is could be measured in the decay rate of confusion |