2024-08-14 00:06:17 +0200 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 255 seconds) |
2024-08-14 00:07:22 +0200 | mrmr1553343463 | (~mrmr@user/mrmr) (Ping timeout: 252 seconds) |
2024-08-14 00:08:23 +0200 | krei-se | (~krei-se@p57af2d39.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2024-08-14 00:08:49 +0200 | krei-se | (~krei-se@p57af2d39.dip0.t-ipconnect.de) |
2024-08-14 00:13:26 +0200 | mrmr15533434631 | (~mrmr@user/mrmr) |
2024-08-14 00:14:07 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-08-14 00:28:53 +0200 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) (Quit: mesaoptimizer) |
2024-08-14 00:29:03 +0200 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) |
2024-08-14 00:30:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 00:32:00 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-08-14 00:35:59 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-08-14 00:37:33 +0200 | krei-se | (~krei-se@p57af2d39.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in) |
2024-08-14 00:39:31 +0200 | krei-se | (~krei-se@p57af2d39.dip0.t-ipconnect.de) |
2024-08-14 00:41:58 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 258 seconds) |
2024-08-14 00:49:44 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) (Remote host closed the connection) |
2024-08-14 00:53:09 +0200 | edwardk | (sid47016@haskell/developer/edwardk) (Ping timeout: 248 seconds) |
2024-08-14 00:53:19 +0200 | degraafk | (sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:53:20 +0200 | edwardk | (sid47016@haskell/developer/edwardk) |
2024-08-14 00:53:41 +0200 | sa1 | (sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 248 seconds) |
2024-08-14 00:53:41 +0200 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 248 seconds) |
2024-08-14 00:53:43 +0200 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:53:43 +0200 | SrPx | (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:53:51 +0200 | sa1 | (sid7690@id-7690.ilkley.irccloud.com) |
2024-08-14 00:53:55 +0200 | tritlo_ | (sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 252 seconds) |
2024-08-14 00:54:07 +0200 | jackdk | (sid373013@cssa/jackdk) (Ping timeout: 264 seconds) |
2024-08-14 00:54:08 +0200 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:54:17 +0200 | delyan_ | (sid523379@id-523379.hampstead.irccloud.com) (Ping timeout: 252 seconds) |
2024-08-14 00:54:22 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Ping timeout: 272 seconds) |
2024-08-14 00:54:22 +0200 | snek | (sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 272 seconds) |
2024-08-14 00:54:23 +0200 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 244 seconds) |
2024-08-14 00:54:23 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) (Ping timeout: 244 seconds) |
2024-08-14 00:54:24 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-08-14 00:54:33 +0200 | bjs | (sid190364@user/bjs) (Ping timeout: 245 seconds) |
2024-08-14 00:54:33 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:54:39 +0200 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 252 seconds) |
2024-08-14 00:54:43 +0200 | Kamuela | (sid111576@2a03:5180:f::1:b3d8) (Ping timeout: 265 seconds) |
2024-08-14 00:54:43 +0200 | caasih | (sid13241@2a03:5180:f:3::33b9) (Ping timeout: 265 seconds) |
2024-08-14 00:54:54 +0200 | shawwwn | (sid6132@id-6132.helmsley.irccloud.com) (Ping timeout: 244 seconds) |
2024-08-14 00:54:54 +0200 | buhman | (sid411355@user/buhman) (Ping timeout: 244 seconds) |
2024-08-14 00:54:54 +0200 | Pent | (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 244 seconds) |
2024-08-14 00:54:54 +0200 | rune_ | (sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 244 seconds) |
2024-08-14 00:54:58 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:54:59 +0200 | Adeon | (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 245 seconds) |
2024-08-14 00:55:00 +0200 | iphy | (sid67735@user/iphy) (Ping timeout: 272 seconds) |
2024-08-14 00:55:32 +0200 | SrPx | (sid108780@id-108780.uxbridge.irccloud.com) |
2024-08-14 00:55:43 +0200 | degraafk | (sid71464@id-71464.lymington.irccloud.com) |
2024-08-14 00:55:53 +0200 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) |
2024-08-14 00:55:59 +0200 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) |
2024-08-14 00:56:03 +0200 | tritlo_ | (sid58727@id-58727.hampstead.irccloud.com) |
2024-08-14 00:56:11 +0200 | mustafa | (sid502723@rockylinux/releng/mustafa) |
2024-08-14 00:56:11 +0200 | buhman | (sid411355@user/buhman) |
2024-08-14 00:56:15 +0200 | Pent | (sid313808@id-313808.lymington.irccloud.com) |
2024-08-14 00:56:19 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) |
2024-08-14 00:56:23 +0200 | snek | (sid280155@id-280155.lymington.irccloud.com) |
2024-08-14 00:56:29 +0200 | rune_ | (sid21167@id-21167.ilkley.irccloud.com) |
2024-08-14 00:56:38 +0200 | iphy | (sid67735@user/iphy) |
2024-08-14 00:56:51 +0200 | hook54321 | (sid149355@user/hook54321) |
2024-08-14 00:58:11 +0200 | shawwwn | (sid6132@id-6132.helmsley.irccloud.com) |
2024-08-14 00:58:15 +0200 | caasih | (sid13241@id-13241.ilkley.irccloud.com) |
2024-08-14 00:58:18 +0200 | Kamuela | (sid111576@id-111576.tinside.irccloud.com) |
2024-08-14 00:58:19 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) |
2024-08-14 00:58:20 +0200 | jackdk | (sid373013@cssa/jackdk) |
2024-08-14 00:58:21 +0200 | bjs | (sid190364@user/bjs) |
2024-08-14 00:58:22 +0200 | delyan_ | (sid523379@id-523379.hampstead.irccloud.com) |
2024-08-14 00:58:23 +0200 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) |
2024-08-14 00:58:36 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) |
2024-08-14 00:58:37 +0200 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) |
2024-08-14 01:02:33 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) |
2024-08-14 01:05:23 +0200 | polux8 | (~polux@51-15-169-172.rev.poneytelecom.eu) |
2024-08-14 01:05:26 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-08-14 01:07:11 +0200 | markasoftware_ | (~quassel@107.161.26.124) |
2024-08-14 01:07:32 +0200 | polux | (~polux@51-15-169-172.rev.poneytelecom.eu) (Quit: Ping timeout (120 seconds)) |
2024-08-14 01:07:33 +0200 | polux8 | polux |
2024-08-14 01:07:33 +0200 | markasoftware | (~quassel@107.161.26.124) (Quit: No Ping reply in 180 seconds.) |
2024-08-14 01:07:56 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 01:10:21 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) (Ping timeout: 256 seconds) |
2024-08-14 01:13:30 +0200 | Adeon | (sid418992@id-418992.lymington.irccloud.com) |
2024-08-14 01:14:08 +0200 | YuutaW | (~YuutaW@2404:f4c0:f9c3:502::100:17b7) (Ping timeout: 245 seconds) |
2024-08-14 01:14:49 +0200 | YuutaW | (~YuutaW@2404:f4c0:f9c3:502::100:17b7) |
2024-08-14 01:27:57 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e72cfb360994ce1b4ff2bf62.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-08-14 01:30:03 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2024-08-14 01:43:56 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-08-14 01:49:14 +0200 | pavonia | (~user@user/siracusa) |
2024-08-14 01:49:18 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
2024-08-14 02:13:01 +0200 | Bynbo7 | (~Axman6@user/axman6) |
2024-08-14 02:15:26 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 255 seconds) |
2024-08-14 02:17:05 +0200 | caubert | (~caubert@user/caubert) |
2024-08-14 02:17:10 +0200 | Guest96 | (~Guest96@2001:1970:4820:f100::467) |
2024-08-14 02:18:03 +0200 | Guest96 | (~Guest96@2001:1970:4820:f100::467) (Client Quit) |
2024-08-14 02:19:59 +0200 | poto | (~poto@2001:1970:4820:f100::467) |
2024-08-14 02:20:54 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-08-14 02:22:10 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2024-08-14 02:22:32 +0200 | poto | (~poto@2001:1970:4820:f100::467) (Read error: Connection reset by peer) |
2024-08-14 02:24:17 +0200 | caubert | (~caubert@user/caubert) |
2024-08-14 02:25:35 +0200 | vgtw | (~vgtw@user/vgtw) |
2024-08-14 02:29:40 +0200 | Axman6 | (~Axman6@user/axman6) (Remote host closed the connection) |
2024-08-14 02:29:47 +0200 | vgtw | (~vgtw@user/vgtw) (Max SendQ exceeded) |
2024-08-14 02:30:43 +0200 | vgtw | (~vgtw@user/vgtw) |
2024-08-14 02:33:06 +0200 | Axman6 | (~Axman6@user/axman6) |
2024-08-14 02:36:57 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-08-14 02:43:27 +0200 | lol_ | jcarpenter2 |
2024-08-14 02:49:29 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-08-14 02:52:23 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 02:52:47 +0200 | ZharMeny | (~user@user/ZharMeny) (Quit: `,@) |
2024-08-14 02:54:36 +0200 | troojg | (~troojg@user/troojg) |
2024-08-14 02:54:43 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 264 seconds) |
2024-08-14 02:55:30 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2024-08-14 02:55:44 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-08-14 03:04:50 +0200 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 272 seconds) |
2024-08-14 03:07:57 +0200 | pointlessslippe1 | (~pointless@212.82.82.3) |
2024-08-14 03:17:06 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2024-08-14 03:17:54 +0200 | troojg | (~troojg@user/troojg) (Ping timeout: 260 seconds) |
2024-08-14 03:23:42 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 03:31:16 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) |
2024-08-14 03:37:07 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) (Ping timeout: 256 seconds) |
2024-08-14 03:44:31 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 03:48:49 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2024-08-14 03:51:25 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-08-14 04:11:21 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: Reconnecting) |
2024-08-14 04:11:34 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) |
2024-08-14 04:11:34 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) (Changing host) |
2024-08-14 04:11:34 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 04:13:09 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) (Ping timeout: 248 seconds) |
2024-08-14 04:23:24 +0200 | td_ | (~td@i53870936.versanet.de) (Ping timeout: 252 seconds) |
2024-08-14 04:25:07 +0200 | td_ | (~td@i53870918.versanet.de) |
2024-08-14 04:26:04 +0200 | dyniec | (~dyniec@dybiec.info) (Quit: WeeChat 4.2.2) |
2024-08-14 04:26:36 +0200 | xerox | (~edi@user/edi) (Ping timeout: 246 seconds) |
2024-08-14 04:28:25 +0200 | xerox | (~edi@user/edi) |
2024-08-14 04:32:50 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-08-14 04:39:26 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) |
2024-08-14 04:39:58 +0200 | ddellacosta | (~ddellacos@ool-44c73b99.dyn.optonline.net) |
2024-08-14 04:44:33 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) (Ping timeout: 256 seconds) |
2024-08-14 04:55:34 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
2024-08-14 05:01:12 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-08-14 05:09:34 +0200 | <haskellbridge> | <thirdofmay18081814goya> anyone got exercises about arrows with solutions? |
2024-08-14 05:11:46 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 05:13:59 +0200 | <geekosaur> | I think most people believe the best exercise related to arrows is running π |
2024-08-14 05:14:15 +0200 | <zzz> | can a user made data type benefit from compiler optimizations such as list fusion? |
2024-08-14 05:14:16 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-08-14 05:14:54 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
2024-08-14 05:15:38 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-08-14 05:16:44 +0200 | <geekosaur> | zzz, I believe the answer is: built-in optimizations yes, after-the-fact optimizations (RULES) no unless you write specific RULES for your types |
2024-08-14 05:19:11 +0200 | <zzz> | i see. so `data List a = Null | Cons a (List a)` would be treated differently from [a] by the compiler |
2024-08-14 05:20:16 +0200 | <geekosaur> | yes |
2024-08-14 05:20:38 +0200 | <zzz> | why not generalize optimization X for all data types of the form Y that belong to the class Z? |
2024-08-14 05:21:26 +0200 | <geekosaur> | in particular, since foldr/build is done as RULES you would need to duplicate it (and provide your own version of at least build) |
2024-08-14 05:28:43 +0200 | <probie> | more practically, "list fusion", be it of the stream fusion kind, or the foldr/build fusion (which is the one currently used), are rewrite rules tied to specific functions, not to specific data types |
2024-08-14 05:31:46 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 272 seconds) |
2024-08-14 05:32:00 +0200 | <monochrom> | What is "class Z"? |
2024-08-14 05:33:17 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2024-08-14 05:44:48 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-08-14 05:46:33 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) |
2024-08-14 05:53:08 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2024-08-14 05:55:35 +0200 | aforemny_ | (~aforemny@2001:9e8:6cf1:7e00:822:77ad:c8ef:d2e6) |
2024-08-14 05:56:01 +0200 | aforemny | (~aforemny@i59F516E3.versanet.de) (Ping timeout: 248 seconds) |
2024-08-14 05:56:37 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2024-08-14 05:57:44 +0200 | rdcdr | (~rdcdr@user/rdcdr) (Ping timeout: 272 seconds) |
2024-08-14 06:05:35 +0200 | biberu | (~biberu@user/biberu) |
2024-08-14 06:05:40 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-08-14 06:08:51 +0200 | hiredman | (~hiredman@frontier1.downey.family) (Ping timeout: 276 seconds) |
2024-08-14 06:08:58 +0200 | rdcdr | (~rdcdr@user/rdcdr) |
2024-08-14 06:10:08 +0200 | hiredman | (~hiredman@frontier1.downey.family) |
2024-08-14 06:13:29 +0200 | <zzz> | monochrom: being an instance of some clasa Z. i assume most optimizations depend on class rules, being them verifiable or not |
2024-08-14 06:14:53 +0200 | <zzz> | by rules i mean for example monoid rules, which are not necessarily enforced by the compiler |
2024-08-14 06:15:42 +0200 | <zzz> | i think the word i should be using is "laws" |
2024-08-14 06:16:59 +0200 | <monochrom> | That does not exist in Haskell or GHC. You will have to write a new compiler or make a new language for "class" to mean that. |
2024-08-14 06:17:18 +0200 | hiredman | (~hiredman@frontier1.downey.family) (Ping timeout: 276 seconds) |
2024-08-14 06:17:34 +0200 | hiredman | (~hiredman@frontier1.downey.family) |
2024-08-14 06:18:48 +0200 | <zzz> | what doesn't exist? |
2024-08-14 06:19:17 +0200 | <monochrom> | Your idea of what "class" means and how it connects to code optimization. |
2024-08-14 06:20:29 +0200 | mjrosenb | (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
2024-08-14 06:20:42 +0200 | <Leary> | Well, what they'd need to write is just wrappers around the classes and RULES utilising the class laws. |
2024-08-14 06:21:02 +0200 | <Leary> | We /could/ have, e.g. generic fmap fusion. |
2024-08-14 06:21:19 +0200 | <Leary> | But it isn't really done. |
2024-08-14 06:21:42 +0200 | <zzz> | i'm pretty sure that if we can derive Foldable, we can infer some optimizations based on algebraic properties of types and to which classes they are instances of |
2024-08-14 06:22:15 +0200 | <zzz> | s/to// |
2024-08-14 06:23:45 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2024-08-14 06:24:20 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-08-14 06:24:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 06:25:56 +0200 | <zzz> | i don't see a reson for fusion not to be applied to my custom list type, providing it observes all the necessary laws, is what i mean. |
2024-08-14 06:26:12 +0200 | <zzz> | automagically |
2024-08-14 06:26:39 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) |
2024-08-14 06:26:52 +0200 | <zzz> | i mean i kind of see a reason |
2024-08-14 06:27:06 +0200 | <zzz> | but i wonder if it could be done still |
2024-08-14 06:27:12 +0200 | mjrosenb | (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
2024-08-14 06:27:24 +0200 | <Leary> | List fusion is not a matter of laws, but of the relationship between the representation of the type and `foldr`. |
2024-08-14 06:27:51 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-08-14 06:27:52 +0200 | <probie> | Let's be clear, if you write `filter p [] = p; filter p (x:xs) = if p x then x: filter p xs else filter p xs` using the original list type and then use that definition of `filter`, you don't get fusion |
2024-08-14 06:28:08 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-08-14 06:28:09 +0200 | <zzz> | that fits into my handwavy definition of laws |
2024-08-14 06:28:14 +0200 | <Leary> | If you want more generic fusion, you can get it via more generic folds. See recursion schemes. |
2024-08-14 06:29:00 +0200 | hexeme | (~hexeme@user/hexeme) (Ping timeout: 276 seconds) |
2024-08-14 06:29:43 +0200 | <zzz> | Leary: where can i start learning more about recursion schemes? |
2024-08-14 06:30:24 +0200 | <zzz> | any resource suggestion? |
2024-08-14 06:31:15 +0200 | <monochrom> | Handwaving is why nothing ever gets done. |
2024-08-14 06:32:52 +0200 | <zzz> | me not being an academic is why nothing gets done :) i'm doing my best to understand how things work and sometimes these doubts, which are led mostly by curiosity, come up |
2024-08-14 06:33:00 +0200 | <zzz> | sorry if it's nonsense |
2024-08-14 06:33:27 +0200 | <probie> | zzz: You can already do something like `class IsT a where { toT :: a -> T, fromT :: T -> a }` and then add a rule `{-# RULES "fromT/toT" forall x . fromT (toT x) = x #-}` and that should work for instance of class `IsT` |
2024-08-14 06:33:43 +0200 | <probie> | s/a -> T,/a -> T;/ |
2024-08-14 06:33:53 +0200 | <Leary> | @hackage recursion-schemes |
2024-08-14 06:33:54 +0200 | <lambdabot> | https://hackage.haskell.org/package/recursion-schemes |
2024-08-14 06:34:12 +0200 | <Leary> | zzz: Not really, but look over the above. It should have decent docs and links. |
2024-08-14 06:34:24 +0200 | <zzz> | Leary: ty! |
2024-08-14 06:35:51 +0200 | <Leary> | probie: That really won't work though, since the class methods get inlined before the RULES fire. |
2024-08-14 06:36:53 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2024-08-14 06:37:06 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) |
2024-08-14 06:39:00 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-08-14 06:39:45 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-08-14 06:42:05 +0200 | <Axman6> | zzz: there are a lot of optimisations what will be applicable to all data types, like case-of-case, cose-of-known-constructor, etc. which might lead to more inlining of say a custom list type. I think this is even morree likely to be the case these days with things like join points meaning more recursive functionc can be inlined |
2024-08-14 06:44:05 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-08-14 06:44:13 +0200 | <Axman6> | so in theory, take n . filter p . map f could automatically fuse for your custom type, but it's probably not guaranteed and might be fragile |
2024-08-14 06:44:36 +0200 | <zzz> | i see |
2024-08-14 06:44:58 +0200 | <Axman6> | it would be very simple to test |
2024-08-14 06:47:33 +0200 | <Leary> | There are also ways to obtain fusion by rejigging your datatypes here and there; e.g. swapping out `f` for `Coyoneda f` essentially gives you the `fmap` fusion I mentioned above. |
2024-08-14 06:47:58 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) |
2024-08-14 06:48:35 +0200 | <monochrom> | I made my students prove filter p . map f = map f (filter (p . f)) by induction in a test. :) |
2024-08-14 06:49:14 +0200 | <monochrom> | The beauty is that in the final exam I can make them prove it again by the free theorem for filter's polymorphic type. >:) |
2024-08-14 06:50:10 +0200 | <haskellbridge> | <Bowuigi> Do you happen to have an explanation for parametricity then? |
2024-08-14 06:50:15 +0200 | <monochrom> | err, RHS should be map f . filter (p. f) |
2024-08-14 06:50:36 +0200 | <monochrom> | Yes. https://www.cs.utoronto.ca/~trebla/CSCC24-2024-Summer/abs-type-param.html |
2024-08-14 06:51:03 +0200 | <haskellbridge> | <Bowuigi> Free theorems are really useful but I found them a bit hard to understand in Wadler's presentation, enough to think that the dinaturality version was easier lol |
2024-08-14 06:52:05 +0200 | <monochrom> | My trick is I use dynamic scoping. >:D About the one single time I find it clearer than lexical scoping. |
2024-08-14 06:54:37 +0200 | <monochrom> | I'm pretty sure that dynamic scoping is necessary for this. The proof---all proofs---manipulate type environments in a way that's exactly writing down dynamic scoping semantics. |
2024-08-14 06:55:10 +0200 | <monochrom> | or even worse, emulating it |
2024-08-14 06:58:39 +0200 | monochrom | (trebla@216.138.220.146) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
2024-08-14 06:59:20 +0200 | monochrom | (trebla@216.138.220.146) |
2024-08-14 07:01:47 +0200 | <haskellbridge> | <Bowuigi> Thanks! |
2024-08-14 07:02:03 +0200 | euleritian | (~euleritia@dynamic-176-006-135-103.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-08-14 07:02:37 +0200 | euleritian | (~euleritia@dynamic-176-001-012-050.176.1.pool.telefonica.de) |
2024-08-14 07:04:25 +0200 | jinsun | (~jinsun@user/jinsun) |
2024-08-14 07:09:08 +0200 | euleritian | (~euleritia@dynamic-176-001-012-050.176.1.pool.telefonica.de) (Ping timeout: 258 seconds) |
2024-08-14 07:15:12 +0200 | stefan-___ | (~m-yh2rcc@42dots.de) |
2024-08-14 07:15:13 +0200 | michalz | (~michalz@185.246.207.217) |
2024-08-14 07:15:28 +0200 | stefan-__ | (~m-yh2rcc@42dots.de) (Ping timeout: 246 seconds) |
2024-08-14 07:15:28 +0200 | chymera | (~chymera@ns1000526.ip-51-81-46.us) (Ping timeout: 246 seconds) |
2024-08-14 07:15:38 +0200 | SheRejoined | (haveident@libera/staff/she/her) |
2024-08-14 07:15:46 +0200 | chymera | (~chymera@ns1000526.ip-51-81-46.us) |
2024-08-14 07:15:59 +0200 | She | (haveident@libera/staff/she/her) (Killed (SheRejoined (GIVE ME BACK MY FACE!))) |
2024-08-14 07:15:59 +0200 | SheRejoined | She |
2024-08-14 07:20:03 +0200 | stefan-___ | stefan-__ |
2024-08-14 07:23:07 +0200 | rosco | (~rosco@175.136.158.234) |
2024-08-14 07:24:07 +0200 | doyougnu | (~doyougnu@syn-045-046-170-068.res.spectrum.com) (Ping timeout: 264 seconds) |
2024-08-14 07:24:34 +0200 | shane_ | (~shane@ana.rch.ist) |
2024-08-14 07:24:41 +0200 | aosync | (~alews@user/aws) |
2024-08-14 07:25:16 +0200 | Hecate_ | (~mariposa@user/hecate) |
2024-08-14 07:25:20 +0200 | tomjagua1paw | (~tom@172-104-25-182.ip.linodeusercontent.com) |
2024-08-14 07:25:43 +0200 | spider1 | (spider@tilde.cafe) |
2024-08-14 07:30:05 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-08-14 07:32:13 +0200 | ProofTechnique_ | (sid79547@id-79547.ilkley.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | remexre | (~remexre@user/remexre) (*.net *.split) |
2024-08-14 07:32:13 +0200 | aws | (~alews@user/aws) (*.net *.split) |
2024-08-14 07:32:13 +0200 | spider | (spider@tilde.cafe) (*.net *.split) |
2024-08-14 07:32:13 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) (*.net *.split) |
2024-08-14 07:32:13 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | evertedsphere | (sid434122@id-434122.hampstead.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | amir | (sid22336@user/amir) (*.net *.split) |
2024-08-14 07:32:13 +0200 | Hecate | (~mariposa@user/hecate) (*.net *.split) |
2024-08-14 07:32:13 +0200 | shane | (~shane@ana.rch.ist) (*.net *.split) |
2024-08-14 07:32:13 +0200 | lexi-lambda | (sid92601@id-92601.hampstead.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | mankyKitty | (sid31287@id-31287.helmsley.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | T_S_____ | (sid501726@id-501726.uxbridge.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | haasn | (sid579015@id-579015.hampstead.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | dsal | (sid13060@id-13060.lymington.irccloud.com) (*.net *.split) |
2024-08-14 07:32:13 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split) |
2024-08-14 07:32:13 +0200 | tomjaguarpaw | (~tom@172-104-25-182.ip.linodeusercontent.com) (*.net *.split) |
2024-08-14 07:34:13 +0200 | ProofTechnique_ | (sid79547@id-79547.ilkley.irccloud.com) |
2024-08-14 07:34:13 +0200 | remexre | (~remexre@user/remexre) |
2024-08-14 07:34:13 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) |
2024-08-14 07:34:13 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) |
2024-08-14 07:34:13 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2024-08-14 07:34:13 +0200 | evertedsphere | (sid434122@id-434122.hampstead.irccloud.com) |
2024-08-14 07:34:13 +0200 | amir | (sid22336@user/amir) |
2024-08-14 07:34:13 +0200 | lexi-lambda | (sid92601@id-92601.hampstead.irccloud.com) |
2024-08-14 07:34:13 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) |
2024-08-14 07:34:13 +0200 | mankyKitty | (sid31287@id-31287.helmsley.irccloud.com) |
2024-08-14 07:34:13 +0200 | T_S_____ | (sid501726@id-501726.uxbridge.irccloud.com) |
2024-08-14 07:34:13 +0200 | haasn | (sid579015@id-579015.hampstead.irccloud.com) |
2024-08-14 07:34:13 +0200 | dsal | (sid13060@id-13060.lymington.irccloud.com) |
2024-08-14 07:34:13 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) |
2024-08-14 07:39:06 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 246 seconds) |
2024-08-14 07:39:06 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
2024-08-14 07:39:23 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2024-08-14 07:40:20 +0200 | jakesyl_____ | (sid56879@id-56879.hampstead.irccloud.com) |
2024-08-14 07:50:19 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
2024-08-14 07:50:22 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-08-14 07:54:16 +0200 | ash3en | (~Thunderbi@146.70.124.150) |
2024-08-14 07:54:25 +0200 | rvalue- | rvalue |
2024-08-14 07:55:40 +0200 | ash3en1 | (~Thunderbi@dynamic-077-003-122-051.77.3.pool.telefonica.de) |
2024-08-14 07:57:04 +0200 | ash3en1 | (~Thunderbi@dynamic-077-003-122-051.77.3.pool.telefonica.de) (Client Quit) |
2024-08-14 07:58:34 +0200 | ash3en | (~Thunderbi@146.70.124.150) (Ping timeout: 244 seconds) |
2024-08-14 07:58:45 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-08-14 08:04:39 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:1595:307:680e:3150) |
2024-08-14 08:07:44 +0200 | oo_miguel | (~Thunderbi@78.10.207.46) |
2024-08-14 08:08:01 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) |
2024-08-14 08:12:05 +0200 | ddellacosta | (~ddellacos@ool-44c73b99.dyn.optonline.net) (Ping timeout: 252 seconds) |
2024-08-14 08:13:03 +0200 | ddellacosta | (~ddellacos@ool-44c73b99.dyn.optonline.net) |
2024-08-14 08:16:55 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) |
2024-08-14 08:23:24 +0200 | metabulation | (~wootehfoo@user/wootehfoot) |
2024-08-14 08:23:43 +0200 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 245 seconds) |
2024-08-14 08:26:23 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds) |
2024-08-14 08:30:50 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-08-14 08:31:13 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:1595:307:680e:3150) (Quit: ash3en) |
2024-08-14 08:32:00 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:1595:307:680e:3150) |
2024-08-14 08:35:30 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2024-08-14 08:38:14 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) |
2024-08-14 08:38:14 +0200 | ChanServ | +v haskellbridge |
2024-08-14 08:44:47 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-08-14 08:48:45 +0200 | doyougnu | (~doyougnu@syn-045-046-170-068.res.spectrum.com) |
2024-08-14 08:53:20 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:1595:307:680e:3150) (Quit: ash3en) |
2024-08-14 08:55:16 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-08-14 08:55:29 +0200 | incertia | (~incertia@209.122.137.252) (Ping timeout: 255 seconds) |
2024-08-14 09:21:46 +0200 | xff0x | (~xff0x@ai080132.d.east.v6connect.net) (Ping timeout: 258 seconds) |
2024-08-14 09:22:45 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-08-14 09:24:50 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-08-14 09:26:07 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e72cfb11a59a794fa2bafb8b.dip0.t-ipconnect.de) |
2024-08-14 09:39:26 +0200 | monochrom | (trebla@216.138.220.146) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
2024-08-14 09:39:38 +0200 | monochrom | (trebla@216.138.220.146) |
2024-08-14 09:40:11 +0200 | neuroevolutus | (~neuroevol@37.19.200.148) (Quit: Client closed) |
2024-08-14 09:43:12 +0200 | xff0x | (~xff0x@2405:6580:b080:900:3135:813b:16f4:ff8e) |
2024-08-14 09:46:14 +0200 | fiddlerw- | (~fiddlerwo@user/fiddlerwoaroof) |
2024-08-14 09:46:33 +0200 | onliner10 | (~onliner10@user/onliner10) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-08-14 09:46:52 +0200 | onliner10 | (~onliner10@user/onliner10) |
2024-08-14 09:47:06 +0200 | mrvdb- | (~mrvdb@185.92.221.186) |
2024-08-14 09:47:07 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) (Remote host closed the connection) |
2024-08-14 09:47:41 +0200 | mima_ | (~mmh@user/mima) |
2024-08-14 09:47:53 +0200 | weechat2 | (~weechat@user/dminuoso) |
2024-08-14 09:48:15 +0200 | pie_ | (~pie_bnc@user/pie/x-2818909) |
2024-08-14 09:48:20 +0200 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) (Quit: Gone.) |
2024-08-14 09:48:20 +0200 | mrvdb | (~mrvdb@185.92.221.186) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-08-14 09:48:20 +0200 | dminuoso | (~weechat@user/dminuoso) (Ping timeout: 248 seconds) |
2024-08-14 09:48:20 +0200 | mima | (~mmh@user/mima) (Ping timeout: 248 seconds) |
2024-08-14 09:51:05 +0200 | sp1ff | (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Ping timeout: 252 seconds) |
2024-08-14 09:51:05 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-694c-4f82-7d03-8d48.rev.sfr.net) |
2024-08-14 09:54:27 +0200 | Ekho- | (~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.) |
2024-08-14 09:56:53 +0200 | c_wraith | (~c_wraith@adjoint.us) (Ping timeout: 244 seconds) |
2024-08-14 09:57:11 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: Ping timeout (120 seconds)) |
2024-08-14 09:57:30 +0200 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
2024-08-14 09:57:34 +0200 | c_wraith | (~c_wraith@adjoint.us) |
2024-08-14 09:57:55 +0200 | wagle | (~wagle@quassel.wagle.io) (Ping timeout: 244 seconds) |
2024-08-14 09:57:55 +0200 | meejah | (~meejah@rutas.meejah.ca) (Ping timeout: 244 seconds) |
2024-08-14 09:58:27 +0200 | wagle | (~wagle@quassel.wagle.io) |
2024-08-14 09:58:57 +0200 | peutri | (~peutri@bobo.desast.re) (Ping timeout: 244 seconds) |
2024-08-14 09:58:57 +0200 | cptaffe | (~cptaffe@user/cptaffe) (Ping timeout: 244 seconds) |
2024-08-14 09:59:21 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 10:02:36 +0200 | ft | (~ft@p4fc2aa15.dip0.t-ipconnect.de) (Quit: leaving) |
2024-08-14 10:03:29 +0200 | energizer | (~energizer@user/energizer) (Quit: ZNC 1.7.0+deb0+xenial1 - https://znc.in) |
2024-08-14 10:04:08 +0200 | peutri | (~peutri@bobo.desast.re) |
2024-08-14 10:04:11 +0200 | meejah | (~meejah@rutas.meejah.ca) |
2024-08-14 10:05:05 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b980:2886:e337:fa1b:385a) (Read error: Connection reset by peer) |
2024-08-14 10:06:11 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds) |
2024-08-14 10:07:29 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-08-14 10:07:58 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-08-14 10:08:50 +0200 | rosco | (~rosco@175.136.158.234) (Quit: Lost terminal) |
2024-08-14 10:08:52 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-08-14 10:10:26 +0200 | cptaffe | (~cptaffe@user/cptaffe) |
2024-08-14 10:11:03 +0200 | ames0 | (~amelia@offtopia/offtopian/amelia) |
2024-08-14 10:11:37 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) (Ping timeout: 248 seconds) |
2024-08-14 10:12:12 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2024-08-14 10:12:27 +0200 | todi_away | (~todi@p57803331.dip0.t-ipconnect.de) |
2024-08-14 10:12:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-08-14 10:12:43 +0200 | CalimeroTeknik | (~calimero@user/calimeroteknik) (Quit: γγ€γγ€) |
2024-08-14 10:12:50 +0200 | Ekho | (~Ekho@user/ekho) |
2024-08-14 10:12:54 +0200 | ames | (~amelia@offtopia/offtopian/amelia) (Ping timeout: 244 seconds) |
2024-08-14 10:12:58 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-08-14 10:13:22 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:94ed:866b:6bfb:f0dd) |
2024-08-14 10:13:47 +0200 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) (Ping timeout: 255 seconds) |
2024-08-14 10:13:53 +0200 | ames0 | ames |
2024-08-14 10:15:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 10:15:18 +0200 | ctk | (~calimero@ctkarch.org) |
2024-08-14 10:16:50 +0200 | chele | (~chele@user/chele) |
2024-08-14 10:18:04 +0200 | remsen | (ianremsen@tilde.team) |
2024-08-14 10:18:48 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:94ed:866b:6bfb:f0dd) (Quit: ash3en) |
2024-08-14 10:19:33 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2024-08-14 10:20:23 +0200 | paotsaq | (~paotsaq@127.209.37.188.rev.vodafone.pt) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-08-14 10:20:31 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 10:21:22 +0200 | energizer | (~energizer@user/energizer) |
2024-08-14 10:22:06 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e72cfb11a59a794fa2bafb8b.dip0.t-ipconnect.de) (*.net *.split) |
2024-08-14 10:22:06 +0200 | misterfish | (~misterfis@84.53.85.146) (*.net *.split) |
2024-08-14 10:22:06 +0200 | She | (haveident@libera/staff/she/her) (*.net *.split) |
2024-08-14 10:22:06 +0200 | hiredman | (~hiredman@frontier1.downey.family) (*.net *.split) |
2024-08-14 10:22:06 +0200 | _d0t | (~{-d0t-}@user/-d0t-/x-7915216) (*.net *.split) |
2024-08-14 10:22:06 +0200 | malte | (~malte@mal.tc) (*.net *.split) |
2024-08-14 10:22:06 +0200 | Fijxu | (~Fijxu@user/fijxu) (*.net *.split) |
2024-08-14 10:22:06 +0200 | gentauro | (~gentauro@user/gentauro) (*.net *.split) |
2024-08-14 10:22:06 +0200 | jle` | (~jle`@2603:8001:3b02:84d4:ef66:1aba:fea9:c83b) (*.net *.split) |
2024-08-14 10:22:06 +0200 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (*.net *.split) |
2024-08-14 10:22:06 +0200 | myxos | (~myxos@syn-065-028-251-121.res.spectrum.com) (*.net *.split) |
2024-08-14 10:22:06 +0200 | andjjj23 | (~irc@107.170.228.47) (*.net *.split) |
2024-08-14 10:22:06 +0200 | edwtjo | (~edwtjo@fsf/member/edwtjo) (*.net *.split) |
2024-08-14 10:22:06 +0200 | andreas303 | (andreas303@is.drunk.and.ready-to.party) (*.net *.split) |
2024-08-14 10:22:06 +0200 | Vajb | (~Vajb@n4v0h48xv84fiqflept-1.v6.elisa-mobile.fi) (*.net *.split) |
2024-08-14 10:22:06 +0200 | sclv | (sid39734@haskell/developer/sclv) (*.net *.split) |
2024-08-14 10:22:06 +0200 | jmct | (sid160793@id-160793.tinside.irccloud.com) (*.net *.split) |
2024-08-14 10:22:06 +0200 | alinab | (sid468903@id-468903.helmsley.irccloud.com) (*.net *.split) |
2024-08-14 10:22:06 +0200 | DragonMaus | (~dragonmau@user/dragonmaus) (*.net *.split) |
2024-08-14 10:22:06 +0200 | pounce | (~pounce@user/cute/pounce) (*.net *.split) |
2024-08-14 10:22:06 +0200 | kqr | (~kqr@static.143.81.108.65.clients.your-server.de) (*.net *.split) |
2024-08-14 10:22:06 +0200 | remmie | (ianremsen@tilde.team) (*.net *.split) |
2024-08-14 10:22:06 +0200 | geekosaur | (sid609282@xmonad/geekosaur) (*.net *.split) |
2024-08-14 10:22:06 +0200 | bryanv | (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (*.net *.split) |
2024-08-14 10:22:06 +0200 | mmaruseacph2 | (~mihai@mihai.page) (*.net *.split) |
2024-08-14 10:22:08 +0200 | remsen | remmie |
2024-08-14 10:22:33 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-08-14 10:24:18 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) |
2024-08-14 10:24:42 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2024-08-14 10:25:59 +0200 | califax_ | (~califax@user/califx) |
2024-08-14 10:26:05 +0200 | cptaffe | (~cptaffe@user/cptaffe) (Ping timeout: 260 seconds) |
2024-08-14 10:26:11 +0200 | euleritian | (~euleritia@ip2504fbd4.dynamic.kabel-deutschland.de) |
2024-08-14 10:26:13 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-08-14 10:28:33 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) |
2024-08-14 10:28:51 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2024-08-14 10:28:56 +0200 | califax | (~califax@user/califx) (Ping timeout: 260 seconds) |
2024-08-14 10:28:58 +0200 | califax_ | califax |
2024-08-14 10:31:17 +0200 | cptaffe | (~cptaffe@user/cptaffe) |
2024-08-14 10:31:51 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-08-14 10:33:00 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2024-08-14 10:34:19 +0200 | qaotsap | (~paotsaq@127.209.37.188.rev.vodafone.pt) |
2024-08-14 10:34:19 +0200 | CrunchyFlakes_ | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-08-14 10:34:19 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e72cfb11a59a794fa2bafb8b.dip0.t-ipconnect.de) |
2024-08-14 10:34:19 +0200 | misterfish | (~misterfis@84.53.85.146) |
2024-08-14 10:34:19 +0200 | She | (haveident@libera/staff/she/her) |
2024-08-14 10:34:19 +0200 | hiredman | (~hiredman@frontier1.downey.family) |
2024-08-14 10:34:19 +0200 | _d0t | (~{-d0t-}@user/-d0t-/x-7915216) |
2024-08-14 10:34:19 +0200 | malte | (~malte@mal.tc) |
2024-08-14 10:34:19 +0200 | Fijxu | (~Fijxu@user/fijxu) |
2024-08-14 10:34:19 +0200 | gentauro | (~gentauro@user/gentauro) |
2024-08-14 10:34:19 +0200 | jle` | (~jle`@2603:8001:3b02:84d4:ef66:1aba:fea9:c83b) |
2024-08-14 10:34:19 +0200 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) |
2024-08-14 10:34:19 +0200 | myxos | (~myxos@syn-065-028-251-121.res.spectrum.com) |
2024-08-14 10:34:19 +0200 | andjjj23 | (~irc@107.170.228.47) |
2024-08-14 10:34:19 +0200 | edwtjo | (~edwtjo@fsf/member/edwtjo) |
2024-08-14 10:34:19 +0200 | andreas303 | (andreas303@is.drunk.and.ready-to.party) |
2024-08-14 10:34:19 +0200 | Vajb | (~Vajb@n4v0h48xv84fiqflept-1.v6.elisa-mobile.fi) |
2024-08-14 10:34:19 +0200 | sclv | (sid39734@haskell/developer/sclv) |
2024-08-14 10:34:19 +0200 | jmct | (sid160793@id-160793.tinside.irccloud.com) |
2024-08-14 10:34:19 +0200 | alinab | (sid468903@id-468903.helmsley.irccloud.com) |
2024-08-14 10:34:19 +0200 | DragonMaus | (~dragonmau@user/dragonmaus) |
2024-08-14 10:34:19 +0200 | pounce | (~pounce@user/cute/pounce) |
2024-08-14 10:34:19 +0200 | kqr | (~kqr@static.143.81.108.65.clients.your-server.de) |
2024-08-14 10:34:19 +0200 | geekosaur | (sid609282@xmonad/geekosaur) |
2024-08-14 10:34:19 +0200 | bryanv | (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) |
2024-08-14 10:34:19 +0200 | mmaruseacph2 | (~mihai@mihai.page) |
2024-08-14 10:35:15 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) |
2024-08-14 10:36:49 +0200 | sawilagar_ | (~sawilagar@user/sawilagar) |
2024-08-14 10:37:48 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-08-14 10:39:02 +0200 | ash3en | (~Thunderbi@146.70.124.200) |
2024-08-14 10:39:24 +0200 | ash3en1 | (~Thunderbi@dynamic-077-003-122-051.77.3.pool.telefonica.de) |
2024-08-14 10:39:41 +0200 | rosco | (~rosco@175.136.158.234) |
2024-08-14 10:39:42 +0200 | rosco | (~rosco@175.136.158.234) (Client Quit) |
2024-08-14 10:40:06 +0200 | andreas303 | (andreas303@is.drunk.and.ready-to.party) (Max SendQ exceeded) |
2024-08-14 10:40:21 +0200 | andreas808 | (andreas303@is.drunk.and.ready-to.party) |
2024-08-14 10:40:35 +0200 | ash3en1 | (~Thunderbi@dynamic-077-003-122-051.77.3.pool.telefonica.de) (Client Quit) |
2024-08-14 10:43:32 +0200 | ash3en | (~Thunderbi@146.70.124.200) (Ping timeout: 252 seconds) |
2024-08-14 10:47:31 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 244 seconds) |
2024-08-14 10:48:10 +0200 | <geekosaur> | well. that was "fun" |
2024-08-14 10:56:18 +0200 | __monty__ | (~toonn@user/toonn) |
2024-08-14 11:05:15 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:bc04:17c9:dd36:7eb9) |
2024-08-14 11:05:18 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-08-14 11:06:06 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-08-14 11:13:16 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 11:19:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 11:31:35 +0200 | ash3en | (~Thunderbi@2a02:3100:7d5e:e500:bc04:17c9:dd36:7eb9) (Quit: ash3en) |
2024-08-14 11:35:10 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2024-08-14 11:35:26 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-694c-4f82-7d03-8d48.rev.sfr.net) (Remote host closed the connection) |
2024-08-14 11:35:40 +0200 | gehmehgeh | gmg |
2024-08-14 11:35:46 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-694c-4f82-7d03-8d48.rev.sfr.net) |
2024-08-14 11:35:58 +0200 | euandreh | (~Thunderbi@189.6.18.26) |
2024-08-14 11:37:29 +0200 | euandreh | (~Thunderbi@189.6.18.26) (Remote host closed the connection) |
2024-08-14 11:59:07 +0200 | rosco | (~rosco@175.136.158.234) |
2024-08-14 12:03:54 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2024-08-14 12:10:48 +0200 | caubert_ | (~caubert@user/caubert) |
2024-08-14 12:12:43 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 264 seconds) |
2024-08-14 12:20:39 +0200 | euleritian | (~euleritia@ip2504fbd4.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2024-08-14 12:20:46 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) |
2024-08-14 12:22:27 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-08-14 12:29:57 +0200 | danse7486 | (~danse-nr3@user/danse-nr3) |
2024-08-14 12:29:58 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer) |
2024-08-14 12:33:33 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-08-14 12:34:12 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-08-14 12:44:44 +0200 | ZharMeny | (~user@user/ZharMeny) |
2024-08-14 12:51:02 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-08-14 13:05:25 +0200 | vgtw_ | (~vgtw@user/vgtw) |
2024-08-14 13:06:10 +0200 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 252 seconds) |
2024-08-14 13:10:16 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 13:10:55 +0200 | ZharMeny` | (~user@185.248.130.75) |
2024-08-14 13:12:49 +0200 | ZharMeny | (~user@user/ZharMeny) (Read error: Connection reset by peer) |
2024-08-14 13:15:00 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-08-14 13:16:16 +0200 | ZharMeny` | (~user@185.248.130.75) (Read error: Connection reset by peer) |
2024-08-14 13:16:30 +0200 | ZharMeny` | (~user@185.248.130.75) |
2024-08-14 13:22:38 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-08-14 13:22:52 +0200 | xff0x | (~xff0x@2405:6580:b080:900:3135:813b:16f4:ff8e) (Read error: Connection reset by peer) |
2024-08-14 13:24:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 13:26:16 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds) |
2024-08-14 13:27:01 +0200 | xff0x | (~xff0x@2405:6580:b080:900:493f:3f7e:59db:90fc) |
2024-08-14 13:32:24 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-08-14 13:34:28 +0200 | rosco | (~rosco@175.136.158.234) (Quit: Lost terminal) |
2024-08-14 13:47:08 +0200 | Me-me | (~me-me@user/me-me) (Remote host closed the connection) |
2024-08-14 13:47:41 +0200 | Me-me | (~me-me@kc.randomserver.name) |
2024-08-14 13:52:22 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2024-08-14 14:00:14 +0200 | danse7486 | (~danse-nr3@user/danse-nr3) (Ping timeout: 244 seconds) |
2024-08-14 14:02:56 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 14:14:53 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-694c-4f82-7d03-8d48.rev.sfr.net) (Remote host closed the connection) |
2024-08-14 14:18:51 +0200 | Square3 | (~Square4@user/square) |
2024-08-14 14:21:48 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Ping timeout: 252 seconds) |
2024-08-14 14:27:04 +0200 | rosco | (~rosco@175.136.158.234) |
2024-08-14 14:28:34 +0200 | hyoga | (~fkl@user/hyoga) |
2024-08-14 14:28:40 +0200 | <hyoga> | Good morning. |
2024-08-14 14:29:05 +0200 | <hyoga> | https://imgur.com/a/5DIvfEF |
2024-08-14 14:29:24 +0200 | ddellacosta | (~ddellacos@ool-44c73b99.dyn.optonline.net) (Ping timeout: 252 seconds) |
2024-08-14 14:29:29 +0200 | <hyoga> | I watched a video on Y-combinator before I went to bed last night, but of course I didn't understand it at the time. So when I woke up this morning I took out a piece of paper and worked it out. |
2024-08-14 14:29:50 +0200 | <hyoga> | (It's incredible how Haskell came up with this) Anyway, my question is... are Y-combinators still used in practice today, since most programming languages today have native support for recursion? |
2024-08-14 14:32:22 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 14:34:06 +0200 | <probie> | hyoga: The generic term is "fixed-point combinator". The Y-combinator is just one specific instance. I doubt many languages would make much direct use of fixed point combinators; it's simple to allow recursion in the surface language and for the compiler to rewrite it to a fixed point combinator if needed |
2024-08-14 14:35:55 +0200 | billchenchina- | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Ping timeout: 260 seconds) |
2024-08-14 14:37:09 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Ping timeout: 248 seconds) |
2024-08-14 14:37:48 +0200 | <hyoga> | thank you probie. |
2024-08-14 14:41:32 +0200 | <zzz> | interestingly enough, you can't(*) implement it directly in Haskell |
2024-08-14 14:42:04 +0200 | <probie> | % newtype Rec a = Rec { unRec :: Rec a -> a } |
2024-08-14 14:42:04 +0200 | <yahb2> | <no output> |
2024-08-14 14:42:18 +0200 | <zzz> | (*) without some type level gymnastics |
2024-08-14 14:42:46 +0200 | <probie> | % let y = \f -> (\x -> f (unRec x x)) (Rec (\x -> f (unRec x x))) in y (\r n -> if n == 0 then 1 else n * r (n - 1)) 5 |
2024-08-14 14:42:46 +0200 | <yahb2> | 120 |
2024-08-14 14:43:12 +0200 | <probie> | just don't compile that with optimisations turned on in GHC :p |
2024-08-14 14:45:49 +0200 | <probie> | The whole `Rec` `unRec` thing is because Haskell doesn't support recursive types; but because `Rec` is a newtype `Rec` and `unRec` won't exist at run time. Unfortunately they also trick GHC's inliner which will inline `y f` to `f (y f)` to `f (f (y f))` and so on |
2024-08-14 14:47:40 +0200 | <__monty__> | hyoga: Haskell coming up with it is news to me. I expect Church probably worked it out in the beginnings of Lambda calculus. Nix actually uses fixed points quite a bit. |
2024-08-14 14:50:25 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 14:52:29 +0200 | <hyoga> | my apologies, I've misread (https://stackoverflow.com/questions/93526/what-is-a-y-combinator). The answerer was referring to currying. |
2024-08-14 14:56:02 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Ping timeout: 244 seconds) |
2024-08-14 14:56:12 +0200 | <zzz> | % let Ο f = f $ Rec f ; y f = Ο $ \(Mu x) -> f $ Ο x in y (\r n -> if n == 0 then 1 else n * r (n - 1)) 5 |
2024-08-14 14:56:12 +0200 | <yahb2> | <interactive>:9:35: error: Not in scope: data constructor βMuβ |
2024-08-14 14:56:32 +0200 | <zzz> | % let Ο f = f $ Rec f ; y f = Ο $ \(Rec x) -> f $ Ο x in y (\r n -> if n == 0 then 1 else n * r (n - 1)) 5 |
2024-08-14 14:56:32 +0200 | <yahb2> | 120 |
2024-08-14 14:56:35 +0200 | <zzz> | nice |
2024-08-14 14:59:44 +0200 | todi_away | todi |
2024-08-14 15:12:52 +0200 | <lxsameer> | hey folks, where can I learn more about Setup.hs and how the compiler uses it? |
2024-08-14 15:14:39 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-08-14 15:16:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 15:17:04 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
2024-08-14 15:19:49 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-08-14 15:20:51 +0200 | <lxsameer> | nvm found it |
2024-08-14 15:31:30 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-08-14 15:31:39 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-08-14 15:36:03 +0200 | stef204 | (~stef204@user/stef204) |
2024-08-14 15:36:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-08-14 15:41:34 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-08-14 15:46:01 +0200 | ZharMeny` | ZharMeny |
2024-08-14 15:47:08 +0200 | euleritian | (~euleritia@ip2504fbd4.dynamic.kabel-deutschland.de) |
2024-08-14 15:47:31 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 15:47:44 +0200 | cln_ | (cln@wtf.cx) (Quit: cln_) |
2024-08-14 15:50:28 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 258 seconds) |
2024-08-14 16:02:10 +0200 | euleritian | (~euleritia@ip2504fbd4.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2024-08-14 16:02:28 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) |
2024-08-14 16:02:59 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) |
2024-08-14 16:02:59 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) (Changing host) |
2024-08-14 16:02:59 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 16:06:51 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-08-14 16:07:05 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
2024-08-14 16:07:25 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2024-08-14 16:08:54 +0200 | jrm | (~jrm@user/jrm) |
2024-08-14 16:13:56 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2024-08-14 16:15:32 +0200 | jrm | (~jrm@user/jrm) |
2024-08-14 16:16:04 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
2024-08-14 16:16:10 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-08-14 16:17:07 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-08-14 16:20:17 +0200 | rvalue- | rvalue |
2024-08-14 16:20:42 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2024-08-14 16:23:00 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) |
2024-08-14 16:23:00 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) (Changing host) |
2024-08-14 16:23:00 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 16:26:10 +0200 | euandreh | (~Thunderbi@189.6.18.26) |
2024-08-14 16:35:58 +0200 | RedFlamingos | (~RedFlamin@user/RedFlamingos) (Quit: RedFlamingos) |
2024-08-14 16:35:59 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-08-14 16:37:10 +0200 | <EvanR> | lxsameer, clue lurkers in to where you found it |
2024-08-14 16:39:24 +0200 | hyoga | (~fkl@user/hyoga) (Ping timeout: 260 seconds) |
2024-08-14 16:46:21 +0200 | califax | (~califax@user/califx) (Ping timeout: 260 seconds) |
2024-08-14 16:46:45 +0200 | califax | (~califax@user/califx) |
2024-08-14 16:52:18 +0200 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 4.2.1) |
2024-08-14 16:52:26 +0200 | euandreh | (~Thunderbi@189.6.18.26) (Remote host closed the connection) |
2024-08-14 16:53:21 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b980:1879:8876:e512:52cf) |
2024-08-14 16:57:44 +0200 | hyoga | (~fkl@67.216.55.241) |
2024-08-14 17:04:42 +0200 | euleritian | (~euleritia@dynamic-176-006-130-059.176.6.pool.telefonica.de) (Ping timeout: 276 seconds) |
2024-08-14 17:05:09 +0200 | euleritian | (~euleritia@dynamic-176-006-133-220.176.6.pool.telefonica.de) |
2024-08-14 17:05:14 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-08-14 17:09:09 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 260 seconds) |
2024-08-14 17:09:13 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 17:15:26 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 17:16:05 +0200 | david_tvh | (~david_tvh@212.114.26.122) (Ping timeout: 248 seconds) |
2024-08-14 17:19:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 17:21:09 +0200 | leah2 | (~leah@vuxu.org) |
2024-08-14 17:25:32 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
2024-08-14 17:27:17 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2024-08-14 17:28:25 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-08-14 17:32:27 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 17:34:11 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-08-14 17:34:33 +0200 | califax | (~califax@user/califx) |
2024-08-14 17:35:07 +0200 | euleritian | (~euleritia@dynamic-176-006-133-220.176.6.pool.telefonica.de) (Ping timeout: 258 seconds) |
2024-08-14 17:37:01 +0200 | spew | (~spew@201.141.102.132) |
2024-08-14 17:37:40 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) |
2024-08-14 17:38:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 17:38:16 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) |
2024-08-14 17:38:16 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) (Changing host) |
2024-08-14 17:38:16 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 17:41:53 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-08-14 17:42:11 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) |
2024-08-14 17:44:18 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 17:46:55 +0200 | <spew> | anyone here work at microsoft? |
2024-08-14 17:47:03 +0200 | <spew> | maybe better for offtopic, sorry |
2024-08-14 17:49:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-08-14 17:53:10 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-08-14 17:57:05 +0200 | <EvanR> | microsoft research? xD |
2024-08-14 17:59:59 +0200 | <spew> | no, not research, just normal microsoft, specifically azure/m365 |
2024-08-14 18:01:50 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-08-14 18:03:20 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-08-14 18:05:10 +0200 | <spew> | more on-topic: I'm still just learning haskell would someone look at this regular expression matcher and let me know if I'm doing anything very un-idiomatic? https://github.com/spewspews/LearningHaskell/blob/main/RegEx.hs |
2024-08-14 18:05:59 +0200 | <spew> | it's the kind of regular expression engine that compiles to a finite state machine vm |
2024-08-14 18:06:19 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) () |
2024-08-14 18:09:52 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-08-14 18:10:10 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-08-14 18:16:56 +0200 | <dmj`> | spew: relevant https://swtch.com/~rsc/regexp/regexp1.html |
2024-08-14 18:18:05 +0200 | <haskellbridge> | <thirdofmay18081814goya> any exercises on "Arrow"? unrelated: am also looking for exercises on type families and recursion schemes |
2024-08-14 18:22:20 +0200 | hyoga | (~fkl@67.216.55.241) (Quit: leaving) |
2024-08-14 18:23:06 +0200 | jrm | (~jrm@user/jrm) (Quit: ciao) |
2024-08-14 18:24:35 +0200 | <haskellbridge> | <Bowuigi> dmj` how does this compare to TDFA? |
2024-08-14 18:24:35 +0200 | jrm | (~jrm@user/jrm) |
2024-08-14 18:24:53 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-08-14 18:26:13 +0200 | jrm | (~jrm@user/jrm) (Client Quit) |
2024-08-14 18:27:53 +0200 | jrm | (~jrm@user/jrm) |
2024-08-14 18:29:31 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-08-14 18:29:47 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 18:31:55 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-08-14 18:32:54 +0200 | jespada_ | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-08-14 18:34:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 18:36:27 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-08-14 18:37:15 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 252 seconds) |
2024-08-14 18:37:42 +0200 | <spew> | dmj`: I based it on that explanation |
2024-08-14 18:44:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 18:50:49 +0200 | FragByte | (~christian@user/fragbyte) (Ping timeout: 252 seconds) |
2024-08-14 18:54:51 +0200 | <haskellbridge> | <mauke> "Regular expression matching can be simple and fast" if you ignore all the inconvenient bits that people use all the time, like bounded repetition, capturing, and backreferences |
2024-08-14 18:55:10 +0200 | Square3 | (~Square4@user/square) |
2024-08-14 18:56:44 +0200 | <spew> | actually, you can do capturing with it |
2024-08-14 18:57:33 +0200 | <spew> | anyway, what I wrote is just a toy, just handles . ? + * and subexpressions but with no capture |
2024-08-14 18:57:53 +0200 | <spew> | I'm really just wondering if there's any weird non idiomatic things I'm doing or any other suggestions people might have |
2024-08-14 18:58:28 +0200 | <spew> | you can also do bounded repetition too with "can be simple and fast" |
2024-08-14 18:58:33 +0200 | <spew> | just not backreferences |
2024-08-14 18:59:37 +0200 | <EvanR> | parse don't validate... or regex xD |
2024-08-14 19:00:30 +0200 | <spew> | where does that haskellbridge bridge to? |
2024-08-14 19:01:23 +0200 | <haskellbridge> | <mauke> Matrix |
2024-08-14 19:01:32 +0200 | <zzz> | spew: #haskell-irc:matrix.org |
2024-08-14 19:01:46 +0200 | <spew> | thanks |
2024-08-14 19:02:06 +0200 | <zzz> | which annoys me to no end, seeing that the community has split in two |
2024-08-14 19:02:44 +0200 | <zzz> | #haskell-irc:matrix.org and #haskell:matrix.org |
2024-08-14 19:03:38 +0200 | <zzz> | makes zero sense to me but whatever |
2024-08-14 19:03:40 +0200 | <EvanR> | don't tell zzz about the #haskell-offtopic #haskell-blah fiasco |
2024-08-14 19:03:44 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) |
2024-08-14 19:04:16 +0200 | <zzz> | EvanR: oh i'm aware. but the matrix stuff is unnecessary and easily solvable |
2024-08-14 19:05:02 +0200 | <EvanR> | is it? |
2024-08-14 19:05:31 +0200 | <zzz> | yes. why not merge both matrix channels? |
2024-08-14 19:06:58 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-608a-496b-a814-07c5.rev.sfr.net) |
2024-08-14 19:07:52 +0200 | <yushyin> | afair, #haskell:matrix.org just doesn't want to be bridged |
2024-08-14 19:08:17 +0200 | <EvanR> | sounds like a distinction with a difference |
2024-08-14 19:09:34 +0200 | rosco | (~rosco@175.136.158.234) (Quit: Lost terminal) |
2024-08-14 19:11:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 19:14:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 19:15:03 +0200 | FragByte | (~christian@user/fragbyte) |
2024-08-14 19:19:31 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-08-14 19:22:19 +0200 | <justsomeguy> | Hello #haskell. I'm pretty good with the Python AWS SDK (Boto3), but I'm a newbie with Haskell and trying to learn Amazonka. Right now I'm familiar with basic prelude functions, functor, applicative, and monad. Amazonka uses lens, labels, conduit, and monad transformers, all of which I'm unfamiliar with. Any suggestions on how I can get up to speed with this libarary? |
2024-08-14 19:22:22 +0200 | wroathe | (~wroathe@user/wroathe) () |
2024-08-14 19:26:16 +0200 | <justsomeguy> | My idea is to tranlate several scripts of mine from Python to Haskell as a learning exercise. |
2024-08-14 19:26:47 +0200 | euandreh | (~Thunderbi@189.6.18.26) |
2024-08-14 19:28:35 +0200 | <justsomeguy> | I'm trying to move away from Python to something more performant, and I already have a lot of time invested in learning Haskell. |
2024-08-14 19:28:46 +0200 | <EvanR> | the amazonka haddocks have some examples |
2024-08-14 19:29:55 +0200 | euandreh | (~Thunderbi@189.6.18.26) (Remote host closed the connection) |
2024-08-14 19:30:29 +0200 | euandreh | (~Thunderbi@189.6.18.26) |
2024-08-14 19:30:33 +0200 | spew | (~spew@201.141.102.132) (Quit: spew) |
2024-08-14 19:30:54 +0200 | <justsomeguy> | I was able to get a few example programs running. The haddocks are pretty much impenetrable to me at the moment, to be honest with you. |
2024-08-14 19:31:45 +0200 | <EvanR> | I don't know lens labels or conduit but I understood the first example involving uploading something to S3 |
2024-08-14 19:32:24 +0200 | <EvanR> | it uses the runFoo pattern for transformers |
2024-08-14 19:32:41 +0200 | <EvanR> | :t runStateT |
2024-08-14 19:32:42 +0200 | <lambdabot> | StateT s m a -> s -> m (a, s) |
2024-08-14 19:34:17 +0200 | <justsomeguy> | Most of my questions came from trying to modify the EC2.hs example. Let me try to get the S3 example working and then I'll barrage you with questions :) |
2024-08-14 19:34:39 +0200 | <justsomeguy> | (Like... what is a monad transformer?) |
2024-08-14 19:36:19 +0200 | <EvanR> | it takes a monad and outputs a new monad, in our case with more abilities |
2024-08-14 19:36:53 +0200 | <EvanR> | if m is a monad, StateT s m is a new monad which can keep a state (in addition to whatever m can do) |
2024-08-14 19:38:58 +0200 | <EvanR> | e.g. m might be IO |
2024-08-14 19:39:37 +0200 | <EvanR> | then runStateT would convert a StateT s IO "action" into an IO action |
2024-08-14 19:40:13 +0200 | <EvanR> | but it requires you provide the initial state, and returns the final state |
2024-08-14 19:40:41 +0200 | <EvanR> | (from the IO action, if it was executed) |
2024-08-14 19:41:16 +0200 | <EvanR> | AWS.runResourceT in that example seems to just take the action alone |
2024-08-14 19:42:13 +0200 | <EvanR> | the final result is an IO action |
2024-08-14 19:49:03 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) |
2024-08-14 19:49:03 +0200 | wroathe | (~wroathe@mobile-166-175-59-236.mycingular.net) (Changing host) |
2024-08-14 19:49:03 +0200 | wroathe | (~wroathe@user/wroathe) |
2024-08-14 19:49:59 +0200 | madhavanmiui | (~madhavanm@2409:40f4:10fc:3ca4:8000::) |
2024-08-14 19:50:51 +0200 | madhavanmiui | (~madhavanm@2409:40f4:10fc:3ca4:8000::) (Remote host closed the connection) |
2024-08-14 19:50:54 +0200 | <justsomeguy> | Right now I'm feeling kind of overwhelmed, and I'm not sure where to start. |
2024-08-14 19:53:23 +0200 | <EvanR> | did you get that example to compile, much less run |
2024-08-14 19:53:30 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-08-14 19:53:36 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) |
2024-08-14 19:53:39 +0200 | <justsomeguy> | I have two examples running, EC2.hs and S3.hs. |
2024-08-14 19:53:58 +0200 | euleritian | (~euleritia@dynamic-176-006-143-206.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-08-14 19:54:03 +0200 | <EvanR> | hmm. I guess examples aren't enough then xD |
2024-08-14 19:54:17 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-08-14 19:54:28 +0200 | <justsomeguy> | I think I'll make a repo so I can experiment with it more. |
2024-08-14 19:54:42 +0200 | <EvanR> | you could load then in ghci and check the types of each subexpression.... and then hopefully understand the types in a way that makes sense to you |
2024-08-14 19:55:13 +0200 | <EvanR> | there's no way to proceed without some understand of how stuff fits together... the types |
2024-08-14 19:55:18 +0200 | <EvanR> | understanding* |
2024-08-14 19:57:10 +0200 | <sm> | it's handy to have VSC + HLS, showing the types on hover. That will require making the example a project though. |
2024-08-14 19:57:13 +0200 | jinsun_ | (~jinsun@user/jinsun) |
2024-08-14 19:57:13 +0200 | jinsun | (~jinsun@user/jinsun) (Killed (platinum.libera.chat (Nickname regained by services))) |
2024-08-14 19:57:13 +0200 | jinsun_ | jinsun |
2024-08-14 19:57:30 +0200 | jinsun_ | (~jinsun@user/jinsun) |
2024-08-14 19:57:30 +0200 | jinsun | Guest3002 |
2024-08-14 19:57:30 +0200 | Guest3002 | (~jinsun@user/jinsun) (Killed (silver.libera.chat (Nickname regained by services))) |
2024-08-14 19:57:30 +0200 | jinsun_ | jinsun |
2024-08-14 19:57:37 +0200 | jinsun | (~jinsun@user/jinsun) (Client Quit) |
2024-08-14 19:57:47 +0200 | jinsun | (~jinsun@user/jinsun) |
2024-08-14 20:00:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 20:00:49 +0200 | <justsomeguy> | Installing the LSP now. I'll give it a shot. |
2024-08-14 20:01:27 +0200 | <justsomeguy> | I've created an already disorganized repo here: https://github.com/kingparra/amazonka-wtf/tree/master |
2024-08-14 20:04:58 +0200 | <EvanR> | the question about ByteString vs String |
2024-08-14 20:05:52 +0200 | <EvanR> | ByteString is more efficient, more correct when you're dealing with arbitrary network traffic, and all these libraries are probably using it as currency |
2024-08-14 20:06:23 +0200 | <EvanR> | your EC2 example has another runFoo there |
2024-08-14 20:06:24 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 272 seconds) |
2024-08-14 20:06:28 +0200 | <EvanR> | runConduit |
2024-08-14 20:06:32 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2024-08-14 20:07:41 +0200 | <EvanR> | that's the key to transformers |
2024-08-14 20:09:53 +0200 | <EvanR> | --what does runResourceT do |
2024-08-14 20:09:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 20:10:45 +0200 | <EvanR> | https://hackage.haskell.org/package/resourcet-1.3.0/docs/Control-Monad-Trans-Resource.html#v:runRe⦠|
2024-08-14 20:15:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 20:22:59 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-08-14 20:26:18 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2024-08-14 20:29:23 +0200 | euandreh | (~Thunderbi@189.6.18.26) (Remote host closed the connection) |
2024-08-14 20:29:34 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 20:29:46 +0200 | dans34472 | (~danse-nr3@user/danse-nr3) |
2024-08-14 20:30:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-08-14 20:32:01 +0200 | danse-nr3 | (~danse-nr3@user/danse-nr3) (Ping timeout: 252 seconds) |
2024-08-14 20:33:35 +0200 | bliminse | (~bliminse@user/bliminse) |
2024-08-14 20:42:12 +0200 | dans34472 | (~danse-nr3@user/danse-nr3) (Quit: good evening) |
2024-08-14 20:45:17 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-08-14 20:51:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 20:52:41 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-08-14 20:59:14 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2024-08-14 20:59:30 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) |
2024-08-14 21:00:10 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-608a-496b-a814-07c5.rev.sfr.net) (Remote host closed the connection) |
2024-08-14 21:00:31 +0200 | alexherbo2 | (~alexherbo@118.15.23.93.rev.sfr.net) |
2024-08-14 21:01:35 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-08-14 21:01:43 +0200 | alexherbo2 | (~alexherbo@118.15.23.93.rev.sfr.net) (Remote host closed the connection) |
2024-08-14 21:02:22 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-08-14 21:04:15 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-1924-bae7-7025-07ab.rev.sfr.net) |
2024-08-14 21:04:57 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 252 seconds) |
2024-08-14 21:06:52 +0200 | m1dnight | (~christoph@78-20-63-126.access.telenet.be) (Ping timeout: 252 seconds) |
2024-08-14 21:06:52 +0200 | tomku | (~tomku@user/tomku) |
2024-08-14 21:07:56 +0200 | alexherbo2 | (~alexherbo@2a02-8440-321a-b409-1924-bae7-7025-07ab.rev.sfr.net) (Remote host closed the connection) |
2024-08-14 21:09:34 +0200 | euleritian | (~euleritia@77.22.252.56) (Remote host closed the connection) |
2024-08-14 21:10:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-08-14 21:18:24 +0200 | AlexZenon | (~alzenon@178.34.160.210) (Ping timeout: 260 seconds) |
2024-08-14 21:19:43 +0200 | neuroevolutus | (~neuroevol@206.217.206.95) |
2024-08-14 21:19:59 +0200 | AlexNoo | (~AlexNoo@178.34.160.210) (Ping timeout: 260 seconds) |
2024-08-14 21:29:10 +0200 | AlexNoo | (~AlexNoo@178.34.160.210) |
2024-08-14 21:29:59 +0200 | AlexZenon | (~alzenon@178.34.160.210) |
2024-08-14 21:31:07 +0200 | itaipu | (~itaipu@168.121.98.107) (Remote host closed the connection) |
2024-08-14 21:32:03 +0200 | Inst | (~Inst@user/Inst) (Ping timeout: 245 seconds) |
2024-08-14 21:34:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 21:35:24 +0200 | itaipu | (~itaipu@168.121.98.107) |
2024-08-14 21:36:01 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-08-14 21:37:36 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 272 seconds) |
2024-08-14 21:38:11 +0200 | Digit | (~user@user/digit) (Remote host closed the connection) |
2024-08-14 21:39:36 +0200 | Digit | (~user@user/digit) |
2024-08-14 21:51:53 +0200 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2024-08-14 21:55:53 +0200 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Client Quit) |
2024-08-14 22:03:23 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-08-14 22:07:55 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 22:10:58 +0200 | m1dnight | (~christoph@78-20-63-126.access.telenet.be) |
2024-08-14 22:12:38 +0200 | Chappie | (~Chappie@71.247.18.66) |
2024-08-14 22:14:51 +0200 | michalz | (~michalz@185.246.207.217) (Remote host closed the connection) |
2024-08-14 22:19:37 +0200 | spew | (~spew@201.141.102.132) |
2024-08-14 22:21:49 +0200 | neuroevolutus | (~neuroevol@206.217.206.95) (Quit: Client closed) |
2024-08-14 22:24:18 +0200 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 248 seconds) |
2024-08-14 22:28:43 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2024-08-14 22:29:17 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 22:31:02 +0200 | <zzz> | what are the rules regarding "infix" functions with no arguments? eg: `(#) = True` |
2024-08-14 22:31:15 +0200 | <zzz> | i know i can do |
2024-08-14 22:31:22 +0200 | <zzz> | > `7` |
2024-08-14 22:31:23 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input β`β |
2024-08-14 22:31:37 +0200 | <zzz> | *can't |
2024-08-14 22:31:56 +0200 | <zzz> | > let x = 7 in `x` |
2024-08-14 22:31:58 +0200 | <lambdabot> | <hint>:1:14: error: parse error on input β`β |
2024-08-14 22:34:39 +0200 | <zzz> | > let (#) = 7 in (#) |
2024-08-14 22:34:40 +0200 | <lambdabot> | 7 |
2024-08-14 22:35:36 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-08-14 22:38:22 +0200 | neuroevolutus | (~neuroevol@206.217.206.95) |
2024-08-14 22:39:28 +0200 | <EvanR> | if it has no arguments its not even a function |
2024-08-14 22:39:50 +0200 | <lxsameer> | to those who use nix for haskell: what do you use? haskell.nix? haskell-flake? shellFor? cabal2nix? |
2024-08-14 22:40:17 +0200 | <EvanR> | operators aren't necessarily names of functions |
2024-08-14 22:41:01 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
2024-08-14 22:41:05 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2024-08-14 22:41:45 +0200 | spew | (~spew@201.141.102.132) (Quit: spew) |
2024-08-14 22:44:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 22:49:49 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-08-14 22:52:20 +0200 | <zzz> | well, yes... so what are the rules? |
2024-08-14 22:53:58 +0200 | <zzz> | > (7 `id`) |
2024-08-14 22:54:00 +0200 | <lambdabot> | 7 |
2024-08-14 22:54:22 +0200 | <geekosaur> | infix operators are symbol characters and may not be reserved names such as "|" |
2024-08-14 22:54:50 +0200 | <geekosaur> | prefix functions are alphanumerics, _, and ', and must start with an alphabetic character |
2024-08-14 22:55:32 +0200 | <geekosaur> | both symbol and alphanumeric are according to the Unicode standard version used by the compiler version |
2024-08-14 22:55:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 22:57:33 +0200 | <geekosaur> | > generalCategory '?' |
2024-08-14 22:57:35 +0200 | <lambdabot> | OtherPunctuation |
2024-08-14 22:57:51 +0200 | <EvanR> | R.I.P. emojihaskell twitter |
2024-08-14 22:58:08 +0200 | <Rembane> | :( |
2024-08-14 22:58:10 +0200 | <EvanR> | it was shutdown for some reason |
2024-08-14 22:58:17 +0200 | <Rembane> | Is it gone? |
2024-08-14 22:59:53 +0200 | <geekosaur> | zzz: per the Report: uniSymbol β any Unicode symbol or punctuation |
2024-08-14 23:00:14 +0200 | <geekosaur> | so '?', being OtherPunctuation, is a valid character for use in operators |
2024-08-14 23:00:38 +0200 | <EvanR> | is it gone |
2024-08-14 23:01:20 +0200 | xal | (~xal@mx1.xal.systems) (Quit: bye) |
2024-08-14 23:01:48 +0200 | xal | (~xal@mx1.xal.systems) |
2024-08-14 23:02:15 +0200 | <EvanR> | its legacy may or may not live on here https://stackoverflow.com/questions/31965349/using-emoji-in-haskell |
2024-08-14 23:04:37 +0200 | <zzz> | geekosaur: i guess my question is more about using symbols to represent values rather than functions |
2024-08-14 23:05:16 +0200 | <geekosaur> | wrap 'em in parentheses |
2024-08-14 23:05:29 +0200 | <geekosaur> | > let (*) = 7 in (*) |
2024-08-14 23:05:30 +0200 | <lambdabot> | 7 |
2024-08-14 23:05:42 +0200 | <zzz> | yes, i'm finding out that's what we have to do |
2024-08-14 23:05:44 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds) |
2024-08-14 23:05:46 +0200 | <EvanR> | which works whether or not it's a function |
2024-08-14 23:06:00 +0200 | <geekosaur> | without the parentheses, operators are expected to be applied |
2024-08-14 23:06:27 +0200 | <zzz> | > let (#) = id in 7 # |
2024-08-14 23:06:29 +0200 | <lambdabot> | <hint>:1:20: error: |
2024-08-14 23:06:29 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2024-08-14 23:06:36 +0200 | <zzz> | > let (#) = id in # 7 |
2024-08-14 23:06:37 +0200 | <geekosaur> | there's only a small handful of places where an operator can be used "bare" without it needing to be applied to something, such as `infix` declarations |
2024-08-14 23:06:38 +0200 | <lambdabot> | <hint>:1:17: error: parse error on input β#β |
2024-08-14 23:07:06 +0200 | <EvanR> | there is only 1 unary operator and it's special |
2024-08-14 23:07:12 +0200 | <geekosaur> | also all operators are binary (or more); unary operators in Haskell are parser hacks |
2024-08-14 23:07:26 +0200 | <c_wraith> | > let (!) n = product [1..n] in (7!) |
2024-08-14 23:07:28 +0200 | <lambdabot> | 5040 |
2024-08-14 23:07:40 +0200 | <EvanR> | rofl |
2024-08-14 23:07:54 +0200 | <geekosaur> | that's still a parser hack (PostfixOperators) π |
2024-08-14 23:08:06 +0200 | <c_wraith> | yeah, it is. I'm a bit surprised lambabot has it enabled |
2024-08-14 23:08:08 +0200 | <EvanR> | it's just a section? |
2024-08-14 23:08:27 +0200 | <geekosaur> | yes |
2024-08-14 23:09:00 +0200 | <zzz> | geekosaur: i used to trip over `:t +` vs `:t (+)` in ghci. turns out we can do :i + |
2024-08-14 23:09:14 +0200 | <geekosaur> | yes, but that doesn't count as language |
2024-08-14 23:09:22 +0200 | <zzz> | sure |
2024-08-14 23:09:44 +0200 | <zzz> | no reason to be inconsistent however |
2024-08-14 23:10:18 +0200 | <EvanR> | good idea lets make ghci consistent |
2024-08-14 23:10:32 +0200 | <c_wraith> | It's not, really. :type takes an expression. :info takes an identifier. They're different things with different rules. |
2024-08-14 23:10:41 +0200 | neuroevolutus | (~neuroevol@206.217.206.95) (Ping timeout: 256 seconds) |
2024-08-14 23:10:55 +0200 | <zzz> | fair enough |
2024-08-14 23:11:13 +0200 | <geekosaur> | yes there is, sadly. :t needs to parse an expression, :info parses a single item with no spaces and no language understanding |
2024-08-14 23:12:15 +0200 | <c_wraith> | interestingly, TemplateHaskell requires '(+) to use it as a Name literal. |
2024-08-14 23:12:31 +0200 | <c_wraith> | I guess it'd be syntactically ambiguous without the parens |
2024-08-14 23:13:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 23:14:20 +0200 | <EvanR> | best of emojihaskell https://i.imgur.com/tQWKpq7.png |
2024-08-14 23:14:25 +0200 | <c_wraith> | well, no. ' isn't an operator literal. It'd be weird, though. |
2024-08-14 23:14:47 +0200 | <c_wraith> | err, operator character. |
2024-08-14 23:15:43 +0200 | <c_wraith> | It would kinda look like an operator character in that context, and be rather non-obvious what you're doing. |
2024-08-14 23:16:19 +0200 | <geekosaur> | seems sensible to me, parens around an operator make it a prefix function, which seems like the intent of Name |
2024-08-14 23:16:21 +0200 | <int-e> | EvanR: So your Haskell looks like hieroglyphics? Detractors will be pleased. |
2024-08-14 23:17:06 +0200 | <EvanR> | we take our insistence on random single letter variable names to the extreme |
2024-08-14 23:17:20 +0200 | <int-e> | @src map |
2024-08-14 23:17:20 +0200 | <lambdabot> | map _ [] = [] |
2024-08-14 23:17:20 +0200 | <lambdabot> | map f (x:xs) = f x : map f xs |
2024-08-14 23:17:59 +0200 | <int-e> | Call me too modern but I think I prefer that version. |
2024-08-14 23:19:38 +0200 | <c_wraith> | that has two- and three-letter identifiers! so verbose. |
2024-08-14 23:20:56 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-08-14 23:21:19 +0200 | <EvanR> | I was going to stress test IRC's unicode by typing the egyptian version |
2024-08-14 23:21:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-08-14 23:21:30 +0200 | <EvanR> | looks like it might take a while |
2024-08-14 23:21:59 +0200 | <c_wraith> | IRC doesn't really support unicode, notionally. It supports bytes. Let's hope that systems agree on how to encode and decode them... |
2024-08-14 23:25:39 +0200 | ubert | (~Thunderbi@178.165.162.116.wireless.dyn.drei.com) (Quit: ubert) |
2024-08-14 23:25:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 23:25:52 +0200 | <Rembane> | Hopefully c_wraith's client will support unicode in both directions |
2024-08-14 23:26:37 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) |
2024-08-14 23:33:04 +0200 | <EvanR> | π
πͺ :: (πΏ -> π) -> [πΏ] -> [π] |
2024-08-14 23:33:11 +0200 | <EvanR> | π
πͺ π (π:π) = π π : π
πͺ π π |
2024-08-14 23:33:15 +0200 | <EvanR> | π
πͺ _ _ = [] |
2024-08-14 23:34:02 +0200 | <EvanR> | too much space after the first π
πͺ π |
2024-08-14 23:34:18 +0200 | <geekosaur> | my screen is full of placeholders now |
2024-08-14 23:34:23 +0200 | <EvanR> | lol |
2024-08-14 23:35:04 +0200 | <EvanR> | get your egyptian supporting font installed, and make sure it's one that includes the phallus |
2024-08-14 23:36:38 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-08-14 23:41:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
2024-08-14 23:47:11 +0200 | ft | (~ft@p4fc2aa15.dip0.t-ipconnect.de) |
2024-08-14 23:51:32 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-08-14 23:52:58 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds) |
2024-08-14 23:57:13 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-08-14 23:58:19 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |