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