2023-04-22 00:01:59 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 250 seconds) |
2023-04-22 00:08:24 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
2023-04-22 00:09:19 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 00:13:46 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 252 seconds) |
2023-04-22 00:16:49 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-04-22 00:19:31 +0200 | falafel | (~falafel@2603-8000-d700-115c-0d74-b978-eeca-e964.res6.spectrum.com) |
2023-04-22 00:19:48 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-22 00:20:13 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 276 seconds) |
2023-04-22 00:20:36 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 00:24:45 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 240 seconds) |
2023-04-22 00:27:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-04-22 00:33:09 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 00:34:44 +0200 | son0p | (~ff@181.136.122.143) |
2023-04-22 00:37:42 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 255 seconds) |
2023-04-22 00:38:56 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-04-22 00:49:04 +0200 | ubert | (~Thunderbi@p200300ecdf114f599e78396caae91165.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2023-04-22 00:49:08 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 00:49:29 +0200 | ubert | (~Thunderbi@p548c84d6.dip0.t-ipconnect.de) |
2023-04-22 00:49:48 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 00:54:28 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-22 00:54:40 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2023-04-22 00:54:50 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-22 00:55:25 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-22 00:58:31 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-04-22 01:03:07 +0200 | acidjnk | (~acidjnk@p200300d6e715c4560d89bcbac05bf750.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-04-22 01:04:00 +0200 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-04-22 01:05:01 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-22 01:05:26 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-22 01:08:00 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-04-22 01:08:53 +0200 | dolio | (~dolio@130.44.134.54) |
2023-04-22 01:09:03 +0200 | delYsid | (~user@user/delYsid) (ERC 5.4.1 (IRC client for GNU Emacs 30.0.50)) |
2023-04-22 01:09:28 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 01:10:31 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-22 01:13:45 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::1) (Ping timeout: 265 seconds) |
2023-04-22 01:15:05 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-22 01:25:31 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::6) |
2023-04-22 01:28:11 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 01:28:32 +0200 | phma | (phma@2001:5b0:211f:e428:9fb9:b7cc:2fd:9e9) (Read error: Connection reset by peer) |
2023-04-22 01:28:56 +0200 | phma | (phma@2001:5b0:211f:e428:9fb9:b7cc:2fd:9e9) |
2023-04-22 01:32:10 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-04-22 01:32:10 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-04-22 01:32:10 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-22 01:32:45 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-22 01:38:51 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 01:43:46 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-04-22 01:44:31 +0200 | gmg | (~user@user/gehmehgeh) |
2023-04-22 01:47:28 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 255 seconds) |
2023-04-22 01:48:49 +0200 | mauke_ | (~mauke@user/mauke) |
2023-04-22 01:50:05 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 240 seconds) |
2023-04-22 01:50:05 +0200 | mauke_ | mauke |
2023-04-22 01:51:06 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 01:51:47 +0200 | PRCisDemocratic | (~gnulinuxu@user/gnulinuxuser) |
2023-04-22 01:52:46 +0200 | NiceBird | (~NiceBird@185.133.111.196) (bbl) |
2023-04-22 01:53:54 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-22 01:54:40 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::6) (Ping timeout: 248 seconds) |
2023-04-22 01:57:18 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Client Quit) |
2023-04-22 02:04:53 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::1) |
2023-04-22 02:08:01 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
2023-04-22 02:08:05 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-04-22 02:09:19 +0200 | PRCisDemocratic | (~gnulinuxu@user/gnulinuxuser) (Quit: Client closed) |
2023-04-22 02:09:22 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-04-22 02:10:27 +0200 | gnulinuxuser | (~gnulinuxu@user/gnulinuxuser) |
2023-04-22 02:20:13 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::1) (Read error: Connection reset by peer) |
2023-04-22 02:22:06 +0200 | ryantrinkle | (~ryantrink@209.91.235.83) (Ping timeout: 255 seconds) |
2023-04-22 02:28:39 +0200 | gnulinuxuser | (~gnulinuxu@user/gnulinuxuser) (Quit: Client closed) |
2023-04-22 02:30:05 +0200 | ix | (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Ping timeout: 265 seconds) |
2023-04-22 02:30:07 +0200 | gnulinuxuser28 | (~gnulinuxu@user/gnulinuxuser) |
2023-04-22 02:31:50 +0200 | falafel | (~falafel@2603-8000-d700-115c-0d74-b978-eeca-e964.res6.spectrum.com) (Ping timeout: 260 seconds) |
2023-04-22 02:37:25 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::6) |
2023-04-22 02:50:23 +0200 | ryantrinkle | (~ryantrink@209.91.235.83) |
2023-04-22 02:59:11 +0200 | fbytez | (~uid@2001:bc8:2117:100::) |
2023-04-22 03:00:03 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 265 seconds) |
2023-04-22 03:02:21 +0200 | <fbytez> | Any ideas why I'm getting this libc error when trying to statically compile? https://paste.tomsmeding.com/quWcumdE |
2023-04-22 03:03:15 +0200 | <fbytez> | Linux 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux |
2023-04-22 03:03:39 +0200 | <fbytez> | The Glorious Glasgow Haskell Compilation System, version 9.2.7 |
2023-04-22 03:08:07 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds) |
2023-04-22 03:09:21 +0200 | <fbytez> | Same problem when using ghc 8.8.4 installed from the Ubuntu package manager. |
2023-04-22 03:11:12 +0200 | <int-e> | pretty sure that's not a ghc problem... but a problem with the libc.a. Maybe caused by it being built with the --gc-sections linker flag? Maybe fixable by using a different linker (the bfd linker rather than gold)? |
2023-04-22 03:11:45 +0200 | <int-e> | "maybe" -- these are ideas from googling the error message |
2023-04-22 03:19:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-04-22 03:20:36 +0200 | <int-e> | fbytez: see also https://github.com/icfpcontest2020/starterkit-haskell/issues/2#issuecomment-774894327 which gives a ghc-specific flag for specifying a different linker |
2023-04-22 03:25:05 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 240 seconds) |
2023-04-22 03:29:41 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 03:35:13 +0200 | ubert | (~Thunderbi@p548c84d6.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2023-04-22 03:35:19 +0200 | ub | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) |
2023-04-22 03:37:34 +0200 | ub | ubert |
2023-04-22 03:55:17 +0200 | pyook | (~puke@user/puke) (Ping timeout: 246 seconds) |
2023-04-22 03:56:04 +0200 | <fbytez> | int-e, thanks. Using -optl-fuse-ld=bfd works except for another error/warning message: /builds/ghc/ghc/rts/Linker.c:615:0: error: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking |
2023-04-22 03:56:30 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-04-22 03:57:05 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2023-04-22 04:02:54 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2023-04-22 04:06:22 +0200 | Me-me | (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
2023-04-22 04:12:33 +0200 | gnulinuxuser28 | (~gnulinuxu@user/gnulinuxuser) (Quit: Client closed) |
2023-04-22 04:21:54 +0200 | pyook | (~puke@user/puke) |
2023-04-22 04:22:24 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-04-22 04:22:24 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-04-22 04:22:24 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-22 04:26:08 +0200 | pyook | (~puke@user/puke) (Ping timeout: 248 seconds) |
2023-04-22 04:26:44 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-04-22 04:47:46 +0200 | rbancroft | (~ryan@d104-205-58-199.abhsia.telus.net) |
2023-04-22 04:50:51 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 04:52:59 +0200 | rf | (~rf@2605:59c8:1604:2210:3b9d:e321:bd23:2925) (Remote host closed the connection) |
2023-04-22 04:53:17 +0200 | rf | (~rf@2605:59c8:1604:2210:c524:bdf9:cb3f:d68d) |
2023-04-22 04:55:25 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-04-22 04:56:29 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-04-22 04:56:29 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-04-22 04:56:29 +0200 | finn_elija | FinnElija |
2023-04-22 04:58:25 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds) |
2023-04-22 05:00:46 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2023-04-22 05:01:02 +0200 | jinsun | (~jinsun@user/jinsun) |
2023-04-22 05:02:19 +0200 | td_ | (~td@i53870936.versanet.de) (Ping timeout: 276 seconds) |
2023-04-22 05:03:47 +0200 | td_ | (~td@i5387093E.versanet.de) |
2023-04-22 05:14:07 +0200 | rf | (~rf@2605:59c8:1604:2210:c524:bdf9:cb3f:d68d) (Remote host closed the connection) |
2023-04-22 05:17:45 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2023-04-22 05:18:07 +0200 | accord | (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-04-22 05:24:46 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-04-22 05:26:10 +0200 | pyook | (~puke@user/puke) |
2023-04-22 05:30:05 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 05:32:45 +0200 | pyook | (~puke@user/puke) (Ping timeout: 240 seconds) |
2023-04-22 05:36:30 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds) |
2023-04-22 05:38:17 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-04-22 05:55:45 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-04-22 05:57:44 +0200 | pyook | (~puke@user/puke) |
2023-04-22 05:59:35 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 06:01:03 +0200 | <jackdk> | Attempting to statically link using glibc seems unwise |
2023-04-22 06:01:37 +0200 | <jackdk> | I think everyone uses musl for that because otherwise you find the program still wants to dynamically load stuff (e.g., nsswitch, I think?) |
2023-04-22 06:04:24 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2023-04-22 06:19:29 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-04-22 06:30:35 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 06:35:45 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-04-22 06:39:19 +0200 | auri | (~auri@fsf/member/auri) () |
2023-04-22 06:42:04 +0200 | vertym_ | (~UserNick@178.141.90.105) |
2023-04-22 06:45:46 +0200 | vertym_ | (~UserNick@178.141.90.105) () |
2023-04-22 06:49:03 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-04-22 06:52:47 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-22 06:53:02 +0200 | <probie> | Is there any way to create an (unboxed, mutable) vector which has "uninitialised" (neither read from, nor written to) elements, or am I going to be stuck with something like a (pinned) MutableByteArray# if I want that? |
2023-04-22 06:55:42 +0200 | <probie> | I want to allocate an array which has large portions I won't use, and rely on the fact that my OS won't actually give me the page of memory until it's first used to avoid running out of memory |
2023-04-22 06:57:00 +0200 | <davean> | What OS is that safe on? Thats safest on Linux but if you don't use a .... anyway ... you'll need to use storable. |
2023-04-22 06:59:43 +0200 | jargon | (~jargon@174-22-213-236.phnx.qwest.net) (Remote host closed the connection) |
2023-04-22 07:00:02 +0200 | <Maxdamantus> | I'd imagine it would be pretty much equally safe on all OSes with memory protection, as long as you use a pointer produced yourself by `mmap` or whatever mechanism is used to allocate memory. |
2023-04-22 07:00:52 +0200 | <probie> | Right, I can explicitly use the `MVector` constructor to build it. I hadn't realised that was exposed |
2023-04-22 07:01:32 +0200 | magnolia_mayhem[ | (~ashinnvma@2001:470:69fc:105::2:e5ed) |
2023-04-22 07:01:49 +0200 | <davean> | Maxdamantus: Nah, many don't overcommit, and none guarrentee overcommit that I know of. Linux is very eager about it but still ... there are edge case against it. There are some ways to fix that with mmap though. |
2023-04-22 07:01:55 +0200 | auri | (~auri@fsf/member/auri) |
2023-04-22 07:02:03 +0200 | <segfaultfizzbuzz> | what about using BeOS |
2023-04-22 07:02:24 +0200 | <Maxdamantus> | davean: Linux doesn't overcommit by default, but that just means it doesn't allow the "free memory" counter to drop below 0. |
2023-04-22 07:02:37 +0200 | <Maxdamantus> | davean: it doesn't actually zero out memory when you `mmap` it. |
2023-04-22 07:04:04 +0200 | <segfaultfizzbuzz> | https://www.youtube.com/watch?v=ggCODBIfWKY the future of computing |
2023-04-22 07:04:34 +0200 | <Maxdamantus> | eg I know that at least some versions of the JVM will mmap lots of memory as soon as you start it, and ultimately that just means that Linux reduces the amount of memory it considers to be "free". It doesn't create pages until you try to access it. |
2023-04-22 07:04:51 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 07:05:00 +0200 | <segfaultfizzbuzz> | you can move windows on the screen and play music at the same time without the music being interrupted on BeOS |
2023-04-22 07:05:33 +0200 | <probie> | If the future is "BeOS", you should take a look at the Haiku project. I don't think it's too relevant to Haskell, although I think some people have managed to get GHC to build on it |
2023-04-22 07:06:27 +0200 | <probie> | (build on Haiku that is, I have no idea about BeOS) |
2023-04-22 07:07:26 +0200 | <segfaultfizzbuzz> | haha i am mostly just joking around but lol ghc on haiku |
2023-04-22 07:09:42 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2023-04-22 07:11:33 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2023-04-22 07:22:42 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-04-22 07:25:24 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-04-22 07:25:43 +0200 | ub | (~Thunderbi@p200300ecdf2ac335c2e6749b36def79d.dip0.t-ipconnect.de) |
2023-04-22 07:25:52 +0200 | ubert | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2023-04-22 07:25:52 +0200 | ub | ubert |
2023-04-22 07:35:45 +0200 | ub | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) |
2023-04-22 07:36:32 +0200 | ubert | (~Thunderbi@p200300ecdf2ac335c2e6749b36def79d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-04-22 07:36:32 +0200 | ub | ubert |
2023-04-22 07:36:33 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-04-22 07:39:17 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-04-22 07:40:01 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 07:44:01 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2023-04-22 07:44:01 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2023-04-22 07:44:04 +0200 | allbery_b | geekosaur |
2023-04-22 07:44:51 +0200 | shinjipf6 | (~shinjipf@137.184.4.49) |
2023-04-22 07:44:54 +0200 | thegeekinside | (~thegeekin@189.180.119.50) (Ping timeout: 252 seconds) |
2023-04-22 07:45:04 +0200 | mniip_ | (mniip@libera/staff/mniip) |
2023-04-22 07:45:10 +0200 | sgarcia_ | (sgarcia@swarm.znchost.com) |
2023-04-22 07:45:18 +0200 | bgamari_ | (~bgamari@64.223.233.113) |
2023-04-22 07:45:18 +0200 | goldstein | (~goldstein@goldstein.rs) |
2023-04-22 07:45:21 +0200 | ub | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) |
2023-04-22 07:45:34 +0200 | tabemann__ | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2023-04-22 07:45:47 +0200 | shinjipf | (~shinjipf@137.184.4.49) (Quit: Ping timeout (120 seconds)) |
2023-04-22 07:45:48 +0200 | shinjipf6 | shinjipf |
2023-04-22 07:45:59 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 293 seconds) |
2023-04-22 07:45:59 +0200 | pieguy128 | (~pieguy128@bas1-montreal02-65-92-162-12.dsl.bell.ca) (Ping timeout: 261 seconds) |
2023-04-22 07:45:59 +0200 | ubert | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2023-04-22 07:45:59 +0200 | GoldsteinQ | (~goldstein@goldstein.rs) (Ping timeout: 256 seconds) |
2023-04-22 07:45:59 +0200 | shailangsa | (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) (Ping timeout: 256 seconds) |
2023-04-22 07:45:59 +0200 | bgamari | (~bgamari@64.223.233.113) (Ping timeout: 256 seconds) |
2023-04-22 07:45:59 +0200 | mniip | (mniip@libera/staff/mniip) (Quit: This page is intentionally left blank) |
2023-04-22 07:45:59 +0200 | sgarcia | (sgarcia@swarm.znchost.com) (Quit: Hosted by www.ZNCHost.com) |
2023-04-22 07:45:59 +0200 | ub | ubert |
2023-04-22 07:46:02 +0200 | tabemann_ | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2023-04-22 07:46:02 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-04-22 07:46:03 +0200 | pieguy128_ | (~pieguy128@bras-base-mtrlpq5031w-grc-56-65-92-162-12.dsl.bell.ca) |
2023-04-22 07:48:06 +0200 | Maxdaman1us | (~Maxdamant@user/maxdamantus) |
2023-04-22 07:49:42 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds) |
2023-04-22 07:49:52 +0200 | Maxdaman1us | Maxdamantus |
2023-04-22 07:59:58 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-04-22 07:59:59 +0200 | justache | reddit-bot |
2023-04-22 08:00:07 +0200 | reddit-bot | justache |
2023-04-22 08:19:57 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-177-200.46.114.pool.telefonica.de) |
2023-04-22 08:28:13 +0200 | shailangsa_ | (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) |
2023-04-22 08:32:53 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-04-174-88-193-177.dsl.bell.ca) (Ping timeout: 250 seconds) |
2023-04-22 08:34:15 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-04-22 09:00:37 +0200 | <dminuoso> | oddline: I think its still a bad diagnostic. |
2023-04-22 09:00:58 +0200 | <dminuoso> | oddline: If the role of UArray is at fault, the diagnostic here is completely misleading. |
2023-04-22 09:01:07 +0200 | <dminuoso> | UArray is not even being mentioned. |
2023-04-22 09:04:36 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-04-22 09:07:15 +0200 | acidjnk | (~acidjnk@p200300d6e715c456ad9bc6995a058b5d.dip0.t-ipconnect.de) |
2023-04-22 09:20:24 +0200 | tr_ev | (~trev@user/trev) |
2023-04-22 09:21:29 +0200 | tr_ev | (~trev@user/trev) (Client Quit) |
2023-04-22 09:21:40 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-04-22 09:21:46 +0200 | tr_ev | (~trev@user/trev) |
2023-04-22 09:22:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-04-22 09:22:40 +0200 | tr_ev | trev |
2023-04-22 09:23:12 +0200 | trev | (~trev@user/trev) (Client Quit) |
2023-04-22 09:23:44 +0200 | trev | (~trev@user/trev) |
2023-04-22 09:52:03 +0200 | random-jellyfish | (~random-je@user/random-jellyfish) |
2023-04-22 09:54:12 +0200 | ardell | (~ardell@user/ardell) |
2023-04-22 09:54:37 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 09:57:14 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 10:00:01 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2023-04-22 10:00:55 +0200 | ardell | (~ardell@user/ardell) (Quit: Konversation terminated!) |
2023-04-22 10:01:54 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-04-22 10:03:25 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:21d4:e288:9164:f829) (Remote host closed the connection) |
2023-04-22 10:03:44 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
2023-04-22 10:04:28 +0200 | random-jellyfish | (~random-je@user/random-jellyfish) (Quit: Client closed) |
2023-04-22 10:04:41 +0200 | random-jellyfish | (~random-je@user/random-jellyfish) |
2023-04-22 10:10:35 +0200 | random-jellyfish | (~random-je@user/random-jellyfish) (Quit: random-jellyfish) |
2023-04-22 10:13:48 +0200 | jmilan | (~jmilan@195.242.182.249) |
2023-04-22 10:15:10 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-04-22 10:18:22 +0200 | coot | (~coot@213.134.170.228) |
2023-04-22 10:33:05 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-04-22 10:42:31 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-177-200.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-04-22 10:46:01 +0200 | trev | (~trev@user/trev) (Ping timeout: 240 seconds) |
2023-04-22 10:46:12 +0200 | trev | (~trev@user/trev) |
2023-04-22 10:52:40 +0200 | trev | (~trev@user/trev) (Read error: Connection reset by peer) |
2023-04-22 10:52:54 +0200 | trev | (~trev@user/trev) |
2023-04-22 10:58:15 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-177-200.46.114.pool.telefonica.de) |
2023-04-22 11:00:04 +0200 | christiansen[m] | (~christian@2001:470:69fc:105::2:f23d) (Quit: You have been kicked for being idle) |
2023-04-22 11:01:46 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2023-04-22 11:03:15 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-04-22 11:04:32 +0200 | jmilan | (~jmilan@195.242.182.249) (Quit: Client closed) |
2023-04-22 11:10:23 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-04-22 11:11:41 +0200 | yax__ | (~pi@103.59.74.155) |
2023-04-22 11:12:21 +0200 | yax__ | (~pi@103.59.74.155) (Client Quit) |
2023-04-22 11:15:40 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-04-22 11:16:46 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) |
2023-04-22 11:18:50 +0200 | phma | (phma@2001:5b0:211f:e428:9fb9:b7cc:2fd:9e9) (Read error: Connection reset by peer) |
2023-04-22 11:20:20 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2023-04-22 11:30:28 +0200 | phma | (~phma@host-67-44-208-203.hnremote.net) |
2023-04-22 11:33:00 +0200 | phma | (~phma@host-67-44-208-203.hnremote.net) (Read error: Connection reset by peer) |
2023-04-22 11:34:25 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-177-200.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
2023-04-22 11:34:32 +0200 | phma | (~phma@2001:5b0:211f:5218:9152:3e57:9d1f:30e6) |
2023-04-22 11:39:59 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-179-219.46.114.pool.telefonica.de) |
2023-04-22 11:51:14 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-04-22 11:51:41 +0200 | trev | (~trev@user/trev) |
2023-04-22 11:55:43 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-22 12:01:25 +0200 | vglfr | (~vglfr@88.155.8.48) |
2023-04-22 12:02:04 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-04-22 12:05:15 +0200 | trev | (~trev@user/trev) (Read error: Connection reset by peer) |
2023-04-22 12:05:29 +0200 | trev | (~trev@user/trev) |
2023-04-22 12:15:03 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2023-04-22 12:17:21 +0200 | kmein | (~weechat@user/kmein) |
2023-04-22 12:17:51 +0200 | trev | (~trev@user/trev) (Ping timeout: 265 seconds) |
2023-04-22 12:18:08 +0200 | zer0bitz_ | (~zer0bitz@2001:2003:f443:d600:90ce:fd4d:93ec:8c55) |
2023-04-22 12:19:23 +0200 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:28e6:b5d5:3c01:ef5f) (Ping timeout: 248 seconds) |
2023-04-22 12:21:09 +0200 | alternateved | (~user@77-253-195-69.adsl.inetia.pl) |
2023-04-22 12:21:17 +0200 | coot | (~coot@213.134.170.228) (Quit: coot) |
2023-04-22 12:24:24 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) (Remote host closed the connection) |
2023-04-22 12:24:44 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) |
2023-04-22 12:25:59 +0200 | jmilan | (~jmilan@195.242.182.249) |
2023-04-22 12:28:17 +0200 | trev | (~trev@user/trev) |
2023-04-22 12:32:38 +0200 | __monty__ | (~toonn@user/toonn) |
2023-04-22 12:45:19 +0200 | accord | (uid568320@id-568320.hampstead.irccloud.com) |
2023-04-22 12:49:47 +0200 | pavonia | (~user@user/siracusa) |
2023-04-22 12:50:08 +0200 | dontdieych | (~alarm@132.226.169.184) |
2023-04-22 12:50:58 +0200 | Bocaneri | (~sauvin@user/Sauvin) |
2023-04-22 12:51:21 +0200 | Bocaneri | Guest4705 |
2023-04-22 12:54:13 +0200 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 276 seconds) |
2023-04-22 12:57:33 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 13:06:28 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-179-219.46.114.pool.telefonica.de) (Ping timeout: 252 seconds) |
2023-04-22 13:07:02 +0200 | dontdieych | (~alarm@132.226.169.184) (Quit: WeeChat 3.8) |
2023-04-22 13:12:26 +0200 | [exa] | (~exa@user/exa/x-3587197) |
2023-04-22 13:15:23 +0200 | vglfr | (~vglfr@88.155.8.48) (Read error: Connection reset by peer) |
2023-04-22 13:18:17 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng32-54f843-214.dhcp.inet.fi) |
2023-04-22 13:19:48 +0200 | zer0bitz_ | (~zer0bitz@2001:2003:f443:d600:90ce:fd4d:93ec:8c55) (Ping timeout: 260 seconds) |
2023-04-22 13:25:06 +0200 | jmilan | (~jmilan@195.242.182.249) (Quit: Client closed) |
2023-04-22 13:30:18 +0200 | jmilan | (~jmilan@195.242.182.249) |
2023-04-22 13:30:45 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-22 13:31:19 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 13:36:10 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2023-04-22 13:41:29 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
2023-04-22 13:43:32 +0200 | <unit73e> | hello. I just found out ruby bundle is kind of weird and there's a some of borrowed tech from haskell. I need for a serializer. |
2023-04-22 13:43:41 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 13:45:40 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 13:48:49 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2023-04-22 14:10:33 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-04-22 14:12:36 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) (Remote host closed the connection) |
2023-04-22 14:16:43 +0200 | alternateved | (~user@77-253-195-69.adsl.inetia.pl) (Ping timeout: 260 seconds) |
2023-04-22 14:27:38 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-22 14:33:09 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-04-22 14:33:46 +0200 | <justsomeguy> | What is the best package for creating resoruces on AWS in Haskell? |
2023-04-22 14:34:33 +0200 | <justsomeguy> | I'm somewhat familiar with using the python bindings for the CDK and also boto3, but I feel a little disoriented when it comes to haskell. |
2023-04-22 14:36:01 +0200 | <justsomeguy> | The ones I've found so far are amazonka and cdk-haskell. amazonka seems lower-level than boto3 -- it looks like the http API for AWS, instead. I haven't tried cdk-haskell, but I bet it's like the other CDK implementations. What's the equivalent of boto3? |
2023-04-22 14:38:20 +0200 | mei | (~mei@user/mei) (Quit: mei) |
2023-04-22 14:38:35 +0200 | <unit73e> | @justsomeguy, no idea. usually I start here and pick the one I find the best: https://hackage.haskell.org/packages/search?terms=aws |
2023-04-22 14:38:35 +0200 | <lambdabot> | Unknown command, try @list |
2023-04-22 14:38:41 +0200 | <unit73e> | justsomeguy, no idea. usually I start here and pick the one I find the best: https://hackage.haskell.org/packages/search?terms=aws |
2023-04-22 14:38:54 +0200 | <unit73e> | fail with the @ it's a other chat services thing |
2023-04-22 14:39:45 +0200 | <unit73e> | it appears like aws is the go to package |
2023-04-22 14:41:57 +0200 | <unit73e> | there's no real best in haskell afaik, you just pick the one you feel confortable with |
2023-04-22 14:42:06 +0200 | <unit73e> | as far as packages go, imo of course |
2023-04-22 14:42:40 +0200 | <justsomeguy> | I think I'm going to have to write a blog post that gives a survey of the various AWS related packages after I try a few out. |
2023-04-22 14:43:13 +0200 | <unit73e> | that's a good idea |
2023-04-22 14:46:30 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::6) (Remote host closed the connection) |
2023-04-22 14:48:43 +0200 | <justsomeguy> | Surprisingly, chatgpt has been able to give me a few good working examples. :) |
2023-04-22 14:51:44 +0200 | acidjnk | (~acidjnk@p200300d6e715c456ad9bc6995a058b5d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-04-22 14:54:31 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 260 seconds) |
2023-04-22 15:02:01 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
2023-04-22 15:07:21 +0200 | Guest4705 | Sauvin |
2023-04-22 15:07:58 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .) |
2023-04-22 15:09:28 +0200 | vglfr | (~vglfr@88.155.8.48) |
2023-04-22 15:09:45 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
2023-04-22 15:19:16 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-04-22 15:19:55 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 15:22:18 +0200 | jmilan | (~jmilan@195.242.182.249) (Ping timeout: 260 seconds) |
2023-04-22 15:22:36 +0200 | mei | (~mei@user/mei) |
2023-04-22 15:23:25 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds) |
2023-04-22 15:23:36 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2023-04-22 15:48:57 +0200 | ryantrinkle | (~ryantrink@209.91.235.83) (Ping timeout: 255 seconds) |
2023-04-22 15:54:08 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-04-22 15:54:49 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-22 16:01:13 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-178-072.46.114.pool.telefonica.de) |
2023-04-22 16:03:56 +0200 | ryantrinkle | (~ryantrink@140.174.241.172) |
2023-04-22 16:05:38 +0200 | Me-me | (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Quit: Going offline, see ya! (www.adiirc.com)) |
2023-04-22 16:08:24 +0200 | <fbytez> | jackdk, sounds good to me. How do I instruct ghc to link to musl libc instead? |
2023-04-22 16:13:04 +0200 | <hammond> | if I had function that did [String]->String and took the strings inside the list and concatinated them recursivly and returned a string, would there be a way to overload a function like that to take a list [String] that if it only has 1 element in the array instead of concatinating it recursivly it would do something else and return a string? |
2023-04-22 16:13:45 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2023-04-22 16:14:42 +0200 | <hammond> | or do I have to write a different function, that handles the case of there being one element inside the list [String] and simply call that. |
2023-04-22 16:14:47 +0200 | <jean-paul[m]> | What do you mean "recursively"? |
2023-04-22 16:16:06 +0200 | <jean-paul[m]> | You can pattern match on a list of one element: f [x] = ... but I'm not sure if that's what you're looking for. |
2023-04-22 16:19:12 +0200 | <hammond> | https://pastebin.com/fvfXj7Gu <--- |
2023-04-22 16:21:06 +0200 | <hammond> | if I put a pattern match in there that says something like length xs == 1 it will be called for lists of size n+1. |
2023-04-22 16:22:52 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-04-22 16:23:40 +0200 | <hammond> | in java I would write something like String(List<String> a ) { if(a.size()==1){/*do something here*/} else{ /*loop thru it*/ } } |
2023-04-22 16:23:53 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-04-22 16:24:00 +0200 | vglfr | (~vglfr@88.155.8.48) (Ping timeout: 248 seconds) |
2023-04-22 16:26:09 +0200 | <probie> | hammond: It's probably not particularly idiomatic, but what stops you doing this in Haskell (e.g. `f (x:xs) = if null xs then {- do something here -} else {- loop through it -}`)? |
2023-04-22 16:26:43 +0200 | <ncf> | make another function with a pattern [x] that does what you want and a catch-all pattern that calls composeString |
2023-04-22 16:27:14 +0200 | <ncf> | or refactor your program so that you don't need to special-case lists of length 1 |
2023-04-22 16:27:49 +0200 | <[Leary]> | :t \xs f -> concat . intersperse " " <$> for xs f |
2023-04-22 16:27:50 +0200 | <lambdabot> | Applicative f => [a] -> (a -> f [Char]) -> f [Char] |
2023-04-22 16:27:55 +0200 | <[Leary]> | Something like that. |
2023-04-22 16:29:28 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-04-22 16:31:30 +0200 | <hammond> | ok thx |
2023-04-22 16:40:26 +0200 | Ranhir | (~Ranhir@157.97.53.139) (Remote host closed the connection) |
2023-04-22 16:40:43 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-22 16:49:51 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 16:57:51 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-22 16:58:29 +0200 | ddellacosta | (~ddellacos@143.244.47.84) (Quit: WeeChat 3.8) |
2023-04-22 16:59:44 +0200 | ddellacosta | (~ddellacos@143.244.47.84) |
2023-04-22 17:02:20 +0200 | <monochrom> | What if a.size()==0 ? |
2023-04-22 17:03:02 +0200 | <monochrom> | But more importantly you should analogize Haskell [a] with Java Stream<a>, not List. |
2023-04-22 17:07:40 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) |
2023-04-22 17:08:53 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-22 17:09:20 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 17:20:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-04-22 17:21:00 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-04-22 17:21:49 +0200 | Ranhir | (~Ranhir@157.97.53.139) |
2023-04-22 17:22:01 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 276 seconds) |
2023-04-22 17:25:01 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2023-04-22 17:30:23 +0200 | rf | (~rf@2605:59c8:1604:2210:49b1:9a7a:6cf8:68fc) |
2023-04-22 17:32:12 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 17:34:56 +0200 | hueso | (~root@user/hueso) (Quit: hueso) |
2023-04-22 17:37:24 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 264 seconds) |
2023-04-22 17:37:50 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-04-22 17:39:14 +0200 | Alex_test | (~al_test@178.34.150.15) (Ping timeout: 265 seconds) |
2023-04-22 17:39:34 +0200 | AlexZenon | (~alzenon@178.34.150.15) (Ping timeout: 276 seconds) |
2023-04-22 17:43:40 +0200 | Alex_test | (~al_test@178.34.150.15) |
2023-04-22 17:43:53 +0200 | AlexZenon | (~alzenon@178.34.150.15) |
2023-04-22 17:43:59 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-04-22 17:44:56 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-04-22 17:47:08 +0200 | hueso | (~root@user/hueso) |
2023-04-22 17:50:10 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-22 17:51:05 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 240 seconds) |
2023-04-22 17:51:10 +0200 | acidjnk | (~acidjnk@p200300d6e715c4732d0e415c422b1d76.dip0.t-ipconnect.de) |
2023-04-22 17:55:07 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) (Remote host closed the connection) |
2023-04-22 17:55:18 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-04-22 17:55:41 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) |
2023-04-22 17:56:07 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-04-22 17:58:01 +0200 | rf | (~rf@2605:59c8:1604:2210:49b1:9a7a:6cf8:68fc) (Ping timeout: 252 seconds) |
2023-04-22 18:00:12 +0200 | jesser[m] | (~jessermat@2001:470:69fc:105::d5ae) (Quit: You have been kicked for being idle) |
2023-04-22 18:03:16 +0200 | rf | (~rf@2605:59c8:1604:2210:5f25:9811:549b:cf83) |
2023-04-22 18:05:22 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 18:05:22 +0200 | heraldo | (~heraldo@user/heraldo) (Client Quit) |
2023-04-22 18:06:59 +0200 | machinedgod | (~machinedg@198.53.218.113) |
2023-04-22 18:09:47 +0200 | econo | (uid147250@user/econo) |
2023-04-22 18:14:51 +0200 | hueso | (~root@user/hueso) (Quit: hueso) |
2023-04-22 18:16:37 +0200 | ubert | (~Thunderbi@p548c8f0b.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2023-04-22 18:16:46 +0200 | ub | (~Thunderbi@84.140.143.11) |
2023-04-22 18:19:03 +0200 | ub | ubert |
2023-04-22 18:19:15 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-04-22 18:20:02 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-04-22 18:26:57 +0200 | hueso | (~root@user/hueso) |
2023-04-22 18:33:36 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds) |
2023-04-22 18:38:03 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 18:52:18 +0200 | <ski> | hammond : note that `length xs == 1' is not idiomatic, is inefficient (since it requires traversing the list to the end). it's better to match `xs' on a pattern `[x]', or (if you must use `Bool'eans) at least use `not (null xs) && null (tail xs)' |
2023-04-22 18:54:00 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-22 18:57:40 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 19:01:59 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit) |
2023-04-22 19:03:49 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-04-22 19:05:51 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-22 19:06:22 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-04-22 19:08:21 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
2023-04-22 19:08:40 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
2023-04-22 19:11:58 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-22 19:18:27 +0200 | <hpc> | or if you're still dead-set on being unidiomatic, not (null xs) is equivalent to unsafeCoerce xs :D |
2023-04-22 19:19:23 +0200 | <tomsmeding> | (don't do that) |
2023-04-22 19:21:27 +0200 | <jean-paul[m]> | wait what? how are those two equivalent? |
2023-04-22 19:22:00 +0200 | <tomsmeding> | jean-paul[m]: [] and False are both the first constructor, and (:) and True are both the second constructor |
2023-04-22 19:22:15 +0200 | <tomsmeding> | things would go horribly wrong were you to actually read the fields of the constructors -- but fortunately, True and False have no fields |
2023-04-22 19:22:31 +0200 | <tomsmeding> | also this only works because everything here is lifted etc |
2023-04-22 19:25:33 +0200 | ski | occasionally misses `Nat' in lambdabot |
2023-04-22 19:25:55 +0200 | tomsmeding | looks questioningly at ski |
2023-04-22 19:26:51 +0200 | <hpc> | it's basically [()] |
2023-04-22 19:27:06 +0200 | <ski> | well, you could say `genericLength xs == (1 :: Nat)' |
2023-04-22 19:27:28 +0200 | <hpc> | oh, that's way better than what i was going to say lol |
2023-04-22 19:27:41 +0200 | <tomsmeding> | oh I see |
2023-04-22 19:27:59 +0200 | <hpc> | i was going to coerce the list again |
2023-04-22 19:28:04 +0200 | <ski> | (: |
2023-04-22 19:32:13 +0200 | <tomsmeding> | @let data Nat = Z | S Nat deriving (Show, Eq, Ord) |
2023-04-22 19:32:14 +0200 | <lambdabot> | Defined. |
2023-04-22 19:32:23 +0200 | <tomsmeding> | @let instance Num Nat where { Z + n = n ; S m + n = S (m + n) ; Z * _ = Z ; S m * n = n + m * n ; negate _ = error "negate on Nat" ; abs = id ; signum = const 1 ; fromInteger n | n < 0 = error "fromInteger to Nat on negative number" | otherwise = let { go 0 = Z ; go m = S (go (m-1)) } in go n } |
2023-04-22 19:32:24 +0200 | <lambdabot> | Defined. |
2023-04-22 19:32:43 +0200 | <tomsmeding> | > genericLength [1..] == (1 :: Nat) |
2023-04-22 19:32:44 +0200 | <lambdabot> | False |
2023-04-22 19:33:16 +0200 | <tomsmeding> | groovy |
2023-04-22 19:33:33 +0200 | <hpc> | it's actually haskell, groovy is a jvm language :P |
2023-04-22 19:33:38 +0200 | <tomsmeding> | :p |
2023-04-22 19:38:36 +0200 | <ski> | (well, `signum Z = Z', i guess) |
2023-04-22 19:38:44 +0200 | <tomsmeding> | hmm |
2023-04-22 19:38:58 +0200 | <ski> | > signum 0 |
2023-04-22 19:39:00 +0200 | <lambdabot> | 0 |
2023-04-22 19:39:03 +0200 | <tomsmeding> | @let instance Num Nat where { Z + n = n ; S m + n = S (m + n) ; Z * _ = Z ; S m * n = n + m * n ; negate _ = error "negate on Nat" ; abs = id ; signum Z = Z ; signum _ = 1 ; fromInteger n | n < 0 = error "fromInteger to Nat on negative number" | otherwise = let { go 0 = Z ; go m = S (go (m-1)) } in go n } |
2023-04-22 19:39:04 +0200 | <lambdabot> | /sandbox/tmp/.L.hs:161:10: error: |
2023-04-22 19:39:04 +0200 | <lambdabot> | Duplicate instance declarations: |
2023-04-22 19:39:04 +0200 | <lambdabot> | instance [safe] Num Nat -- Defined at /sandbox/tmp/.L.hs:161:10 |
2023-04-22 19:39:12 +0200 | <tomsmeding> | ... |
2023-04-22 19:39:13 +0200 | <ski> | @undefine |
2023-04-22 19:39:13 +0200 | <lambdabot> | Undefined. |
2023-04-22 19:39:21 +0200 | <tomsmeding> | does that undefine everything |
2023-04-22 19:39:23 +0200 | <ski> | yes |
2023-04-22 19:39:34 +0200 | <tomsmeding> | should I add this to the yahb2 prelude |
2023-04-22 19:39:44 +0200 | <ski> | (it used to be that `@define' also did that. alas, no more) |
2023-04-22 19:40:09 +0200 | <tomsmeding> | did @define define everything? |
2023-04-22 19:40:15 +0200 | <ski> | it undefined everything |
2023-04-22 19:40:26 +0200 | <tomsmeding> | that's delightfully surprising |
2023-04-22 19:40:32 +0200 | <tomsmeding> | @let data Nat = Z | S Nat deriving (Show, Eq, Ord) |
2023-04-22 19:40:32 +0200 | <lambdabot> | Defined. |
2023-04-22 19:40:45 +0200 | <tomsmeding> | @let instance Num Nat where { Z + n = n ; S m + n = S (m + n) ; Z * _ = Z ; S m * n = n + m * n ; negate _ = error "negate on Nat" ; abs = id ; signum Z = Z ; signum _ = 1 ; fromInteger n | n < 0 = error "fromInteger to Nat on negative number" | otherwise = let { go 0 = Z ; go m = S (go (m-1)) } in go n } |
2023-04-22 19:40:47 +0200 | <lambdabot> | Defined. |
2023-04-22 19:40:47 +0200 | <ski> | edit distance of two, so it spell-corrected |
2023-04-22 19:40:51 +0200 | <tomsmeding> | lol |
2023-04-22 19:41:02 +0200 | <ski> | but sure, feel free to add it, tomsmeding |
2023-04-22 19:41:20 +0200 | <ski> | tomsmeding : nice for surprising people :) |
2023-04-22 19:42:43 +0200 | mmhat | (~mmh@p200300f1c7132c95ee086bfffe095315.dip0.t-ipconnect.de) |
2023-04-22 19:47:07 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2023-04-22 19:47:19 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2023-04-22 19:49:35 +0200 | <tomsmeding> | % Data.List.genericLength [1..] :: Nat |
2023-04-22 19:49:35 +0200 | <yahb2> | S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S ... |
2023-04-22 19:51:22 +0200 | <ski> | % (0 :: Nat) < fix S |
2023-04-22 19:51:22 +0200 | <yahb2> | True |
2023-04-22 19:51:32 +0200 | mmhat | (~mmh@p200300f1c7132c95ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
2023-04-22 19:51:42 +0200 | <tomsmeding> | % infinity = fix S |
2023-04-22 19:51:42 +0200 | <yahb2> | <no output> |
2023-04-22 19:52:59 +0200 | <tomsmeding> | % 0 * infinity |
2023-04-22 19:52:59 +0200 | <yahb2> | Z |
2023-04-22 19:53:14 +0200 | <ski> | btw, another trick for `genericLength xs <= (fromIntegral n :: Nat)' is to use `length (take n xs) <= n' |
2023-04-22 19:53:30 +0200 | <tomsmeding> | ski: < in both cases? |
2023-04-22 19:53:45 +0200 | <ski> | if you prefer, i guess |
2023-04-22 19:53:54 +0200 | <tomsmeding> | well `length (take n xs) <= n` is always true |
2023-04-22 19:54:23 +0200 | <ski> | ah, right |
2023-04-22 19:55:14 +0200 | <ski> | (i was thinking about wanting to avoid `_ < 0' being `False', and didn't consider the other end of that edit appropriately) |
2023-04-22 19:56:04 +0200 | <tomsmeding> | I mean, using `take (n+1)` fixes the problem |
2023-04-22 19:57:45 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-04-22 20:00:50 +0200 | <tomsmeding> | omg cabal doesn't print 'Up to date' any more on 'cabal run' |
2023-04-22 20:01:00 +0200 | <tomsmeding> | celebrations |
2023-04-22 20:03:28 +0200 | <tomsmeding> | no more '| tail +2' |
2023-04-22 20:04:03 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-ccb5-f017-368a-649d.rev.sfr.net) (Ping timeout: 260 seconds) |
2023-04-22 20:04:40 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-256b-4615-12e3-a2f3.rev.sfr.net) |
2023-04-22 20:06:47 +0200 | <geekosaur> | -v0 works too… |
2023-04-22 20:09:35 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-04-22 20:09:47 +0200 | phma | (~phma@2001:5b0:211f:5218:9152:3e57:9d1f:30e6) (Quit: Konversation terminated!) |
2023-04-22 20:09:53 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-256b-4615-12e3-a2f3.rev.sfr.net) (Ping timeout: 260 seconds) |
2023-04-22 20:10:14 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-9154-7cd5-8877-b96c.rev.sfr.net) |
2023-04-22 20:10:33 +0200 | phma | (phma@2001:5b0:211f:5218:9152:3e57:9d1f:30e6) |
2023-04-22 20:13:15 +0200 | <hammond> | I have a Maybe Double and I want to print the a and not the Just a. how do I do that? or do I always need to keep using <$> ? (I'm very beginner) |
2023-04-22 20:13:42 +0200 | hololeap | (~quassel@user/hololeap) (Remote host closed the connection) |
2023-04-22 20:14:03 +0200 | <tomsmeding> | hammond: what should happen if it's a Nothing? |
2023-04-22 20:14:23 +0200 | machinedgod | (~machinedg@198.53.218.113) (Ping timeout: 265 seconds) |
2023-04-22 20:15:14 +0200 | <hammond> | well... |
2023-04-22 20:15:22 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-22 20:15:25 +0200 | <hammond> | for now just 0.0 |
2023-04-22 20:15:27 +0200 | hololeap | (~quassel@user/hololeap) |
2023-04-22 20:15:44 +0200 | <ski> | @type fromMaybe 0.0 |
2023-04-22 20:15:45 +0200 | <lambdabot> | Fractional a => Maybe a -> a |
2023-04-22 20:16:00 +0200 | <monochrom> | Perhaps better: Don't start with Maybe Double in the first place. |
2023-04-22 20:16:14 +0200 | <ski> | > map (fromMaybe 0.0) [Nothing,Nothing,Just 2,Just 3,Nothing,Just 5] |
2023-04-22 20:16:15 +0200 | <lambdabot> | [0.0,0.0,2.0,3.0,0.0,5.0] |
2023-04-22 20:16:31 +0200 | <ski> | yea, a good question is where does the `Maybe' come from ? |
2023-04-22 20:16:38 +0200 | <hammond> | well im parsing a string from a webpage to a double and read crashed and im using maybeRead |
2023-04-22 20:16:59 +0200 | <ski> | why did it "crash" ? |
2023-04-22 20:17:29 +0200 | <monochrom> | So that means you still don't have a plan for parse errors. |
2023-04-22 20:17:37 +0200 | <hammond> | the regex didn't read I imagine. I will fix the regex, but I can't fix all cases. |
2023-04-22 20:18:03 +0200 | <ski> | you need to decide on what would be reasonable to do, in case you can't parse a `Double' |
2023-04-22 20:18:57 +0200 | <ski> | ("just give any random result or behaviour" isn't "what would be reasonable", typically) |
2023-04-22 20:19:24 +0200 | <monochrom> | This is one of those times when what Hutton said about "programming is hard, Haskell just exposes that fact up front" holds. |
2023-04-22 20:19:51 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2023-04-22 20:20:22 +0200 | <monochrom> | Other languages shoves this issue under the rug. Haskell keeps you honest. You try to parse input, you need a plan B for parse errors sooner or later. |
2023-04-22 20:20:30 +0200 | <ski> | (also, pretty sure `maybeRead' doesn't use a regex) |
2023-04-22 20:20:42 +0200 | <tomsmeding> | (was it readMaybe perhaps?) |
2023-04-22 20:21:19 +0200 | ski | figured it was a hand-rolled one, on top of `reads' .. perhaps an unjustified assumption |
2023-04-22 20:22:00 +0200 | tomsmeding | assumed they didn't reach for 'reads' when they haven't got Maybe down pat yet |
2023-04-22 20:22:20 +0200 | <monochrom> | readMaybe is still easier to use than reads. |
2023-04-22 20:24:44 +0200 | madjestic | (~madjestic@88.159.247.120) |
2023-04-22 20:25:09 +0200 | <monochrom> | NaN is also a candidate. |
2023-04-22 20:25:50 +0200 | <ski> | > (reads :: ReadS Double) "NaN" |
2023-04-22 20:25:51 +0200 | <lambdabot> | [(NaN,"")] |
2023-04-22 20:26:14 +0200 | <monochrom> | I have a phone app that tells me how many cinema loyalty points I have (and more ways to earn/use points etc). One day something went wrong and it legit said "NaN" for my number of points. :) |
2023-04-22 20:26:25 +0200 | <monochrom> | I think I still have the screenshot heh. |
2023-04-22 20:26:51 +0200 | <ski> | one would have to wonder what operation they were using on them, to be able to arrive at that |
2023-04-22 20:27:30 +0200 | <tomsmeding> | ski: probably parsing :p |
2023-04-22 20:28:16 +0200 | <monochrom> | Probably just connection failure -> no string or unexpected string -> fromMaybe NaN. |
2023-04-22 20:28:34 +0200 | <xerox> | +undefined ==> NaN |
2023-04-22 20:29:24 +0200 | tomsmeding | is somewhat amused that +undefined != +null |
2023-04-22 20:30:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-04-22 20:35:39 +0200 | <hammond> | the thing im giving maybeRead is a result from a regex. btw. ::[[String]] then i do string !! 0 !! 5 which is prolly terrible. |
2023-04-22 20:35:42 +0200 | <hammond> | horrible. |
2023-04-22 20:36:08 +0200 | <hammond> | i like the maybe idea though. |
2023-04-22 20:37:48 +0200 | <hammond> | but thx for ur discussion guize. have a hard time wrapping my head around this maybe construct. |
2023-04-22 20:37:53 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-9154-7cd5-8877-b96c.rev.sfr.net) (Ping timeout: 260 seconds) |
2023-04-22 20:38:05 +0200 | <tomsmeding> | hammond: is Haskell your first programming language? |
2023-04-22 20:38:13 +0200 | <hammond> | Java |
2023-04-22 20:38:21 +0200 | <tomsmeding> | hammond: do you know Optional in Java? |
2023-04-22 20:38:42 +0200 | <hammond> | I heard about it when I was reading on Haskell. |
2023-04-22 20:38:45 +0200 | <tomsmeding> | that's what Maybe is, just with a different name |
2023-04-22 20:38:46 +0200 | <tomsmeding> | ah :D |
2023-04-22 20:42:30 +0200 | <ski> | hammond : a simplistic way to think about it : we use `Maybe' in Haskell where something could validly be `null' in Java. of course, an object in Java could always be `null' unless you ensure it can't be, for any situation. in Haskell, if we don't use `Maybe', then it can't be `Nothing', which is much nicer |
2023-04-22 20:43:41 +0200 | <ski> | hammond : "then i do string !! 0 !! 5 which is prolly terrible" -- is the list (of lists) expected to be a singleton list ? having an element list that has five elements ? in that case, you could match against `[[a,b,c,d,e]]' and use `e' instead |
2023-04-22 20:46:57 +0200 | <geekosaur> | a,b,c,d,e,f? |
2023-04-22 20:47:30 +0200 | <ski> | ah, yes :) |
2023-04-22 20:51:07 +0200 | coot | (~coot@213.134.170.228) |
2023-04-22 20:51:42 +0200 | <hammond> | https://pastebin.com/DkLbq81y <--- I thought that would work fine for maybes, but the compiler tells me it gives me an extra term f1 in front of the Double. which idk what it is. |
2023-04-22 20:51:51 +0200 | <hammond> | functor? |
2023-04-22 20:52:46 +0200 | <hammond> | nice ski i see |
2023-04-22 20:52:47 +0200 | <geekosaur> | why are yoiu using pure? |
2023-04-22 20:52:55 +0200 | <hammond> | idk |
2023-04-22 20:53:13 +0200 | <geekosaur> | that's what it can't figure out, it expects an Applicative type for pure to work\ |
2023-04-22 20:53:40 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-22 20:53:48 +0200 | <monochrom> | Did some kind of AI told you to? >:) |
2023-04-22 20:53:50 +0200 | <geekosaur> | and if you remove that because you just want the Double, you have reinvented fromMaybe |
2023-04-22 20:54:34 +0200 | <hammond> | oh |
2023-04-22 20:54:38 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-22 20:54:56 +0200 | <hammond> | took half a day... |
2023-04-22 20:55:00 +0200 | <hammond> | terrible |
2023-04-22 20:55:02 +0200 | <hammond> | thx |
2023-04-22 20:55:18 +0200 | <monochrom> | Sometimes I actually stick with that case-of and not change it to fromMaybe. |
2023-04-22 20:56:01 +0200 | <monochrom> | More verbose but I like to see the branching and I don't like to remember fromMaybe vs maybe and argument order. |
2023-04-22 20:56:19 +0200 | <ski> | also if you already have other matching |
2023-04-22 20:57:24 +0200 | <monochrom> | Kind of my secret way of "how do I get rid of the parens in maybe xyz (\x -> blahblah)?" (Answer: use case-of and layout :) ) |
2023-04-22 20:59:59 +0200 | <monochrom> | Oddly enough when it's lists, whenever I see an opportunity for foldr, I'll take it. |
2023-04-22 21:00:46 +0200 | <monochrom> | So I'm inconsistent. I write my own case-of instead of Maybe's catamorphism, and I use [a]'s catamorphism instead of my own case-of and recursion. |
2023-04-22 21:02:05 +0200 | <ski> | perhaps there should be a `cata'-`of' |
2023-04-22 21:02:22 +0200 | <monochrom> | That would be nice. |
2023-04-22 21:02:42 +0200 | <monochrom> | That may also be Hagino's "data and co-data" language :) |
2023-04-22 21:02:42 +0200 | <ski> | (Charity had something along those lines .. also for anamorphisms) |
2023-04-22 21:02:48 +0200 | ski | grins |
2023-04-22 21:03:02 +0200 | <tomsmeding> | ski: where it automatically replaces the recursive positions with a recursive application of your cata-of block? |
2023-04-22 21:03:13 +0200 | <ski> | something like that, yes |
2023-04-22 21:03:47 +0200 | <tomsmeding> | I feel like that shouldn't be too hard to imitate with Generics and a type class, though perhaps with suboptimal syntax |
2023-04-22 21:04:13 +0200 | <monochrom> | It's also the only kind of ADT pattern matching in calculi of constructions. |
2023-04-22 21:04:35 +0200 | <fbytez> | https://paste.tomsmeding.com/J3vd2Jmr -- How should I be writing those `let`s to perform exhaustive matching? |
2023-04-22 21:04:36 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-04-22 21:04:53 +0200 | <tomsmeding> | fbytez: use case instead? |
2023-04-22 21:05:07 +0200 | <tomsmeding> | you can't give multiple options with 'let' |
2023-04-22 21:05:23 +0200 | <fbytez> | Right. Would you mind giving me a small example, please. |
2023-04-22 21:05:54 +0200 | <fbytez> | Or even just a link to some relevant documentation. |
2023-04-22 21:06:43 +0200 | <monochrom> | My https://github.com/treblacy/ep/blob/main/ep.hs has an example. |
2023-04-22 21:07:19 +0200 | <fbytez> | Thankyou. |
2023-04-22 21:07:49 +0200 | <tomsmeding> | fbytez: https://paste.tomsmeding.com/PO2PWacT |
2023-04-22 21:08:31 +0200 | <ski> | (details to be worked out .. would be nice to support para and apo too) |
2023-04-22 21:08:38 +0200 | <fbytez> | Much appreciated, thanks. |
2023-04-22 21:08:56 +0200 | <tomsmeding> | fbytez: if you don't need to run IO in the other cases, then you don't have to use '<- syntax and can simply use 'let (to, msg_query) = case ...' |
2023-04-22 21:09:11 +0200 | <tomsmeding> | but then you'll need to supply an alternative value for those variables even in the non-matching case :) |
2023-04-22 21:09:11 +0200 | <fbytez> | Right. |
2023-04-22 21:09:22 +0200 | <fbytez> | Very helpful, thanks. |
2023-04-22 21:09:53 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-04-22 21:10:04 +0200 | <ski> | fbytez : also, brackets redundant in `(strMax : query)' there |
2023-04-22 21:10:20 +0200 | <fbytez> | Yeah, I noticed that after looking at monochrom's link. |
2023-04-22 21:10:58 +0200 | <fbytez> | I think I had an example that used the brackets in mind when I wrote it. |
2023-04-22 21:14:42 +0200 | paulpaul1076 | (~textual@95.29.5.210) |
2023-04-22 21:15:18 +0200 | <fbytez> | tomsmeding, I think I recall someone telling me that `return` is deprecated and I ought to use `pure`, is that right? |
2023-04-22 21:15:56 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-31e5-983b-3a75-bb14.rev.sfr.net) |
2023-04-22 21:23:23 +0200 | <tomsmeding> | fbytez: "deprecated" is too strong. They mean the same thing (whenever both are valid, which is often in most code), and some people feel that 'return' should be removed from the Monad class. (I don't disagree.) There are fewer people that feel that noone should ever use 'return' any more. |
2023-04-22 21:23:41 +0200 | <tomsmeding> | Let's say: some people believe that 'return' _should_ be deprecated. Others don't. :) |
2023-04-22 21:24:13 +0200 | <tomsmeding> | but if you want to use 'pure', do your thing: whenever 'return' is valid, 'pure' is, so it's always a correct choice |
2023-04-22 21:24:22 +0200 | <tomsmeding> | I used 'return' out of habit |
2023-04-22 21:24:51 +0200 | <ski> | istr Idris supports syntax like `do A a <- getA | B -> error "it is B"; logShow a' |
2023-04-22 21:25:08 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-31e5-983b-3a75-bb14.rev.sfr.net) (Ping timeout: 260 seconds) |
2023-04-22 21:25:14 +0200 | <tomsmeding> | ski: agda has a similar thing, spelling your '|' as 'where' |
2023-04-22 21:25:15 +0200 | <ski> | (can't seem to find documentation on it atm, though, apart from one other external page referring to the notation) |
2023-04-22 21:25:21 +0200 | <fbytez> | tomsmeding, thanks. |
2023-04-22 21:25:50 +0200 | <tomsmeding> | ( ski: encountered it today in some agda code in the wild, didn't know about it before https://github.com/jespercockx/ataca/blob/master/src/Ataca/Core.agda#L94 ) |
2023-04-22 21:26:04 +0200 | ski | uses `return' when there's a `Monad' constraint |
2023-04-22 21:26:13 +0200 | tomsmeding | too |
2023-04-22 21:26:30 +0200 | <fbytez> | `return` is little more specific than `pure`? |
2023-04-22 21:26:38 +0200 | <tomsmeding> | :t return |
2023-04-22 21:26:39 +0200 | <lambdabot> | Monad m => a -> m a |
2023-04-22 21:26:40 +0200 | <tomsmeding> | :t pure |
2023-04-22 21:26:42 +0200 | <lambdabot> | Applicative f => a -> f a |
2023-04-22 21:26:48 +0200 | <tomsmeding> | every Monad is also an Applicative |
2023-04-22 21:26:59 +0200 | <tomsmeding> | and the definition of 'return' is simply 'pure' |
2023-04-22 21:27:00 +0200 | <ski> | a bit like using `liftM' (or `liftA') instead of `fmap' (or `(<$>)') |
2023-04-22 21:27:12 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-d884-593f-d788-d6c8.rev.sfr.net) |
2023-04-22 21:27:16 +0200 | <ski> | `return' predates `pure' |
2023-04-22 21:27:18 +0200 | alexherbo2 | (~alexherbo@2a02-842a-8180-4601-d884-593f-d788-d6c8.rev.sfr.net) (Remote host closed the connection) |
2023-04-22 21:27:22 +0200 | <tomsmeding> | or using 'map' instead of 'fmap' :) |
2023-04-22 21:27:25 +0200 | <ski> | yep |
2023-04-22 21:27:28 +0200 | <fbytez> | I think I get it, thanks. |
2023-04-22 21:27:34 +0200 | <ski> | or `++' in place of `<>' |
2023-04-22 21:28:07 +0200 | <ski> | (iirc, `mplus' used to be named `++', just like `fmap' was named `map') |
2023-04-22 21:28:32 +0200 | <ski> | (this was in Haskell 1.4, i think) |
2023-04-22 21:28:52 +0200 | <ski> | najs, tomsmeding |
2023-04-22 21:29:49 +0200 | <tomsmeding> | you know what? I would like syntax for early-exiting out of a do block |
2023-04-22 21:30:10 +0200 | <ski> | tomsmeding : does it continue with the next command, in both cases ? if it does, i assume it ensures that the same variables are bound |
2023-04-22 21:30:11 +0200 | <tomsmeding> | and for shits and giggles make that syntax 'return' |
2023-04-22 21:30:11 +0200 | <geekosaur> | glwt |
2023-04-22 21:30:32 +0200 | <ski> | i've sometimes wanted `if' and `case' syntax in `do' |
2023-04-22 21:31:07 +0200 | <tomsmeding> | ski: it would skip the rest of the do-block that the statement is in. 1. This clearly only works as compiler syntax because library code cannot know where the do-block ends. 2. This clearly only works if the do-block has return-type () |
2023-04-22 21:31:15 +0200 | <ski> | like `do if ... then {(x,y) <- ...} else {...; x <- ...; ...; y <- ...; ...}; ...' |
2023-04-22 21:31:28 +0200 | <tomsmeding> | that would be neat too |
2023-04-22 21:32:05 +0200 | <ski> | (also, `if' and `case', and `let' wrapping declarations (SML has `local'-`in'-`end' for the last thing)) |
2023-04-22 21:33:03 +0200 | <ski> | "2. This clearly only works if the do-block has return-type ()" ? |
2023-04-22 21:33:41 +0200 | <tomsmeding> | ski: oh that's false, the "return statement" should of course take an argument |
2023-04-22 21:33:44 +0200 | <tomsmeding> | ignore (2.) |
2023-04-22 21:33:51 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-22 21:33:58 +0200 | <ski> | why not `do x <- ... where {... -> return (... :: String)}; ...; return (... : String)' ? |
2023-04-22 21:34:01 +0200 | <ski> | ah |
2023-04-22 21:35:31 +0200 | jil | (~user@vps-15050500.vps.ovh.net) |
2023-04-22 21:35:35 +0200 | <jil> | hi |
2023-04-22 21:35:42 +0200 | <ski> | lo |
2023-04-22 21:36:23 +0200 | <tomsmeding> | geekosaur: it took until now to interpret your abbreviation, but yes lol |
2023-04-22 21:38:36 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2023-04-22 21:40:32 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2023-04-22 21:40:51 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds) |
2023-04-22 21:43:17 +0200 | drdo | (~drdo@bl14-14-164.dsl.telepac.pt) (Ping timeout: 250 seconds) |
2023-04-22 21:55:37 +0200 | drdo | (~drdo@bl14-14-164.dsl.telepac.pt) |
2023-04-22 22:02:09 +0200 | wroathe | (~wroathe@50.205.197.50) |
2023-04-22 22:02:09 +0200 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-04-22 22:02:09 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-22 22:05:16 +0200 | madjestic | (~madjestic@88.159.247.120) (Quit: leaving) |
2023-04-22 22:13:13 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 276 seconds) |
2023-04-22 22:16:14 +0200 | merijn | (~merijn@86.86.29.250) |
2023-04-22 22:19:17 +0200 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2023-04-22 22:21:15 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::2) |
2023-04-22 22:21:48 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-178-072.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-04-22 22:22:03 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 248 seconds) |
2023-04-22 22:24:02 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-04-22 22:28:19 +0200 | michalz | (~michalz@185.246.207.203) |
2023-04-22 22:28:37 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-178-072.46.114.pool.telefonica.de) |
2023-04-22 22:28:48 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-04-22 22:33:47 +0200 | img | (~img@user/img) |
2023-04-22 22:36:59 +0200 | opticblast | (~Thunderbi@172.58.85.88) |
2023-04-22 22:37:23 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-04-22 22:43:35 +0200 | ix | (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) |
2023-04-22 22:45:15 +0200 | cyphase | (~cyphase@user/cyphase) |
2023-04-22 22:48:23 +0200 | gmg | (~user@user/gehmehgeh) |
2023-04-22 22:50:59 +0200 | merijn | (~merijn@86.86.29.250) (Ping timeout: 265 seconds) |
2023-04-22 22:51:45 +0200 | coot | (~coot@213.134.170.228) (Quit: coot) |
2023-04-22 23:00:31 +0200 | dolio | (~dolio@130.44.134.54) (Read error: Connection reset by peer) |
2023-04-22 23:00:45 +0200 | dolio | (~dolio@130.44.134.54) |
2023-04-22 23:03:01 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-04-22 23:03:29 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-04-22 23:05:17 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-04-22 23:11:15 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-22 23:14:08 +0200 | ryantrinkle | (~ryantrink@140.174.241.172) (Read error: Connection reset by peer) |
2023-04-22 23:27:19 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-22 23:33:14 +0200 | ryantrinkle | (~ryantrink@140.174.253.180) |
2023-04-22 23:34:39 +0200 | Guest26 | (~Guest26@85.249.45.137) |
2023-04-22 23:34:46 +0200 | <Guest26> | @pl |
2023-04-22 23:34:46 +0200 | <lambdabot> | (line 1, column 1): |
2023-04-22 23:34:46 +0200 | <lambdabot> | unexpected end of input |
2023-04-22 23:34:46 +0200 | <lambdabot> | expecting white space, "()", natural, identifier, lambda abstraction or expression |
2023-04-22 23:35:02 +0200 | <Guest26> | @pl (+) (toBits $ (/=) (rem a 2) $ rem b 2) $ (*) 2 $ xorWorker (div a 2) (div b 2) $ l - 1 |
2023-04-22 23:35:02 +0200 | <lambdabot> | toBits (rem a 2 /= rem b 2) + 2 * xorWorker (div a 2) (div b 2) (l - 1) |
2023-04-22 23:35:24 +0200 | <Guest26> | @pl xorWorker a b l = (+) (toBits $ (/=) (rem a 2) $ rem b 2) $ (*) 2 $ xorWorker (div a 2) (div b 2) $ l - 1 |
2023-04-22 23:35:24 +0200 | <lambdabot> | xorWorker = fix (ap (ap . (((.) . (+) . toBits) .) . (. flip rem 2) . (/=) . flip rem 2) . ((((2 *) .) .) .) . flip flip (subtract 1) . ((flip . ((.) .)) .) . flip flip (flip div 2) . ((.) .) . (. |
2023-04-22 23:35:25 +0200 | <lambdabot> | flip div 2)) |
2023-04-22 23:35:34 +0200 | <Guest26> | what the |
2023-04-22 23:36:16 +0200 | <Guest26> | @pl countBits a = (+)1 $ countBits $ div a 2 |
2023-04-22 23:36:16 +0200 | <lambdabot> | countBits = fix (((1 +) .) . (. flip div 2)) |
2023-04-22 23:36:23 +0200 | <Guest26> | @pf |
2023-04-22 23:36:23 +0200 | <lambdabot> | Maybe you meant: pl bf |
2023-04-22 23:36:28 +0200 | <jade[m]> | lmaoo |
2023-04-22 23:36:45 +0200 | <int-e> | Guest26: it's only semi-jokingly called "pointless" |
2023-04-22 23:37:25 +0200 | <Guest26> | how do i make the function pointful |
2023-04-22 23:37:38 +0200 | <int-e> | @unpl fix (((1 +) .) . (. flip div 2)) |
2023-04-22 23:37:38 +0200 | <lambdabot> | fix (\ x x0 -> 1 + x (div x0 2)) |
2023-04-22 23:37:38 +0200 | <Guest26> | i remember there being a command in lambdabot for that |
2023-04-22 23:38:54 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-04-22 23:38:54 +0200 | <int-e> | . o O ( countBits _ = undefined ) |
2023-04-22 23:39:29 +0200 | <int-e> | :t bitSize |
2023-04-22 23:39:29 +0200 | <lambdabot> | Bits a => a -> Int |
2023-04-22 23:39:34 +0200 | <int-e> | :t popCount |
2023-04-22 23:39:35 +0200 | <lambdabot> | Bits a => a -> Int |
2023-04-22 23:39:59 +0200 | <int-e> | > map ($ 10) [bitSize, popCount] |
2023-04-22 23:40:01 +0200 | <lambdabot> | [*Exception: Data.Bits.bitSize(Integer) |
2023-04-22 23:40:06 +0200 | <int-e> | Oh. |
2023-04-22 23:41:42 +0200 | emmanuelux_ | (~emmanuelu@user/emmanuelux) |
2023-04-22 23:42:04 +0200 | <int-e> | (I forgot that `bitSize` returns the number of bits in a finite integer type, rather than, say, the most significant bit of a value.) |
2023-04-22 23:42:18 +0200 | <int-e> | :t countLeadingZeros |
2023-04-22 23:42:19 +0200 | <lambdabot> | FiniteBits b => b -> Int |
2023-04-22 23:42:25 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2023-04-22 23:42:51 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-04-22 23:44:32 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Ping timeout: 246 seconds) |
2023-04-22 23:53:51 +0200 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2023-04-22 23:56:34 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-04-22 23:56:34 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-22 23:57:38 +0200 | unit73e | (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |